5&&arguments[5]!==void 0?arguments[5]:!1,x=arguments.length>6&&arguments[6]!==void 0?arguments[6]:void 0;return t.create2DFilterableFromDataArray(g,p,wn.newInstance({numberOfComponents:v,dataType:y,values:m,ranges:x}),w)},t.create2DFilterableFromDataArray=function(g,p,v){let y=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;const{numComps:m,dataType:w,data:x}=h(v,y);t.create2DFromRaw(g,p,m,w,x)},t.updateVolumeInfoForGL=(g,p)=>{var m,w;let v=!1;const y=t.useHalfFloat();(!((m=e.volumeInfo)!=null&&m.scale)||!((w=e.volumeInfo)!=null&&w.offset))&&(e.volumeInfo={scale:new Array(p),offset:new Array(p)});for(let x=0;x6&&arguments[6]!==void 0?arguments[6]:[],C=m,S=w;if(!t.updateVolumeInfoForGL(C,y)&&S){const P=g*p*v,M=structuredClone(e.volumeInfo),L=new Float32Array(P*y);e.volumeInfo.offset=M.offset,e.volumeInfo.scale=M.scale;let V=0;const W=M.scale.map(A=>1/A);for(let A=0;A
0,T=!_||!fT(e._prevTexParams,r()),E=[S],D=t.updateArrayDataTypeForGL(C,E,!0,T?[]:x),I=c(D);if(e.context.pixelStorei(e.context.UNPACK_ALIGNMENT,1),T)l(C)?(e.context.texStorage3D(e.target,1,e.internalFormat,e.width,e.height,e.depth),I[0]!=null&&e.context.texSubImage3D(e.target,0,0,0,0,e.width,e.height,e.depth,e.format,e.openGLDataType,I[0])):e.context.texImage3D(e.target,0,e.internalFormat,e.width,e.height,e.depth,0,e.format,e.openGLDataType,I[0]),e._prevTexParams=r();else if(_){const P=I[0];let M=0;for(let L=0;L6&&arguments[6]!==void 0?arguments[6]:!1,C=arguments.length>7&&arguments[7]!==void 0?arguments[7]:void 0,S=arguments.length>8&&arguments[8]!==void 0?arguments[8]:[];return t.create3DFilterableFromDataArray(g,p,v,wn.newInstance({numberOfComponents:y,dataType:m,values:w,ranges:C}),x,S)},t.create3DFilterableFromDataArray=function(g,p,v,y){let m=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,w=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[];const{numComps:x,dataType:C,data:S,scaleOffsets:_}=h(y,m),T=[],E=[];for(let Ee=0;Ee{Ee[Ae]=Ue},P=mr.UNSIGNED_CHAR;if(C===mr.UNSIGNED_CHAR)for(let Ee=0;Ee{Ee[Ae]=(Ue-Pe)/G}):(P=mr.UNSIGNED_CHAR,I=(Ee,Ae,Ue,Pe,G)=>{Ee[Ae]=255*(Ue-Pe)/G});if(t.getOpenGLDataType(P),t.getInternalFormat(P,x),t.getFormat(P,x),!e.internalFormat||!e.format||!e.openGLDataType)return p0("Failed to determine texture parameters."),!1;e.target=e.context.TEXTURE_2D,e.components=x,e.depth=1,e.numberOfDimensions=2;let M=e.context.getParameter(e.context.MAX_TEXTURE_SIZE);M>4096&&(P===mr.FLOAT||x>=3)&&(M=4096);let L=1,V=1;b>M*M&&(L=Math.ceil(Math.sqrt(b/(M*M))),V=L);let W=Math.sqrt(b)/L;W=tf(W);const A=Math.floor(W*L/g),k=Math.ceil(v/A),F=tf(p*k/V);e.width=W,e.height=F,e._openGLRenderWindow.activateTexture(t),t.createTexture(),t.bind(),e.volumeInfo.xreps=A,e.volumeInfo.yreps=k,e.volumeInfo.xstride=L,e.volumeInfo.ystride=V,e.volumeInfo.offset=D.offset,e.volumeInfo.scale=D.scale;let K;const Z=W*F*x;P===mr.FLOAT?K=new Float32Array(Z):K=new Uint8Array(Z);let se=0;const we=Math.floor(g/L),he=Math.floor(p/V);for(let Ee=0;Ee{e._openGLRenderWindow!==g&&(t.releaseGraphicsResources(),e._openGLRenderWindow=g,e.context=null,g&&(e.context=e._openGLRenderWindow.getContext()))},t.getMaximumTextureSize=g=>g&&g.isCurrent()?g.getIntegerv(g.MAX_TEXTURE_SIZE):-1,t.enableUseHalfFloat=g=>{e.enableUseHalfFloat=g}}const uX={_openGLRenderWindow:null,_forceInternalFormat:!1,_prevTexParams:null,context:null,handle:0,sendParametersTime:null,textureBuildTime:null,numberOfDimensions:0,target:0,format:0,openGLDataType:0,components:0,width:0,height:0,depth:0,autoParameters:!0,wrapS:ru.CLAMP_TO_EDGE,wrapT:ru.CLAMP_TO_EDGE,wrapR:ru.CLAMP_TO_EDGE,minificationFilter:mo.NEAREST,magnificationFilter:mo.NEAREST,minLOD:-1e3,maxLOD:1e3,baseLevel:0,maxLevel:1e3,generateMipmap:!1,oglNorm16Ext:null,allocatedGPUMemoryInBytes:0,enableUseHalfFloat:!0,canUseHalfFloat:!1};function kR(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,uX,r),eo.extend(t,e,r),e.sendParametersTime={},ni(e.sendParametersTime,{mtime:0}),e.textureBuildTime={},ni(e.textureBuildTime,{mtime:0}),n1(t,e,["format","openGLDataType"]),uo(t,e,["keyMatrixTime","minificationFilter","magnificationFilter","wrapS","wrapT","wrapR","generateMipmap","oglNorm16Ext"]),Ba(t,e,["width","height","volumeInfo","components","handle","target","allocatedGPUMemoryInBytes"]),r1(t,e,["openGLRenderWindow"]),lX(t,e)}const VR=Br(kR,"vtkOpenGLTexture");var ti={newInstance:VR,extend:kR,...oR};ko("vtkTexture",VR);function fX(t,e){e.classHierarchy.push("vtkFramebuffer"),t.getBothMode=()=>e.context.FRAMEBUFFER,t.saveCurrentBindingsAndBuffers=r=>{const n=typeof r<"u"?r:t.getBothMode();t.saveCurrentBindings(n),t.saveCurrentBuffers(n)},t.saveCurrentBindings=r=>{if(!e.context){qn("you must set the OpenGLRenderWindow before calling saveCurrentBindings");return}const n=e.context;e.previousDrawBinding=n.getParameter(e.context.FRAMEBUFFER_BINDING),e.previousActiveFramebuffer=e._openGLRenderWindow.getActiveFramebuffer()},t.saveCurrentBuffers=r=>{},t.restorePreviousBindingsAndBuffers=r=>{const n=typeof r<"u"?r:t.getBothMode();t.restorePreviousBindings(n),t.restorePreviousBuffers(n)},t.restorePreviousBindings=r=>{if(!e.context){qn("you must set the OpenGLRenderWindow before calling restorePreviousBindings");return}const n=e.context;n.bindFramebuffer(n.FRAMEBUFFER,e.previousDrawBinding),e._openGLRenderWindow.setActiveFramebuffer(e.previousActiveFramebuffer)},t.restorePreviousBuffers=r=>{},t.bind=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;n===null&&(n=e.context.FRAMEBUFFER),e.context.bindFramebuffer(n,e.glFramebuffer);for(let i=0;i{if(!e.context){qn("you must set the OpenGLRenderWindow before calling create");return}e.glFramebuffer=e.context.createFramebuffer(),e.glFramebuffer.width=r,e.glFramebuffer.height=n},t.setColorBuffer=function(r){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;const i=e.context;if(!i){qn("you must set the OpenGLRenderWindow before calling setColorBuffer");return}let o=i.COLOR_ATTACHMENT0;if(n>0)if(e._openGLRenderWindow.getWebgl2())o+=n;else{qn("Using multiple framebuffer attachments requires WebGL 2");return}e.colorBuffers[n]=r,i.framebufferTexture2D(i.FRAMEBUFFER,o,i.TEXTURE_2D,r.getHandle(),0)},t.removeColorBuffer=function(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;const n=e.context;if(!n){qn("you must set the OpenGLRenderWindow before calling removeColorBuffer");return}let i=n.COLOR_ATTACHMENT0;if(r>0)if(e._openGLRenderWindow.getWebgl2())i+=r;else{qn("Using multiple framebuffer attachments requires WebGL 2");return}n.framebufferTexture2D(n.FRAMEBUFFER,i,n.TEXTURE_2D,null,0),e.colorBuffers=e.colorBuffers.splice(r,1)},t.setDepthBuffer=r=>{if(!e.context){qn("you must set the OpenGLRenderWindow before calling setDepthBuffer");return}if(e._openGLRenderWindow.getWebgl2()){const n=e.context;n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,r.getHandle(),0)}else qn("Attaching depth buffer textures to fbo requires WebGL 2")},t.removeDepthBuffer=()=>{if(!e.context){qn("you must set the OpenGLRenderWindow before calling removeDepthBuffer");return}if(e._openGLRenderWindow.getWebgl2()){const r=e.context;r.framebufferTexture2D(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.TEXTURE_2D,null,0)}else qn("Attaching depth buffer textures to framebuffers requires WebGL 2")},t.getGLFramebuffer=()=>e.glFramebuffer,t.setOpenGLRenderWindow=r=>{e._openGLRenderWindow!==r&&(t.releaseGraphicsResources(),e._openGLRenderWindow=r,e.context=null,r&&(e.context=e._openGLRenderWindow.getContext()))},t.releaseGraphicsResources=()=>{e.glFramebuffer&&e.context.deleteFramebuffer(e.glFramebuffer)},t.getSize=()=>e.glFramebuffer==null?null:[e.glFramebuffer.width,e.glFramebuffer.height],t.populateFramebuffer=()=>{if(!e.context){qn("you must set the OpenGLRenderWindow before calling populateFrameBuffer");return}t.bind();const r=e.context,n=ti.newInstance();n.setOpenGLRenderWindow(e._openGLRenderWindow),n.setMinificationFilter(ln.LINEAR),n.setMagnificationFilter(ln.LINEAR),n.create2DFromRaw(e.glFramebuffer.width,e.glFramebuffer.height,4,Vn.UNSIGNED_CHAR,null),t.setColorBuffer(n),e.depthTexture=r.createRenderbuffer(),r.bindRenderbuffer(r.RENDERBUFFER,e.depthTexture),r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_COMPONENT16,e.glFramebuffer.width,e.glFramebuffer.height),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.RENDERBUFFER,e.depthTexture)},t.getColorTexture=()=>e.colorBuffers[0]}const dX={glFramebuffer:null,colorBuffers:null,depthTexture:null,previousDrawBinding:0,previousReadBinding:0,previousDrawBuffer:0,previousReadBuffer:0,previousActiveFramebuffer:null};function FR(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,dX,r),ni(t,e),e.colorBuffers&&qn("you cannot initialize colorBuffers through the constructor. You should call setColorBuffer() instead."),e.colorBuffers=[],Jh(t,e,["colorBuffers"]),fX(t,e)}const hX=Br(FR,"vtkFramebuffer");var H5={newInstance:hX,extend:FR};function gX(t,e){e.classHierarchy.push("vtkRenderPass"),t.getOperation=()=>e.currentOperation,t.setCurrentOperation=r=>{e.currentOperation=r,e.currentTraverseOperation=`traverse${ie.capitalize(e.currentOperation)}`},t.getTraverseOperation=()=>e.currentTraverseOperation,t.traverse=function(r){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;e.deleted||(e._currentParent=n,e.preDelegateOperations.forEach(i=>{t.setCurrentOperation(i),r.traverse(t)}),e.delegates.forEach(i=>{i.traverse(r,t)}),e.postDelegateOperations.forEach(i=>{t.setCurrentOperation(i),r.traverse(t)}))}}const pX={delegates:[],currentOperation:null,preDelegateOperations:[],postDelegateOperations:[],currentParent:null};function UR(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,pX,r),ie.obj(t,e),ie.get(t,e,["currentOperation"]),ie.setGet(t,e,["delegates","_currentParent","preDelegateOperations","postDelegateOperations"]),ie.moveToProtected(t,e,["currentParent"]),gX(t,e)}const mX=ie.newInstance(UR,"vtkRenderPass");var LT={newInstance:mX,extend:UR},hr=1e-6,Ni=typeof Float32Array<"u"?Float32Array:Array,vX=Math.PI/180;function yX(t){return t*vX}function Nf(t,e){return Math.abs(t-e)<=hr*Math.max(1,Math.abs(t),Math.abs(e))}Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});function AT(){var t=new Ni(9);return Ni!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function K5(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t}function wX(t){var e=new Ni(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function xX(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function rp(t,e,r,n,i,o,a,s,c){var l=new Ni(9);return l[0]=t,l[1]=e,l[2]=r,l[3]=n,l[4]=i,l[5]=o,l[6]=a,l[7]=s,l[8]=c,l}function BR(t,e,r,n,i,o,a,s,c,l){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=o,t[5]=a,t[6]=s,t[7]=c,t[8]=l,t}function Bc(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function NT(t,e){if(t===e){var r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function c1(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=e[4],s=e[5],c=e[6],l=e[7],f=e[8],u=f*a-s*l,d=-f*o+s*c,h=l*o-a*c,g=r*u+n*d+i*h;return g?(g=1/g,t[0]=u*g,t[1]=(-f*n+i*l)*g,t[2]=(s*n-i*a)*g,t[3]=d*g,t[4]=(f*r-i*c)*g,t[5]=(-s*r+i*o)*g,t[6]=h*g,t[7]=(-l*r+n*c)*g,t[8]=(a*r-n*o)*g,t):null}function CX(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=e[4],s=e[5],c=e[6],l=e[7],f=e[8];return t[0]=a*f-s*l,t[1]=i*l-n*f,t[2]=n*s-i*a,t[3]=s*c-o*f,t[4]=r*f-i*c,t[5]=i*o-r*s,t[6]=o*l-a*c,t[7]=n*c-r*l,t[8]=r*a-n*o,t}function md(t){var e=t[0],r=t[1],n=t[2],i=t[3],o=t[4],a=t[5],s=t[6],c=t[7],l=t[8];return e*(l*o-a*c)+r*(-l*i+a*s)+n*(c*i-o*s)}function Lh(t,e,r){var n=e[0],i=e[1],o=e[2],a=e[3],s=e[4],c=e[5],l=e[6],f=e[7],u=e[8],d=r[0],h=r[1],g=r[2],p=r[3],v=r[4],y=r[5],m=r[6],w=r[7],x=r[8];return t[0]=d*n+h*a+g*l,t[1]=d*i+h*s+g*f,t[2]=d*o+h*c+g*u,t[3]=p*n+v*a+y*l,t[4]=p*i+v*s+y*f,t[5]=p*o+v*c+y*u,t[6]=m*n+w*a+x*l,t[7]=m*i+w*s+x*f,t[8]=m*o+w*c+x*u,t}function SX(t,e,r){var n=e[0],i=e[1],o=e[2],a=e[3],s=e[4],c=e[5],l=e[6],f=e[7],u=e[8],d=r[0],h=r[1];return t[0]=n,t[1]=i,t[2]=o,t[3]=a,t[4]=s,t[5]=c,t[6]=d*n+h*a+l,t[7]=d*i+h*s+f,t[8]=d*o+h*c+u,t}function _X(t,e,r){var n=e[0],i=e[1],o=e[2],a=e[3],s=e[4],c=e[5],l=e[6],f=e[7],u=e[8],d=Math.sin(r),h=Math.cos(r);return t[0]=h*n+d*a,t[1]=h*i+d*s,t[2]=h*o+d*c,t[3]=h*a-d*n,t[4]=h*s-d*i,t[5]=h*c-d*o,t[6]=l,t[7]=f,t[8]=u,t}function TX(t,e,r){var n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function EX(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t}function bX(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function DX(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function IX(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t}function OX(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=r+r,s=n+n,c=i+i,l=r*a,f=n*a,u=n*s,d=i*a,h=i*s,g=i*c,p=o*a,v=o*s,y=o*c;return t[0]=1-u-g,t[3]=f-y,t[6]=d+v,t[1]=f+y,t[4]=1-l-g,t[7]=h-p,t[2]=d-v,t[5]=h+p,t[8]=1-l-u,t}function MX(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=e[4],s=e[5],c=e[6],l=e[7],f=e[8],u=e[9],d=e[10],h=e[11],g=e[12],p=e[13],v=e[14],y=e[15],m=r*s-n*a,w=r*c-i*a,x=r*l-o*a,C=n*c-i*s,S=n*l-o*s,_=i*l-o*c,T=f*p-u*g,E=f*v-d*g,b=f*y-h*g,D=u*v-d*p,I=u*y-h*p,P=d*y-h*v,M=m*P-w*I+x*D+C*b-S*E+_*T;return M?(M=1/M,t[0]=(s*P-c*I+l*D)*M,t[1]=(c*b-a*P-l*E)*M,t[2]=(a*I-s*b+l*T)*M,t[3]=(i*I-n*P-o*D)*M,t[4]=(r*P-i*b+o*E)*M,t[5]=(n*b-r*I-o*T)*M,t[6]=(p*_-v*S+y*C)*M,t[7]=(v*x-g*_-y*w)*M,t[8]=(g*S-p*x+y*m)*M,t):null}function PX(t,e,r){return t[0]=2/e,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/r,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t}function RX(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"}function LX(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}function AX(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t}function GR(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t}function NX(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t}function kX(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t}function VX(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]}function FX(t,e){var r=t[0],n=t[1],i=t[2],o=t[3],a=t[4],s=t[5],c=t[6],l=t[7],f=t[8],u=e[0],d=e[1],h=e[2],g=e[3],p=e[4],v=e[5],y=e[6],m=e[7],w=e[8];return Math.abs(r-u)<=hr*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(n-d)<=hr*Math.max(1,Math.abs(n),Math.abs(d))&&Math.abs(i-h)<=hr*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(o-g)<=hr*Math.max(1,Math.abs(o),Math.abs(g))&&Math.abs(a-p)<=hr*Math.max(1,Math.abs(a),Math.abs(p))&&Math.abs(s-v)<=hr*Math.max(1,Math.abs(s),Math.abs(v))&&Math.abs(c-y)<=hr*Math.max(1,Math.abs(c),Math.abs(y))&&Math.abs(l-m)<=hr*Math.max(1,Math.abs(l),Math.abs(m))&&Math.abs(f-w)<=hr*Math.max(1,Math.abs(f),Math.abs(w))}var UX=Lh,BX=GR;const GX=Object.freeze(Object.defineProperty({__proto__:null,add:AX,adjoint:CX,clone:wX,copy:xX,create:AT,determinant:md,equals:FX,exactEquals:VX,frob:LX,fromMat2d:IX,fromMat4:K5,fromQuat:OX,fromRotation:bX,fromScaling:DX,fromTranslation:EX,fromValues:rp,identity:Bc,invert:c1,mul:UX,multiply:Lh,multiplyScalar:NX,multiplyScalarAndAdd:kX,normalFromMat4:MX,projection:PX,rotate:_X,scale:TX,set:BR,str:RX,sub:BX,subtract:GR,translate:SX,transpose:NT},Symbol.toStringTag,{value:"Module"}));function ss(){var t=new Ni(16);return Ni!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function WX(t){var e=new Ni(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Wi(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function kT(t,e,r,n,i,o,a,s,c,l,f,u,d,h,g,p){var v=new Ni(16);return v[0]=t,v[1]=e,v[2]=r,v[3]=n,v[4]=i,v[5]=o,v[6]=a,v[7]=s,v[8]=c,v[9]=l,v[10]=f,v[11]=u,v[12]=d,v[13]=h,v[14]=g,v[15]=p,v}function zX(t,e,r,n,i,o,a,s,c,l,f,u,d,h,g,p,v){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=o,t[5]=a,t[6]=s,t[7]=c,t[8]=l,t[9]=f,t[10]=u,t[11]=d,t[12]=h,t[13]=g,t[14]=p,t[15]=v,t}function on(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ur(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],o=e[6],a=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=o,t[11]=e[14],t[12]=i,t[13]=a,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function ji(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=e[4],s=e[5],c=e[6],l=e[7],f=e[8],u=e[9],d=e[10],h=e[11],g=e[12],p=e[13],v=e[14],y=e[15],m=r*s-n*a,w=r*c-i*a,x=r*l-o*a,C=n*c-i*s,S=n*l-o*s,_=i*l-o*c,T=f*p-u*g,E=f*v-d*g,b=f*y-h*g,D=u*v-d*p,I=u*y-h*p,P=d*y-h*v,M=m*P-w*I+x*D+C*b-S*E+_*T;return M?(M=1/M,t[0]=(s*P-c*I+l*D)*M,t[1]=(i*I-n*P-o*D)*M,t[2]=(p*_-v*S+y*C)*M,t[3]=(d*S-u*_-h*C)*M,t[4]=(c*b-a*P-l*E)*M,t[5]=(r*P-i*b+o*E)*M,t[6]=(v*x-g*_-y*w)*M,t[7]=(f*_-d*x+h*w)*M,t[8]=(a*I-s*b+l*T)*M,t[9]=(n*b-r*I-o*T)*M,t[10]=(g*S-p*x+y*m)*M,t[11]=(u*x-f*S-h*m)*M,t[12]=(s*E-a*D-c*T)*M,t[13]=(r*D-n*E+i*T)*M,t[14]=(p*w-g*C-v*m)*M,t[15]=(f*C-u*w+d*m)*M,t):null}function jX(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=e[4],s=e[5],c=e[6],l=e[7],f=e[8],u=e[9],d=e[10],h=e[11],g=e[12],p=e[13],v=e[14],y=e[15];return t[0]=s*(d*y-h*v)-u*(c*y-l*v)+p*(c*h-l*d),t[1]=-(n*(d*y-h*v)-u*(i*y-o*v)+p*(i*h-o*d)),t[2]=n*(c*y-l*v)-s*(i*y-o*v)+p*(i*l-o*c),t[3]=-(n*(c*h-l*d)-s*(i*h-o*d)+u*(i*l-o*c)),t[4]=-(a*(d*y-h*v)-f*(c*y-l*v)+g*(c*h-l*d)),t[5]=r*(d*y-h*v)-f*(i*y-o*v)+g*(i*h-o*d),t[6]=-(r*(c*y-l*v)-a*(i*y-o*v)+g*(i*l-o*c)),t[7]=r*(c*h-l*d)-a*(i*h-o*d)+f*(i*l-o*c),t[8]=a*(u*y-h*p)-f*(s*y-l*p)+g*(s*h-l*u),t[9]=-(r*(u*y-h*p)-f*(n*y-o*p)+g*(n*h-o*u)),t[10]=r*(s*y-l*p)-a*(n*y-o*p)+g*(n*l-o*s),t[11]=-(r*(s*h-l*u)-a*(n*h-o*u)+f*(n*l-o*s)),t[12]=-(a*(u*v-d*p)-f*(s*v-c*p)+g*(s*d-c*u)),t[13]=r*(u*v-d*p)-f*(n*v-i*p)+g*(n*d-i*u),t[14]=-(r*(s*v-c*p)-a*(n*v-i*p)+g*(n*c-i*s)),t[15]=r*(s*d-c*u)-a*(n*d-i*u)+f*(n*c-i*s),t}function $X(t){var e=t[0],r=t[1],n=t[2],i=t[3],o=t[4],a=t[5],s=t[6],c=t[7],l=t[8],f=t[9],u=t[10],d=t[11],h=t[12],g=t[13],p=t[14],v=t[15],y=e*a-r*o,m=e*s-n*o,w=e*c-i*o,x=r*s-n*a,C=r*c-i*a,S=n*c-i*s,_=l*g-f*h,T=l*p-u*h,E=l*v-d*h,b=f*p-u*g,D=f*v-d*g,I=u*v-d*p;return y*I-m*D+w*b+x*E-C*T+S*_}function Xn(t,e,r){var n=e[0],i=e[1],o=e[2],a=e[3],s=e[4],c=e[5],l=e[6],f=e[7],u=e[8],d=e[9],h=e[10],g=e[11],p=e[12],v=e[13],y=e[14],m=e[15],w=r[0],x=r[1],C=r[2],S=r[3];return t[0]=w*n+x*s+C*u+S*p,t[1]=w*i+x*c+C*d+S*v,t[2]=w*o+x*l+C*h+S*y,t[3]=w*a+x*f+C*g+S*m,w=r[4],x=r[5],C=r[6],S=r[7],t[4]=w*n+x*s+C*u+S*p,t[5]=w*i+x*c+C*d+S*v,t[6]=w*o+x*l+C*h+S*y,t[7]=w*a+x*f+C*g+S*m,w=r[8],x=r[9],C=r[10],S=r[11],t[8]=w*n+x*s+C*u+S*p,t[9]=w*i+x*c+C*d+S*v,t[10]=w*o+x*l+C*h+S*y,t[11]=w*a+x*f+C*g+S*m,w=r[12],x=r[13],C=r[14],S=r[15],t[12]=w*n+x*s+C*u+S*p,t[13]=w*i+x*c+C*d+S*v,t[14]=w*o+x*l+C*h+S*y,t[15]=w*a+x*f+C*g+S*m,t}function li(t,e,r){var n=r[0],i=r[1],o=r[2],a,s,c,l,f,u,d,h,g,p,v,y;return e===t?(t[12]=e[0]*n+e[4]*i+e[8]*o+e[12],t[13]=e[1]*n+e[5]*i+e[9]*o+e[13],t[14]=e[2]*n+e[6]*i+e[10]*o+e[14],t[15]=e[3]*n+e[7]*i+e[11]*o+e[15]):(a=e[0],s=e[1],c=e[2],l=e[3],f=e[4],u=e[5],d=e[6],h=e[7],g=e[8],p=e[9],v=e[10],y=e[11],t[0]=a,t[1]=s,t[2]=c,t[3]=l,t[4]=f,t[5]=u,t[6]=d,t[7]=h,t[8]=g,t[9]=p,t[10]=v,t[11]=y,t[12]=a*n+f*i+g*o+e[12],t[13]=s*n+u*i+p*o+e[13],t[14]=c*n+d*i+v*o+e[14],t[15]=l*n+h*i+y*o+e[15]),t}function Ml(t,e,r){var n=r[0],i=r[1],o=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function ma(t,e,r,n){var i=n[0],o=n[1],a=n[2],s=Math.hypot(i,o,a),c,l,f,u,d,h,g,p,v,y,m,w,x,C,S,_,T,E,b,D,I,P,M,L;return s
0?(r[0]=(s*a+f*n+c*o-l*i)*2/u,r[1]=(c*a+f*i+l*n-s*o)*2/u,r[2]=(l*a+f*o+s*i-c*n)*2/u):(r[0]=(s*a+f*n+c*o-l*i)*2,r[1]=(c*a+f*i+l*n-s*o)*2,r[2]=(l*a+f*o+s*i-c*n)*2),WR(t,e,r),t}function YX(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function zR(t,e){var r=e[0],n=e[1],i=e[2],o=e[4],a=e[5],s=e[6],c=e[8],l=e[9],f=e[10];return t[0]=Math.hypot(r,n,i),t[1]=Math.hypot(o,a,s),t[2]=Math.hypot(c,l,f),t}function $3(t,e){var r=new Ni(3);zR(r,e);var n=1/r[0],i=1/r[1],o=1/r[2],a=e[0]*n,s=e[1]*i,c=e[2]*o,l=e[4]*n,f=e[5]*i,u=e[6]*o,d=e[8]*n,h=e[9]*i,g=e[10]*o,p=a+f+g,v=0;return p>0?(v=Math.sqrt(p+1)*2,t[3]=.25*v,t[0]=(u-h)/v,t[1]=(d-c)/v,t[2]=(s-l)/v):a>f&&a>g?(v=Math.sqrt(1+a-f-g)*2,t[3]=(u-h)/v,t[0]=.25*v,t[1]=(s+l)/v,t[2]=(d+c)/v):f>g?(v=Math.sqrt(1+f-a-g)*2,t[3]=(d-c)/v,t[0]=(s+l)/v,t[1]=.25*v,t[2]=(u+h)/v):(v=Math.sqrt(1+g-a-f)*2,t[3]=(s-l)/v,t[0]=(d+c)/v,t[1]=(u+h)/v,t[2]=.25*v),t}function jR(t,e,r,n){var i=e[0],o=e[1],a=e[2],s=e[3],c=i+i,l=o+o,f=a+a,u=i*c,d=i*l,h=i*f,g=o*l,p=o*f,v=a*f,y=s*c,m=s*l,w=s*f,x=n[0],C=n[1],S=n[2];return t[0]=(1-(g+v))*x,t[1]=(d+w)*x,t[2]=(h-m)*x,t[3]=0,t[4]=(d-w)*C,t[5]=(1-(u+v))*C,t[6]=(p+y)*C,t[7]=0,t[8]=(h+m)*S,t[9]=(p-y)*S,t[10]=(1-(u+g))*S,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function JX(t,e,r,n,i){var o=e[0],a=e[1],s=e[2],c=e[3],l=o+o,f=a+a,u=s+s,d=o*l,h=o*f,g=o*u,p=a*f,v=a*u,y=s*u,m=c*l,w=c*f,x=c*u,C=n[0],S=n[1],_=n[2],T=i[0],E=i[1],b=i[2],D=(1-(p+y))*C,I=(h+x)*C,P=(g-w)*C,M=(h-x)*S,L=(1-(d+y))*S,V=(v+m)*S,W=(g+w)*_,A=(v-m)*_,k=(1-(d+p))*_;return t[0]=D,t[1]=I,t[2]=P,t[3]=0,t[4]=M,t[5]=L,t[6]=V,t[7]=0,t[8]=W,t[9]=A,t[10]=k,t[11]=0,t[12]=r[0]+T-(D*T+M*E+W*b),t[13]=r[1]+E-(I*T+L*E+A*b),t[14]=r[2]+b-(P*T+V*E+k*b),t[15]=1,t}function vy(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=r+r,s=n+n,c=i+i,l=r*a,f=n*a,u=n*s,d=i*a,h=i*s,g=i*c,p=o*a,v=o*s,y=o*c;return t[0]=1-u-g,t[1]=f+y,t[2]=d-v,t[3]=0,t[4]=f-y,t[5]=1-l-g,t[6]=h+p,t[7]=0,t[8]=d+v,t[9]=h-p,t[10]=1-l-u,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ZX(t,e,r,n,i,o,a){var s=1/(r-e),c=1/(i-n),l=1/(o-a);return t[0]=o*2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o*2*c,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*c,t[10]=(a+o)*l,t[11]=-1,t[12]=0,t[13]=0,t[14]=a*o*2*l,t[15]=0,t}function $R(t,e,r,n,i){var o=1/Math.tan(e/2),a;return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0?(a=1/(n-i),t[10]=(i+n)*a,t[14]=2*i*n*a):(t[10]=-1,t[14]=-2*n),t}var QX=$R;function eY(t,e,r,n,i){var o=1/Math.tan(e/2),a;return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0?(a=1/(n-i),t[10]=i*a,t[14]=i*n*a):(t[10]=-1,t[14]=-n),t}function tY(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),o=Math.tan(e.downDegrees*Math.PI/180),a=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),c=2/(a+s),l=2/(i+o);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=l,t[6]=0,t[7]=0,t[8]=-((a-s)*c*.5),t[9]=(i-o)*l*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}function HR(t,e,r,n,i,o,a){var s=1/(e-r),c=1/(n-i),l=1/(o-a);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*c,t[14]=(a+o)*l,t[15]=1,t}var WT=HR;function nY(t,e,r,n,i,o,a){var s=1/(e-r),c=1/(n-i),l=1/(o-a);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=l,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*c,t[14]=o*l,t[15]=1,t}function zT(t,e,r,n){var i,o,a,s,c,l,f,u,d,h,g=e[0],p=e[1],v=e[2],y=n[0],m=n[1],w=n[2],x=r[0],C=r[1],S=r[2];return Math.abs(g-x)
0&&(h=1/Math.sqrt(h),f*=h,u*=h,d*=h);var g=c*d-l*u,p=l*f-s*d,v=s*u-c*f;return h=g*g+p*p+v*v,h>0&&(h=1/Math.sqrt(h),g*=h,p*=h,v*=h),t[0]=g,t[1]=p,t[2]=v,t[3]=0,t[4]=u*v-d*p,t[5]=d*g-f*v,t[6]=f*p-u*g,t[7]=0,t[8]=f,t[9]=u,t[10]=d,t[11]=0,t[12]=i,t[13]=o,t[14]=a,t[15]=1,t}function iY(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}function oY(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}function aY(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function KR(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function qR(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}function sY(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t}function cY(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]}function lY(t,e){var r=t[0],n=t[1],i=t[2],o=t[3],a=t[4],s=t[5],c=t[6],l=t[7],f=t[8],u=t[9],d=t[10],h=t[11],g=t[12],p=t[13],v=t[14],y=t[15],m=e[0],w=e[1],x=e[2],C=e[3],S=e[4],_=e[5],T=e[6],E=e[7],b=e[8],D=e[9],I=e[10],P=e[11],M=e[12],L=e[13],V=e[14],W=e[15];return Math.abs(r-m)<=hr*Math.max(1,Math.abs(r),Math.abs(m))&&Math.abs(n-w)<=hr*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(i-x)<=hr*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(o-C)<=hr*Math.max(1,Math.abs(o),Math.abs(C))&&Math.abs(a-S)<=hr*Math.max(1,Math.abs(a),Math.abs(S))&&Math.abs(s-_)<=hr*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(c-T)<=hr*Math.max(1,Math.abs(c),Math.abs(T))&&Math.abs(l-E)<=hr*Math.max(1,Math.abs(l),Math.abs(E))&&Math.abs(f-b)<=hr*Math.max(1,Math.abs(f),Math.abs(b))&&Math.abs(u-D)<=hr*Math.max(1,Math.abs(u),Math.abs(D))&&Math.abs(d-I)<=hr*Math.max(1,Math.abs(d),Math.abs(I))&&Math.abs(h-P)<=hr*Math.max(1,Math.abs(h),Math.abs(P))&&Math.abs(g-M)<=hr*Math.max(1,Math.abs(g),Math.abs(M))&&Math.abs(p-L)<=hr*Math.max(1,Math.abs(p),Math.abs(L))&&Math.abs(v-V)<=hr*Math.max(1,Math.abs(v),Math.abs(V))&&Math.abs(y-W)<=hr*Math.max(1,Math.abs(y),Math.abs(W))}var yy=Xn,uY=KR;const wy=Object.freeze(Object.defineProperty({__proto__:null,add:aY,adjoint:jX,clone:WX,copy:Wi,create:ss,determinant:$X,equals:lY,exactEquals:cY,frob:oY,fromQuat:vy,fromQuat2:XX,fromRotation:GT,fromRotationTranslation:WR,fromRotationTranslationScale:jR,fromRotationTranslationScaleOrigin:JX,fromScaling:BT,fromTranslation:l1,fromValues:kT,fromXRotation:HX,fromYRotation:KX,fromZRotation:qX,frustum:ZX,getRotation:$3,getScaling:zR,getTranslation:YX,identity:on,invert:ji,lookAt:zT,mul:yy,multiply:Xn,multiplyScalar:qR,multiplyScalarAndAdd:sY,ortho:WT,orthoNO:HR,orthoZO:nY,perspective:QX,perspectiveFromFieldOfView:tY,perspectiveNO:$R,perspectiveZO:eY,rotate:ma,rotateX:VT,rotateY:FT,rotateZ:UT,scale:Ml,set:zX,str:iY,sub:uY,subtract:KR,targetTo:rY,translate:li,transpose:ur},Symbol.toStringTag,{value:"Module"}));function Xe(){var t=new Ni(3);return Ni!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function XR(t){var e=new Ni(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function La(t){var e=t[0],r=t[1],n=t[2];return Math.hypot(e,r,n)}function Xt(t,e,r){var n=new Ni(3);return n[0]=t,n[1]=e,n[2]=r,n}function fY(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function xr(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function To(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function br(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function dY(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function hY(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function gY(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function pY(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function mY(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}function Eo(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function jn(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function bo(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.hypot(r,n,i)}function YR(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}function Sl(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function JR(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function Tr(t,e){var r=e[0],n=e[1],i=e[2],o=r*r+n*n+i*i;return o>0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}function $t(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Qn(t,e,r){var n=e[0],i=e[1],o=e[2],a=r[0],s=r[1],c=r[2];return t[0]=i*c-o*s,t[1]=o*a-n*c,t[2]=n*s-i*a,t}function xn(t,e,r){var n=e[0],i=e[1],o=e[2],a=r[3]*n+r[7]*i+r[11]*o+r[15];return a=a||1,t[0]=(r[0]*n+r[4]*i+r[8]*o+r[12])/a,t[1]=(r[1]*n+r[5]*i+r[9]*o+r[13])/a,t[2]=(r[2]*n+r[6]*i+r[10]*o+r[14])/a,t}function v2(t,e,r){var n=e[0],i=e[1],o=e[2];return t[0]=n*r[0]+i*r[3]+o*r[6],t[1]=n*r[1]+i*r[4]+o*r[7],t[2]=n*r[2]+i*r[5]+o*r[8],t}function vY(t,e,r){var n=r[0],i=r[1],o=r[2],a=r[3],s=e[0],c=e[1],l=e[2],f=i*l-o*c,u=o*s-n*l,d=n*c-i*s,h=i*d-o*u,g=o*f-n*d,p=n*u-i*f,v=a*2;return f*=v,u*=v,d*=v,h*=2,g*=2,p*=2,t[0]=s+f+h,t[1]=c+u+g,t[2]=l+d+p,t}function jT(t,e){var r=t[0],n=t[1],i=t[2],o=e[0],a=e[1],s=e[2],c=Math.sqrt(r*r+n*n+i*i),l=Math.sqrt(o*o+a*a+s*s),f=c*l,u=f&&$t(t,e)/f;return Math.acos(Math.min(Math.max(u,-1),1))}function yY(t){return t[0]=0,t[1]=0,t[2]=0,t}function v9(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function H3(t,e){var r=t[0],n=t[1],i=t[2],o=e[0],a=e[1],s=e[2];return Math.abs(r-o)<=hr*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-a)<=hr*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(i-s)<=hr*Math.max(1,Math.abs(i),Math.abs(s))}var $n=br,wY=dY,K3=YR,Ah=La;(function(){var t=Xe();return function(e,r,n,i,o,a){var s,c;for(r||(r=3),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,s=n;s0&&(a=1/Math.sqrt(a)),t[0]=r*a,t[1]=n*a,t[2]=i*a,t[3]=o*a,t}function w9(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function gf(t,e,r){var n=e[0],i=e[1],o=e[2],a=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*o+r[12]*a,t[1]=r[1]*n+r[5]*i+r[9]*o+r[13]*a,t[2]=r[2]*n+r[6]*i+r[10]*o+r[14]*a,t[3]=r[3]*n+r[7]*i+r[11]*o+r[15]*a,t}(function(){var t=ZR();return function(e,r,n,i,o,a){var s,c;for(r||(r=4),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,s=n;shr?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r}function x9(t,e,r){var n=e[0],i=e[1],o=e[2],a=e[3],s=r[0],c=r[1],l=r[2],f=r[3];return t[0]=n*f+a*s+i*l-o*c,t[1]=i*f+a*c+o*s-n*l,t[2]=o*f+a*l+n*c-i*s,t[3]=a*f-n*s-i*c-o*l,t}function w2(t,e,r,n){var i=e[0],o=e[1],a=e[2],s=e[3],c=r[0],l=r[1],f=r[2],u=r[3],d,h,g,p,v;return h=i*c+o*l+a*f+s*u,h<0&&(h=-h,c=-c,l=-l,f=-f,u=-u),1-h>hr?(d=Math.acos(h),g=Math.sin(d),p=Math.sin((1-n)*d)/g,v=Math.sin(n*d)/g):(p=1-n,v=n),t[0]=p*i+v*c,t[1]=p*o+v*l,t[2]=p*a+v*f,t[3]=p*s+v*u,t}function SY(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function _Y(t,e){var r=e[0]+e[4]+e[8],n;if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[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 o=(i+1)%3,a=(i+2)%3;n=Math.sqrt(e[i*3+i]-e[o*3+o]-e[a*3+a]+1),t[i]=.5*n,n=.5/n,t[3]=(e[o*3+a]-e[a*3+o])*n,t[o]=(e[o*3+i]+e[i*3+o])*n,t[a]=(e[a*3+i]+e[i*3+a])*n}return t}var C9=y2,QR=xY;(function(){var t=Xe(),e=Xt(1,0,0),r=Xt(0,1,0);return function(n,i,o){var a=$t(i,o);return a<-.999999?(Qn(t,e,i),Ah(t)<1e-6&&Qn(t,r,i),Tr(t,t),q5(n,t,Math.PI),n):a>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Qn(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+a,QR(n,n))}})();(function(){var t=kf(),e=kf();return function(r,n,i,o,a,s){return w2(t,n,a,s),w2(e,i,o,s),w2(r,t,e,2*s*(1-s)),r}})();(function(){var t=AT();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],QR(e,_Y(e,t))}})();function vn(){var t=new Ni(2);return Ni!=Float32Array&&(t[0]=0,t[1]=0),t}function av(t){var e=new Ni(2);return e[0]=t[0],e[1]=t[1],e}function S9(t,e){var r=new Ni(2);return r[0]=t,r[1]=e,r}function ec(t,e,r){return t[0]=e,t[1]=r,t}function $o(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t}function Ii(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t}function iu(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t}function TY(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t}function Hr(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.hypot(r,n)}function xy(t){var e=t[0],r=t[1];return Math.hypot(e,r)}function uu(t,e){var r=e[0],n=e[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t}function $T(t,e){return t[0]*e[0]+t[1]*e[1]}function EY(t,e,r,n){var i=e[0]-r[0],o=e[1]-r[1],a=Math.sin(n),s=Math.cos(n);return t[0]=i*s-o*a+r[0],t[1]=i*a+o*s+r[1],t}function bY(t,e){var r=t[0],n=t[1],i=e[0],o=e[1],a=Math.sqrt(r*r+n*n)*Math.sqrt(i*i+o*o),s=a&&(r*i+n*o)/a;return Math.acos(Math.min(Math.max(s,-1),1))}var DY=xy,ic=Ii,HT=Hr;(function(){var t=vn();return function(e,r,n,i,o,a){var s,c;for(r||(r=2),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,s=n;sn,t.setType=s=>{n=s},t.getHandle=()=>i,t.isReady=()=>o===!1,t.generateBuffer=s=>{const c=r(s);return i===null&&(i=e.context.createBuffer(),n=s),r(n)===c},t.upload=(s,c)=>t.generateBuffer(c)?(e.context.bindBuffer(r(n),i),e.context.bufferData(r(n),s,e.context.STATIC_DRAW),e.allocatedGPUMemoryInBytes=s.length*s.BYTES_PER_ELEMENT,o=!1,!0):(a="Trying to upload array buffer to incompatible buffer.",!1),t.bind=()=>i?(e.context.bindBuffer(r(n),i),!0):!1,t.release=()=>i?(e.context.bindBuffer(r(n),null),!0):!1,t.releaseGraphicsResources=()=>{i!==null&&(e.context.bindBuffer(r(n),null),e.context.deleteBuffer(i),i=null,e.allocatedGPUMemoryInBytes=0)},t.setOpenGLRenderWindow=s=>{e._openGLRenderWindow!==s&&(t.releaseGraphicsResources(),e._openGLRenderWindow=s,e.context=null,s&&(e.context=e._openGLRenderWindow.getContext()))},t.getError=()=>a}const MY={objectType:x2.ARRAY_BUFFER,context:null,allocatedGPUMemoryInBytes:0};function tL(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,MY,r),ie.obj(t,e),ie.get(t,e,["_openGLRenderWindow","allocatedGPUMemoryInBytes"]),ie.moveToProtected(t,e,["openGLRenderWindow"]),OY(t,e)}const PY=ie.newInstance(tL);var fu={newInstance:PY,extend:tL,...IY,...eL};const nL={FLAT:0,GOURAUD:1,PHONG:2},oc={POINTS:0,WIREFRAME:1,SURFACE:2},RY=nL;var rL={Shading:nL,Representation:oc,Interpolation:RY};const{vtkErrorMacro:_9}=ie;function LY(t,e){const r=new Float64Array(3);JR(r,e);const n=new Float64Array(16);return jR(n,kf(),t,r),n}function AY(t,e){return t===null||e===null?!1:!(v9(t,[0,0,0])&&v9(e,[1,1,1]))}function NY(t,e){e.classHierarchy.push("vtkOpenGLCellArrayBufferObject"),t.setType(mu.ARRAY_BUFFER),t.createVBO=function(r,n,i,o){let a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null;if(!r.getData()||!r.getData().length)return e.elementCount=0,0;e.blockSize=3,e.vertexOffset=0,e.normalOffset=0,e.tCoordOffset=0,e.tCoordComponents=0,e.colorComponents=0,e.colorOffset=0,e.customData=[];const s=o.points.getData();let c=null,l=null,f=null;const u=o.colors?o.colors.getNumberOfComponents():0,d=o.tcoords?o.tcoords.getNumberOfComponents():0;o.normals&&(e.normalOffset=4*e.blockSize,e.blockSize+=3,c=o.normals.getData()),o.customAttributes&&o.customAttributes.forEach(k=>{k&&(e.customData.push({data:k.getData(),offset:4*e.blockSize,components:k.getNumberOfComponents(),name:k.getName()}),e.blockSize+=k.getNumberOfComponents())}),o.tcoords&&(e.tCoordOffset=4*e.blockSize,e.tCoordComponents=d,e.blockSize+=d,l=o.tcoords.getData()),o.colors?(e.colorComponents=o.colors.getNumberOfComponents(),e.colorOffset=0,f=o.colors.getData(),e.colorBO||(e.colorBO=fu.newInstance()),e.colorBO.setOpenGLRenderWindow(e._openGLRenderWindow)):e.colorBO=null,e.stride=4*e.blockSize;let h=0,g=0,p=0,v=0,y=0,m=0,w;const x={anythingToPoints(k,F,K,Z){for(let se=0;se2)for(let se=0;se2){for(let se=0;se1?(k-1)*2:0},polysToWireframe(k,F){return k>2?k*2:0},stripsToWireframe(k,F){return k>2?k*4-6:0},polysToSurface(k,F){return k>2?(k-2)*3:0},stripsToSurface(k,F,K){return k>2?(k-2)*3:0}};let S=null,_=null;i===oc.POINTS||n==="verts"?(S=x.anythingToPoints,_=C.anythingToPoints):i===oc.WIREFRAME||n==="lines"?(S=x[`${n}ToWireframe`],_=C[`${n}ToWireframe`]):(S=x[`${n}ToSurface`],_=C[`${n}ToSurface`]);const T=r.getData(),E=T.length;let b=0;for(let k=0;k0&&(Math.abs(V)/L>1e6||Math.abs(Math.log10(L))>3||L===0&&V>1e6)){const k=new Float64Array(3),F=new Float64Array(3);for(let K=0;K<3;++K){const Z=o.points.getRange(K),se=Z[1]-Z[0];k[K]=.5*(Z[1]+Z[0]),F[K]=se>0?1/se:1}t.setCoordShiftAndScale(k,F)}else e.coordShiftAndScaleEnabled===!0&&t.setCoordShiftAndScale(null,null);if(a)if(!a.points&&!a.cells)a.points=new Int32Array(b),a.cells=new Int32Array(b);else{const k=new Int32Array(b+a.points.length);k.set(a.points),a.points=k;const F=new Int32Array(b+a.cells.length);F.set(a.cells),a.cells=F}let A=o.vertexOffset;w=function(F,K){if(a&&(a.points[A]=F,a.cells[A]=m+o.cellOffset),++A,h=F*3,e.coordShiftAndScaleEnabled?(I[P++]=(s[h++]-e.coordShift[0])*e.coordScale[0],I[P++]=(s[h++]-e.coordShift[1])*e.coordScale[1],I[P++]=(s[h++]-e.coordShift[2])*e.coordScale[2]):(I[P++]=s[h++],I[P++]=s[h++],I[P++]=s[h++]),c!==null&&(o.haveCellNormals?g=(m+o.cellOffset)*3:g=F*3,I[P++]=c[g++],I[P++]=c[g++],I[P++]=c[g++]),e.customData.forEach(Z=>{y=F*Z.components;for(let se=0;se{if(r!==null&&(r.constructor!==Float64Array||r.length!==3)){_9("Wrong type for coordShift, expected vec3 or null");return}if(n!==null&&(n.constructor!==Float64Array||n.length!==3)){_9("Wrong type for coordScale, expected vec3 or null");return}(e.coordShift===null||r===null||!H3(r,e.coordShift))&&(e.coordShift=r),(e.coordScale===null||n===null||!H3(n,e.coordScale))&&(e.coordScale=n),e.coordShiftAndScaleEnabled=AY(e.coordShift,e.coordScale),e.coordShiftAndScaleEnabled?e.inverseShiftAndScaleMatrix=LY(e.coordShift,e.coordScale):e.inverseShiftAndScaleMatrix=null}}const kY={elementCount:0,stride:0,colorBOStride:0,vertexOffset:0,normalOffset:0,tCoordOffset:0,tCoordComponents:0,colorOffset:0,colorComponents:0,tcoordBO:null,customData:[],coordShift:null,coordScale:null,coordShiftAndScaleEnabled:!1,inverseShiftAndScaleMatrix:null};function iL(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,kY,r),fu.extend(t,e,r),ie.setGet(t,e,["colorBO","elementCount","stride","colorBOStride","vertexOffset","normalOffset","tCoordOffset","tCoordComponents","colorOffset","colorComponents","customData"]),ie.get(t,e,["coordShift","coordScale","coordShiftAndScaleEnabled","inverseShiftAndScaleMatrix"]),NY(t,e)}const VY=ie.newInstance(iL);var FY={newInstance:VY,extend:iL};const{vtkErrorMacro:UY}=ie;function BY(t,e){e.classHierarchy.push("vtkShader"),t.compile=()=>{let r=e.context.VERTEX_SHADER;if(!e.source||!e.source.length||e.shaderType==="Unknown")return!1;switch(e.handle!==0&&(e.context.deleteShader(e.handle),e.handle=0),e.shaderType){case"Fragment":r=e.context.FRAGMENT_SHADER;break;case"Vertex":default:r=e.context.VERTEX_SHADER;break}if(e.handle=e.context.createShader(r),e.context.shaderSource(e.handle,e.source),e.context.compileShader(e.handle),!e.context.getShaderParameter(e.handle,e.context.COMPILE_STATUS)){const i=e.context.getShaderInfoLog(e.handle);return UY(`Error compiling shader '${e.source}': ${i}`),e.context.deleteShader(e.handle),e.handle=0,!1}return!0},t.cleanup=()=>{e.shaderType==="Unknown"||e.handle===0||(e.context.deleteShader(e.handle),e.handle=0,e.dirty=!0)}}const GY={shaderType:"Unknown",source:"",error:"",handle:0,dirty:!1,context:null};function oL(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,GY,r),ie.obj(t,e),ie.setGet(t,e,["shaderType","source","error","handle","context"]),BY(t,e)}const WY=ie.newInstance(oL,"vtkShader");var Lx={newInstance:WY,extend:oL};const{vtkErrorMacro:al}=ie;function zY(t,e,r,n){const i=typeof r=="string"?r:r.join(`
+ `,f=a.createShader(a.VERTEX_SHADER);if(a.shaderSource(f,c),a.compileShader(f),!a.getShaderParameter(f,a.COMPILE_STATUS))return!1;const u=a.createShader(a.FRAGMENT_SHADER);if(a.shaderSource(u,l),a.compileShader(u),!a.getShaderParameter(u,a.COMPILE_STATUS))return!1;const d=a.createProgram();if(a.attachShader(d,f),a.attachShader(d,u),a.linkProgram(d),!a.getProgramParameter(d,a.LINK_STATUS))return!1;const h=a.createTexture();a.bindTexture(a.TEXTURE_2D,h),a.texImage2D(a.TEXTURE_2D,0,s.R16_SNORM_EXT,2,1,0,a.RED,a.SHORT,n),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.useProgram(d),a.drawArrays(a.POINTS,0,1);const g=new Uint8Array(4);a.readPixels(i[0],i[1],1,1,a.RGBA,a.UNSIGNED_BYTE,g);const[p,v,y]=g,m=a.getExtension("WEBGL_lose_context");return m&&m.loseContext(),p===v&&v===y&&p!==0}catch{return!1}}let Rx;function sX(){return Rx===void 0&&(Rx=aX()),Rx}const{Wrap:ru,Filter:mo}=oR,{VtkDataTypes:mr}=wn,{vtkDebugMacro:Lx,vtkErrorMacro:p0,vtkWarningMacro:m9}=Ta,{toHalf:cX}=I0;function lX(t,e){e.classHierarchy.push("vtkOpenGLTexture");function r(){return{internalFormat:e.internalFormat,format:e.format,openGLDataType:e.openGLDataType,width:e.width,height:e.height}}t.render=function(){let g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;if(g?e._openGLRenderWindow=g:(e._openGLRenderer=t.getFirstAncestorOfType("vtkOpenGLRenderer"),e._openGLRenderWindow=e._openGLRenderer.getLastAncestorOfType("vtkOpenGLRenderWindow")),e.context=e._openGLRenderWindow.getContext(),e.renderable.getInterpolate()?(e.generateMipmap?t.setMinificationFilter(mo.LINEAR_MIPMAP_LINEAR):t.setMinificationFilter(mo.LINEAR),t.setMagnificationFilter(mo.LINEAR)):(t.setMinificationFilter(mo.NEAREST),t.setMagnificationFilter(mo.NEAREST)),e.renderable.getRepeat()&&(t.setWrapR(ru.REPEAT),t.setWrapS(ru.REPEAT),t.setWrapT(ru.REPEAT)),e.renderable.getInputData()&&e.renderable.setImage(null),!e.handle||e.renderable.getMTime()>e.textureBuildTime.getMTime()){if(e.renderable.getImage()!==null&&(e.renderable.getInterpolate()&&(e.generateMipmap=!0,t.setMinificationFilter(mo.LINEAR_MIPMAP_LINEAR)),e.renderable.getImage()&&e.renderable.getImageLoaded()&&(t.create2DFromImage(e.renderable.getImage()),t.activate(),t.sendParameters(),e.textureBuildTime.modified())),e.renderable.getCanvas()!==null){e.renderable.getInterpolate()&&(e.generateMipmap=!0,t.setMinificationFilter(mo.LINEAR_MIPMAP_LINEAR));const v=e.renderable.getCanvas();t.create2DFromRaw(v.width,v.height,4,mr.UNSIGNED_CHAR,v,!0),t.activate(),t.sendParameters(),e.textureBuildTime.modified()}if(e.renderable.getJsImageData()!==null){const v=e.renderable.getJsImageData();e.renderable.getInterpolate()&&(e.generateMipmap=!0,t.setMinificationFilter(mo.LINEAR_MIPMAP_LINEAR)),t.create2DFromRaw(v.width,v.height,4,mr.UNSIGNED_CHAR,v.data,!0),t.activate(),t.sendParameters(),e.textureBuildTime.modified()}const p=e.renderable.getInputData(0);if(p&&p.getPointData().getScalars()){const v=p.getExtent(),y=p.getPointData().getScalars(),m=[];for(let w=0;w{if(!((e.minificationFilter===mo.LINEAR||e.magnificationFilter===mo.LINEAR)&&!sX()))return e.oglNorm16Ext};t.destroyTexture=()=>{t.deactivate(),e.context&&e.handle&&e.context.deleteTexture(e.handle),e._prevTexParams=null,e.handle=0,e.numberOfDimensions=0,e.target=0,e.components=0,e.width=0,e.height=0,e.depth=0,t.resetFormatAndType()},t.createTexture=()=>{e.handle||(e.handle=e.context.createTexture(),e.target&&(e.context.bindTexture(e.target,e.handle),e.context.texParameteri(e.target,e.context.TEXTURE_MIN_FILTER,t.getOpenGLFilterMode(e.minificationFilter)),e.context.texParameteri(e.target,e.context.TEXTURE_MAG_FILTER,t.getOpenGLFilterMode(e.magnificationFilter)),e.context.texParameteri(e.target,e.context.TEXTURE_WRAP_S,t.getOpenGLWrapMode(e.wrapS)),e.context.texParameteri(e.target,e.context.TEXTURE_WRAP_T,t.getOpenGLWrapMode(e.wrapT)),e._openGLRenderWindow.getWebgl2()&&e.context.texParameteri(e.target,e.context.TEXTURE_WRAP_R,t.getOpenGLWrapMode(e.wrapR)),e.context.bindTexture(e.target,null)))},t.getTextureUnit=()=>e._openGLRenderWindow?e._openGLRenderWindow.getTextureUnitForTexture(t):-1,t.activate=()=>{e._openGLRenderWindow.activateTexture(t),t.bind()},t.deactivate=()=>{e._openGLRenderWindow&&e._openGLRenderWindow.deactivateTexture(t)},t.releaseGraphicsResources=g=>{g&&e.handle&&(g.activateTexture(t),g.deactivateTexture(t),e.context.deleteTexture(e.handle),e._prevTexParams=null,e.handle=0,e.numberOfDimensions=0,e.target=0,e.internalFormat=0,e.format=0,e.openGLDataType=0,e.components=0,e.width=0,e.height=0,e.depth=0,e.allocatedGPUMemoryInBytes=0),e.shaderProgram&&(e.shaderProgram.releaseGraphicsResources(g),e.shaderProgram=null)},t.bind=()=>{e.context.bindTexture(e.target,e.handle),e.autoParameters&&t.getMTime()>e.sendParametersTime.getMTime()&&t.sendParameters()},t.isBound=()=>{let g=!1;if(e.context&&e.handle){let p=0;switch(e.target){case e.context.TEXTURE_2D:p=e.context.TEXTURE_BINDING_2D;break;default:m9("impossible case");break}g=e.context.getIntegerv(p)===e.handle}return g},t.sendParameters=()=>{e.context.texParameteri(e.target,e.context.TEXTURE_WRAP_S,t.getOpenGLWrapMode(e.wrapS)),e.context.texParameteri(e.target,e.context.TEXTURE_WRAP_T,t.getOpenGLWrapMode(e.wrapT)),e._openGLRenderWindow.getWebgl2()&&e.context.texParameteri(e.target,e.context.TEXTURE_WRAP_R,t.getOpenGLWrapMode(e.wrapR)),e.context.texParameteri(e.target,e.context.TEXTURE_MIN_FILTER,t.getOpenGLFilterMode(e.minificationFilter)),e.context.texParameteri(e.target,e.context.TEXTURE_MAG_FILTER,t.getOpenGLFilterMode(e.magnificationFilter)),e._openGLRenderWindow.getWebgl2()&&(e.context.texParameteri(e.target,e.context.TEXTURE_BASE_LEVEL,e.baseLevel),e.context.texParameteri(e.target,e.context.TEXTURE_MAX_LEVEL,e.maxLevel)),e.sendParametersTime.modified()},t.getInternalFormat=(g,p)=>(e._forceInternalFormat||(e.internalFormat=t.getDefaultInternalFormat(g,p)),e.internalFormat||Lx(`Unable to find suitable internal format for T=${g} NC= ${p}`),[e.context.R32F,e.context.RG32F,e.context.RGB32F,e.context.RGBA32F].includes(e.internalFormat)&&!e.context.getExtension("OES_texture_float_linear")&&m9("Failed to load OES_texture_float_linear. Texture filtering is not available for *32F internal formats."),e.internalFormat),t.getDefaultInternalFormat=(g,p)=>{let v=0;return v=e._openGLRenderWindow.getDefaultTextureInternalFormat(g,p,n(),t.useHalfFloat()),v||(v||(Lx("Unsupported internal texture type!"),Lx(`Unable to find suitable internal format for T=${g} NC= ${p}`)),v)},t.useHalfFloat=()=>e.enableUseHalfFloat&&e.canUseHalfFloat,t.setInternalFormat=g=>{e._forceInternalFormat=!0,g!==e.internalFormat&&(e.internalFormat=g,t.modified())},t.getFormat=(g,p)=>(e.format=t.getDefaultFormat(g,p),e.format),t.getDefaultFormat=(g,p)=>{if(e._openGLRenderWindow.getWebgl2())switch(p){case 1:return e.context.RED;case 2:return e.context.RG;case 3:return e.context.RGB;case 4:return e.context.RGBA;default:return e.context.RGB}else switch(p){case 1:return e.context.LUMINANCE;case 2:return e.context.LUMINANCE_ALPHA;case 3:return e.context.RGB;case 4:return e.context.RGBA;default:return e.context.RGB}},t.resetFormatAndType=()=>{e._prevTexParams=null,e.format=0,e.internalFormat=0,e._forceInternalFormat=!1,e.openGLDataType=0},t.getDefaultDataType=g=>{const p=t.useHalfFloat();if(e._openGLRenderWindow.getWebgl2())switch(g){case mr.UNSIGNED_CHAR:return e.context.UNSIGNED_BYTE;case(n()&&!p&&mr.SHORT):return e.context.SHORT;case(n()&&!p&&mr.UNSIGNED_SHORT):return e.context.UNSIGNED_SHORT;case(p&&mr.SHORT):return e.context.HALF_FLOAT;case(p&&mr.UNSIGNED_SHORT):return e.context.HALF_FLOAT;case mr.FLOAT:case mr.VOID:default:return e.context.FLOAT}switch(g){case mr.UNSIGNED_CHAR:return e.context.UNSIGNED_BYTE;case mr.FLOAT:case mr.VOID:default:if(e.context.getExtension("OES_texture_float")&&e.context.getExtension("OES_texture_float_linear"))return e.context.FLOAT;{const v=e.context.getExtension("OES_texture_half_float");if(v&&e.context.getExtension("OES_texture_half_float_linear"))return v.HALF_FLOAT_OES}return e.context.UNSIGNED_BYTE}},t.getOpenGLDataType=function(g){let p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return(!e.openGLDataType||p)&&(e.openGLDataType=t.getDefaultDataType(g)),e.openGLDataType},t.getShiftAndScale=()=>{let g=0,p=1;switch(e.openGLDataType){case e.context.BYTE:p=127.5,g=p-128;break;case e.context.UNSIGNED_BYTE:p=255,g=0;break;case e.context.SHORT:p=32767.5,g=p-32768;break;case e.context.UNSIGNED_SHORT:p=65536,g=0;break;case e.context.INT:p=21474836475e-1,g=p-2147483648;break;case e.context.UNSIGNED_INT:p=4294967295,g=0;break;case e.context.FLOAT:}return{shift:g,scale:p}},t.getOpenGLFilterMode=g=>{switch(g){case mo.NEAREST:return e.context.NEAREST;case mo.LINEAR:return e.context.LINEAR;case mo.NEAREST_MIPMAP_NEAREST:return e.context.NEAREST_MIPMAP_NEAREST;case mo.NEAREST_MIPMAP_LINEAR:return e.context.NEAREST_MIPMAP_LINEAR;case mo.LINEAR_MIPMAP_NEAREST:return e.context.LINEAR_MIPMAP_NEAREST;case mo.LINEAR_MIPMAP_LINEAR:return e.context.LINEAR_MIPMAP_LINEAR;default:return e.context.NEAREST}},t.getOpenGLWrapMode=g=>{switch(g){case ru.CLAMP_TO_EDGE:return e.context.CLAMP_TO_EDGE;case ru.REPEAT:return e.context.REPEAT;case ru.MIRRORED_REPEAT:return e.context.MIRRORED_REPEAT;default:return e.context.CLAMP_TO_EDGE}};function i(g){const[p,v,y,m,w,x]=g;return[v-p+1,m-y+1,x-w+1]}function o(g){const[p,v,y]=i(g);return p*v*y}function a(g,p,v,y,m){const[w,x,C,S,_,T]=v,[E,b]=p,D=E*b;let I=m;for(let P=_;P<=T;P++){const M=P*D;for(let L=C;L<=S;L++){const V=M+L*E;for(let W=V+w,A=V+x;W<=A;W++,I++)y[I]=g[W]}}}function s(g,p){const y=(arguments.length>2&&arguments[2]!==void 0?arguments[2]:null)||g.constructor,m=p.reduce((S,_)=>S+o(_),0),w=new y(m),x=[e.width,e.height,e.depth];let C=0;return p.forEach(S=>{a(g,x,S,w,C),C+=o(S)}),w}t.updateArrayDataTypeForGL=function(g,p){let v=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,y=arguments.length>3&&arguments[3]!==void 0?arguments[3]:[];const m=[];let w=e.width*e.height*e.components;v&&(w*=e.depth);const x=!!y.length;if(g!==mr.FLOAT&&e.openGLDataType===e.context.FLOAT)for(let S=0;Sw?p[S].subarray(0,w):p[S];m.push(new Float32Array(_))}else m.push(null);if(g!==mr.UNSIGNED_CHAR&&e.openGLDataType===e.context.UNSIGNED_BYTE)for(let S=0;Sw?p[S].subarray(0,w):p[S];m.push(new Uint8Array(_))}else m.push(null);let C=!1;if(e._openGLRenderWindow.getWebgl2())C=e.openGLDataType===e.context.HALF_FLOAT;else{const S=e.context.getExtension("OES_texture_half_float");C=S&&e.openGLDataType===S.HALF_FLOAT_OES}if(C)for(let S=0;S=y&&(V=y-1);const W=M-L,A=1-W;L=L*v*m,V=V*v*m;for(let k=0;k=v&&(se=v-1);const we=K-Z;Z*=m,se*=m;for(let he=0;he5&&arguments[5]!==void 0?arguments[5]:!1;if(t.getOpenGLDataType(y,!0),t.getInternalFormat(y,v),t.getFormat(y,v),!e.internalFormat||!e.format||!e.openGLDataType)return p0("Failed to determine texture parameters."),!1;e.target=e.context.TEXTURE_2D,e.components=v,e.width=g,e.height=p,e.depth=1,e.numberOfDimensions=2,e._openGLRenderWindow.activateTexture(t),t.createTexture(),t.bind();const x=[m],C=t.updateArrayDataTypeForGL(y,x),S=c(C);return e.context.pixelStorei(e.context.UNPACK_FLIP_Y_WEBGL,w),e.context.pixelStorei(e.context.UNPACK_ALIGNMENT,1),l(y)?(e.context.texStorage2D(e.target,1,e.internalFormat,e.width,e.height),S[0]!=null&&e.context.texSubImage2D(e.target,0,0,0,e.width,e.height,e.format,e.openGLDataType,S[0])):e.context.texImage2D(e.target,0,e.internalFormat,e.width,e.height,0,e.format,e.openGLDataType,S[0]),e.generateMipmap&&e.context.generateMipmap(e.target),w&&e.context.pixelStorei(e.context.UNPACK_FLIP_Y_WEBGL,!1),e.allocatedGPUMemoryInBytes=e.width*e.height*e.depth*v*e._openGLRenderWindow.getDefaultTextureByteSize(y,n(),t.useHalfFloat()),t.deactivate(),!0},t.createCubeFromRaw=(g,p,v,y,m)=>{if(t.getOpenGLDataType(y),t.getInternalFormat(y,v),t.getFormat(y,v),!e.internalFormat||!e.format||!e.openGLDataType)return p0("Failed to determine texture parameters."),!1;e.target=e.context.TEXTURE_CUBE_MAP,e.components=v,e.width=g,e.height=p,e.depth=1,e.numberOfDimensions=2,e._openGLRenderWindow.activateTexture(t),e.maxLevel=m.length/6-1,t.createTexture(),t.bind();const w=t.updateArrayDataTypeForGL(y,m),x=c(w),C=[];let S=e.width,_=e.height;for(let T=0;T=1&&D>=1;){let I=null;E<=e.maxLevel&&(I=C[6*E+T]),l(y)?I!=null&&e.context.texSubImage2D(e.context.TEXTURE_CUBE_MAP_POSITIVE_X+T,E,0,0,b,D,e.format,e.openGLDataType,I):e.context.texImage2D(e.context.TEXTURE_CUBE_MAP_POSITIVE_X+T,E,e.internalFormat,b,D,0,e.format,e.openGLDataType,I),E++,b/=2,D/=2}}return e.allocatedGPUMemoryInBytes=e.width*e.height*e.depth*v*e._openGLRenderWindow.getDefaultTextureByteSize(y,n(),t.useHalfFloat()),t.deactivate(),!0},t.createDepthFromRaw=(g,p,v,y)=>(t.getOpenGLDataType(v),e.format=e.context.DEPTH_COMPONENT,e._openGLRenderWindow.getWebgl2()?v===mr.FLOAT?e.internalFormat=e.context.DEPTH_COMPONENT32F:e.internalFormat=e.context.DEPTH_COMPONENT16:e.internalFormat=e.context.DEPTH_COMPONENT,!e.internalFormat||!e.format||!e.openGLDataType?(p0("Failed to determine texture parameters."),!1):(e.target=e.context.TEXTURE_2D,e.components=1,e.width=g,e.height=p,e.depth=1,e.numberOfDimensions=2,e._openGLRenderWindow.activateTexture(t),t.createTexture(),t.bind(),e.context.pixelStorei(e.context.UNPACK_ALIGNMENT,1),l(v)?(e.context.texStorage2D(e.target,1,e.internalFormat,e.width,e.height),y!=null&&e.context.texSubImage2D(e.target,0,0,0,e.width,e.height,e.format,e.openGLDataType,y)):e.context.texImage2D(e.target,0,e.internalFormat,e.width,e.height,0,e.format,e.openGLDataType,y),e.generateMipmap&&e.context.generateMipmap(e.target),e.allocatedGPUMemoryInBytes=e.width*e.height*e.depth*e.components*e._openGLRenderWindow.getDefaultTextureByteSize(v,n(),t.useHalfFloat()),t.deactivate(),!0)),t.create2DFromImage=g=>{if(t.getOpenGLDataType(mr.UNSIGNED_CHAR),t.getInternalFormat(mr.UNSIGNED_CHAR,4),t.getFormat(mr.UNSIGNED_CHAR,4),!e.internalFormat||!e.format||!e.openGLDataType)return p0("Failed to determine texture parameters."),!1;e.target=e.context.TEXTURE_2D,e.components=4,e.depth=1,e.numberOfDimensions=2,e._openGLRenderWindow.activateTexture(t),t.createTexture(),t.bind(),e.context.pixelStorei(e.context.UNPACK_ALIGNMENT,1);const p=!e._openGLRenderWindow.getWebgl2()&&(!tp(g.width)||!tp(g.height)),v=document.createElement("canvas");v.width=p?tf(g.width):g.width,v.height=p?tf(g.height):g.height,e.width=v.width,e.height=v.height;const y=v.getContext("2d");y.translate(0,v.height),y.scale(1,-1),y.drawImage(g,0,0,g.width,g.height,0,0,v.width,v.height);const m=v;return l(mr.UNSIGNED_CHAR)?(e.context.texStorage2D(e.target,1,e.internalFormat,e.width,e.height),m!=null&&e.context.texSubImage2D(e.target,0,0,0,e.width,e.height,e.format,e.openGLDataType,m)):e.context.texImage2D(e.target,0,e.internalFormat,e.width,e.height,0,e.format,e.openGLDataType,m),e.generateMipmap&&e.context.generateMipmap(e.target),e.allocatedGPUMemoryInBytes=e.width*e.height*e.depth*e.components*e._openGLRenderWindow.getDefaultTextureByteSize(mr.UNSIGNED_CHAR,n(),t.useHalfFloat()),t.deactivate(),!0};function f(g,p,v){const y=new Array(v),m=new Array(v);for(let w=0;w2048||m<-2048||m>2048)return!1}return!0}function d(g,p,v,y){t.getOpenGLDataType(g);const m=u(p,v)||y;let w=!1;if(e._openGLRenderWindow.getWebgl2())w=e.openGLDataType===e.context.FLOAT&&e.context.getExtension("OES_texture_float_linear")===null&&m||e.openGLDataType===e.context.HALF_FLOAT;else{const x=e.context.getExtension("OES_texture_half_float");w=x&&e.openGLDataType===x.HALF_FLOAT_OES}e.canUseHalfFloat=w&&m}function h(g,p){const v=g.getNumberOfComponents(),y=g.getDataType(),m=g.getData(),w=new Array(v),x=new Array(v);for(let S=0;S5&&arguments[5]!==void 0?arguments[5]:!1,x=arguments.length>6&&arguments[6]!==void 0?arguments[6]:void 0;return t.create2DFilterableFromDataArray(g,p,wn.newInstance({numberOfComponents:v,dataType:y,values:m,ranges:x}),w)},t.create2DFilterableFromDataArray=function(g,p,v){let y=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;const{numComps:m,dataType:w,data:x}=h(v,y);t.create2DFromRaw(g,p,m,w,x)},t.updateVolumeInfoForGL=(g,p)=>{var m,w;let v=!1;const y=t.useHalfFloat();(!((m=e.volumeInfo)!=null&&m.scale)||!((w=e.volumeInfo)!=null&&w.offset))&&(e.volumeInfo={scale:new Array(p),offset:new Array(p)});for(let x=0;x6&&arguments[6]!==void 0?arguments[6]:[],C=m,S=w;if(!t.updateVolumeInfoForGL(C,y)&&S){const P=g*p*v,M=structuredClone(e.volumeInfo),L=new Float32Array(P*y);e.volumeInfo.offset=M.offset,e.volumeInfo.scale=M.scale;let V=0;const W=M.scale.map(A=>1/A);for(let A=0;A
0,T=!_||!fT(e._prevTexParams,r()),E=[S],D=t.updateArrayDataTypeForGL(C,E,!0,T?[]:x),I=c(D);if(e.context.pixelStorei(e.context.UNPACK_ALIGNMENT,1),T)l(C)?(e.context.texStorage3D(e.target,1,e.internalFormat,e.width,e.height,e.depth),I[0]!=null&&e.context.texSubImage3D(e.target,0,0,0,0,e.width,e.height,e.depth,e.format,e.openGLDataType,I[0])):e.context.texImage3D(e.target,0,e.internalFormat,e.width,e.height,e.depth,0,e.format,e.openGLDataType,I[0]),e._prevTexParams=r();else if(_){const P=I[0];let M=0;for(let L=0;L6&&arguments[6]!==void 0?arguments[6]:!1,C=arguments.length>7&&arguments[7]!==void 0?arguments[7]:void 0,S=arguments.length>8&&arguments[8]!==void 0?arguments[8]:[];return t.create3DFilterableFromDataArray(g,p,v,wn.newInstance({numberOfComponents:y,dataType:m,values:w,ranges:C}),x,S)},t.create3DFilterableFromDataArray=function(g,p,v,y){let m=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,w=arguments.length>5&&arguments[5]!==void 0?arguments[5]:[];const{numComps:x,dataType:C,data:S,scaleOffsets:_}=h(y,m),T=[],E=[];for(let Ee=0;Ee{Ee[Ae]=Ue},P=mr.UNSIGNED_CHAR;if(C===mr.UNSIGNED_CHAR)for(let Ee=0;Ee{Ee[Ae]=(Ue-Pe)/G}):(P=mr.UNSIGNED_CHAR,I=(Ee,Ae,Ue,Pe,G)=>{Ee[Ae]=255*(Ue-Pe)/G});if(t.getOpenGLDataType(P),t.getInternalFormat(P,x),t.getFormat(P,x),!e.internalFormat||!e.format||!e.openGLDataType)return p0("Failed to determine texture parameters."),!1;e.target=e.context.TEXTURE_2D,e.components=x,e.depth=1,e.numberOfDimensions=2;let M=e.context.getParameter(e.context.MAX_TEXTURE_SIZE);M>4096&&(P===mr.FLOAT||x>=3)&&(M=4096);let L=1,V=1;b>M*M&&(L=Math.ceil(Math.sqrt(b/(M*M))),V=L);let W=Math.sqrt(b)/L;W=tf(W);const A=Math.floor(W*L/g),k=Math.ceil(v/A),F=tf(p*k/V);e.width=W,e.height=F,e._openGLRenderWindow.activateTexture(t),t.createTexture(),t.bind(),e.volumeInfo.xreps=A,e.volumeInfo.yreps=k,e.volumeInfo.xstride=L,e.volumeInfo.ystride=V,e.volumeInfo.offset=D.offset,e.volumeInfo.scale=D.scale;let K;const Z=W*F*x;P===mr.FLOAT?K=new Float32Array(Z):K=new Uint8Array(Z);let se=0;const we=Math.floor(g/L),he=Math.floor(p/V);for(let Ee=0;Ee{e._openGLRenderWindow!==g&&(t.releaseGraphicsResources(),e._openGLRenderWindow=g,e.context=null,g&&(e.context=e._openGLRenderWindow.getContext()))},t.getMaximumTextureSize=g=>g&&g.isCurrent()?g.getIntegerv(g.MAX_TEXTURE_SIZE):-1,t.enableUseHalfFloat=g=>{e.enableUseHalfFloat=g}}const uX={_openGLRenderWindow:null,_forceInternalFormat:!1,_prevTexParams:null,context:null,handle:0,sendParametersTime:null,textureBuildTime:null,numberOfDimensions:0,target:0,format:0,openGLDataType:0,components:0,width:0,height:0,depth:0,autoParameters:!0,wrapS:ru.CLAMP_TO_EDGE,wrapT:ru.CLAMP_TO_EDGE,wrapR:ru.CLAMP_TO_EDGE,minificationFilter:mo.NEAREST,magnificationFilter:mo.NEAREST,minLOD:-1e3,maxLOD:1e3,baseLevel:0,maxLevel:1e3,generateMipmap:!1,oglNorm16Ext:null,allocatedGPUMemoryInBytes:0,enableUseHalfFloat:!0,canUseHalfFloat:!1};function kR(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,uX,r),eo.extend(t,e,r),e.sendParametersTime={},ni(e.sendParametersTime,{mtime:0}),e.textureBuildTime={},ni(e.textureBuildTime,{mtime:0}),n1(t,e,["format","openGLDataType"]),uo(t,e,["keyMatrixTime","minificationFilter","magnificationFilter","wrapS","wrapT","wrapR","generateMipmap","oglNorm16Ext"]),Ba(t,e,["width","height","volumeInfo","components","handle","target","allocatedGPUMemoryInBytes"]),r1(t,e,["openGLRenderWindow"]),lX(t,e)}const VR=Br(kR,"vtkOpenGLTexture");var ti={newInstance:VR,extend:kR,...oR};ko("vtkTexture",VR);function fX(t,e){e.classHierarchy.push("vtkFramebuffer"),t.getBothMode=()=>e.context.FRAMEBUFFER,t.saveCurrentBindingsAndBuffers=r=>{const n=typeof r<"u"?r:t.getBothMode();t.saveCurrentBindings(n),t.saveCurrentBuffers(n)},t.saveCurrentBindings=r=>{if(!e.context){qn("you must set the OpenGLRenderWindow before calling saveCurrentBindings");return}const n=e.context;e.previousDrawBinding=n.getParameter(e.context.FRAMEBUFFER_BINDING),e.previousActiveFramebuffer=e._openGLRenderWindow.getActiveFramebuffer()},t.saveCurrentBuffers=r=>{},t.restorePreviousBindingsAndBuffers=r=>{const n=typeof r<"u"?r:t.getBothMode();t.restorePreviousBindings(n),t.restorePreviousBuffers(n)},t.restorePreviousBindings=r=>{if(!e.context){qn("you must set the OpenGLRenderWindow before calling restorePreviousBindings");return}const n=e.context;n.bindFramebuffer(n.FRAMEBUFFER,e.previousDrawBinding),e._openGLRenderWindow.setActiveFramebuffer(e.previousActiveFramebuffer)},t.restorePreviousBuffers=r=>{},t.bind=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;n===null&&(n=e.context.FRAMEBUFFER),e.context.bindFramebuffer(n,e.glFramebuffer);for(let i=0;i{if(!e.context){qn("you must set the OpenGLRenderWindow before calling create");return}e.glFramebuffer=e.context.createFramebuffer(),e.glFramebuffer.width=r,e.glFramebuffer.height=n},t.setColorBuffer=function(r){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;const i=e.context;if(!i){qn("you must set the OpenGLRenderWindow before calling setColorBuffer");return}let o=i.COLOR_ATTACHMENT0;if(n>0)if(e._openGLRenderWindow.getWebgl2())o+=n;else{qn("Using multiple framebuffer attachments requires WebGL 2");return}e.colorBuffers[n]=r,i.framebufferTexture2D(i.FRAMEBUFFER,o,i.TEXTURE_2D,r.getHandle(),0)},t.removeColorBuffer=function(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0;const n=e.context;if(!n){qn("you must set the OpenGLRenderWindow before calling removeColorBuffer");return}let i=n.COLOR_ATTACHMENT0;if(r>0)if(e._openGLRenderWindow.getWebgl2())i+=r;else{qn("Using multiple framebuffer attachments requires WebGL 2");return}n.framebufferTexture2D(n.FRAMEBUFFER,i,n.TEXTURE_2D,null,0),e.colorBuffers=e.colorBuffers.splice(r,1)},t.setDepthBuffer=r=>{if(!e.context){qn("you must set the OpenGLRenderWindow before calling setDepthBuffer");return}if(e._openGLRenderWindow.getWebgl2()){const n=e.context;n.framebufferTexture2D(n.FRAMEBUFFER,n.DEPTH_ATTACHMENT,n.TEXTURE_2D,r.getHandle(),0)}else qn("Attaching depth buffer textures to fbo requires WebGL 2")},t.removeDepthBuffer=()=>{if(!e.context){qn("you must set the OpenGLRenderWindow before calling removeDepthBuffer");return}if(e._openGLRenderWindow.getWebgl2()){const r=e.context;r.framebufferTexture2D(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.TEXTURE_2D,null,0)}else qn("Attaching depth buffer textures to framebuffers requires WebGL 2")},t.getGLFramebuffer=()=>e.glFramebuffer,t.setOpenGLRenderWindow=r=>{e._openGLRenderWindow!==r&&(t.releaseGraphicsResources(),e._openGLRenderWindow=r,e.context=null,r&&(e.context=e._openGLRenderWindow.getContext()))},t.releaseGraphicsResources=()=>{e.glFramebuffer&&e.context.deleteFramebuffer(e.glFramebuffer)},t.getSize=()=>e.glFramebuffer==null?null:[e.glFramebuffer.width,e.glFramebuffer.height],t.populateFramebuffer=()=>{if(!e.context){qn("you must set the OpenGLRenderWindow before calling populateFrameBuffer");return}t.bind();const r=e.context,n=ti.newInstance();n.setOpenGLRenderWindow(e._openGLRenderWindow),n.setMinificationFilter(ln.LINEAR),n.setMagnificationFilter(ln.LINEAR),n.create2DFromRaw(e.glFramebuffer.width,e.glFramebuffer.height,4,Vn.UNSIGNED_CHAR,null),t.setColorBuffer(n),e.depthTexture=r.createRenderbuffer(),r.bindRenderbuffer(r.RENDERBUFFER,e.depthTexture),r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_COMPONENT16,e.glFramebuffer.width,e.glFramebuffer.height),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.RENDERBUFFER,e.depthTexture)},t.getColorTexture=()=>e.colorBuffers[0]}const dX={glFramebuffer:null,colorBuffers:null,depthTexture:null,previousDrawBinding:0,previousReadBinding:0,previousDrawBuffer:0,previousReadBuffer:0,previousActiveFramebuffer:null};function FR(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,dX,r),ni(t,e),e.colorBuffers&&qn("you cannot initialize colorBuffers through the constructor. You should call setColorBuffer() instead."),e.colorBuffers=[],Jh(t,e,["colorBuffers"]),fX(t,e)}const hX=Br(FR,"vtkFramebuffer");var K5={newInstance:hX,extend:FR};function gX(t,e){e.classHierarchy.push("vtkRenderPass"),t.getOperation=()=>e.currentOperation,t.setCurrentOperation=r=>{e.currentOperation=r,e.currentTraverseOperation=`traverse${ie.capitalize(e.currentOperation)}`},t.getTraverseOperation=()=>e.currentTraverseOperation,t.traverse=function(r){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;e.deleted||(e._currentParent=n,e.preDelegateOperations.forEach(i=>{t.setCurrentOperation(i),r.traverse(t)}),e.delegates.forEach(i=>{i.traverse(r,t)}),e.postDelegateOperations.forEach(i=>{t.setCurrentOperation(i),r.traverse(t)}))}}const pX={delegates:[],currentOperation:null,preDelegateOperations:[],postDelegateOperations:[],currentParent:null};function UR(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,pX,r),ie.obj(t,e),ie.get(t,e,["currentOperation"]),ie.setGet(t,e,["delegates","_currentParent","preDelegateOperations","postDelegateOperations"]),ie.moveToProtected(t,e,["currentParent"]),gX(t,e)}const mX=ie.newInstance(UR,"vtkRenderPass");var LT={newInstance:mX,extend:UR},hr=1e-6,Ni=typeof Float32Array<"u"?Float32Array:Array,vX=Math.PI/180;function yX(t){return t*vX}function Nf(t,e){return Math.abs(t-e)<=hr*Math.max(1,Math.abs(t),Math.abs(e))}Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});function AT(){var t=new Ni(9);return Ni!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function q5(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t}function wX(t){var e=new Ni(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e}function xX(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function rp(t,e,r,n,i,o,a,s,c){var l=new Ni(9);return l[0]=t,l[1]=e,l[2]=r,l[3]=n,l[4]=i,l[5]=o,l[6]=a,l[7]=s,l[8]=c,l}function BR(t,e,r,n,i,o,a,s,c,l){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=o,t[5]=a,t[6]=s,t[7]=c,t[8]=l,t}function Bc(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function NT(t,e){if(t===e){var r=e[1],n=e[2],i=e[5];t[1]=e[3],t[2]=e[6],t[3]=r,t[5]=e[7],t[6]=n,t[7]=i}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t}function c1(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=e[4],s=e[5],c=e[6],l=e[7],f=e[8],u=f*a-s*l,d=-f*o+s*c,h=l*o-a*c,g=r*u+n*d+i*h;return g?(g=1/g,t[0]=u*g,t[1]=(-f*n+i*l)*g,t[2]=(s*n-i*a)*g,t[3]=d*g,t[4]=(f*r-i*c)*g,t[5]=(-s*r+i*o)*g,t[6]=h*g,t[7]=(-l*r+n*c)*g,t[8]=(a*r-n*o)*g,t):null}function CX(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=e[4],s=e[5],c=e[6],l=e[7],f=e[8];return t[0]=a*f-s*l,t[1]=i*l-n*f,t[2]=n*s-i*a,t[3]=s*c-o*f,t[4]=r*f-i*c,t[5]=i*o-r*s,t[6]=o*l-a*c,t[7]=n*c-r*l,t[8]=r*a-n*o,t}function md(t){var e=t[0],r=t[1],n=t[2],i=t[3],o=t[4],a=t[5],s=t[6],c=t[7],l=t[8];return e*(l*o-a*c)+r*(-l*i+a*s)+n*(c*i-o*s)}function Lh(t,e,r){var n=e[0],i=e[1],o=e[2],a=e[3],s=e[4],c=e[5],l=e[6],f=e[7],u=e[8],d=r[0],h=r[1],g=r[2],p=r[3],v=r[4],y=r[5],m=r[6],w=r[7],x=r[8];return t[0]=d*n+h*a+g*l,t[1]=d*i+h*s+g*f,t[2]=d*o+h*c+g*u,t[3]=p*n+v*a+y*l,t[4]=p*i+v*s+y*f,t[5]=p*o+v*c+y*u,t[6]=m*n+w*a+x*l,t[7]=m*i+w*s+x*f,t[8]=m*o+w*c+x*u,t}function SX(t,e,r){var n=e[0],i=e[1],o=e[2],a=e[3],s=e[4],c=e[5],l=e[6],f=e[7],u=e[8],d=r[0],h=r[1];return t[0]=n,t[1]=i,t[2]=o,t[3]=a,t[4]=s,t[5]=c,t[6]=d*n+h*a+l,t[7]=d*i+h*s+f,t[8]=d*o+h*c+u,t}function _X(t,e,r){var n=e[0],i=e[1],o=e[2],a=e[3],s=e[4],c=e[5],l=e[6],f=e[7],u=e[8],d=Math.sin(r),h=Math.cos(r);return t[0]=h*n+d*a,t[1]=h*i+d*s,t[2]=h*o+d*c,t[3]=h*a-d*n,t[4]=h*s-d*i,t[5]=h*c-d*o,t[6]=l,t[7]=f,t[8]=u,t}function TX(t,e,r){var n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function EX(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t}function bX(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function DX(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function IX(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t}function OX(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=r+r,s=n+n,c=i+i,l=r*a,f=n*a,u=n*s,d=i*a,h=i*s,g=i*c,p=o*a,v=o*s,y=o*c;return t[0]=1-u-g,t[3]=f-y,t[6]=d+v,t[1]=f+y,t[4]=1-l-g,t[7]=h-p,t[2]=d-v,t[5]=h+p,t[8]=1-l-u,t}function MX(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=e[4],s=e[5],c=e[6],l=e[7],f=e[8],u=e[9],d=e[10],h=e[11],g=e[12],p=e[13],v=e[14],y=e[15],m=r*s-n*a,w=r*c-i*a,x=r*l-o*a,C=n*c-i*s,S=n*l-o*s,_=i*l-o*c,T=f*p-u*g,E=f*v-d*g,b=f*y-h*g,D=u*v-d*p,I=u*y-h*p,P=d*y-h*v,M=m*P-w*I+x*D+C*b-S*E+_*T;return M?(M=1/M,t[0]=(s*P-c*I+l*D)*M,t[1]=(c*b-a*P-l*E)*M,t[2]=(a*I-s*b+l*T)*M,t[3]=(i*I-n*P-o*D)*M,t[4]=(r*P-i*b+o*E)*M,t[5]=(n*b-r*I-o*T)*M,t[6]=(p*_-v*S+y*C)*M,t[7]=(v*x-g*_-y*w)*M,t[8]=(g*S-p*x+y*m)*M,t):null}function PX(t,e,r){return t[0]=2/e,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/r,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t}function RX(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"}function LX(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8])}function AX(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t}function GR(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t}function NX(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t}function kX(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t}function VX(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]}function FX(t,e){var r=t[0],n=t[1],i=t[2],o=t[3],a=t[4],s=t[5],c=t[6],l=t[7],f=t[8],u=e[0],d=e[1],h=e[2],g=e[3],p=e[4],v=e[5],y=e[6],m=e[7],w=e[8];return Math.abs(r-u)<=hr*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(n-d)<=hr*Math.max(1,Math.abs(n),Math.abs(d))&&Math.abs(i-h)<=hr*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(o-g)<=hr*Math.max(1,Math.abs(o),Math.abs(g))&&Math.abs(a-p)<=hr*Math.max(1,Math.abs(a),Math.abs(p))&&Math.abs(s-v)<=hr*Math.max(1,Math.abs(s),Math.abs(v))&&Math.abs(c-y)<=hr*Math.max(1,Math.abs(c),Math.abs(y))&&Math.abs(l-m)<=hr*Math.max(1,Math.abs(l),Math.abs(m))&&Math.abs(f-w)<=hr*Math.max(1,Math.abs(f),Math.abs(w))}var UX=Lh,BX=GR;const GX=Object.freeze(Object.defineProperty({__proto__:null,add:AX,adjoint:CX,clone:wX,copy:xX,create:AT,determinant:md,equals:FX,exactEquals:VX,frob:LX,fromMat2d:IX,fromMat4:q5,fromQuat:OX,fromRotation:bX,fromScaling:DX,fromTranslation:EX,fromValues:rp,identity:Bc,invert:c1,mul:UX,multiply:Lh,multiplyScalar:NX,multiplyScalarAndAdd:kX,normalFromMat4:MX,projection:PX,rotate:_X,scale:TX,set:BR,str:RX,sub:BX,subtract:GR,translate:SX,transpose:NT},Symbol.toStringTag,{value:"Module"}));function ss(){var t=new Ni(16);return Ni!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function WX(t){var e=new Ni(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}function Wi(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function kT(t,e,r,n,i,o,a,s,c,l,f,u,d,h,g,p){var v=new Ni(16);return v[0]=t,v[1]=e,v[2]=r,v[3]=n,v[4]=i,v[5]=o,v[6]=a,v[7]=s,v[8]=c,v[9]=l,v[10]=f,v[11]=u,v[12]=d,v[13]=h,v[14]=g,v[15]=p,v}function zX(t,e,r,n,i,o,a,s,c,l,f,u,d,h,g,p,v){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t[4]=o,t[5]=a,t[6]=s,t[7]=c,t[8]=l,t[9]=f,t[10]=u,t[11]=d,t[12]=h,t[13]=g,t[14]=p,t[15]=v,t}function on(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ur(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],o=e[6],a=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=o,t[11]=e[14],t[12]=i,t[13]=a,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}function ji(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=e[4],s=e[5],c=e[6],l=e[7],f=e[8],u=e[9],d=e[10],h=e[11],g=e[12],p=e[13],v=e[14],y=e[15],m=r*s-n*a,w=r*c-i*a,x=r*l-o*a,C=n*c-i*s,S=n*l-o*s,_=i*l-o*c,T=f*p-u*g,E=f*v-d*g,b=f*y-h*g,D=u*v-d*p,I=u*y-h*p,P=d*y-h*v,M=m*P-w*I+x*D+C*b-S*E+_*T;return M?(M=1/M,t[0]=(s*P-c*I+l*D)*M,t[1]=(i*I-n*P-o*D)*M,t[2]=(p*_-v*S+y*C)*M,t[3]=(d*S-u*_-h*C)*M,t[4]=(c*b-a*P-l*E)*M,t[5]=(r*P-i*b+o*E)*M,t[6]=(v*x-g*_-y*w)*M,t[7]=(f*_-d*x+h*w)*M,t[8]=(a*I-s*b+l*T)*M,t[9]=(n*b-r*I-o*T)*M,t[10]=(g*S-p*x+y*m)*M,t[11]=(u*x-f*S-h*m)*M,t[12]=(s*E-a*D-c*T)*M,t[13]=(r*D-n*E+i*T)*M,t[14]=(p*w-g*C-v*m)*M,t[15]=(f*C-u*w+d*m)*M,t):null}function jX(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=e[4],s=e[5],c=e[6],l=e[7],f=e[8],u=e[9],d=e[10],h=e[11],g=e[12],p=e[13],v=e[14],y=e[15];return t[0]=s*(d*y-h*v)-u*(c*y-l*v)+p*(c*h-l*d),t[1]=-(n*(d*y-h*v)-u*(i*y-o*v)+p*(i*h-o*d)),t[2]=n*(c*y-l*v)-s*(i*y-o*v)+p*(i*l-o*c),t[3]=-(n*(c*h-l*d)-s*(i*h-o*d)+u*(i*l-o*c)),t[4]=-(a*(d*y-h*v)-f*(c*y-l*v)+g*(c*h-l*d)),t[5]=r*(d*y-h*v)-f*(i*y-o*v)+g*(i*h-o*d),t[6]=-(r*(c*y-l*v)-a*(i*y-o*v)+g*(i*l-o*c)),t[7]=r*(c*h-l*d)-a*(i*h-o*d)+f*(i*l-o*c),t[8]=a*(u*y-h*p)-f*(s*y-l*p)+g*(s*h-l*u),t[9]=-(r*(u*y-h*p)-f*(n*y-o*p)+g*(n*h-o*u)),t[10]=r*(s*y-l*p)-a*(n*y-o*p)+g*(n*l-o*s),t[11]=-(r*(s*h-l*u)-a*(n*h-o*u)+f*(n*l-o*s)),t[12]=-(a*(u*v-d*p)-f*(s*v-c*p)+g*(s*d-c*u)),t[13]=r*(u*v-d*p)-f*(n*v-i*p)+g*(n*d-i*u),t[14]=-(r*(s*v-c*p)-a*(n*v-i*p)+g*(n*c-i*s)),t[15]=r*(s*d-c*u)-a*(n*d-i*u)+f*(n*c-i*s),t}function $X(t){var e=t[0],r=t[1],n=t[2],i=t[3],o=t[4],a=t[5],s=t[6],c=t[7],l=t[8],f=t[9],u=t[10],d=t[11],h=t[12],g=t[13],p=t[14],v=t[15],y=e*a-r*o,m=e*s-n*o,w=e*c-i*o,x=r*s-n*a,C=r*c-i*a,S=n*c-i*s,_=l*g-f*h,T=l*p-u*h,E=l*v-d*h,b=f*p-u*g,D=f*v-d*g,I=u*v-d*p;return y*I-m*D+w*b+x*E-C*T+S*_}function Xn(t,e,r){var n=e[0],i=e[1],o=e[2],a=e[3],s=e[4],c=e[5],l=e[6],f=e[7],u=e[8],d=e[9],h=e[10],g=e[11],p=e[12],v=e[13],y=e[14],m=e[15],w=r[0],x=r[1],C=r[2],S=r[3];return t[0]=w*n+x*s+C*u+S*p,t[1]=w*i+x*c+C*d+S*v,t[2]=w*o+x*l+C*h+S*y,t[3]=w*a+x*f+C*g+S*m,w=r[4],x=r[5],C=r[6],S=r[7],t[4]=w*n+x*s+C*u+S*p,t[5]=w*i+x*c+C*d+S*v,t[6]=w*o+x*l+C*h+S*y,t[7]=w*a+x*f+C*g+S*m,w=r[8],x=r[9],C=r[10],S=r[11],t[8]=w*n+x*s+C*u+S*p,t[9]=w*i+x*c+C*d+S*v,t[10]=w*o+x*l+C*h+S*y,t[11]=w*a+x*f+C*g+S*m,w=r[12],x=r[13],C=r[14],S=r[15],t[12]=w*n+x*s+C*u+S*p,t[13]=w*i+x*c+C*d+S*v,t[14]=w*o+x*l+C*h+S*y,t[15]=w*a+x*f+C*g+S*m,t}function li(t,e,r){var n=r[0],i=r[1],o=r[2],a,s,c,l,f,u,d,h,g,p,v,y;return e===t?(t[12]=e[0]*n+e[4]*i+e[8]*o+e[12],t[13]=e[1]*n+e[5]*i+e[9]*o+e[13],t[14]=e[2]*n+e[6]*i+e[10]*o+e[14],t[15]=e[3]*n+e[7]*i+e[11]*o+e[15]):(a=e[0],s=e[1],c=e[2],l=e[3],f=e[4],u=e[5],d=e[6],h=e[7],g=e[8],p=e[9],v=e[10],y=e[11],t[0]=a,t[1]=s,t[2]=c,t[3]=l,t[4]=f,t[5]=u,t[6]=d,t[7]=h,t[8]=g,t[9]=p,t[10]=v,t[11]=y,t[12]=a*n+f*i+g*o+e[12],t[13]=s*n+u*i+p*o+e[13],t[14]=c*n+d*i+v*o+e[14],t[15]=l*n+h*i+y*o+e[15]),t}function Ml(t,e,r){var n=r[0],i=r[1],o=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function ma(t,e,r,n){var i=n[0],o=n[1],a=n[2],s=Math.hypot(i,o,a),c,l,f,u,d,h,g,p,v,y,m,w,x,C,S,_,T,E,b,D,I,P,M,L;return s
0?(r[0]=(s*a+f*n+c*o-l*i)*2/u,r[1]=(c*a+f*i+l*n-s*o)*2/u,r[2]=(l*a+f*o+s*i-c*n)*2/u):(r[0]=(s*a+f*n+c*o-l*i)*2,r[1]=(c*a+f*i+l*n-s*o)*2,r[2]=(l*a+f*o+s*i-c*n)*2),WR(t,e,r),t}function YX(t,e){return t[0]=e[12],t[1]=e[13],t[2]=e[14],t}function zR(t,e){var r=e[0],n=e[1],i=e[2],o=e[4],a=e[5],s=e[6],c=e[8],l=e[9],f=e[10];return t[0]=Math.hypot(r,n,i),t[1]=Math.hypot(o,a,s),t[2]=Math.hypot(c,l,f),t}function H3(t,e){var r=new Ni(3);zR(r,e);var n=1/r[0],i=1/r[1],o=1/r[2],a=e[0]*n,s=e[1]*i,c=e[2]*o,l=e[4]*n,f=e[5]*i,u=e[6]*o,d=e[8]*n,h=e[9]*i,g=e[10]*o,p=a+f+g,v=0;return p>0?(v=Math.sqrt(p+1)*2,t[3]=.25*v,t[0]=(u-h)/v,t[1]=(d-c)/v,t[2]=(s-l)/v):a>f&&a>g?(v=Math.sqrt(1+a-f-g)*2,t[3]=(u-h)/v,t[0]=.25*v,t[1]=(s+l)/v,t[2]=(d+c)/v):f>g?(v=Math.sqrt(1+f-a-g)*2,t[3]=(d-c)/v,t[0]=(s+l)/v,t[1]=.25*v,t[2]=(u+h)/v):(v=Math.sqrt(1+g-a-f)*2,t[3]=(s-l)/v,t[0]=(d+c)/v,t[1]=(u+h)/v,t[2]=.25*v),t}function jR(t,e,r,n){var i=e[0],o=e[1],a=e[2],s=e[3],c=i+i,l=o+o,f=a+a,u=i*c,d=i*l,h=i*f,g=o*l,p=o*f,v=a*f,y=s*c,m=s*l,w=s*f,x=n[0],C=n[1],S=n[2];return t[0]=(1-(g+v))*x,t[1]=(d+w)*x,t[2]=(h-m)*x,t[3]=0,t[4]=(d-w)*C,t[5]=(1-(u+v))*C,t[6]=(p+y)*C,t[7]=0,t[8]=(h+m)*S,t[9]=(p-y)*S,t[10]=(1-(u+g))*S,t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}function JX(t,e,r,n,i){var o=e[0],a=e[1],s=e[2],c=e[3],l=o+o,f=a+a,u=s+s,d=o*l,h=o*f,g=o*u,p=a*f,v=a*u,y=s*u,m=c*l,w=c*f,x=c*u,C=n[0],S=n[1],_=n[2],T=i[0],E=i[1],b=i[2],D=(1-(p+y))*C,I=(h+x)*C,P=(g-w)*C,M=(h-x)*S,L=(1-(d+y))*S,V=(v+m)*S,W=(g+w)*_,A=(v-m)*_,k=(1-(d+p))*_;return t[0]=D,t[1]=I,t[2]=P,t[3]=0,t[4]=M,t[5]=L,t[6]=V,t[7]=0,t[8]=W,t[9]=A,t[10]=k,t[11]=0,t[12]=r[0]+T-(D*T+M*E+W*b),t[13]=r[1]+E-(I*T+L*E+A*b),t[14]=r[2]+b-(P*T+V*E+k*b),t[15]=1,t}function yy(t,e){var r=e[0],n=e[1],i=e[2],o=e[3],a=r+r,s=n+n,c=i+i,l=r*a,f=n*a,u=n*s,d=i*a,h=i*s,g=i*c,p=o*a,v=o*s,y=o*c;return t[0]=1-u-g,t[1]=f+y,t[2]=d-v,t[3]=0,t[4]=f-y,t[5]=1-l-g,t[6]=h+p,t[7]=0,t[8]=d+v,t[9]=h-p,t[10]=1-l-u,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function ZX(t,e,r,n,i,o,a){var s=1/(r-e),c=1/(i-n),l=1/(o-a);return t[0]=o*2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o*2*c,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*c,t[10]=(a+o)*l,t[11]=-1,t[12]=0,t[13]=0,t[14]=a*o*2*l,t[15]=0,t}function $R(t,e,r,n,i){var o=1/Math.tan(e/2),a;return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0?(a=1/(n-i),t[10]=(i+n)*a,t[14]=2*i*n*a):(t[10]=-1,t[14]=-2*n),t}var QX=$R;function eY(t,e,r,n,i){var o=1/Math.tan(e/2),a;return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,i!=null&&i!==1/0?(a=1/(n-i),t[10]=i*a,t[14]=i*n*a):(t[10]=-1,t[14]=-n),t}function tY(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),o=Math.tan(e.downDegrees*Math.PI/180),a=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),c=2/(a+s),l=2/(i+o);return t[0]=c,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=l,t[6]=0,t[7]=0,t[8]=-((a-s)*c*.5),t[9]=(i-o)*l*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}function HR(t,e,r,n,i,o,a){var s=1/(e-r),c=1/(n-i),l=1/(o-a);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*l,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*c,t[14]=(a+o)*l,t[15]=1,t}var WT=HR;function nY(t,e,r,n,i,o,a){var s=1/(e-r),c=1/(n-i),l=1/(o-a);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*c,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=l,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*c,t[14]=o*l,t[15]=1,t}function zT(t,e,r,n){var i,o,a,s,c,l,f,u,d,h,g=e[0],p=e[1],v=e[2],y=n[0],m=n[1],w=n[2],x=r[0],C=r[1],S=r[2];return Math.abs(g-x)
0&&(h=1/Math.sqrt(h),f*=h,u*=h,d*=h);var g=c*d-l*u,p=l*f-s*d,v=s*u-c*f;return h=g*g+p*p+v*v,h>0&&(h=1/Math.sqrt(h),g*=h,p*=h,v*=h),t[0]=g,t[1]=p,t[2]=v,t[3]=0,t[4]=u*v-d*p,t[5]=d*g-f*v,t[6]=f*p-u*g,t[7]=0,t[8]=f,t[9]=u,t[10]=d,t[11]=0,t[12]=i,t[13]=o,t[14]=a,t[15]=1,t}function iY(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}function oY(t){return Math.hypot(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15])}function aY(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t[4]=e[4]+r[4],t[5]=e[5]+r[5],t[6]=e[6]+r[6],t[7]=e[7]+r[7],t[8]=e[8]+r[8],t[9]=e[9]+r[9],t[10]=e[10]+r[10],t[11]=e[11]+r[11],t[12]=e[12]+r[12],t[13]=e[13]+r[13],t[14]=e[14]+r[14],t[15]=e[15]+r[15],t}function KR(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t[4]=e[4]-r[4],t[5]=e[5]-r[5],t[6]=e[6]-r[6],t[7]=e[7]-r[7],t[8]=e[8]-r[8],t[9]=e[9]-r[9],t[10]=e[10]-r[10],t[11]=e[11]-r[11],t[12]=e[12]-r[12],t[13]=e[13]-r[13],t[14]=e[14]-r[14],t[15]=e[15]-r[15],t}function qR(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12]*r,t[13]=e[13]*r,t[14]=e[14]*r,t[15]=e[15]*r,t}function sY(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t[4]=e[4]+r[4]*n,t[5]=e[5]+r[5]*n,t[6]=e[6]+r[6]*n,t[7]=e[7]+r[7]*n,t[8]=e[8]+r[8]*n,t[9]=e[9]+r[9]*n,t[10]=e[10]+r[10]*n,t[11]=e[11]+r[11]*n,t[12]=e[12]+r[12]*n,t[13]=e[13]+r[13]*n,t[14]=e[14]+r[14]*n,t[15]=e[15]+r[15]*n,t}function cY(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]&&t[9]===e[9]&&t[10]===e[10]&&t[11]===e[11]&&t[12]===e[12]&&t[13]===e[13]&&t[14]===e[14]&&t[15]===e[15]}function lY(t,e){var r=t[0],n=t[1],i=t[2],o=t[3],a=t[4],s=t[5],c=t[6],l=t[7],f=t[8],u=t[9],d=t[10],h=t[11],g=t[12],p=t[13],v=t[14],y=t[15],m=e[0],w=e[1],x=e[2],C=e[3],S=e[4],_=e[5],T=e[6],E=e[7],b=e[8],D=e[9],I=e[10],P=e[11],M=e[12],L=e[13],V=e[14],W=e[15];return Math.abs(r-m)<=hr*Math.max(1,Math.abs(r),Math.abs(m))&&Math.abs(n-w)<=hr*Math.max(1,Math.abs(n),Math.abs(w))&&Math.abs(i-x)<=hr*Math.max(1,Math.abs(i),Math.abs(x))&&Math.abs(o-C)<=hr*Math.max(1,Math.abs(o),Math.abs(C))&&Math.abs(a-S)<=hr*Math.max(1,Math.abs(a),Math.abs(S))&&Math.abs(s-_)<=hr*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(c-T)<=hr*Math.max(1,Math.abs(c),Math.abs(T))&&Math.abs(l-E)<=hr*Math.max(1,Math.abs(l),Math.abs(E))&&Math.abs(f-b)<=hr*Math.max(1,Math.abs(f),Math.abs(b))&&Math.abs(u-D)<=hr*Math.max(1,Math.abs(u),Math.abs(D))&&Math.abs(d-I)<=hr*Math.max(1,Math.abs(d),Math.abs(I))&&Math.abs(h-P)<=hr*Math.max(1,Math.abs(h),Math.abs(P))&&Math.abs(g-M)<=hr*Math.max(1,Math.abs(g),Math.abs(M))&&Math.abs(p-L)<=hr*Math.max(1,Math.abs(p),Math.abs(L))&&Math.abs(v-V)<=hr*Math.max(1,Math.abs(v),Math.abs(V))&&Math.abs(y-W)<=hr*Math.max(1,Math.abs(y),Math.abs(W))}var wy=Xn,uY=KR;const xy=Object.freeze(Object.defineProperty({__proto__:null,add:aY,adjoint:jX,clone:WX,copy:Wi,create:ss,determinant:$X,equals:lY,exactEquals:cY,frob:oY,fromQuat:yy,fromQuat2:XX,fromRotation:GT,fromRotationTranslation:WR,fromRotationTranslationScale:jR,fromRotationTranslationScaleOrigin:JX,fromScaling:BT,fromTranslation:l1,fromValues:kT,fromXRotation:HX,fromYRotation:KX,fromZRotation:qX,frustum:ZX,getRotation:H3,getScaling:zR,getTranslation:YX,identity:on,invert:ji,lookAt:zT,mul:wy,multiply:Xn,multiplyScalar:qR,multiplyScalarAndAdd:sY,ortho:WT,orthoNO:HR,orthoZO:nY,perspective:QX,perspectiveFromFieldOfView:tY,perspectiveNO:$R,perspectiveZO:eY,rotate:ma,rotateX:VT,rotateY:FT,rotateZ:UT,scale:Ml,set:zX,str:iY,sub:uY,subtract:KR,targetTo:rY,translate:li,transpose:ur},Symbol.toStringTag,{value:"Module"}));function Xe(){var t=new Ni(3);return Ni!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function XR(t){var e=new Ni(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function La(t){var e=t[0],r=t[1],n=t[2];return Math.hypot(e,r,n)}function Xt(t,e,r){var n=new Ni(3);return n[0]=t,n[1]=e,n[2]=r,n}function fY(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function xr(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}function To(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}function br(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}function dY(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}function hY(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}function gY(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}function pY(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}function mY(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}function Eo(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}function jn(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}function bo(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.hypot(r,n,i)}function YR(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}function Sl(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function JR(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function Tr(t,e){var r=e[0],n=e[1],i=e[2],o=r*r+n*n+i*i;return o>0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}function $t(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Qn(t,e,r){var n=e[0],i=e[1],o=e[2],a=r[0],s=r[1],c=r[2];return t[0]=i*c-o*s,t[1]=o*a-n*c,t[2]=n*s-i*a,t}function xn(t,e,r){var n=e[0],i=e[1],o=e[2],a=r[3]*n+r[7]*i+r[11]*o+r[15];return a=a||1,t[0]=(r[0]*n+r[4]*i+r[8]*o+r[12])/a,t[1]=(r[1]*n+r[5]*i+r[9]*o+r[13])/a,t[2]=(r[2]*n+r[6]*i+r[10]*o+r[14])/a,t}function v2(t,e,r){var n=e[0],i=e[1],o=e[2];return t[0]=n*r[0]+i*r[3]+o*r[6],t[1]=n*r[1]+i*r[4]+o*r[7],t[2]=n*r[2]+i*r[5]+o*r[8],t}function vY(t,e,r){var n=r[0],i=r[1],o=r[2],a=r[3],s=e[0],c=e[1],l=e[2],f=i*l-o*c,u=o*s-n*l,d=n*c-i*s,h=i*d-o*u,g=o*f-n*d,p=n*u-i*f,v=a*2;return f*=v,u*=v,d*=v,h*=2,g*=2,p*=2,t[0]=s+f+h,t[1]=c+u+g,t[2]=l+d+p,t}function jT(t,e){var r=t[0],n=t[1],i=t[2],o=e[0],a=e[1],s=e[2],c=Math.sqrt(r*r+n*n+i*i),l=Math.sqrt(o*o+a*a+s*s),f=c*l,u=f&&$t(t,e)/f;return Math.acos(Math.min(Math.max(u,-1),1))}function yY(t){return t[0]=0,t[1]=0,t[2]=0,t}function v9(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function K3(t,e){var r=t[0],n=t[1],i=t[2],o=e[0],a=e[1],s=e[2];return Math.abs(r-o)<=hr*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(n-a)<=hr*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(i-s)<=hr*Math.max(1,Math.abs(i),Math.abs(s))}var $n=br,wY=dY,q3=YR,Ah=La;(function(){var t=Xe();return function(e,r,n,i,o,a){var s,c;for(r||(r=3),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,s=n;s0&&(a=1/Math.sqrt(a)),t[0]=r*a,t[1]=n*a,t[2]=i*a,t[3]=o*a,t}function w9(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}function gf(t,e,r){var n=e[0],i=e[1],o=e[2],a=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*o+r[12]*a,t[1]=r[1]*n+r[5]*i+r[9]*o+r[13]*a,t[2]=r[2]*n+r[6]*i+r[10]*o+r[14]*a,t[3]=r[3]*n+r[7]*i+r[11]*o+r[15]*a,t}(function(){var t=ZR();return function(e,r,n,i,o,a){var s,c;for(r||(r=4),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,s=n;shr?(t[0]=e[0]/n,t[1]=e[1]/n,t[2]=e[2]/n):(t[0]=1,t[1]=0,t[2]=0),r}function x9(t,e,r){var n=e[0],i=e[1],o=e[2],a=e[3],s=r[0],c=r[1],l=r[2],f=r[3];return t[0]=n*f+a*s+i*l-o*c,t[1]=i*f+a*c+o*s-n*l,t[2]=o*f+a*l+n*c-i*s,t[3]=a*f-n*s-i*c-o*l,t}function w2(t,e,r,n){var i=e[0],o=e[1],a=e[2],s=e[3],c=r[0],l=r[1],f=r[2],u=r[3],d,h,g,p,v;return h=i*c+o*l+a*f+s*u,h<0&&(h=-h,c=-c,l=-l,f=-f,u=-u),1-h>hr?(d=Math.acos(h),g=Math.sin(d),p=Math.sin((1-n)*d)/g,v=Math.sin(n*d)/g):(p=1-n,v=n),t[0]=p*i+v*c,t[1]=p*o+v*l,t[2]=p*a+v*f,t[3]=p*s+v*u,t}function SY(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function _Y(t,e){var r=e[0]+e[4]+e[8],n;if(r>0)n=Math.sqrt(r+1),t[3]=.5*n,n=.5/n,t[0]=(e[5]-e[7])*n,t[1]=(e[6]-e[2])*n,t[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 o=(i+1)%3,a=(i+2)%3;n=Math.sqrt(e[i*3+i]-e[o*3+o]-e[a*3+a]+1),t[i]=.5*n,n=.5/n,t[3]=(e[o*3+a]-e[a*3+o])*n,t[o]=(e[o*3+i]+e[i*3+o])*n,t[a]=(e[a*3+i]+e[i*3+a])*n}return t}var C9=y2,QR=xY;(function(){var t=Xe(),e=Xt(1,0,0),r=Xt(0,1,0);return function(n,i,o){var a=$t(i,o);return a<-.999999?(Qn(t,e,i),Ah(t)<1e-6&&Qn(t,r,i),Tr(t,t),X5(n,t,Math.PI),n):a>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(Qn(t,i,o),n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=1+a,QR(n,n))}})();(function(){var t=kf(),e=kf();return function(r,n,i,o,a,s){return w2(t,n,a,s),w2(e,i,o,s),w2(r,t,e,2*s*(1-s)),r}})();(function(){var t=AT();return function(e,r,n,i){return t[0]=n[0],t[3]=n[1],t[6]=n[2],t[1]=i[0],t[4]=i[1],t[7]=i[2],t[2]=-r[0],t[5]=-r[1],t[8]=-r[2],QR(e,_Y(e,t))}})();function vn(){var t=new Ni(2);return Ni!=Float32Array&&(t[0]=0,t[1]=0),t}function av(t){var e=new Ni(2);return e[0]=t[0],e[1]=t[1],e}function S9(t,e){var r=new Ni(2);return r[0]=t,r[1]=e,r}function ec(t,e,r){return t[0]=e,t[1]=r,t}function $o(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t}function Ii(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t}function iu(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t}function TY(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t}function Hr(t,e){var r=e[0]-t[0],n=e[1]-t[1];return Math.hypot(r,n)}function Cy(t){var e=t[0],r=t[1];return Math.hypot(e,r)}function uu(t,e){var r=e[0],n=e[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i)),t[0]=e[0]*i,t[1]=e[1]*i,t}function $T(t,e){return t[0]*e[0]+t[1]*e[1]}function EY(t,e,r,n){var i=e[0]-r[0],o=e[1]-r[1],a=Math.sin(n),s=Math.cos(n);return t[0]=i*s-o*a+r[0],t[1]=i*a+o*s+r[1],t}function bY(t,e){var r=t[0],n=t[1],i=e[0],o=e[1],a=Math.sqrt(r*r+n*n)*Math.sqrt(i*i+o*o),s=a&&(r*i+n*o)/a;return Math.acos(Math.min(Math.max(s,-1),1))}var DY=Cy,ic=Ii,HT=Hr;(function(){var t=vn();return function(e,r,n,i,o,a){var s,c;for(r||(r=2),n||(n=0),i?c=Math.min(i*r+n,e.length):c=e.length,s=n;sn,t.setType=s=>{n=s},t.getHandle=()=>i,t.isReady=()=>o===!1,t.generateBuffer=s=>{const c=r(s);return i===null&&(i=e.context.createBuffer(),n=s),r(n)===c},t.upload=(s,c)=>t.generateBuffer(c)?(e.context.bindBuffer(r(n),i),e.context.bufferData(r(n),s,e.context.STATIC_DRAW),e.allocatedGPUMemoryInBytes=s.length*s.BYTES_PER_ELEMENT,o=!1,!0):(a="Trying to upload array buffer to incompatible buffer.",!1),t.bind=()=>i?(e.context.bindBuffer(r(n),i),!0):!1,t.release=()=>i?(e.context.bindBuffer(r(n),null),!0):!1,t.releaseGraphicsResources=()=>{i!==null&&(e.context.bindBuffer(r(n),null),e.context.deleteBuffer(i),i=null,e.allocatedGPUMemoryInBytes=0)},t.setOpenGLRenderWindow=s=>{e._openGLRenderWindow!==s&&(t.releaseGraphicsResources(),e._openGLRenderWindow=s,e.context=null,s&&(e.context=e._openGLRenderWindow.getContext()))},t.getError=()=>a}const MY={objectType:x2.ARRAY_BUFFER,context:null,allocatedGPUMemoryInBytes:0};function tL(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Object.assign(e,MY,r),ie.obj(t,e),ie.get(t,e,["_openGLRenderWindow","allocatedGPUMemoryInBytes"]),ie.moveToProtected(t,e,["openGLRenderWindow"]),OY(t,e)}const PY=ie.newInstance(tL);var fu={newInstance:PY,extend:tL,...IY,...eL};const nL={FLAT:0,GOURAUD:1,PHONG:2},oc={POINTS:0,WIREFRAME:1,SURFACE:2},RY=nL;var rL={Shading:nL,Representation:oc,Interpolation:RY};const{vtkErrorMacro:_9}=ie;function LY(t,e){const r=new Float64Array(3);JR(r,e);const n=new Float64Array(16);return jR(n,kf(),t,r),n}function AY(t,e){return t===null||e===null?!1:!(v9(t,[0,0,0])&&v9(e,[1,1,1]))}function NY(t,e){e.classHierarchy.push("vtkOpenGLCellArrayBufferObject"),t.setType(mu.ARRAY_BUFFER),t.createVBO=function(r,n,i,o){let a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:null;if(!r.getData()||!r.getData().length)return e.elementCount=0,0;e.blockSize=3,e.vertexOffset=0,e.normalOffset=0,e.tCoordOffset=0,e.tCoordComponents=0,e.colorComponents=0,e.colorOffset=0,e.customData=[];const s=o.points.getData();let c=null,l=null,f=null;const u=o.colors?o.colors.getNumberOfComponents():0,d=o.tcoords?o.tcoords.getNumberOfComponents():0;o.normals&&(e.normalOffset=4*e.blockSize,e.blockSize+=3,c=o.normals.getData()),o.customAttributes&&o.customAttributes.forEach(k=>{k&&(e.customData.push({data:k.getData(),offset:4*e.blockSize,components:k.getNumberOfComponents(),name:k.getName()}),e.blockSize+=k.getNumberOfComponents())}),o.tcoords&&(e.tCoordOffset=4*e.blockSize,e.tCoordComponents=d,e.blockSize+=d,l=o.tcoords.getData()),o.colors?(e.colorComponents=o.colors.getNumberOfComponents(),e.colorOffset=0,f=o.colors.getData(),e.colorBO||(e.colorBO=fu.newInstance()),e.colorBO.setOpenGLRenderWindow(e._openGLRenderWindow)):e.colorBO=null,e.stride=4*e.blockSize;let h=0,g=0,p=0,v=0,y=0,m=0,w;const x={anythingToPoints(k,F,K,Z){for(let se=0;se2)for(let se=0;se2){for(let se=0;se