MCPcopy Index your code
hub / github.com/plotly/plotly.py / tVt

Function tVt

plotly/package_data/plotly.min.js:2708–2708  ·  view source on GitHub ↗
(e)

Source from the content-addressed store, hash-verified

2706
2707 gl_FragColor = color;
2708 }`}),n={};return{regl:t,draw:r,atlas:n}};xc.prototype.update=function(t){var r=this;if(typeof t=="string")t={text:t};else if(!t)return;t=UUt(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0),t.opacity!=null&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(Ce){return parseFloat(Ce)}):this.opacity=parseFloat(t.opacity)),t.viewport!=null&&(this.viewport=WUt(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),t.kerning!=null&&(this.kerning=t.kerning),t.offset!=null&&(typeof t.offset=="number"&&(t.offset=[t.offset,0]),this.positionOffset=QUt(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!t.font&&(t.font=xc.baseFontSize+"px sans-serif");var n=!1,i=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(Ce,ge){if(typeof Ce=="string")try{Ce=x5.parse(Ce)}catch(He){Ce=x5.parse(xc.baseFontSize+"px "+Ce)}else{var re=Ce.style,Se=Ce.weight,ke=Ce.stretch,be=Ce.variant;Ce=x5.parse(x5.stringify(Ce)),re&&(Ce.style=re),Se&&(Ce.weight=Se),ke&&(Ce.stretch=ke),be&&(Ce.variant=be)}var Be=x5.stringify({size:xc.baseFontSize,family:Ce.family,stretch:Pz?Ce.stretch:void 0,variant:Ce.variant,weight:Ce.weight,style:Ce.style}),Le=ZUt(Ce.size),me=Math.round(Le[0]*YUt(Le[1]));if(me!==r.fontSize[ge]&&(i=!0,r.fontSize[ge]=me),(!r.font[ge]||Be!=r.font[ge].baseString)&&(n=!0,r.font[ge]=xc.fonts[Be],!r.font[ge])){var Pe=Ce.family.join(", "),ce=[Ce.style];Ce.style!=Ce.variant&&ce.push(Ce.variant),Ce.variant!=Ce.weight&&ce.push(Ce.weight),Pz&&Ce.weight!=Ce.stretch&&ce.push(Ce.stretch),r.font[ge]={baseString:Be,family:Pe,weight:Ce.weight,stretch:Ce.stretch,style:Ce.style,variant:Ce.variant,width:{},kerning:{},metrics:$Ut(Pe,{origin:"top",fontSize:xc.baseFontSize,fontStyle:ce.join(" ")})},xc.fonts[Be]=r.font[ge]}}),(n||i)&&this.font.forEach(function(Ce,ge){var re=x5.stringify({size:r.fontSize[ge],family:Ce.family,stretch:Pz?Ce.stretch:void 0,variant:Ce.variant,weight:Ce.weight,style:Ce.style});if(r.fontAtlas[ge]=r.shader.atlas[re],!r.fontAtlas[ge]){var Se=Ce.metrics;r.shader.atlas[re]=r.fontAtlas[ge]={fontString:re,step:Math.ceil(r.fontSize[ge]*Se.bottom*.5)*2,em:r.fontSize[ge],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:r.regl.texture()}}t.text==null&&(t.text=r.text)}),typeof t.text=="string"&&t.position&&t.position.length>2){for(var a=Array(t.position.length*.5),o=0;o<a.length;o++)a[o]=t.text;t.text=a}var s;if(t.text!=null||n){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var l=1;l<t.text.length;l++)this.textOffsets[l]=this.textOffsets[l-1]+t.text[l-1].length,this.count+=t.text[l].length,this.counts.push(t.text[l].length);this.text=t.text.join("")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];s=[],this.font.forEach(function(Ce,ge){xc.atlasContext.font=Ce.baseString;for(var re=r.fontAtlas[ge],Se=0;Se<r.text.length;Se++){var ke=r.text.charAt(Se);if(re.ids[ke]==null&&(re.ids[ke]=re.chars.length,re.chars.push(ke),s.push(ke)),Ce.width[ke]==null&&(Ce.width[ke]=xc.atlasContext.measureText(ke).width/xc.baseFontSize,r.kerning)){var be=[];for(var Be in Ce.width)be.push(Be+ke,ke+Be);JUt(Ce.kerning,KUt(Ce.family,{pairs:be}))}}})}if(t.position)if(t.position.length>2){for(var u=!t.position[0].length,c=Tx.mallocFloat(this.count*2),f=0,h=0;f<this.counts.length;f++){var d=this.counts[f];if(u)for(var v=0;v<d;v++)c[h++]=t.position[f*2],c[h++]=t.position[f*2+1];else for(var m=0;m<d;m++)c[h++]=t.position[f][0],c[h++]=t.position[f][1]}this.position.call?this.position({type:"float",data:c}):this.position=this.regl.buffer({type:"float",data:c}),Tx.freeFloat(c)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||n){var b=Tx.mallocUint8(this.count),p=Tx.mallocFloat(this.count*2);this.textWidth=[];for(var k=0,M=0;k<this.counts.length;k++){for(var T=this.counts[k],L=this.font[k]||this.font[0],x=this.fontAtlas[k]||this.fontAtlas[0],C=0;C<T;C++){var S=this.text.charAt(M),g=this.text.charAt(M-1);if(b[M]=x.ids[S],p[M*2]=L.width[S],C){var P=p[M*2-2],E=p[M*2],z=p[M*2-1],q=z+P*.5+E*.5;if(this.kerning){var V=L.kerning[g+S];V&&(q+=V*.001)}p[M*2+1]=q}else p[M*2+1]=p[M*2]*.5;M++}this.textWidth.push(p.length?p[M*2-2]*.5+p[M*2-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:b,type:"uint8",usage:"stream"}),this.sizeBuffer({data:p,type:"float",usage:"stream"}),Tx.freeUint8(b),Tx.freeFloat(p),s.length&&this.font.forEach(function(Ce,ge){var re=r.fontAtlas[ge],Se=re.step,ke=Math.floor(xc.maxAtlasSize/Se),be=Math.min(ke,re.chars.length),Be=Math.ceil(re.chars.length/be),Le=FBe(be*Se),me=FBe(Be*Se);re.width=Le,re.height=me,re.rows=Be,re.cols=be,re.em&&re.texture({data:jUt({canvas:xc.atlasCanvas,font:re.fontString,chars:re.chars,shape:[Le,me],step:[Se,Se]})})})}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map(function(Ce,ge){var re=Array.isArray(r.align)?r.align.length>1?r.align[ge]:r.align[0]:r.align;if(typeof re=="number")return re;switch(re){case"right":case"end":return-Ce;case"center":case"centre":case"middle":return-Ce*.5}return 0})),this.baseline==null&&t.baseline==null&&(t.baseline=0),t.baseline!=null&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(Ce,ge){var re=(r.font[ge]||r.font[0]).metrics,Se=0;return Se+=re.bottom*.5,typeof Ce=="number"?Se+=Ce-re.baseline:Se+=-re[Ce],Se*=-1,Se})),t.color!=null)if(t.color||(t.color="transparent"),typeof t.color=="string"||!isNaN(t.color))this.color=gK(t.color,"uint8");else{var G;if(typeof t.color[0]=="number"&&t.color.length>this.counts.length){var Z=t.color.length;G=Tx.mallocUint8(Z);for(var j=(t.color.subarray||t.color.slice).bind(t.color),N=0;N<Z;N+=4)G.set(gK(j(N,N+4),"uint8"),N)}else{var H=t.color.length;G=Tx.mallocUint8(H*4);for(var ie=0;ie<H;ie++)G.set(gK(t.color[ie]||0,"uint8"),ie*4)}this.color=G}if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity){var ae=this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(ae){var _e=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(_e);for(var Ee=0;Ee<this.batch.length;Ee++)this.batch[Ee]={count:this.counts.length>1?this.counts[Ee]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[Ee]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(Ee*4,Ee*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[Ee]:this.opacity,baseline:this.baselineOffset[Ee]!=null?this.baselineOffset[Ee]:this.baselineOffset[0],align:this.align?this.alignOffset[Ee]!=null?this.alignOffset[Ee]:this.alignOffset[0]:0,atlas:this.fontAtlas[Ee]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(Ee*2,Ee*2+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]}};xc.prototype.destroy=function(){};xc.prototype.kerning=!0;xc.prototype.position={constant:new Float32Array(2)};xc.prototype.translate=null;xc.prototype.scale=null;xc.prototype.font=null;xc.prototype.text="";xc.prototype.positionOffset=[0,0];xc.prototype.opacity=1;xc.prototype.color=new Uint8Array([0,0,0,255]);xc.prototype.alignOffset=[0,0];xc.maxAtlasSize=1024;xc.atlasCanvas=document.createElement("canvas");xc.atlasContext=xc.atlasCanvas.getContext("2d",{alpha:!1});xc.baseFontSize=64;xc.fonts={};function tVt(e){return typeof e=="function"&&e._gl&&e.prop&&e.texture&&e.buffer}qBe.exports=xc});var BBe=ye((mK,yK)=>{(function(e,t){typeof mK=="object"&&typeof yK!="undefined"?yK.exports=t():e.createREGL=t()})(mK,function(){"use strict";var e=function(Me,bt){for(var Ot=Object.keys(bt),Lr=0;Lr<Ot.length;++Lr)Me[Ot[Lr]]=bt[Ot[Lr]];return Me},t=0,r=0,n=5,i=6;function a(Me,bt){this.id=t++,this.type=Me,this.data=bt}function o(Me){return Me.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}function s(Me){if(Me.length===0)return[];var bt=Me.charAt(0),Ot=Me.charAt(Me.length-1);if(Me.length>1&&bt===Ot&&(bt==='"'||bt==="'"))return['"'+o(Me.substr(1,Me.length-2))+'"'];var Lr=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(Me);if(Lr)return s(Me.substr(0,Lr.index)).concat(s(Lr[1])).concat(s(Me.substr(Lr.index+Lr[0].length)));var Vr=Me.split(".");if(Vr.length===1)return['"'+o(Me)+'"'];for(var Or=[],Nr=0;Nr<Vr.length;++Nr)Or=Or.concat(s(Vr[Nr]));return Or}function l(Me){return"["+s(Me).join("][")+"]"}function u(Me,bt){return new a(Me,l(bt+""))}function c(Me){return typeof Me=="function"&&!Me._reglType||Me instanceof a}function f(Me,bt){if(typeof Me=="function")return new a(r,Me);if(typeof Me=="number"||typeof Me=="boolean")return new a(n,Me);if(Array.isArray(Me))return new a(i,Me.map(function(Ot,Lr){return f(Ot,bt+"["+Lr+"]")}));if(Me instanceof a)return Me}var h={DynamicVariable:a,define:u,isDynamic:c,unbox:f,accessor:l},d={next:typeof requestAnimationFrame=="function"?function(Me){return requestAnimationFrame(Me)}:function(Me){return setTimeout(Me,16)},cancel:typeof cancelAnimationFrame=="function"?function(Me){return cancelAnimationFrame(Me)}:clearTimeout},v=typeof performance!="undefined"&&performance.now?function(){return performance.now()}:function(){return+new Date};function m(){var Me={"":0},bt=[""];return{id:function(Ot){var Lr=Me[Ot];return Lr||(Lr=Me[Ot]=bt.length,bt.push(Ot),Lr)},str:function(Ot){return bt[Ot]}}}function b(Me,bt,Ot){var Lr=document.createElement("canvas");e(Lr.style,{border:0,margin:0,padding:0,top:0,left:0,width:"100%",height:"100%"}),Me.appendChild(Lr),Me===document.body&&(Lr.style.position="absolute",e(Me.style,{margin:0,padding:0}));function Vr(){var vi=window.innerWidth,Ni=window.innerHeight;if(Me!==document.body){var qi=Lr.getBoundingClientRect();vi=qi.right-qi.left,Ni=qi.bottom-qi.top}Lr.width=Ot*vi,Lr.height=Ot*Ni}var Or;Me!==document.body&&typeof ResizeObserver=="function"?(Or=new ResizeObserver(function(){setTimeout(Vr)}),Or.observe(Me)):window.addEventListener("resize",Vr,!1);function Nr(){Or?Or.disconnect():window.removeEventListener("resize",Vr),Me.removeChild(Lr)}return Vr(),{canvas:Lr,onDestroy:Nr}}function p(Me,bt){function Ot(Lr){try{return Me.getContext(Lr,bt)}catch(Vr){return null}}return Ot("webgl")||Ot("experimental-webgl")||Ot("webgl-experimental")}function k(Me){return typeof Me.nodeName=="string"&&typeof Me.appendChild=="function"&&typeof Me.getBoundingClientRect=="function"}function M(Me){return typeof Me.drawArrays=="function"||typeof Me.drawElements=="function"}function T(Me){return typeof Me=="string"?Me.split():Me}function L(Me){return typeof Me=="string"?document.querySelector(Me):Me}function x(Me){var bt=Me||{},Ot,Lr,Vr,Or,Nr={},vi=[],Ni=[],qi=typeof window=="undefined"?1:window.devicePixelRatio,Si=!1,Vn={},Qi=function(Tr){},ji=function(){};if(typeof bt=="string"?Ot=document.querySelector(bt):typeof bt=="object"&&(k(bt)?Ot=bt:M(bt)?(Or=bt,Vr=Or.canvas):("gl"in bt?Or=bt.gl:"canvas"in bt?Vr=L(bt.canvas):"container"in bt&&(Lr=L(bt.container)),"attributes"in bt&&(Nr=bt.attributes),"extensions"in bt&&(vi=T(bt.extensions)),"optionalExtensions"in bt&&(Ni=T(bt.optionalExtensions)),"onDone"in bt&&(Qi=bt.onDone),"profile"in bt&&(Si=!!bt.profile),"pixelRatio"in bt&&(qi=+bt.pixelRatio),"cachedCode"in bt&&(Vn=bt.cachedCode))),Ot&&(Ot.nodeName.toLowerCase()==="canvas"?Vr=Ot:Lr=Ot),!Or){if(!Vr){var oi=b(Lr||document.body,Qi,qi);if(!oi)return null;Vr=oi.canvas,ji=oi.onDestroy}Nr.premultipliedAlpha===void 0&&(Nr.premultipliedAlpha=!0),Or=p(Vr,Nr)}return Or?{gl:Or,canvas:Vr,container:Lr,extensions:vi,optionalExtensions:Ni,pixelRatio:qi,profile:Si,cachedCode:Vn,onDone:Qi,onDestroy:ji}:(ji(),Qi("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function C(Me,bt){var Ot={};function Lr(Nr){var vi=Nr.toLowerCase(),Ni;try{Ni=Ot[vi]=Me.getExtension(vi)}catch(qi){}return!!Ni}for(var Vr=0;Vr<bt.extensions.length;++Vr){var Or=bt.extensions[Vr];if(!Lr(Or))return bt.onDestroy(),bt.onDone('"'+Or+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return bt.optionalExtensions.forEach(Lr),{extensions:Ot,restore:function(){Object.keys(Ot).forEach(function(Nr){if(Ot[Nr]&&!Lr(Nr))throw new Error("(regl): error restoring extension "+Nr)})}}}function S(Me,bt){for(var Ot=Array(Me),Lr=0;Lr<Me;++Lr)Ot[Lr]=bt(Lr);return Ot}var g=5120,P=5121,E=5122,z=5123,q=5124,V=5125,G=5126;function Z(Me){for(var bt=16;bt<=1<<28;bt*=16)if(Me<=bt)return bt;return 0}function j(Me){var bt,Ot;return bt=(Me>65535)<<4,Me>>>=bt,Ot=(Me>255)<<3,Me>>>=Ot,bt|=Ot,Ot=(Me>15)<<2,Me>>>=Ot,bt|=Ot,Ot=(Me>3)<<1,Me>>>=Ot,bt|=Ot,bt|Me>>1}function N(){var Me=S(8,function(){return[]});function bt(Or){var Nr=Z(Or),vi=Me[j(Nr)>>2];return vi.length>0?vi.pop():new ArrayBuffer(Nr)}function Ot(Or){Me[j(Or.byteLength)>>2].push(Or)}function Lr(Or,Nr){var vi=null;switch(Or){case g:vi=new Int8Array(bt(Nr),0,Nr);break;case P:vi=new Uint8Array(bt(Nr),0,Nr);break;case E:vi=new Int16Array(bt(2*Nr),0,Nr);break;case z:vi=new Uint16Array(bt(2*Nr),0,Nr);break;case q:vi=new Int32Array(bt(4*Nr),0,Nr);break;case V:vi=new Uint32Array(bt(4*Nr),0,Nr);break;case G:vi=new Float32Array(bt(4*Nr),0,Nr);break;default:return null}return vi.length!==Nr?vi.subarray(0,Nr):vi}function Vr(Or){Ot(Or.buffer)}return{alloc:bt,free:Ot,allocType:Lr,freeType:Vr}}var H=N();H.zero=N();var ie=3408,ae=3410,_e=3411,Ee=3412,Ce=3413,ge=3414,re=3415,Se=33901,ke=33902,be=3379,Be=3386,Le=34921,me=36347,Pe=36348,ce=35661,He=35660,lt=34930,mt=36349,Ht=34076,at=34024,ct=7936,ar=7937,Vt=7938,rr=35724,tt=34047,je=36063,Ue=34852,Ae=3553,rt=34067,St=34069,Tt=33984,dt=6408,Et=5126,pt=5121,jt=36160,or=36053,mr=36064,Ar=16384,ei=function(Me,bt){var Ot=1;bt.ext_texture_filter_anisotropic&&(Ot=Me.getParameter(tt));var Lr=1,Vr=1;bt.webgl_draw_buffers&&(Lr=Me.getParameter(Ue),Vr=Me.getParameter(je));var Or=!!bt.oes_texture_float;if(Or){var Nr=Me.createTexture();Me.bindTexture(Ae,Nr),Me.texImage2D(Ae,0,dt,1,1,0,dt,Et,null);var vi=Me.createFramebuffer();if(Me.bindFramebuffer(jt,vi),Me.framebufferTexture2D(jt,mr,Ae,Nr,0),Me.bindTexture(Ae,null),Me.checkFramebufferStatus(jt)!==or)Or=!1;else{Me.viewport(0,0,1,1),Me.clearColor(1,0,0,1),Me.clear(Ar);var Ni=H.allocType(Et,4);Me.readPixels(0,0,1,1,dt,Et,Ni),Me.getError()?Or=!1:(Me.deleteFramebuffer(vi),Me.deleteTexture(Nr),Or=Ni[0]===1),H.freeType(Ni)}}var qi=typeof navigator!="undefined"&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),Si=!0;if(!qi){var Vn=Me.createTexture(),Qi=H.allocType(pt,36);Me.activeTexture(Tt),Me.bindTexture(rt,Vn),Me.texImage2D(St,0,dt,3,3,0,dt,pt,Qi),H.freeType(Qi),Me.bindTexture(rt,null),Me.deleteTexture(Vn),Si=!Me.getError()}return{colorBits:[Me.getParameter(ae),Me.getParameter(_e),Me.getParameter(Ee),Me.getParameter(Ce)],depthBits:Me.getParameter(ge),stencilBits:Me.getParameter(re),subpixelBits:Me.getParameter(ie),extensions:Object.keys(bt).filter(function(ji){return!!bt[ji]}),maxAnisotropic:Ot,maxDrawbuffers:Lr,maxColorAttachments:Vr,pointSizeDims:Me.getParameter(Se),lineWidthDims:Me.getParameter(ke),maxViewportDims:Me.getParameter(Be),maxCombinedTextureUnits:Me.getParameter(ce),maxCubeMapSize:Me.getParameter(Ht),maxRenderbufferSize:Me.getParameter(at),maxTextureUnits:Me.getParameter(lt),maxTextureSize:Me.getParameter(be),maxAttributes:Me.getParameter(Le),maxVertexUniforms:Me.getParameter(me),maxVertexTextureUnits:Me.getParameter(He),maxVaryingVectors:Me.getParameter(Pe),maxFragmentUniforms:Me.getParameter(mt),glsl:Me.getParameter(rr),renderer:Me.getParameter(ar),vendor:Me.getParameter(ct),version:Me.getParameter(Vt),readFloat:Or,npotTextureCube:Si}},qr=function(Me){return Me instanceof Uint8Array||Me instanceof Uint16Array||Me instanceof Uint32Array||Me instanceof Int8Array||Me instanceof Int16Array||Me instanceof Int32Array||Me instanceof Float32Array||Me instanceof Float64Array||Me instanceof Uint8ClampedArray};function jr(Me){return!!Me&&typeof Me=="object"&&Array.isArray(Me.shape)&&Array.isArray(Me.stride)&&typeof Me.offset=="number"&&Me.shape.length===Me.stride.length&&(Array.isArray(Me.data)||qr(Me.data))}var gt=function(Me){return Object.keys(Me).map(function(bt){return Me[bt]})},Ge={shape:Kt,flatten:At};function Je(Me,bt,Ot){for(var Lr=0;Lr<bt;++Lr)Ot[Lr]=Me[Lr]}function We(Me,bt,Ot,Lr){for(var Vr=0,Or=0;Or<bt;++Or)for(var Nr=Me[Or],vi=0;vi<Ot;++vi)Lr[Vr++]=Nr[vi]}function et(Me,bt,Ot,Lr,Vr,Or){for(var Nr=Or,vi=0;vi<bt;++vi)for(var Ni=Me[vi],qi=0;qi<Ot;++qi)for(var Si=Ni[qi],Vn=0;Vn<Lr;++Vn)Vr[Nr++]=Si[Vn]}function xt(Me,bt,Ot,Lr,Vr){for(var Or=1,Nr=Ot+1;Nr<bt.length;++Nr)Or*=bt[Nr];var vi=bt[Ot];if(bt.length-Ot===4){var Ni=bt[Ot+1],qi=bt[Ot+2],Si=bt[Ot+3];for(Nr=0;Nr<vi;++Nr)et(Me[Nr],Ni,qi,Si,Lr,Vr),Vr+=Or}else for(Nr=0;Nr<vi;++Nr)xt(Me[Nr],bt,Ot+1,Lr,Vr),Vr+=Or}function At(Me,bt,Ot,Lr){var Vr=1;if(bt.length)for(var Or=0;Or<bt.length;++Or)Vr*=bt[Or];else Vr=0;var Nr=Lr||H.allocType(Ot,Vr);switch(bt.length){case 0:break;case 1:Je(Me,bt[0],Nr);break;case 2:We(Me,bt[0],bt[1],Nr);break;case 3:et(Me,bt[0],bt[1],bt[2],Nr,0);break;default:xt(Me,bt,0,Nr,0)}return Nr}function Kt(Me){for(var bt=[],Ot=Me;Ot.length;Ot=Ot[0])bt.push(Ot.length);return bt}var Qt={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121},Mr=5120,Gr=5122,Ir=5124,Yr=5121,_i=5123,Pi=5125,ai=5126,mi=5126,un={int8:Mr,int16:Gr,int32:Ir,uint8:Yr,uint16:_i,uint32:Pi,float:ai,float32:mi},Fn=35048,An=35040,Hn={dynamic:Fn,stream:An,static:35044},Qn=Ge.flatten,Vi=Ge.shape,Kn=35044,Jn=35040,Gt=5121,wt=5126,tr=[];tr[5120]=1,tr[5122]=2,tr[5124]=4,tr[5121]=1,tr[5123]=2,tr[5125]=4,tr[5126]=4;function ir(Me){return Qt[Object.prototype.toString.call(Me)]|0}function wr(Me,bt){for(var Ot=0;Ot<bt.length;++Ot)Me[Ot]=bt[Ot]}function Xr(Me,bt,Ot,Lr,Vr,Or,Nr){for(var vi=0,Ni=0;Ni<Ot;++Ni)for(var qi=0;qi<Lr;++qi)Me[vi++]=bt[Vr*Ni+Or*qi+Nr]}function ti(Me,bt,Ot,Lr){var Vr=0,Or={};function Nr(Tr){this.id=Vr++,this.buffer=Me.createBuffer(),this.type=Tr,this.usage=Kn,this.byteLength=0,this.dimension=1,this.dtype=Gt,this.persistentData=null,Ot.profile&&(this.stats={size:0})}Nr.prototype.bind=function(){Me.bindBuffer(this.type,this.buffer)},Nr.prototype.destroy=function(){Qi(this)};var vi=[];function Ni(Tr,Zr){var yi=vi.pop();return yi||(yi=new Nr(Tr)),yi.bind(),Vn(yi,Zr,Jn,0,1,!1),yi}function qi(Tr){vi.push(Tr)}function Si(Tr,Zr,yi){Tr.byteLength=Zr.byteLength,Me.bufferData(Tr.type,Zr,yi)}function Vn(Tr,Zr,yi,Ii,ui,nn){var Xi;if(Tr.usage=yi,Array.isArray(Zr)){if(Tr.dtype=Ii||wt,Zr.length>0){var qn;if(Array.isArray(Zr[0])){Xi=Vi(Zr);for(var fi=1,si=1;si<Xi.length;++si)fi*=Xi[si];Tr.dimension=fi,qn=Qn(Zr,Xi,Tr.dtype),Si(Tr,qn,yi),nn?Tr.persistentData=qn:H.freeType(qn)}else if(typeof Zr[0]=="number"){Tr.dimension=ui;var mn=H.allocType(Tr.dtype,Zr.length);wr(mn,Zr),Si(Tr,mn,yi),nn?Tr.persistentData=mn:H.freeType(mn)}else qr(Zr[0])&&(Tr.dimension=Zr[0].length,Tr.dtype=Ii||ir(Zr[0])||wt,qn=Qn(Zr,[Zr.length,Zr[0].length],Tr.dtype),Si(Tr,qn,yi),nn?Tr.persistentData=qn:H.freeType(qn))}}else if(qr(Zr))Tr.dtype=Ii||ir(Zr),Tr.dimension=ui,Si(Tr,Zr,yi),nn&&(Tr.persistentData=new Uint8Array(new Uint8Array(Zr.buffer)));else if(jr(Zr)){Xi=Zr.shape;var Ji=Zr.stride,Ui=Zr.offset,Bi=0,pn=0,Nn=0,aa=0;Xi.length===1?(Bi=Xi[0],pn=1,Nn=Ji[0],aa=0):Xi.length===2&&(Bi=Xi[0],pn=Xi[1],Nn=Ji[0],aa=Ji[1]),Tr.dtype=Ii||ir(Zr.data)||wt,Tr.dimension=pn;var Ki=H.allocType(Tr.dtype,Bi*pn);Xr(Ki,Zr.data,Bi,pn,Nn,aa,Ui),Si(Tr,Ki,yi),nn?Tr.persistentData=Ki:H.freeType(Ki)}else Zr instanceof ArrayBuffer&&(Tr.dtype=Gt,Tr.dimension=ui,Si(Tr,Zr,yi),nn&&(Tr.persistentData=new Uint8Array(new Uint8Array(Zr))))}function Qi(Tr){bt.bufferCount--,Lr(Tr);var Zr=Tr.buffer;Me.deleteBuffer(Zr),Tr.buffer=null,delete Or[Tr.id]}function ji(Tr,Zr,yi,Ii){bt.bufferCount++;var ui=new Nr(Zr);Or[ui.id]=ui;function nn(fi){var si=Kn,mn=null,Ji=0,Ui=0,Bi=1;return Array.isArray(fi)||qr(fi)||jr(fi)||fi instanceof ArrayBuffer?mn=fi:typeof fi=="number"?Ji=fi|0:fi&&("data"in fi&&(mn=fi.data),"usage"in fi&&(si=Hn[fi.usage]),"type"in fi&&(Ui=un[fi.type]),"dimension"in fi&&(Bi=fi.dimension|0),"length"in fi&&(Ji=fi.length|0)),ui.bind(),mn?Vn(ui,mn,si,Ui,Bi,Ii):(Ji&&Me.bufferData(ui.type,Ji,si),ui.dtype=Ui||Gt,ui.usage=si,ui.dimension=Bi,ui.byteLength=Ji),Ot.profile&&(ui.stats.size=ui.byteLength*tr[ui.dtype]),nn}function Xi(fi,si){Me.bufferSubData(ui.type,si,fi)}function qn(fi,si){var mn=(si||0)|0,Ji;if(ui.bind(),qr(fi)||fi instanceof ArrayBuffer)Xi(fi,mn);else if(Array.isArray(fi)){if(fi.length>0){if(typeof fi[0]=="number"){var Ui=H.allocType(ui.dtype,fi.length);wr(Ui,fi),Xi(Ui,mn),H.freeType(Ui)}else if(Array.isArray(fi[0])||qr(fi[0])){Ji=Vi(fi);var Bi=Qn(fi,Ji,ui.dtype);Xi(Bi,mn),H.freeType(Bi)}}}else if(jr(fi)){Ji=fi.shape;var pn=fi.stride,Nn=0,aa=0,Ki=0,Cn=0;Ji.length===1?(Nn=Ji[0],aa=1,Ki=pn[0],Cn=0):Ji.length===2&&(Nn=Ji[0],aa=Ji[1],Ki=pn[0],Cn=pn[1]);var ia=Array.isArray(fi.data)?ui.dtype:ir(fi.data),sa=H.allocType(ia,Nn*aa);Xr(sa,fi.data,Nn,aa,Ki,Cn,fi.offset),Xi(sa,mn),H.freeType(sa)}return nn}return yi||nn(Tr),nn._reglType="buffer",nn._buffer=ui,nn.subdata=qn,Ot.profile&&(nn.stats=ui.stats),nn.destroy=function(){Qi(ui)},nn}function oi(){gt(Or).forEach(function(Tr){Tr.buffer=Me.createBuffer(),Me.bindBuffer(Tr.type,Tr.buffer),Me.bufferData(Tr.type,Tr.persistentData||Tr.byteLength,Tr.usage)})}return Ot.profile&&(bt.getTotalBufferSize=function(){var Tr=0;return Object.keys(Or).forEach(function(Zr){Tr+=Or[Zr].stats.size}),Tr}),{create:ji,createStream:Ni,destroyStream:qi,clear:function(){gt(Or).forEach(Qi),vi.forEach(Qi)},getBuffer:function(Tr){return Tr&&Tr._buffer instanceof Nr?Tr._buffer:null},restore:oi,_initBuffer:Vn}}var $r=0,Ri=0,Zi=1,en=1,fn=4,yn=4,Mn={points:$r,point:Ri,lines:Zi,line:en,triangles:fn,triangle:yn,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},Ba=0,ua=1,ma=4,Wa=5120,Fa=5121,Xo=5122,da=5123,jn=5124,Ha=5125,vo=34963,Gn=35040,Ct=35044;function Sr(Me,bt,Ot,Lr){var Vr={},Or=0,Nr={uint8:Fa,uint16:da};bt.oes_element_index_uint&&(Nr.uint32=Ha);function vi(oi){this.id=Or++,Vr[this.id]=this,this.buffer=oi,this.primType=ma,this.vertCount=0,this.type=0}vi.prototype.bind=function(){this.buffer.bind()};var Ni=[];function qi(oi){var Tr=Ni.pop();return Tr||(Tr=new vi(Ot.create(null,vo,!0,!1)._buffer)),Vn(Tr,oi,Gn,-1,-1,0,0),Tr}function Si(oi){Ni.push(oi)}function Vn(oi,Tr,Zr,yi,Ii,ui,nn){oi.buffer.bind();var Xi;if(Tr){var qn=nn;!nn&&(!qr(Tr)||jr(Tr)&&!qr(Tr.data))&&(qn=bt.oes_element_index_uint?Ha:da),Ot._initBuffer(oi.buffer,Tr,Zr,qn,3)}else Me.bufferData(vo,ui,Zr),oi.buffer.dtype=Xi||Fa,oi.buffer.usage=Zr,oi.buffer.dimension=3,oi.buffer.byteLength=ui;if(Xi=nn,!nn){switch(oi.buffer.dtype){case Fa:case Wa:Xi=Fa;break;case da:case Xo:Xi=da;break;case Ha:case jn:Xi=Ha;break;default:}oi.buffer.dtype=Xi}oi.type=Xi;var fi=Ii;fi<0&&(fi=oi.buffer.byteLength,Xi===da?fi>>=1:Xi===Ha&&(fi>>=2)),oi.vertCount=fi;var si=yi;if(yi<0){si=ma;var mn=oi.buffer.dimension;mn===1&&(si=Ba),mn===2&&(si=ua),mn===3&&(si=ma)}oi.primType=si}function Qi(oi){Lr.elementsCount--,delete Vr[oi.id],oi.buffer.destroy(),oi.buffer=null}function ji(oi,Tr){var Zr=Ot.create(null,vo,!0),yi=new vi(Zr._buffer);Lr.elementsCount++;function Ii(ui){if(!ui)Zr(),yi.primType=ma,yi.vertCount=0,yi.type=Fa;else if(typeof ui=="number")Zr(ui),yi.primType=ma,yi.vertCount=ui|0,yi.type=Fa;else{var nn=null,Xi=Ct,qn=-1,fi=-1,si=0,mn=0;Array.isArray(ui)||qr(ui)||jr(ui)?nn=ui:("data"in ui&&(nn=ui.data),"usage"in ui&&(Xi=Hn[ui.usage]),"primitive"in ui&&(qn=Mn[ui.primitive]),"count"in ui&&(fi=ui.count|0),"type"in ui&&(mn=Nr[ui.type]),"length"in ui?si=ui.length|0:(si=fi,mn===da||mn===Xo?si*=2:(mn===Ha||mn===jn)&&(si*=4))),Vn(yi,nn,Xi,qn,fi,si,mn)}return Ii}return Ii(oi),Ii._reglType="elements",Ii._elements=yi,Ii.subdata=function(ui,nn){return Zr.subdata(ui,nn),Ii},Ii.destroy=function(){Qi(yi)},Ii}return{create:ji,createStream:qi,destroyStream:Si,getElements:function(oi){return typeof oi=="function"&&oi._elements instanceof vi?oi._elements:null},clear:function(){gt(Vr).forEach(Qi)}}}var Jr=new Float32Array(1),hi=new Uint32Array(Jr.buffer),hn=5123;function Sn(Me){for(var bt=H.allocType(hn,Me.length),Ot=0;Ot<Me.length;++Ot)if(isNaN(Me[Ot]))bt[Ot]=65535;else if(Me[Ot]===1/0)bt[Ot]=31744;else if(Me[Ot]===-1/0)bt[Ot]=64512;else{Jr[0]=Me[Ot];var Lr=hi[0],Vr=Lr>>>31<<15,Or=(Lr<<1>>>24)-127,Nr=Lr>>13&1023;if(Or<-24)bt[Ot]=Vr;else if(Or<-14){var vi=-14-Or;bt[Ot]=Vr+(Nr+1024>>vi)}else Or>15?bt[Ot]=Vr+31744:bt[Ot]=Vr+(Or+15<<10)+Nr}return bt}function En(Me){return Array.isArray(Me)||qr(Me)}var ki=34467,_n=3553,ya=34067,ea=34069,Ma=6408,_o=6406,No=6407,po=6409,Lo=6410,ko=32854,Ds=32855,Fs=36194,ll=32819,ul=32820,zl=33635,us=34042,il=6402,As=34041,cl=35904,Ks=35906,zs=36193,Io=33776,ls=33777,Yl=33778,Su=33779,nc=35986,bs=35987,Rn=34798,_a=35840,Vu=35841,ql=35842,xo=35843,Kl=36196,Ns=5121,Hl=5123,ac=5125,oa=5126,qo=10242,Oo=10243,Ol=10497,Pc=33071,Do=33648,nf=10240,Vf=10241,pl=9728,Zc=9729,Jl=9984,qs=9985,yu=9986,oc=9987,Cf=33170,sc=4352,jh=4353,Lf=4354,cs=34046,af=3317,Gf=37440,$l=37441,fl=37443,lc=37444,Fu=33984,Es=[Jl,yu,qs,oc],Hs=[0,po,Lo,No,Ma],Go={};Go[po]=Go[_o]=Go[il]=1,Go[As]=Go[Lo]=2,Go[No]=Go[cl]=3,Go[Ma]=Go[Ks]=4;function ps(Me){return"[object "+Me+"]"}var uc=ps("HTMLCanvasElement"),xl=ps("OffscreenCanvas"),Gu=ps("CanvasRenderingContext2D"),Os=ps("ImageBitmap"),od=ps("HTMLImageElement"),Po=ps("HTMLVideoElement"),sd=Object.keys(Qt).concat([uc,xl,Gu,Os,od,Po]),Ko=[];Ko[Ns]=1,Ko[oa]=4,Ko[zs]=2,Ko[Hl]=2,Ko[ac]=4;var Pa=[];Pa[ko]=2,Pa[Ds]=2,Pa[Fs]=2,Pa[As]=4,Pa[Io]=.5,Pa[ls]=.5,Pa[Yl]=1,Pa[Su]=1,Pa[nc]=.5,Pa[bs]=1,Pa[Rn]=1,Pa[_a]=.5,Pa[Vu]=.25,Pa[ql]=.5,Pa[xo]=.25,Pa[Kl]=.5;function of(Me){return Array.isArray(Me)&&(Me.length===0||typeof Me[0]=="number")}function Hu(Me){if(!Array.isArray(Me))return!1;var bt=Me.length;return!(bt===0||!En(Me[0]))}function bl(Me){return Object.prototype.toString.call(Me)}function Hf(Me){return bl(Me)===uc}function Ic(Me){return bl(Me)===xl}function yf(Me){return bl(Me)===Gu}function Bl(Me){return bl(Me)===Os}function Ah(Me){return bl(Me)===od}function Qf(Me){return bl(Me)===Po}function _f(Me){if(!Me)return!1;var bt=bl(Me);return sd.indexOf(bt)>=0?!0:of(Me)||Hu(Me)||jr(Me)}function Yc(Me){return Qt[Object.prototype.toString.call(Me)]|0}function eh(Me,bt){var Ot=bt.length;switch(Me.type){case Ns:case Hl:case ac:case oa:var Lr=H.allocType(Me.type,Ot);Lr.set(bt),Me.data=Lr;break;case zs:Me.data=Sn(bt);break;default:}}function th(Me,bt){return H.allocType(Me.type===zs?oa:Me.type,bt)}function ju(Me,bt){Me.type===zs?(Me.data=Sn(bt),H.freeType(bt)):Me.data=bt}function jf(Me,bt,Ot,Lr,Vr,Or){for(var Nr=Me.width,vi=Me.height,Ni=Me.channels,qi=Nr*vi*Ni,Si=th(Me,qi),Vn=0,Qi=0;Qi<vi;++Qi)for(var ji=0;ji<Nr;++ji)for(var oi=0;oi<Ni;++oi)Si[Vn++]=bt[Ot*ji+Lr*Qi+Vr*oi+Or];ju(Me,Si)}function cc(Me,bt,Ot,Lr,Vr,Or){var Nr;if(typeof Pa[Me]!="undefined"?Nr=Pa[Me]:Nr=Go[Me]*Ko[bt],Or&&(Nr*=6),Vr){for(var vi=0,Ni=Ot;Ni>=1;)vi+=Nr*Ni*Ni,Ni/=2;return vi}else return Nr*Ot*Lr}function sf(Me,bt,Ot,Lr,Vr,Or,Nr){var vi={"don't care":sc,"dont care":sc,nice:Lf,fast:jh},Ni={repeat:Ol,clamp:Pc,mirror:Do},qi={nearest:pl,linear:Zc},Si=e({mipmap:oc,"nearest mipmap nearest":Jl,"linear mipmap nearest":qs,"nearest mipmap linear":yu,"linear mipmap linear":oc},qi),Vn={none:0,browser:lc},Qi={uint8:Ns,rgba4:ll,rgb565:zl,"rgb5 a1":ul},ji={alpha:_o,luminance:po,"luminance alpha":Lo,rgb:No,rgba:Ma,rgba4:ko,"rgb5 a1":Ds,rgb565:Fs},oi={};bt.ext_srgb&&(ji.srgb=cl,ji.srgba=Ks),bt.oes_texture_float&&(Qi.float32=Qi.float=oa),bt.oes_texture_half_float&&(Qi.float16=Qi["half float"]=zs),bt.webgl_depth_texture&&(e(ji,{depth:il,"depth stencil":As}),e(Qi,{uint16:Hl,uint32:ac,"depth stencil":us})),bt.webgl_compressed_texture_s3tc&&e(oi,{"rgb s3tc dxt1":Io,"rgba s3tc dxt1":ls,"rgba s3tc dxt3":Yl,"rgba s3tc dxt5":Su}),bt.webgl_compressed_texture_atc&&e(oi,{"rgb atc":nc,"rgba atc explicit alpha":bs,"rgba atc interpolated alpha":Rn}),bt.webgl_compressed_texture_pvrtc&&e(oi,{"rgb pvrtc 4bppv1":_a,"rgb pvrtc 2bppv1":Vu,"rgba pvrtc 4bppv1":ql,"rgba pvrtc 2bppv1":xo}),bt.webgl_compressed_texture_etc1&&(oi["rgb etc1"]=Kl);var Tr=Array.prototype.slice.call(Me.getParameter(ki));Object.keys(oi).forEach(function(ne){var we=oi[ne];Tr.indexOf(we)>=0&&(ji[ne]=we)});var Zr=Object.keys(ji);Ot.textureFormats=Zr;var yi=[];Object.keys(ji).forEach(function(ne){var we=ji[ne];yi[we]=ne});var Ii=[];Object.keys(Qi).forEach(function(ne){var we=Qi[ne];Ii[we]=ne});var ui=[];Object.keys(qi).forEach(function(ne){var we=qi[ne];ui[we]=ne});var nn=[];Object.keys(Si).forEach(function(ne){var we=Si[ne];nn[we]=ne});var Xi=[];Object.keys(Ni).forEach(function(ne){var we=Ni[ne];Xi[we]=ne});var qn=Zr.reduce(function(ne,we){var Oe=ji[we];return Oe===po||Oe===_o||Oe===po||Oe===Lo||Oe===il||Oe===As||bt.ext_srgb&&(Oe===cl||Oe===Ks)?ne[Oe]=Oe:Oe===Ds||we.indexOf("rgba")>=0?ne[Oe]=Ma:ne[Oe]=No,ne},{});function fi(){this.internalformat=Ma,this.format=Ma,this.type=Ns,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=lc,this.width=0,this.height=0,this.channels=0}function si(ne,we){ne.internalformat=we.internalformat,ne.format=we.format,ne.type=we.type,ne.compressed=we.compressed,ne.premultiplyAlpha=we.premultiplyAlpha,ne.flipY=we.flipY,ne.unpackAlignment=we.unpackAlignment,ne.colorSpace=we.colorSpace,ne.width=we.width,ne.height=we.height,ne.channels=we.channels}function mn(ne,we){if(!(typeof we!="object"||!we)){if("premultiplyAlpha"in we&&(ne.premultiplyAlpha=we.premultiplyAlpha),"flipY"in we&&(ne.flipY=we.flipY),"alignment"in we&&(ne.unpackAlignment=we.alignment),"colorSpace"in we&&(ne.colorSpace=Vn[we.colorSpace]),"type"in we){var Oe=we.type;ne.type=Qi[Oe]}var ht=ne.width,Yt=ne.height,cr=ne.channels,Nt=!1;"shape"in we?(ht=we.shape[0],Yt=we.shape[1],we.shape.length===3&&(cr=we.shape[2],Nt=!0)):("radius"in we&&(ht=Yt=we.radius),"width"in we&&(ht=we.width),"height"in we&&(Yt=we.height),"channels"in we&&(cr=we.channels,Nt=!0)),ne.width=ht|0,ne.height=Yt|0,ne.channels=cr|0;var Ne=!1;if("format"in we){var $e=we.format,st=ne.internalformat=ji[$e];ne.format=qn[st],$e in Qi&&("type"in we||(ne.type=Qi[$e])),$e in oi&&(ne.compressed=!0),Ne=!0}!Nt&&Ne?ne.channels=Go[ne.format]:Nt&&!Ne&&ne.channels!==Hs[ne.format]&&(ne.format=ne.internalformat=Hs[ne.channels])}}function Ji(ne){Me.pixelStorei(Gf,ne.flipY),Me.pixelStorei($l,ne.premultiplyAlpha),Me.pixelStorei(fl,ne.colorSpace),Me.pixelStorei(af,ne.unpackAlignment)}function Ui(){fi.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Bi(ne,we){var Oe=null;if(_f(we)?Oe=we:we&&(mn(ne,we),"x"in we&&(ne.xOffset=we.x|0),"y"in we&&(ne.yOffset=we.y|0),_f(we.data)&&(Oe=we.data)),we.copy){var ht=Vr.viewportWidth,Yt=Vr.viewportHeight;ne.width=ne.width||ht-ne.xOffset,ne.height=ne.height||Yt-ne.yOffset,ne.needsCopy=!0}else if(!Oe)ne.width=ne.width||1,ne.height=ne.height||1,ne.channels=ne.channels||4;else if(qr(Oe))ne.channels=ne.channels||4,ne.data=Oe,!("type"in we)&&ne.type===Ns&&(ne.type=Yc(Oe));else if(of(Oe))ne.channels=ne.channels||4,eh(ne,Oe),ne.alignment=1,ne.needsFree=!0;else if(jr(Oe)){var cr=Oe.data;!Array.isArray(cr)&&ne.type===Ns&&(ne.type=Yc(cr));var Nt=Oe.shape,Ne=Oe.stride,$e,st,It,Bt,Ft,Ut;Nt.length===3?(It=Nt[2],Ut=Ne[2]):(It=1,Ut=1),$e=Nt[0],st=Nt[1],Bt=Ne[0],Ft=Ne[1],ne.alignment=1,ne.width=$e,ne.height=st,ne.channels=It,ne.format=ne.internalformat=Hs[It],ne.needsFree=!0,jf(ne,cr,Bt,Ft,Ut,Oe.offset)}else if(Hf(Oe)||Ic(Oe)||yf(Oe))Hf(Oe)||Ic(Oe)?ne.element=Oe:ne.element=Oe.canvas,ne.width=ne.element.width,ne.height=ne.element.height,ne.channels=4;else if(Bl(Oe))ne.element=Oe,ne.width=Oe.width,ne.height=Oe.height,ne.channels=4;else if(Ah(Oe))ne.element=Oe,ne.width=Oe.naturalWidth,ne.height=Oe.naturalHeight,ne.channels=4;else if(Qf(Oe))ne.element=Oe,ne.width=Oe.videoWidth,ne.height=Oe.videoHeight,ne.channels=4;else if(Hu(Oe)){var zt=ne.width||Oe[0].length,_t=ne.height||Oe.length,Dt=ne.channels;En(Oe[0][0])?Dt=Dt||Oe[0][0].length:Dt=Dt||1;for(var vt=Ge.shape(Oe),lr=1,_r=0;_r<vt.length;++_r)lr*=vt[_r];var Br=th(ne,lr);Ge.flatten(Oe,vt,"",Br),ju(ne,Br),ne.alignment=1,ne.width=zt,ne.height=_t,ne.channels=Dt,ne.format=ne.internalformat=Hs[Dt],ne.needsFree=!0}ne.type===oa||ne.type}function pn(ne,we,Oe){var ht=ne.element,Yt=ne.data,cr=ne.internalformat,Nt=ne.format,Ne=ne.type,$e=ne.width,st=ne.height;Ji(ne),ht?Me.texImage2D(we,Oe,Nt,Nt,Ne,ht):ne.compressed?Me.compressedTexImage2D(we,Oe,cr,$e,st,0,Yt):ne.needsCopy?(Lr(),Me.copyTexImage2D(we,Oe,Nt,ne.xOffset,ne.yOffset,$e,st,0)):Me.texImage2D(we,Oe,Nt,$e,st,0,Nt,Ne,Yt||null)}function Nn(ne,we,Oe,ht,Yt){var cr=ne.element,Nt=ne.data,Ne=ne.internalformat,$e=ne.format,st=ne.type,It=ne.width,Bt=ne.height;Ji(ne),cr?Me.texSubImage2D(we,Yt,Oe,ht,$e,st,cr):ne.compressed?Me.compressedTexSubImage2D(we,Yt,Oe,ht,Ne,It,Bt,Nt):ne.needsCopy?(Lr(),Me.copyTexSubImage2D(we,Yt,Oe,ht,ne.xOffset,ne.yOffset,It,Bt)):Me.texSubImage2D(we,Yt,Oe,ht,It,Bt,$e,st,Nt)}var aa=[];function Ki(){return aa.pop()||new Ui}function Cn(ne){ne.needsFree&&H.freeType(ne.data),Ui.call(ne),aa.push(ne)}function ia(){fi.call(this),this.genMipmaps=!1,this.mipmapHint=sc,this.mipmask=0,this.images=Array(16)}function sa(ne,we,Oe){var ht=ne.images[0]=Ki();ne.mipmask=1,ht.width=ne.width=we,ht.height=ne.height=Oe,ht.channels=ne.channels=4}function ba(ne,we){var Oe=null;if(_f(we))Oe=ne.images[0]=Ki(),si(Oe,ne),Bi(Oe,we),ne.mipmask=1;else if(mn(ne,we),Array.isArray(we.mipmap))for(var ht=we.mipmap,Yt=0;Yt<ht.length;++Yt)Oe=ne.images[Yt]=Ki(),si(Oe,ne),Oe.width>>=Yt,Oe.height>>=Yt,Bi(Oe,ht[Yt]),ne.mipmask|=1<<Yt;else Oe=ne.images[0]=Ki(),si(Oe,ne),Bi(Oe,we),ne.mipmask=1;si(ne,ne.images[0]),ne.compressed&&(ne.internalformat===Io||ne.internalformat===ls||ne.internalformat===Yl||ne.internalformat)}function is(ne,we){for(var Oe=ne.images,ht=0;ht<Oe.length;++ht){if(!Oe[ht])return;pn(Oe[ht],we,ht)}}var Zs=[];function Ga(){var ne=Zs.pop()||new ia;fi.call(ne),ne.mipmask=0;for(var we=0;we<16;++we)ne.images[we]=null;return ne}function Ml(ne){for(var we=ne.images,Oe=0;Oe<we.length;++Oe)we[Oe]&&Cn(we[Oe]),we[Oe]=null;Zs.push(ne)}function zo(){this.minFilter=pl,this.magFilter=pl,this.wrapS=Pc,this.wrapT=Pc,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=sc}function Qs(ne,we){if("min"in we){var Oe=we.min;ne.minFilter=Si[Oe],Es.indexOf(ne.minFilter)>=0&&!("faces"in we)&&(ne.genMipmaps=!0)}if("mag"in we){var ht=we.mag;ne.magFilter=qi[ht]}var Yt=ne.wrapS,cr=ne.wrapT;if("wrap"in we){var Nt=we.wrap;typeof Nt=="string"?Yt=cr=Ni[Nt]:Array.isArray(Nt)&&(Yt=Ni[Nt[0]],cr=Ni[Nt[1]])}else{if("wrapS"in we){var Ne=we.wrapS;Yt=Ni[Ne]}if("wrapT"in we){var $e=we.wrapT;cr=Ni[$e]}}if(ne.wrapS=Yt,ne.wrapT=cr,"anisotropic"in we){var st=we.anisotropic;ne.anisotropic=we.anisotropic}if("mipmap"in we){var It=!1;switch(typeof we.mipmap){case"string":ne.mipmapHint=vi[we.mipmap],ne.genMipmaps=!0,It=!0;break;case"boolean":It=ne.genMipmaps=we.mipmap;break;case"object":ne.genMipmaps=!1,It=!0;break;default:}It&&!("min"in we)&&(ne.minFilter=Jl)}}function al(ne,we){Me.texParameteri(we,Vf,ne.minFilter),Me.texParameteri(we,nf,ne.magFilter),Me.texParameteri(we,qo,ne.wrapS),Me.texParameteri(we,Oo,ne.wrapT),bt.ext_texture_filter_anisotropic&&Me.texParameteri(we,cs,ne.anisotropic),ne.genMipmaps&&(Me.hint(Cf,ne.mipmapHint),Me.generateMipmap(we))}var Vl=0,ss={},Vs=Ot.maxTextureUnits,Ys=Array(Vs).map(function(){return null});function wa(ne){fi.call(this),this.mipmask=0,this.internalformat=Ma,this.id=Vl++,this.refCount=1,this.target=ne,this.texture=Me.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new zo,Nr.profile&&(this.stats={size:0})}function ol(ne){Me.activeTexture(Fu),Me.bindTexture(ne.target,ne.texture)}function io(){var ne=Ys[0];ne?Me.bindTexture(ne.target,ne.texture):Me.bindTexture(_n,null)}function Y(ne){var we=ne.texture,Oe=ne.unit,ht=ne.target;Oe>=0&&(Me.activeTexture(Fu+Oe),Me.bindTexture(ht,null),Ys[Oe]=null),Me.deleteTexture(we),ne.texture=null,ne.params=null,ne.pixels=null,ne.refCount=0,delete ss[ne.id],Or.textureCount--}e(wa.prototype,{bind:function(){var ne=this;ne.bindCount+=1;var we=ne.unit;if(we<0){for(var Oe=0;Oe<Vs;++Oe){var ht=Ys[Oe];if(ht){if(ht.bindCount>0)continue;ht.unit=-1}Ys[Oe]=ne,we=Oe;break}we>=Vs,Nr.profile&&Or.maxTextureUnits<we+1&&(Or.maxTextureUnits=we+1),ne.unit=we,Me.activeTexture(Fu+we),Me.bindTexture(ne.target,ne.texture)}return we},unbind:function(){this.bindCount-=1},decRef:function(){--this.refCount<=0&&Y(this)}});function D(ne,we){var Oe=new wa(_n);ss[Oe.id]=Oe,Or.textureCount++;function ht(Nt,Ne){var $e=Oe.texInfo;zo.call($e);var st=Ga();return typeof Nt=="number"?typeof Ne=="number"?sa(st,Nt|0,Ne|0):sa(st,Nt|0,Nt|0):Nt?(Qs($e,Nt),ba(st,Nt)):sa(st,1,1),$e.genMipmaps&&(st.mipmask=(st.width<<1)-1),Oe.mipmask=st.mipmask,si(Oe,st),Oe.internalformat=st.internalformat,ht.width=st.width,ht.height=st.height,ol(Oe),is(st,_n),al($e,_n),io(),Ml(st),Nr.profile&&(Oe.stats.size=cc(Oe.internalformat,Oe.type,st.width,st.height,$e.genMipmaps,!1)),ht.format=yi[Oe.internalformat],ht.type=Ii[Oe.type],ht.mag=ui[$e.magFilter],ht.min=nn[$e.minFilter],ht.wrapS=Xi[$e.wrapS],ht.wrapT=Xi[$e.wrapT],ht}function Yt(Nt,Ne,$e,st){var It=Ne|0,Bt=$e|0,Ft=st|0,Ut=Ki();return si(Ut,Oe),Ut.width=0,Ut.height=0,Bi(Ut,Nt),Ut.width=Ut.width||(Oe.width>>Ft)-It,Ut.height=Ut.height||(Oe.height>>Ft)-Bt,ol(Oe),Nn(Ut,_n,It,Bt,Ft),io(),Cn(Ut),ht}function cr(Nt,Ne){var $e=Nt|0,st=Ne|0||$e;if($e===Oe.width&&st===Oe.height)return ht;ht.width=Oe.width=$e,ht.height=Oe.height=st,ol(Oe);for(var It=0;Oe.mipmask>>It;++It){var Bt=$e>>It,Ft=st>>It;if(!Bt||!Ft)break;Me.texImage2D(_n,It,Oe.format,Bt,Ft,0,Oe.format,Oe.type,null)}return io(),Nr.profile&&(Oe.stats.size=cc(Oe.internalformat,Oe.type,$e,st,!1,!1)),ht}return ht(ne,we),ht.subimage=Yt,ht.resize=cr,ht._reglType="texture2d",ht._texture=Oe,Nr.profile&&(ht.stats=Oe.stats),ht.destroy=function(){Oe.decRef()},ht}function J(ne,we,Oe,ht,Yt,cr){var Nt=new wa(ya);ss[Nt.id]=Nt,Or.cubeCount++;var Ne=new Array(6);function $e(Bt,Ft,Ut,zt,_t,Dt){var vt,lr=Nt.texInfo;for(zo.call(lr),vt=0;vt<6;++vt)Ne[vt]=Ga();if(typeof Bt=="number"||!Bt){var _r=Bt|0||1;for(vt=0;vt<6;++vt)sa(Ne[vt],_r,_r)}else if(typeof Bt=="object")if(Ft)ba(Ne[0],Bt),ba(Ne[1],Ft),ba(Ne[2],Ut),ba(Ne[3],zt),ba(Ne[4],_t),ba(Ne[5],Dt);else if(Qs(lr,Bt),mn(Nt,Bt),"faces"in Bt){var Br=Bt.faces;for(vt=0;vt<6;++vt)si(Ne[vt],Nt),ba(Ne[vt],Br[vt])}else for(vt=0;vt<6;++vt)ba(Ne[vt],Bt);for(si(Nt,Ne[0]),lr.genMipmaps?Nt.mipmask=(Ne[0].width<<1)-1:Nt.mipmask=Ne[0].mipmask,Nt.internalformat=Ne[0].internalformat,$e.width=Ne[0].width,$e.height=Ne[0].height,ol(Nt),vt=0;vt<6;++vt)is(Ne[vt],ea+vt);for(al(lr,ya),io(),Nr.profile&&(Nt.stats.size=cc(Nt.internalformat,Nt.type,$e.width,$e.height,lr.genMipmaps,!0)),$e.format=yi[Nt.internalformat],$e.type=Ii[Nt.type],$e.mag=ui[lr.magFilter],$e.min=nn[lr.minFilter],$e.wrapS=Xi[lr.wrapS],$e.wrapT=Xi[lr.wrapT],vt=0;vt<6;++vt)Ml(Ne[vt]);return $e}function st(Bt,Ft,Ut,zt,_t){var Dt=Ut|0,vt=zt|0,lr=_t|0,_r=Ki();return si(_r,Nt),_r.width=0,_r.height=0,Bi(_r,Ft),_r.width=_r.width||(Nt.width>>lr)-Dt,_r.height=_r.height||(Nt.height>>lr)-vt,ol(Nt),Nn(_r,ea+Bt,Dt,vt,lr),io(),Cn(_r),$e}function It(Bt){var Ft=Bt|0;if(Ft!==Nt.width){$e.width=Nt.width=Ft,$e.height=Nt.height=Ft,ol(Nt);for(var Ut=0;Ut<6;++Ut)for(var zt=0;Nt.mipmask>>zt;++zt)Me.texImage2D(ea+Ut,zt,Nt.format,Ft>>zt,Ft>>zt,0,Nt.format,Nt.type,null);return io(),Nr.profile&&(Nt.stats.size=cc(Nt.internalformat,Nt.type,$e.width,$e.height,!1,!0)),$e}}return $e(ne,we,Oe,ht,Yt,cr),$e.subimage=st,$e.resize=It,$e._reglType="textureCube",$e._texture=Nt,Nr.profile&&($e.stats=Nt.stats),$e.destroy=function(){Nt.decRef()},$e}function O(){for(var ne=0;ne<Vs;++ne)Me.activeTexture(Fu+ne),Me.bindTexture(_n,null),Ys[ne]=null;gt(ss).forEach(Y),Or.cubeCount=0,Or.textureCount=0}Nr.profile&&(Or.getTotalTextureSize=function(){var ne=0;return Object.keys(ss).forEach(function(we){ne+=ss[we].stats.size}),ne});function K(){for(var ne=0;ne<Vs;++ne){var we=Ys[ne];we&&(we.bindCount=0,we.unit=-1,Ys[ne]=null)}gt(ss).forEach(function(Oe){Oe.texture=Me.createTexture(),Me.bindTexture(Oe.target,Oe.texture);for(var ht=0;ht<32;++ht)if((Oe.mipmask&1<<ht)!==0)if(Oe.target===_n)Me.texImage2D(_n,ht,Oe.internalformat,Oe.width>>ht,Oe.height>>ht,0,Oe.internalformat,Oe.type,null);else for(var Yt=0;Yt<6;++Yt)Me.texImage2D(ea+Yt,ht,Oe.internalformat,Oe.width>>ht,Oe.height>>ht,0,Oe.internalformat,Oe.type,null);al(Oe.texInfo,Oe.target)})}function de(){for(var ne=0;ne<Vs;++ne){var we=Ys[ne];we&&(we.bindCount=0,we.unit=-1,Ys[ne]=null),Me.activeTexture(Fu+ne),Me.bindTexture(_n,null),Me.bindTexture(ya,null)}}return{create2D:D,createCube:J,clear:O,getTexture:function(ne){return null},restore:K,refresh:de}}var Nl=36161,Kc=32854,Rc=32855,gs=36194,Wf=33189,Wh=36168,rh=34041,lf=35907,Sh=34836,Mu=34842,ih=34843,js=[];js[Kc]=2,js[Rc]=2,js[gs]=2,js[Wf]=2,js[Wh]=1,js[rh]=4,js[lf]=4,js[Sh]=16,js[Mu]=8,js[ih]=6;function Eu(Me,bt,Ot){return js[Me]*bt*Ot}var Dc=function(Me,bt,Ot,Lr,Vr){var Or={rgba4:Kc,rgb565:gs,"rgb5 a1":Rc,depth:Wf,stencil:Wh,"depth stencil":rh};bt.ext_srgb&&(Or.srgba=lf),bt.ext_color_buffer_half_float&&(Or.rgba16f=Mu,Or.rgb16f=ih),bt.webgl_color_buffer_float&&(Or.rgba32f=Sh);var Nr=[];Object.keys(Or).forEach(function(ji){var oi=Or[ji];Nr[oi]=ji});var vi=0,Ni={};function qi(ji){this.id=vi++,this.refCount=1,this.renderbuffer=ji,this.format=Kc,this.width=0,this.height=0,Vr.profile&&(this.stats={size:0})}qi.prototype.decRef=function(){--this.refCount<=0&&Si(this)};function Si(ji){var oi=ji.renderbuffer;Me.bindRenderbuffer(Nl,null),Me.deleteRenderbuffer(oi),ji.renderbuffer=null,ji.refCount=0,delete Ni[ji.id],Lr.renderbufferCount--}function Vn(ji,oi){var Tr=new qi(Me.createRenderbuffer());Ni[Tr.id]=Tr,Lr.renderbufferCount++;function Zr(Ii,ui){var nn=0,Xi=0,qn=Kc;if(typeof Ii=="object"&&Ii){var fi=Ii;if("shape"in fi){var si=fi.shape;nn=si[0]|0,Xi=si[1]|0}else"radius"in fi&&(nn=Xi=fi.radius|0),"width"in fi&&(nn=fi.width|0),"height"in fi&&(Xi=fi.height|0);"format"in fi&&(qn=Or[fi.format])}else typeof Ii=="number"?(nn=Ii|0,typeof ui=="number"?Xi=ui|0:Xi=nn):Ii||(nn=Xi=1);if(!(nn===Tr.width&&Xi===Tr.height&&qn===Tr.format))return Zr.width=Tr.width=nn,Zr.height=Tr.height=Xi,Tr.format=qn,Me.bindRenderbuffer(Nl,Tr.renderbuffer),Me.renderbufferStorage(Nl,qn,nn,Xi),Vr.profile&&(Tr.stats.size=Eu(Tr.format,Tr.width,Tr.height)),Zr.format=Nr[Tr.format],Zr}function yi(Ii,ui){var nn=Ii|0,Xi=ui|0||nn;return nn===Tr.width&&Xi===Tr.height||(Zr.width=Tr.width=nn,Zr.height=Tr.height=Xi,Me.bindRenderbuffer(Nl,Tr.renderbuffer),Me.renderbufferStorage(Nl,Tr.format,nn,Xi),Vr.profile&&(Tr.stats.size=Eu(Tr.format,Tr.width,Tr.height))),Zr}return Zr(ji,oi),Zr.resize=yi,Zr._reglType="renderbuffer",Zr._renderbuffer=Tr,Vr.profile&&(Zr.stats=Tr.stats),Zr.destroy=function(){Tr.decRef()},Zr}Vr.profile&&(Lr.getTotalRenderbufferSize=function(){var ji=0;return Object.keys(Ni).forEach(function(oi){ji+=Ni[oi].stats.size}),ji});function Qi(){gt(Ni).forEach(function(ji){ji.renderbuffer=Me.createRenderbuffer(),Me.bindRenderbuffer(Nl,ji.renderbuffer),Me.renderbufferStorage(Nl,ji.format,ji.width,ji.height)}),Me.bindRenderbuffer(Nl,null)}return{create:Vn,clear:function(){gt(Ni).forEach(Si)},restore:Qi}},ks=36160,bc=36161,hu=3553,_u=34069,nl=36064,nh=36096,Mh=36128,zu=33306,Fc=36053,wc=36193,bd=5121,xf=5126,Pf=6407,qu=6408,bf=[];bf[qu]=4,bf[Pf]=3;var jl=[];jl[bd]=1,jl[xf]=4,jl[wc]=2;function uf(Me,bt,Ot,Lr,Vr,Or){var Nr={cur:null,next:null,dirty:!1,setFBO:null},vi=["rgba"],Ni=["rgba4","rgb565","rgb5 a1"];bt.ext_srgb&&Ni.push("srgba"),bt.ext_color_buffer_half_float&&Ni.push("rgba16f","rgb16f"),bt.webgl_color_buffer_float&&Ni.push("rgba32f");var qi=["uint8"];bt.oes_texture_half_float&&qi.push("half float","float16"),bt.oes_texture_float&&qi.push("float","float32");function Si(Ui,Bi,pn){this.target=Ui,this.texture=Bi,this.renderbuffer=pn;var Nn=0,aa=0;Bi?(Nn=Bi.width,aa=Bi.height):pn&&(Nn=pn.width,aa=pn.height),this.width=Nn,this.height=aa}function Vn(Ui){Ui&&(Ui.texture&&Ui.texture._texture.decRef(),Ui.renderbuffer&&Ui.renderbuffer._renderbuffer.decRef())}function Qi(Ui,Bi,pn){if(Ui)if(Ui.texture){var Nn=Ui.texture._texture,aa=Math.max(1,Nn.width),Ki=Math.max(1,Nn.height);Nn.refCount+=1}else{var Cn=Ui.renderbuffer._renderbuffer;Cn.refCount+=1}}function ji(Ui,Bi){Bi&&(Bi.texture?Me.framebufferTexture2D(ks,Ui,Bi.target,Bi.texture._texture.texture,0):Me.framebufferRenderbuffer(ks,Ui,bc,Bi.renderbuffer._renderbuffer.renderbuffer))}function oi(Ui){var Bi=hu,pn=null,Nn=null,aa=Ui;typeof Ui=="object"&&(aa=Ui.data,"target"in Ui&&(Bi=Ui.target|0));var Ki=aa._reglType;return Ki==="texture2d"||Ki==="textureCube"?pn=aa:Ki==="renderbuffer"&&(Nn=aa,Bi=bc),new Si(Bi,pn,Nn)}function Tr(Ui,Bi,pn,Nn,aa){if(pn){var Ki=Lr.create2D({width:Ui,height:Bi,format:Nn,type:aa});return Ki._texture.refCount=0,new Si(hu,Ki,null)}else{var Cn=Vr.create({width:Ui,height:Bi,format:Nn});return Cn._renderbuffer.refCount=0,new Si(bc,null,Cn)}}function Zr(Ui){return Ui&&(Ui.texture||Ui.renderbuffer)}function yi(Ui,Bi,pn){Ui&&(Ui.texture?Ui.texture.resize(Bi,pn):Ui.renderbuffer&&Ui.renderbuffer.resize(Bi,pn),Ui.width=Bi,Ui.height=pn)}var Ii=0,ui={};function nn(){this.id=Ii++,ui[this.id]=this,this.framebuffer=Me.createFramebuffer(),this.width=0,this.height=0,this.colorAttachments=[],this.depthAttachment=null,this.stencilAttachment=null,this.depthStencilAttachment=null}function Xi(Ui){Ui.colorAttachments.forEach(Vn),Vn(Ui.depthAttachment),Vn(Ui.stencilAttachment),Vn(Ui.depthStencilAttachment)}function qn(Ui){var Bi=Ui.framebuffer;Me.deleteFramebuffer(Bi),Ui.framebuffer=null,Or.framebufferCount--,delete ui[Ui.id]}function fi(Ui){var Bi;Me.bindFramebuffer(ks,Ui.framebuffer);var pn=Ui.colorAttachments;for(Bi=0;Bi<pn.length;++Bi)ji(nl+Bi,pn[Bi]);for(Bi=pn.length;Bi<Ot.maxColorAttachments;++Bi)Me.framebufferTexture2D(ks,nl+Bi,hu,null,0);Me.framebufferTexture2D(ks,zu,hu,null,0),Me.framebufferTexture2D(ks,nh,hu,null,0),Me.framebufferTexture2D(ks,Mh,hu,null,0),ji(nh,Ui.depthAttachment),ji(Mh,Ui.stencilAttachment),ji(zu,Ui.depthStencilAttachment);var Nn=Me.checkFramebufferStatus(ks);Me.isContextLost(),Me.bindFramebuffer(ks,Nr.next?Nr.next.framebuffer:null),Nr.cur=Nr.next,Me.getError()}function si(Ui,Bi){var pn=new nn;Or.framebufferCount++;function Nn(Ki,Cn){var ia,sa=0,ba=0,is=!0,Zs=!0,Ga=null,Ml=!0,zo="rgba",Qs="uint8",al=1,Vl=null,ss=null,Vs=null,Ys=!1;if(typeof Ki=="number")sa=Ki|0,ba=Cn|0||sa;else if(!Ki)sa=ba=1;else{var wa=Ki;if("shape"in wa){var ol=wa.shape;sa=ol[0],ba=ol[1]}else"radius"in wa&&(sa=ba=wa.radius),"width"in wa&&(sa=wa.width),"height"in wa&&(ba=wa.height);("color"in wa||"colors"in wa)&&(Ga=wa.color||wa.colors,Array.isArray(Ga)),Ga||("colorCount"in wa&&(al=wa.colorCount|0),"colorTexture"in wa&&(Ml=!!wa.colorTexture,zo="rgba4"),"colorType"in wa&&(Qs=wa.colorType,Ml||(Qs==="half float"||Qs==="float16"?zo="rgba16f":(Qs==="float"||Qs==="float32")&&(zo="rgba32f"))),"colorFormat"in wa&&(zo=wa.colorFormat,vi.indexOf(zo)>=0?Ml=!0:Ni.indexOf(zo)>=0&&(Ml=!1))),("depthTexture"in wa||"depthStencilTexture"in wa)&&(Ys=!!(wa.depthTexture||wa.depthStencilTexture)),"depth"in wa&&(typeof wa.depth=="boolean"?is=wa.depth:(Vl=wa.depth,Zs=!1)),"stencil"in wa&&(typeof wa.stencil=="boolean"?Zs=wa.stencil:(ss=wa.stencil,is=!1)),"depthStencil"in wa&&(typeof wa.depthStencil=="boolean"?is=Zs=wa.depthStencil:(Vs=wa.depthStencil,is=!1,Zs=!1))}var io=null,Y=null,D=null,J=null;if(Array.isArray(Ga))io=Ga.map(oi);else if(Ga)io=[oi(Ga)];else for(io=new Array(al),ia=0;ia<al;++ia)io[ia]=Tr(sa,ba,Ml,zo,Qs);sa=sa||io[0].width,ba=ba||io[0].height,Vl?Y=oi(Vl):is&&!Zs&&(Y=Tr(sa,ba,Ys,"depth","uint32")),ss?D=oi(ss):Zs&&!is&&(D=Tr(sa,ba,!1,"stencil","uint8")),Vs?J=oi(Vs):!Vl&&!ss&&Zs&&is&&(J=Tr(sa,ba,Ys,"depth stencil","depth stencil"));var O=null;for(ia=0;ia<io.length;++ia)if(Qi(io[ia],sa,ba),io[ia]&&io[ia].texture){var K=bf[io[ia].texture._texture.format]*jl[io[ia].texture._texture.type];O===null&&(O=K)}return Qi(Y,sa,ba),Qi(D,sa,ba),Qi(J,sa,ba),Xi(pn),pn.width=sa,pn.height=ba,pn.colorAttachments=io,pn.depthAttachment=Y,pn.stencilAttachment=D,pn.depthStencilAttachment=J,Nn.color=io.map(Zr),Nn.depth=Zr(Y),Nn.stencil=Zr(D),Nn.depthStencil=Zr(J),Nn.width=pn.width,Nn.height=pn.height,fi(pn),Nn}function aa(Ki,Cn){var ia=Math.max(Ki|0,1),sa=Math.max(Cn|0||ia,1);if(ia===pn.width&&sa===pn.height)return Nn;for(var ba=pn.colorAttachments,is=0;is<ba.length;++is)yi(ba[is],ia,sa);return yi(pn.depthAttachment,ia,sa),yi(pn.stencilAttachment,ia,sa),yi(pn.depthStencilAttachment,ia,sa),pn.width=Nn.width=ia,pn.height=Nn.height=sa,fi(pn),Nn}return Nn(Ui,Bi),e(Nn,{resize:aa,_reglType:"framebuffer",_framebuffer:pn,destroy:function(){qn(pn),Xi(pn)},use:function(Ki){Nr.setFBO({framebuffer:Nn},Ki)}})}function mn(Ui){var Bi=Array(6);function pn(aa){var Ki,Cn={color:null},ia=0,sa=null,ba="rgba",is="uint8",Zs=1;if(typeof aa=="number")ia=aa|0;else if(!aa)ia=1;else{var Ga=aa;if("shape"in Ga){var Ml=Ga.shape;ia=Ml[0]}else"radius"in Ga&&(ia=Ga.radius|0),"width"in Ga?(ia=Ga.width|0,"height"in Ga):"height"in Ga&&(ia=Ga.height|0);("color"in Ga||"colors"in Ga)&&(sa=Ga.color||Ga.colors,Array.isArray(sa)),sa||("colorCount"in Ga&&(Zs=Ga.colorCount|0),"colorType"in Ga&&(is=Ga.colorType),"colorFormat"in Ga&&(ba=Ga.colorFormat)),"depth"in Ga&&(Cn.depth=Ga.depth),"stencil"in Ga&&(Cn.stencil=Ga.stencil),"depthStencil"in Ga&&(Cn.depthStencil=Ga.depthStencil)}var zo;if(sa)if(Array.isArray(sa))for(zo=[],Ki=0;Ki<sa.length;++Ki)zo[Ki]=sa[Ki];else zo=[sa];else{zo=Array(Zs);var Qs={radius:ia,format:ba,type:is};for(Ki=0;Ki<Zs;++Ki)zo[Ki]=Lr.createCube(Qs)}for(Cn.color=Array(zo.length),Ki=0;Ki<zo.length;++Ki){var al=zo[Ki];ia=ia||al.width,Cn.color[Ki]={target:_u,data:zo[Ki]}}for(Ki=0;Ki<6;++Ki){for(var Vl=0;Vl<zo.length;++Vl)Cn.color[Vl].target=_u+Ki;Ki>0&&(Cn.depth=Bi[0].depth,Cn.stencil=Bi[0].stencil,Cn.depthStencil=Bi[0].depthStencil),Bi[Ki]?Bi[Ki](Cn):Bi[Ki]=si(Cn)}return e(pn,{width:ia,height:ia,color:zo})}function Nn(aa){var Ki,Cn=aa|0;if(Cn===pn.width)return pn;var ia=pn.color;for(Ki=0;Ki<ia.length;++Ki)ia[Ki].resize(Cn);for(Ki=0;Ki<6;++Ki)Bi[Ki].resize(Cn);return pn.width=pn.height=Cn,pn}return pn(Ui),e(pn,{faces:Bi,resize:Nn,_reglType:"framebufferCube",destroy:function(){Bi.forEach(function(aa){aa.destroy()})}})}function Ji(){Nr.cur=null,Nr.next=null,Nr.dirty=!0,gt(ui).forEach(function(Ui){Ui.framebuffer=Me.createFramebuffer(),fi(Ui)})}return e(Nr,{getFramebuffer:function(Ui){if(typeof Ui=="function"&&Ui._reglType==="framebuffer"){var Bi=Ui._framebuffer;if(Bi instanceof nn)return Bi}return null},create:si,createCube:mn,clear:function(){gt(ui).forEach(qn)},restore:Ji})}var Xh=5126,If=34962,Cs=34963;function du(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=Xh,this.offset=0,this.stride=0,this.divisor=0}function ku(Me,bt,Ot,Lr,Vr,Or,Nr){for(var vi=Ot.maxAttributes,Ni=new Array(vi),qi=0;qi<vi;++qi)Ni[qi]=new du;var Si=0,Vn={},Qi={Record:du,scope:{},state:Ni,currentVAO:null,targetVAO:null,restore:oi()?Xi:function(){},createVAO:qn,getVAO:Zr,destroyBuffer:ji,setVAO:oi()?yi:Ii,clear:oi()?ui:function(){}};function ji(fi){for(var si=0;si<Ni.length;++si){var mn=Ni[si];mn.buffer===fi&&(Me.disableVertexAttribArray(si),mn.buffer=null)}}function oi(){return bt.oes_vertex_array_object}function Tr(){return bt.angle_instanced_arrays}function Zr(fi){return typeof fi=="function"&&fi._vao?fi._vao:null}function yi(fi){if(fi!==Qi.currentVAO){var si=oi();fi?si.bindVertexArrayOES(fi.vao):si.bindVertexArrayOES(null),Qi.currentVAO=fi}}function Ii(fi){if(fi!==Qi.currentVAO){if(fi)fi.bindAttrs();else{for(var si=Tr(),mn=0;mn<Ni.length;++mn){var Ji=Ni[mn];Ji.buffer?(Me.enableVertexAttribArray(mn),Ji.buffer.bind(),Me.vertexAttribPointer(mn,Ji.size,Ji.type,Ji.normalized,Ji.stride,Ji.offfset),si&&Ji.divisor&&si.vertexAttribDivisorANGLE(mn,Ji.divisor)):(Me.disableVertexAttribArray(mn),Me.vertexAttrib4f(mn,Ji.x,Ji.y,Ji.z,Ji.w))}Nr.elements?Me.bindBuffer(Cs,Nr.elements.buffer.buffer):Me.bindBuffer(Cs,null)}Qi.currentVAO=fi}}function ui(){gt(Vn).forEach(function(fi){fi.destroy()})}function nn(){this.id=++Si,this.attributes=[],this.elements=null,this.ownsElements=!1,this.count=0,this.offset=0,this.instances=-1,this.primitive=4;var fi=oi();fi?this.vao=fi.createVertexArrayOES():this.vao=null,Vn[this.id]=this,this.buffers=[]}nn.prototype.bindAttrs=function(){for(var fi=Tr(),si=this.attributes,mn=0;mn<si.length;++mn){var Ji=si[mn];Ji.buffer?(Me.enableVertexAttribArray(mn),Me.bindBuffer(If,Ji.buffer.buffer),Me.vertexAttribPointer(mn,Ji.size,Ji.type,Ji.normalized,Ji.stride,Ji.offset),fi&&Ji.divisor&&fi.vertexAttribDivisorANGLE(mn,Ji.divisor)):(Me.disableVertexAttribArray(mn),Me.vertexAttrib4f(mn,Ji.x,Ji.y,Ji.z,Ji.w))}for(var Ui=si.length;Ui<vi;++Ui)Me.disableVertexAttribArray(Ui);var Bi=Or.getElements(this.elements);Bi?Me.bindBuffer(Cs,Bi.buffer.buffer):Me.bindBuffer(Cs,null)},nn.prototype.refresh=function(){var fi=oi();fi&&(fi.bindVertexArrayOES(this.vao),this.bindAttrs(),Qi.currentVAO=null,fi.bindVertexArrayOES(null))},nn.prototype.destroy=function(){if(this.vao){var fi=oi();this===Qi.currentVAO&&(Qi.currentVAO=null,fi.bindVertexArrayOES(null)),fi.deleteVertexArrayOES(this.vao),this.vao=null}this.ownsElements&&(this.elements.destroy(),this.elements=null,this.ownsElements=!1),Vn[this.id]&&(delete Vn[this.id],Lr.vaoCount-=1)};function Xi(){var fi=oi();fi&&gt(Vn).forEach(function(si){si.refresh()})}function qn(fi){var si=new nn;Lr.vaoCount+=1;function mn(Ji){var Ui;if(Array.isArray(Ji))Ui=Ji,si.elements&&si.ownsElements&&si.elements.destroy(),si.elements=null,si.ownsElements=!1,si.offset=0,si.count=0,si.instances=-1,si.primitive=4;else{if(Ji.elements){var Bi=Ji.elements;si.ownsElements?typeof Bi=="function"&&Bi._reglType==="elements"?(si.elements.destroy(),si.ownsElements=!1):(si.elements(Bi),si.ownsElements=!1):Or.getElements(Ji.elements)?(si.elements=Ji.elements,si.ownsElements=!1):(si.elements=Or.create(Ji.elements),si.ownsElements=!0)}else si.elements=null,si.ownsElements=!1;Ui=Ji.attributes,si.offset=0,si.count=-1,si.instances=-1,si.primitive=4,si.elements&&(si.count=si.elements._elements.vertCount,si.primitive=si.elements._elements.primType),"offset"in Ji&&(si.offset=Ji.offset|0),"count"in Ji&&(si.count=Ji.count|0),"instances"in Ji&&(si.instances=Ji.instances|0),"primitive"in Ji&&(si.primitive=Mn[Ji.primitive])}var pn={},Nn=si.attributes;Nn.length=Ui.length;for(var aa=0;aa<Ui.length;++aa){var Ki=Ui[aa],Cn=Nn[aa]=new du,ia=Ki.data||Ki;if(Array.isArray(ia)||qr(ia)||jr(ia)){var sa;si.buffers[aa]&&(sa=si.buffers[aa],qr(ia)&&sa._buffer.byteLength>=ia.byteLength?sa.subdata(ia):(sa.destroy(),si.buffers[aa]=null)),si.buffers[aa]||(sa=si.buffers[aa]=Vr.create(Ki,If,!1,!0)),Cn.buffer=Vr.getBuffer(sa),Cn.size=Cn.buffer.dimension|0,Cn.normalized=!1,Cn.type=Cn.buffer.dtype,Cn.offset=0,Cn.stride=0,Cn.divisor=0,Cn.state=1,pn[aa]=1}else Vr.getBuffer(Ki)?(Cn.buffer=Vr.getBuffer(Ki),Cn.size=Cn.buffer.dimension|0,Cn.normalized=!1,Cn.type=Cn.buffer.dtype,Cn.offset=0,Cn.stride=0,Cn.divisor=0,Cn.state=1):Vr.getBuffer(Ki.buffer)?(Cn.buffer=Vr.getBuffer(Ki.buffer),Cn.size=(+Ki.size||Cn.buffer.dimension)|0,Cn.normalized=!!Ki.normalized||!1,"type"in Ki?Cn.type=un[Ki.type]:Cn.type=Cn.buffer.dtype,Cn.offset=(Ki.offset||0)|0,Cn.stride=(Ki.stride||0)|0,Cn.divisor=(Ki.divisor||0)|0,Cn.state=1):"x"in Ki&&(Cn.x=+Ki.x||0,Cn.y=+Ki.y||0,Cn.z=+Ki.z||0,Cn.w=+Ki.w||0,Cn.state=2)}for(var ba=0;ba<si.buffers.length;++ba)!pn[ba]&&si.buffers[ba]&&(si.buffers[ba].destroy(),si.buffers[ba]=null);return si.refresh(),mn}return mn.destroy=function(){for(var Ji=0;Ji<si.buffers.length;++Ji)si.buffers[Ji]&&si.buffers[Ji].destroy();si.buffers.length=0,si.ownsElements&&(si.elements.destroy(),si.elements=null,si.ownsElements=!1),si.destroy()},mn._vao=si,mn._reglType="vao",mn(fi)}return Qi}var Xf=35632,Us=35633,wf=35718,zc=35721;function Wu(Me,bt,Ot,Lr){var Vr={},Or={};function Nr(Tr,Zr,yi,Ii){this.name=Tr,this.id=Zr,this.location=yi,this.info=Ii}function vi(Tr,Zr){for(var yi=0;yi<Tr.length;++yi)if(Tr[yi].id===Zr.id){Tr[yi].location=Zr.location;return}Tr.push(Zr)}function Ni(Tr,Zr,yi){var Ii=Tr===Xf?Vr:Or,ui=Ii[Zr];if(!ui){var nn=bt.str(Zr);ui=Me.createShader(Tr),Me.shaderSource(ui,nn),Me.compileShader(ui),Ii[Zr]=ui}return ui}var qi={},Si=[],Vn=0;function Qi(Tr,Zr){this.id=Vn++,this.fragId=Tr,this.vertId=Zr,this.program=null,this.uniforms=[],this.attributes=[],this.refCount=1,Lr.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function ji(Tr,Zr,yi){var Ii,ui,nn=Ni(Xf,Tr.fragId),Xi=Ni(Us,Tr.vertId),qn=Tr.program=Me.createProgram();if(Me.attachShader(qn,nn),Me.attachShader(qn,Xi),yi)for(Ii=0;Ii<yi.length;++Ii){var fi=yi[Ii];Me.bindAttribLocation(qn,fi[0],fi[1])}Me.linkProgram(qn);var si=Me.getProgramParameter(qn,wf);Lr.profile&&(Tr.stats.uniformsCount=si);var mn=Tr.uniforms;for(Ii=0;Ii<si;++Ii)if(ui=Me.getActiveUniform(qn,Ii),ui)if(ui.size>1)for(var Ji=0;Ji<ui.size;++Ji){var Ui=ui.name.replace("[0]","["+Ji+"]");vi(mn,new Nr(Ui,bt.id(Ui),Me.getUniformLocation(qn,Ui),ui))}else vi(mn,new Nr(ui.name,bt.id(ui.name),Me.getUniformLocation(qn,ui.name),ui));var Bi=Me.getProgramParameter(qn,zc);Lr.profile&&(Tr.stats.attributesCount=Bi);var pn=Tr.attributes;for(Ii=0;Ii<Bi;++Ii)ui=Me.getActiveAttrib(qn,Ii),ui&&vi(pn,new Nr(ui.name,bt.id(ui.name),Me.getAttribLocation(qn,ui.name),ui))}Lr.profile&&(Ot.getMaxUniformsCount=function(){var Tr=0;return Si.forEach(function(Zr){Zr.stats.uniformsCount>Tr&&(Tr=Zr.stats.uniformsCount)}),Tr},Ot.getMaxAttributesCount=function(){var Tr=0;return Si.forEach(function(Zr){Zr.stats.attributesCount>Tr&&(Tr=Zr.stats.attributesCount)}),Tr});function oi(){Vr={},Or={};for(var Tr=0;Tr<Si.length;++Tr)ji(Si[Tr],null,Si[Tr].attributes.map(function(Zr){return[Zr.location,Zr.name]}))}return{clear:function(){var Tr=Me.deleteShader.bind(Me);gt(Vr).forEach(Tr),Vr={},gt(Or).forEach(Tr),Or={},Si.forEach(function(Zr){Me.deleteProgram(Zr.program)}),Si.length=0,qi={},Ot.shaderCount=0},program:function(Tr,Zr,yi,Ii){var ui=qi[Zr];ui||(ui=qi[Zr]={});var nn=ui[Tr];if(nn&&(nn.refCount++,!Ii))return nn;var Xi=new Qi(Zr,Tr);return Ot.shaderCount++,ji(Xi,yi,Ii),nn||(ui[Tr]=Xi),Si.push(Xi),e(Xi,{destroy:function(){if(Xi.refCount--,Xi.refCount<=0){Me.deleteProgram(Xi.program);var qn=Si.indexOf(Xi);Si.splice(qn,1),Ot.shaderCount--}ui[Xi.vertId].refCount<=0&&(Me.deleteShader(Or[Xi.vertId]),delete Or[Xi.vertId],delete qi[Xi.fragId][Xi.vertId]),Object.keys(qi[Xi.fragId]).length||(Me.deleteShader(Vr[Xi.fragId]),delete Vr[Xi.fragId],delete qi[Xi.fragId])}})},restore:oi,shader:Ni,frag:-1,vert:-1}}var Rf=6408,Xu=5121,cf=3333,Zf=5126;function Wl(Me,bt,Ot,Lr,Vr,Or,Nr){function vi(Si){var Vn;bt.next===null?Vn=Xu:Vn=bt.next.colorAttachments[0].texture._texture.type;var Qi=0,ji=0,oi=Lr.framebufferWidth,Tr=Lr.framebufferHeight,Zr=null;qr(Si)?Zr=Si:Si&&(Qi=Si.x|0,ji=Si.y|0,oi=(Si.width||Lr.framebufferWidth-Qi)|0,Tr=(Si.height||Lr.framebufferHeight-ji)|0,Zr=Si.data||null),Ot();var yi=oi*Tr*4;return Zr||(Vn===Xu?Zr=new Uint8Array(yi):Vn===Zf&&(Zr=Zr||new Float32Array(yi))),Me.pixelStorei(cf,4),Me.readPixels(Qi,ji,oi,Tr,Rf,Vn,Zr),Zr}function Ni(Si){var Vn;return bt.setFBO({framebuffer:Si.framebuffer},function(){Vn=vi(Si)}),Vn}function qi(Si){return!Si||!("framebuffer"in Si)?vi(Si):Ni(Si)}return qi}var ah=0,Zu="";function qc(Me){return vu(Tc(fc(Me)))}function Tc(Me){return kt(Yi(Bc(Me),Me.length*8))}function wl(Me,bt){var Ot=Bc(Me);Ot.length>16&&(Ot=Yi(Ot,Me.length*8));for(var Lr=Array(16),Vr=Array(16),Or=0;Or<16;Or++)Lr[Or]=Ot[Or]^909522486,Vr[Or]=Ot[Or]^1549556828;var Nr=Yi(Lr.concat(Bc(bt)),512+bt.length*8);return kt(Yi(Vr.concat(Nr),768))}function vu(Me){for(var bt=ah?"0123456789ABCDEF":"0123456789abcdef",Ot="",Lr,Vr=0;Vr<Me.length;Vr++)Lr=Me.charCodeAt(Vr),Ot+=bt.charAt(Lr>>>4&15)+bt.charAt(Lr&15);return Ot}function Oc(Me){for(var bt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ot="",Lr=Me.length,Vr=0;Vr<Lr;Vr+=3)for(var Or=Me.charCodeAt(Vr)<<16|(Vr+1<Lr?Me.charCodeAt(Vr+1)<<8:0)|(Vr+2<Lr?Me.charCodeAt(Vr+2):0),Nr=0;Nr<4;Nr++)Vr*8+Nr*6>Me.length*8?Ot+=Zu:Ot+=bt.charAt(Or>>>6*(3-Nr)&63);return Ot}function ff(Me,bt){var Ot=bt.length,Lr=Array(),Vr,Or,Nr,vi,Ni=Array(Math.ceil(Me.length/2));for(Vr=0;Vr<Ni.length;Vr++)Ni[Vr]=Me.charCodeAt(Vr*2)<<8|Me.charCodeAt(Vr*2+1);for(;Ni.length>0;){for(vi=Array(),Nr=0,Vr=0;Vr<Ni.length;Vr++)Nr=(Nr<<16)+Ni[Vr],Or=Math.floor(Nr/Ot),Nr-=Or*Ot,(vi.length>0||Or>0)&&(vi[vi.length]=Or);Lr[Lr.length]=Nr,Ni=vi}var qi="";for(Vr=Lr.length-1;Vr>=0;Vr--)qi+=bt.charAt(Lr[Vr]);var Si=Math.ceil(Me.length*8/(Math.log(bt.length)/Math.log(2)));for(Vr=qi.length;Vr<Si;Vr++)qi=bt[0]+qi;return qi}function fc(Me){for(var bt="",Ot=-1,Lr,Vr;++Ot<Me.length;)Lr=Me.charCodeAt(Ot),Vr=Ot+1<Me.length?Me.charCodeAt(Ot+1):0,55296<=Lr&&Lr<=56319&&56320<=Vr&&Vr<=57343&&(Lr=65536+((Lr&1023)<<10)+(Vr&1023),Ot++),Lr<=127?bt+=String.fromCharCode(Lr):Lr<=2047?bt+=String.fromCharCode(192|Lr>>>6&31,128|Lr&63):Lr<=65535?bt+=String.fromCharCode(224|Lr>>>12&15,128|Lr>>>6&63,128|Lr&63):Lr<=2097151&&(bt+=String.fromCharCode(240|Lr>>>18&7,128|Lr>>>12&63,128|Lr>>>6&63,128|Lr&63));return bt}function Bc(Me){for(var bt=Array(Me.length>>2),Ot=0;Ot<bt.length;Ot++)bt[Ot]=0;for(var Ot=0;Ot<Me.length*8;Ot+=8)bt[Ot>>5]|=(Me.charCodeAt(Ot/8)&255)<<24-Ot%32;return bt}function kt(Me){for(var bt="",Ot=0;Ot<Me.length*32;Ot+=8)bt+=String.fromCharCode(Me[Ot>>5]>>>24-Ot%32&255);return bt}function Zt(Me,bt){return Me>>>bt|Me<<32-bt}function Er(Me,bt){return Me>>>bt}function xr(Me,bt,Ot){return Me&bt^~Me&Ot}function Kr(Me,bt,Ot){return Me&bt^Me&Ot^bt&Ot}function Mi(Me){return Zt(Me,2)^Zt(Me,13)^Zt(Me,22)}function Wi(Me){return Zt(Me,6)^Zt(Me,11)^Zt(Me,25)}function dn(Me){return Zt(Me,7)^Zt(Me,18)^Er(Me,3)}function wn(Me){return Zt(Me,17)^Zt(Me,19)^Er(Me,10)}var On=new Array(1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998);function Yi(Me,bt){var Ot=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),Lr=new Array(64),Vr,Or,Nr,vi,Ni,qi,Si,Vn,Qi,ji,oi,Tr;for(Me[bt>>5]|=128<<24-bt%32,Me[(bt+64>>9<<4)+15]=bt,Qi=0;Qi<Me.length;Qi+=16){for(Vr=Ot[0],Or=Ot[1],Nr=Ot[2],vi=Ot[3],Ni=Ot[4],qi=Ot[5],Si=Ot[6],Vn=Ot[7],ji=0;ji<64;ji++)ji<16?Lr[ji]=Me[ji+Qi]:Lr[ji]=$i($i($i(wn(Lr[ji-2]),Lr[ji-7]),dn(Lr[ji-15])),Lr[ji-16]),oi=$i($i($i($i(Vn,Wi(Ni)),xr(Ni,qi,Si)),On[ji]),Lr[ji]),Tr=$i(Mi(Vr),Kr(Vr,Or,Nr)),Vn=Si,Si=qi,qi=Ni,Ni=$i(vi,oi),vi=Nr,Nr=Or,Or=Vr,Vr=$i(oi,Tr);Ot[0]=$i(Vr,Ot[0]),Ot[1]=$i(Or,Ot[1]),Ot[2]=$i(Nr,Ot[2]),Ot[3]=$i(vi,Ot[3]),Ot[4]=$i(Ni,Ot[4]),Ot[5]=$i(qi,Ot[5]),Ot[6]=$i(Si,Ot[6]),Ot[7]=$i(Vn,Ot[7])}return Ot}function $i(Me,bt){var Ot=(Me&65535)+(bt&65535),Lr=(Me>>16)+(bt>>16)+(Ot>>16);return Lr<<16|Ot&65535}function an(Me){return Array.prototype.slice.call(Me)}function Fi(Me){return an(Me).join("")}function ta(Me){var bt=Me&&Me.cache,Ot=0,Lr=[],Vr=[],Or=[];function Nr(oi,Tr){var Zr=Tr&&Tr.stable;if(!Zr){for(var yi=0;yi<Vr.length;++yi)if(Vr[yi]===oi&&!Or[yi])return Lr[yi]}var Ii="g"+Ot++;return Lr.push(Ii),Vr.push(oi),Or.push(Zr),Ii}function vi(){var oi=[];function Tr(){oi.push.apply(oi,an(arguments))}var Zr=[];function yi(){var Ii="v"+Ot++;return Zr.push(Ii),arguments.length>0&&(oi.push(Ii,"="),oi.push.apply(oi,an(arguments)),oi.push(";")),Ii}return e(Tr,{def:yi,toString:function(){return Fi([Zr.length>0?"var "+Zr.join(",")+";":"",Fi(oi)])}})}function Ni(){var oi=vi(),Tr=vi(),Zr=oi.toString,yi=Tr.toString;function Ii(ui,nn){Tr(ui,nn,"=",oi.def(ui,nn),";")}return e(function(){oi.apply(oi,an(arguments))},{def:oi.def,entry:oi,exit:Tr,save:Ii,set:function(ui,nn,Xi){Ii(ui,nn),oi(ui,nn,"=",Xi,";")},toString:function(){return Zr()+yi()}})}function qi(){var oi=Fi(arguments),Tr=Ni(),Zr=Ni(),yi=Tr.toString,Ii=Zr.toString;return e(Tr,{then:function(){return Tr.apply(Tr,an(arguments)),this},else:function(){return Zr.apply(Zr,an(arguments)),this},toString:function(){var ui=Ii();return ui&&(ui="else{"+ui+"}"),Fi(["if(",oi,"){",yi(),"}",ui])}})}var Si=vi(),Vn={};function Qi(oi,Tr){var Zr=[];function yi(){var qn="a"+Zr.length;return Zr.push(qn),qn}Tr=Tr||0;for(var Ii=0;Ii<Tr;++Ii)yi();var ui=Ni(),nn=ui.toString,Xi=Vn[oi]=e(ui,{arg:yi,toString:function(){return Fi(["function(",Zr.join(),"){",nn(),"}"])}});return Xi}function ji(){var oi=['"use strict";',Si,"return {"];Object.keys(Vn).forEach(function(Ii){oi.push('"',Ii,'":',Vn[Ii].toString(),",")}),oi.push("}");var Tr=Fi(oi).replace(/;/g,`;
2709`).replace(/}/g,`}
2710`).replace(/{/g,`{
2711`),Zr;if(bt&&(Zr=qc(Tr),bt[Zr]))return bt[Zr].apply(null,Vr);var yi=Function.apply(null,Lr.concat(Tr));return bt&&(bt[Zr]=yi),yi.apply(null,Vr)}return{global:Si,link:Nr,block:vi,proc:Qi,scope:Ni,cond:qi,compile:ji}}var Ca="xyzw".split(""),Ra=5121,La=1,Ua=2,Zn=0,Dn=1,Ka=2,bo=3,Zo=4,Ss=5,as=6,ws="dither",Ho="blend.enable",ml="blend.color",Ws="blend.equation",Ls="blend.func",va="depth.enable",no="depth.func",ys="depth.range",rs="depth.mask",Ql="colorMask",Cu="cull.enable",Yu="cull.face",Nc="frontFace",pu="lineWidth",Uc="polygonOffset.enable",xu="polygonOffset.offset",Ac="sample.alpha",Va="sample.enable",oo="sample.coverage",Vc="stencil.enable",hc="stencil.mask",Ku="stencil.func",ue="stencil.opFront",w="stencil.opBack",B="scissor.enable",Q="scissor.box",ee="viewport",le="profile",Fe="framebuffer",Ze="vert",ut="frag",Mt="elements",Jt="primitive",$t="count",yr="offset",Cr="instances",ve="vao",xe="Width",Ie="Height",ze=Fe+xe,Qe=Fe+Ie,Xe=ee+xe,nt=ee+Ie,qt="drawingBuffer",Wt=qt+xe,nr=qt+Ie,fr=[Ls,Ws,Ku,ue,w,oo,ee,Q,xu],br=34962,Fr=34963,Hr=2884,ri=3042,Ci=3024,cn=2960,sn=2929,Ln=3089,Yn=32823,Aa=32926,fa=32928,$a=5126,Co=35664,Qa=35665,mo=35666,Bo=5124,Ps=35667,Ts=35668,wo=35669,To=35670,hl=35671,Ul=35672,Lu=35673,au=35674,Js=35675,eu=35676,dc=35678,Tl=35680,Al=4,X=1028,se=1029,Te=2304,qe=2305,Ve=32775,Ye=32776,Pt=519,ot=7680,Xt=0,dr=1,pr=32774,Ur=513,zr=36160,gi=36064,xi={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Wr={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},ii={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},di={cw:Te,ccw:qe};function Li(Me){return Array.isArray(Me)||qr(Me)||jr(Me)}function Ti(Me){return Me.sort(function(bt,Ot){return bt===ee?-1:Ot===ee?1:bt<Ot?-1:1})}function Qr(Me,bt,Ot,Lr){this.thisDep=Me,this.contextDep=bt,this.propDep=Ot,this.append=Lr}function Pn(Me){return Me&&!(Me.thisDep||Me.contextDep||Me.propDep)}function kn(Me){return new Qr(!1,!1,!1,Me)}function Bn(Me,bt){var Ot=Me.type;if(Ot===Zn){var Lr=Me.data.length;return new Qr(!0,Lr>=1,Lr>=2,bt)}else if(Ot===Zo){var Vr=Me.data;return new Qr(Vr.thisDep,Vr.contextDep,Vr.propDep,bt)}else{if(Ot===Ss)return new Qr(!1,!1,!1,bt);if(Ot===as){for(var Or=!1,Nr=!1,vi=!1,Ni=0;Ni<Me.data.length;++Ni){var qi=Me.data[Ni];if(qi.type===Dn)vi=!0;else if(qi.type===Ka)Nr=!0;else if(qi.type===bo)Or=!0;else if(qi.type===Zn){Or=!0;var Si=qi.data;Si>=1&&(Nr=!0),Si>=2&&(vi=!0)}else qi.type===Zo&&(Or=Or||qi.data.thisDep,Nr=Nr||qi.data.contextDep,vi=vi||qi.data.propDep)}return new Qr(Or,Nr,vi,bt)}else return new Qr(Ot===bo,Ot===Ka,Ot===Dn,bt)}}var na=new Qr(!1,!1,!1,function(){});function Ea(Me,bt,Ot,Lr,Vr,Or,Nr,vi,Ni,qi,Si,Vn,Qi,ji,oi,Tr){var Zr=qi.Record,yi={add:32774,subtract:32778,"reverse subtract":32779};Ot.ext_blend_minmax&&(yi.min=Ve,yi.max=Ye);var Ii=Ot.angle_instanced_arrays,ui=Ot.webgl_draw_buffers,nn=Ot.oes_vertex_array_object,Xi={dirty:!0,profile:Tr.profile},qn={},fi=[],si={},mn={};function Ji(Ne){return Ne.replace(".","_")}function Ui(Ne,$e,st){var It=Ji(Ne);fi.push(Ne),qn[It]=Xi[It]=!!st,si[It]=$e}function Bi(Ne,$e,st){var It=Ji(Ne);fi.push(Ne),Array.isArray(st)?(Xi[It]=st.slice(),qn[It]=st.slice()):Xi[It]=qn[It]=st,mn[It]=$e}function pn(Ne){return!!isNaN(Ne)}Ui(ws,Ci),Ui(Ho,ri),Bi(ml,"blendColor",[0,0,0,0]),Bi(Ws,"blendEquationSeparate",[pr,pr]),Bi(Ls,"blendFuncSeparate",[dr,Xt,dr,Xt]),Ui(va,sn,!0),Bi(no,"depthFunc",Ur),Bi(ys,"depthRange",[0,1]),Bi(rs,"depthMask",!0),Bi(Ql,Ql,[!0,!0,!0,!0]),Ui(Cu,Hr),Bi(Yu,"cullFace",se),Bi(Nc,Nc,qe),Bi(pu,pu,1),Ui(Uc,Yn),Bi(xu,"polygonOffset",[0,0]),Ui(Ac,Aa),Ui(Va,fa),Bi(oo,"sampleCoverage",[1,!1]),Ui(Vc,cn),Bi(hc,"stencilMask",-1),Bi(Ku,"stencilFunc",[Pt,0,-1]),Bi(ue,"stencilOpSeparate",[X,ot,ot,ot]),Bi(w,"stencilOpSeparate",[se,ot,ot,ot]),Ui(B,Ln),Bi(Q,"scissor",[0,0,Me.drawingBufferWidth,Me.drawingBufferHeight]),Bi(ee,ee,[0,0,Me.drawingBufferWidth,Me.drawingBufferHeight]);var Nn={gl:Me,context:Qi,strings:bt,next:qn,current:Xi,draw:Vn,elements:Or,buffer:Vr,shader:Si,attributes:qi.state,vao:qi,uniforms:Ni,framebuffer:vi,extensions:Ot,timer:ji,isBufferArgs:Li},aa={primTypes:Mn,compareFuncs:Wr,blendFuncs:xi,blendEquations:yi,stencilOps:ii,glTypes:un,orientationType:di};ui&&(aa.backBuffer=[se],aa.drawBuffer=S(Lr.maxDrawbuffers,function(Ne){return Ne===0?[0]:S(Ne,function($e){return gi+$e})}));var Ki=0;function Cn(){var Ne=ta({cache:oi}),$e=Ne.link,st=Ne.global;Ne.id=Ki++,Ne.batchId="0";var It=$e(Nn),Bt=Ne.shared={props:"a0"};Object.keys(Nn).forEach(function(Dt){Bt[Dt]=st.def(It,".",Dt)});var Ft=Ne.next={},Ut=Ne.current={};Object.keys(mn).forEach(function(Dt){Array.isArray(Xi[Dt])&&(Ft[Dt]=st.def(Bt.next,".",Dt),Ut[Dt]=st.def(Bt.current,".",Dt))});var zt=Ne.constants={};Object.keys(aa).forEach(function(Dt){zt[Dt]=st.def(JSON.stringify(aa[Dt]))}),Ne.invoke=function(Dt,vt){switch(vt.type){case Zn:var lr=["this",Bt.context,Bt.props,Ne.batchId];return Dt.def($e(vt.data),".call(",lr.slice(0,Math.max(vt.data.length+1,4)),")");case Dn:return Dt.def(Bt.props,vt.data);case Ka:return Dt.def(Bt.context,vt.data);case bo:return Dt.def("this",vt.data);case Zo:return vt.data.append(Ne,Dt),vt.data.ref;case Ss:return vt.data.toString();case as:return vt.data.map(function(_r){return Ne.invoke(Dt,_r)})}},Ne.attribCache={};var _t={};return Ne.scopeAttrib=function(Dt){var vt=bt.id(Dt);if(vt in _t)return _t[vt];var lr=qi.scope[vt];lr||(lr=qi.scope[vt]=new Zr);var _r=_t[vt]=$e(lr);return _r},Ne}function ia(Ne){var $e=Ne.static,st=Ne.dynamic,It;if(le in $e){var Bt=!!$e[le];It=kn(function(Ut,zt){return Bt}),It.enable=Bt}else if(le in st){var Ft=st[le];It=Bn(Ft,function(Ut,zt){return Ut.invoke(zt,Ft)})}return It}function sa(Ne,$e){var st=Ne.static,It=Ne.dynamic;if(Fe in st){var Bt=st[Fe];return Bt?(Bt=vi.getFramebuffer(Bt),kn(function(Ut,zt){var _t=Ut.link(Bt),Dt=Ut.shared;zt.set(Dt.framebuffer,".next",_t);var vt=Dt.context;return zt.set(vt,"."+ze,_t+".width"),zt.set(vt,"."+Qe,_t+".height"),_t})):kn(function(Ut,zt){var _t=Ut.shared;zt.set(_t.framebuffer,".next","null");var Dt=_t.context;return zt.set(Dt,"."+ze,Dt+"."+Wt),zt.set(Dt,"."+Qe,Dt+"."+nr),"null"})}else if(Fe in It){var Ft=It[Fe];return Bn(Ft,function(Ut,zt){var _t=Ut.invoke(zt,Ft),Dt=Ut.shared,vt=Dt.framebuffer,lr=zt.def(vt,".getFramebuffer(",_t,")");zt.set(vt,".next",lr);var _r=Dt.context;return zt.set(_r,"."+ze,lr+"?"+lr+".width:"+_r+"."+Wt),zt.set(_r,"."+Qe,lr+"?"+lr+".height:"+_r+"."+nr),lr})}else return null}function ba(Ne,$e,st){var It=Ne.static,Bt=Ne.dynamic;function Ft(_t){if(_t in It){var Dt=It[_t],vt=!0,lr=Dt.x|0,_r=Dt.y|0,Br,Di;return"width"in Dt?Br=Dt.width|0:vt=!1,"height"in Dt?Di=Dt.height|0:vt=!1,new Qr(!vt&&$e&&$e.thisDep,!vt&&$e&&$e.contextDep,!vt&&$e&&$e.propDep,function(gn,tn){var Ei=gn.shared.context,Oi=Br;"width"in Dt||(Oi=tn.def(Ei,".",ze,"-",lr));var Gi=Di;return"height"in Dt||(Gi=tn.def(Ei,".",Qe,"-",_r)),[lr,_r,Oi,Gi]})}else if(_t in Bt){var ci=Bt[_t],bi=Bn(ci,function(gn,tn){var Ei=gn.invoke(tn,ci),Oi=gn.shared.context,Gi=tn.def(Ei,".x|0"),on=tn.def(Ei,".y|0"),zn=tn.def('"width" in ',Ei,"?",Ei,".width|0:","(",Oi,".",ze,"-",Gi,")"),Ja=tn.def('"height" in ',Ei,"?",Ei,".height|0:","(",Oi,".",Qe,"-",on,")");return[Gi,on,zn,Ja]});return $e&&(bi.thisDep=bi.thisDep||$e.thisDep,bi.contextDep=bi.contextDep||$e.contextDep,bi.propDep=bi.propDep||$e.propDep),bi}else return $e?new Qr($e.thisDep,$e.contextDep,$e.propDep,function(gn,tn){var Ei=gn.shared.context;return[0,0,tn.def(Ei,".",ze),tn.def(Ei,".",Qe)]}):null}var Ut=Ft(ee);if(Ut){var zt=Ut;Ut=new Qr(Ut.thisDep,Ut.contextDep,Ut.propDep,function(_t,Dt){var vt=zt.append(_t,Dt),lr=_t.shared.context;return Dt.set(lr,"."+Xe,vt[2]),Dt.set(lr,"."+nt,vt[3]),vt})}return{viewport:Ut,scissor_box:Ft(Q)}}function is(Ne,$e){var st=Ne.static,It=typeof st[ut]=="string"&&typeof st[Ze]=="string";if(It){if(Object.keys($e.dynamic).length>0)return null;var Bt=$e.static,Ft=Object.keys(Bt);if(Ft.length>0&&typeof Bt[Ft[0]]=="number"){for(var Ut=[],zt=0;zt<Ft.length;++zt)Ut.push([Bt[Ft[zt]]|0,Ft[zt]]);return Ut}}return null}function Zs(Ne,$e,st){var It=Ne.static,Bt=Ne.dynamic;function Ft(vt){if(vt in It){var lr=bt.id(It[vt]),_r=kn(function(){return lr});return _r.id=lr,_r}else if(vt in Bt){var Br=Bt[vt];return Bn(Br,function(Di,ci){var bi=Di.invoke(ci,Br),gn=ci.def(Di.shared.strings,".id(",bi,")");return gn})}return null}var Ut=Ft(ut),zt=Ft(Ze),_t=null,Dt;return Pn(Ut)&&Pn(zt)?(_t=Si.program(zt.id,Ut.id,null,st),Dt=kn(function(vt,lr){return vt.link(_t)})):Dt=new Qr(Ut&&Ut.thisDep||zt&&zt.thisDep,Ut&&Ut.contextDep||zt&&zt.contextDep,Ut&&Ut.propDep||zt&&zt.propDep,function(vt,lr){var _r=vt.shared.shader,Br;Ut?Br=Ut.append(vt,lr):Br=lr.def(_r,".",ut);var Di;zt?Di=zt.append(vt,lr):Di=lr.def(_r,".",Ze);var ci=_r+".program("+Di+","+Br;return lr.def(ci+")")}),{frag:Ut,vert:zt,progVar:Dt,program:_t}}function Ga(Ne,$e){var st=Ne.static,It=Ne.dynamic,Bt={},Ft=!1;function Ut(){if(ve in st){var tn=st[ve];return tn!==null&&qi.getVAO(tn)===null&&(tn=qi.createVAO(tn)),Ft=!0,Bt.vao=tn,kn(function(Oi){var Gi=qi.getVAO(tn);return Gi?Oi.link(Gi):"null"})}else if(ve in It){Ft=!0;var Ei=It[ve];return Bn(Ei,function(Oi,Gi){var on=Oi.invoke(Gi,Ei);return Gi.def(Oi.shared.vao+".getVAO("+on+")")})}return null}var zt=Ut(),_t=!1;function Dt(){if(Mt in st){var tn=st[Mt];if(Bt.elements=tn,Li(tn)){var Ei=Bt.elements=Or.create(tn,!0);tn=Or.getElements(Ei),_t=!0}else tn&&(tn=Or.getElements(tn),_t=!0);var Oi=kn(function(on,zn){if(tn){var Ja=on.link(tn);return on.ELEMENTS=Ja,Ja}return on.ELEMENTS=null,null});return Oi.value=tn,Oi}else if(Mt in It){_t=!0;var Gi=It[Mt];return Bn(Gi,function(on,zn){var Ja=on.shared,co=Ja.isBufferArgs,ts=Ja.elements,so=on.invoke(zn,Gi),Yo=zn.def("null"),ms=zn.def(co,"(",so,")"),ou=on.cond(ms).then(Yo,"=",ts,".createStream(",so,");").else(Yo,"=",ts,".getElements(",so,");");return zn.entry(ou),zn.exit(on.cond(ms).then(ts,".destroyStream(",Yo,");")),on.ELEMENTS=Yo,Yo})}else if(Ft)return new Qr(zt.thisDep,zt.contextDep,zt.propDep,function(on,zn){return zn.def(on.shared.vao+".currentVAO?"+on.shared.elements+".getElements("+on.shared.vao+".currentVAO.elements):null")});return null}var vt=Dt();function lr(){if(Jt in st){var tn=st[Jt];return Bt.primitive=tn,kn(function(Oi,Gi){return Mn[tn]})}else if(Jt in It){var Ei=It[Jt];return Bn(Ei,function(Oi,Gi){var on=Oi.constants.primTypes,zn=Oi.invoke(Gi,Ei);return Gi.def(on,"[",zn,"]")})}else{if(_t)return Pn(vt)?vt.value?kn(function(Oi,Gi){return Gi.def(Oi.ELEMENTS,".primType")}):kn(function(){return Al}):new Qr(vt.thisDep,vt.contextDep,vt.propDep,function(Oi,Gi){var on=Oi.ELEMENTS;return Gi.def(on,"?",on,".primType:",Al)});if(Ft)return new Qr(zt.thisDep,zt.contextDep,zt.propDep,function(Oi,Gi){return Gi.def(Oi.shared.vao+".currentVAO?"+Oi.shared.vao+".currentVAO.primitive:"+Al)})}return null}function _r(tn,Ei){if(tn in st){var Oi=st[tn]|0;return Ei?Bt.offset=Oi:Bt.instances=Oi,kn(function(on,zn){return Ei&&(on.OFFSET=Oi),Oi})}else if(tn in It){var Gi=It[tn];return Bn(Gi,function(on,zn){var Ja=on.invoke(zn,Gi);return Ei&&(on.OFFSET=Ja),Ja})}else if(Ei){if(_t)return kn(function(on,zn){return on.OFFSET=0,0});if(Ft)return new Qr(zt.thisDep,zt.contextDep,zt.propDep,function(on,zn){return zn.def(on.shared.vao+".currentVAO?"+on.shared.vao+".currentVAO.offset:0")})}else if(Ft)return new Qr(zt.thisDep,zt.contextDep,zt.propDep,function(on,zn){return zn.def(on.shared.vao+".currentVAO?"+on.shared.vao+".currentVAO.instances:-1")});return null}var Br=_r(yr,!0);function Di(){if($t in st){var tn=st[$t]|0;return Bt.count=tn,kn(function(){return tn})}else if($t in It){var Ei=It[$t];return Bn(Ei,function(zn,Ja){var co=zn.invoke(Ja,Ei);return co})}else if(_t)if(Pn(vt)){if(vt)return Br?new Qr(Br.thisDep,Br.contextDep,Br.propDep,function(zn,Ja){var co=Ja.def(zn.ELEMENTS,".vertCount-",zn.OFFSET);return co}):kn(function(zn,Ja){return Ja.def(zn.ELEMENTS,".vertCount")});var Oi=kn(function(){return-1});return Oi}else{var Gi=new Qr(vt.thisDep||Br.thisDep,vt.contextDep||Br.contextDep,vt.propDep||Br.propDep,function(zn,Ja){var co=zn.ELEMENTS;return zn.OFFSET?Ja.def(co,"?",co,".vertCount-",zn.OFFSET,":-1"):Ja.def(co,"?",co,".vertCount:-1")});return Gi}else if(Ft){var on=new Qr(zt.thisDep,zt.contextDep,zt.propDep,function(zn,Ja){return Ja.def(zn.shared.vao,".currentVAO?",zn.shared.vao,".currentVAO.count:-1")});return on}return null}var ci=lr(),bi=Di(),gn=_r(Cr,!1);return{elements:vt,primitive:ci,count:bi,instances:gn,offset:Br,vao:zt,vaoActive:Ft,elementsActive:_t,static:Bt}}function Ml(Ne,$e){var st=Ne.static,It=Ne.dynamic,Bt={};return fi.forEach(function(Ft){var Ut=Ji(Ft);function zt(_t,Dt){if(Ft in st){var vt=_t(st[Ft]);Bt[Ut]=kn(function(){return vt})}else if(Ft in It){var lr=It[Ft];Bt[Ut]=Bn(lr,function(_r,Br){return Dt(_r,Br,_r.invoke(Br,lr))})}}switch(Ft){case Cu:case Ho:case ws:case Vc:case va:case B:case Uc:case Ac:case Va:case rs:return zt(function(_t){return _t},function(_t,Dt,vt){return vt});case no:return zt(function(_t){return Wr[_t]},function(_t,Dt,vt){var lr=_t.constants.compareFuncs;return Dt.def(lr,"[",vt,"]")});case ys:return zt(function(_t){return _t},function(_t,Dt,vt){var lr=Dt.def("+",vt,"[0]"),_r=Dt.def("+",vt,"[1]");return[lr,_r]});case Ls:return zt(function(_t){var Dt="srcRGB"in _t?_t.srcRGB:_t.src,vt="srcAlpha"in _t?_t.srcAlpha:_t.src,lr="dstRGB"in _t?_t.dstRGB:_t.dst,_r="dstAlpha"in _t?_t.dstAlpha:_t.dst;return[xi[Dt],xi[lr],xi[vt],xi[_r]]},function(_t,Dt,vt){var lr=_t.constants.blendFuncs;function _r(Ei,Oi){var Gi=Dt.def('"',Ei,Oi,'" in ',vt,"?",vt,".",Ei,Oi,":",vt,".",Ei);return Gi}var Br=_r("src","RGB"),Di=_r("dst","RGB"),ci=Dt.def(lr,"[",Br,"]"),bi=Dt.def(lr,"[",_r("src","Alpha"),"]"),gn=Dt.def(lr,"[",Di,"]"),tn=Dt.def(lr,"[",_r("dst","Alpha"),"]");return[ci,gn,bi,tn]});case Ws:return zt(function(_t){if(typeof _t=="string")return[yi[_t],yi[_t]];if(typeof _t=="object")return[yi[_t.rgb],yi[_t.alpha]]},function(_t,Dt,vt){var lr=_t.constants.blendEquations,_r=Dt.def(),Br=Dt.def(),Di=_t.cond("typeof ",vt,'==="string"');return Di.then(_r,"=",Br,"=",lr,"[",vt,"];"),Di.else(_r,"=",lr,"[",vt,".rgb];",Br,"=",lr,"[",vt,".alpha];"),Dt(Di),[_r,Br]});case ml:return zt(function(_t){return S(4,function(Dt){return+_t[Dt]})},function(_t,Dt,vt){return S(4,function(lr){return Dt.def("+",vt,"[",lr,"]")})});case hc:return zt(function(_t){return _t|0},function(_t,Dt,vt){return Dt.def(vt,"|0")});case Ku:return zt(function(_t){var Dt=_t.cmp||"keep",vt=_t.ref||0,lr="mask"in _t?_t.mask:-1;return[Wr[Dt],vt,lr]},function(_t,Dt,vt){var lr=_t.constants.compareFuncs,_r=Dt.def('"cmp" in ',vt,"?",lr,"[",vt,".cmp]",":",ot),Br=Dt.def(vt,".ref|0"),Di=Dt.def('"mask" in ',vt,"?",vt,".mask|0:-1");return[_r,Br,Di]});case ue:case w:return zt(function(_t){var Dt=_t.fail||"keep",vt=_t.zfail||"keep",lr=_t.zpass||"keep";return[Ft===w?se:X,ii[Dt],ii[vt],ii[lr]]},function(_t,Dt,vt){var lr=_t.constants.stencilOps;function _r(Br){return Dt.def('"',Br,'" in ',vt,"?",lr,"[",vt,".",Br,"]:",ot)}return[Ft===w?se:X,_r("fail"),_r("zfail"),_r("zpass")]});case xu:return zt(function(_t){var Dt=_t.factor|0,vt=_t.units|0;return[Dt,vt]},function(_t,Dt,vt){var lr=Dt.def(vt,".factor|0"),_r=Dt.def(vt,".units|0");return[lr,_r]});case Yu:return zt(function(_t){var Dt=0;return _t==="front"?Dt=X:_t==="back"&&(Dt=se),Dt},function(_t,Dt,vt){return Dt.def(vt,'==="front"?',X,":",se)});case pu:return zt(function(_t){return _t},function(_t,Dt,vt){return vt});case Nc:return zt(function(_t){return di[_t]},function(_t,Dt,vt){return Dt.def(vt+'==="cw"?'+Te+":"+qe)});case Ql:return zt(function(_t){return _t.map(function(Dt){return!!Dt})},function(_t,Dt,vt){return S(4,function(lr){return"!!"+vt+"["+lr+"]"})});case oo:return zt(function(_t){var Dt="value"in _t?_t.value:1,vt=!!_t.invert;return[Dt,vt]},function(_t,Dt,vt){var lr=Dt.def('"value" in ',vt,"?+",vt,".value:1"),_r=Dt.def("!!",vt,".invert");return[lr,_r]})}}),Bt}function zo(Ne,$e){var st=Ne.static,It=Ne.dynamic,Bt={};return Object.keys(st).forEach(function(Ft){var Ut=st[Ft],zt;if(typeof Ut=="number"||typeof Ut=="boolean")zt=kn(function(){return Ut});else if(typeof Ut=="function"){var _t=Ut._reglType;_t==="texture2d"||_t==="textureCube"?zt=kn(function(Dt){return Dt.link(Ut)}):(_t==="framebuffer"||_t==="framebufferCube")&&(zt=kn(function(Dt){return Dt.link(Ut.color[0])}))}else En(Ut)&&(zt=kn(function(Dt){var vt=Dt.global.def("[",S(Ut.length,function(lr){return Ut[lr]}),"]");return vt}));zt.value=Ut,Bt[Ft]=zt}),Object.keys(It).forEach(function(Ft){var Ut=It[Ft];Bt[Ft]=Bn(Ut,function(zt,_t){return zt.invoke(_t,Ut)})}),Bt}function Qs(Ne,$e){var st=Ne.static,It=Ne.dynamic,Bt={};return Object.keys(st).forEach(function(Ft){var Ut=st[Ft],zt=bt.id(Ft),_t=new Zr;if(Li(Ut))_t.state=La,_t.buffer=Vr.getBuffer(Vr.create(Ut,br,!1,!0)),_t.type=0;else{var Dt=Vr.getBuffer(Ut);if(Dt)_t.state=La,_t.buffer=Dt,_t.type=0;else if("constant"in Ut){var vt=Ut.constant;_t.buffer="null",_t.state=Ua,typeof vt=="number"?_t.x=vt:Ca.forEach(function(gn,tn){tn<vt.length&&(_t[gn]=vt[tn])})}else{Li(Ut.buffer)?Dt=Vr.getBuffer(Vr.create(Ut.buffer,br,!1,!0)):Dt=Vr.getBuffer(Ut.buffer);var lr=Ut.offset|0,_r=Ut.stride|0,Br=Ut.size|0,Di=!!Ut.normalized,ci=0;"type"in Ut&&(ci=un[Ut.type]);var bi=Ut.divisor|0;_t.buffer=Dt,_t.state=La,_t.size=Br,_t.normalized=Di,_t.type=ci||Dt.dtype,_t.offset=lr,_t.stride=_r,_t.divisor=bi}}Bt[Ft]=kn(function(gn,tn){var Ei=gn.attribCache;if(zt in Ei)return Ei[zt];var Oi={isStream:!1};return Object.keys(_t).forEach(function(Gi){Oi[Gi]=_t[Gi]}),_t.buffer&&(Oi.buffer=gn.link(_t.buffer),Oi.type=Oi.type||Oi.buffer+".dtype"),Ei[zt]=Oi,Oi})}),Object.keys(It).forEach(function(Ft){var Ut=It[Ft];function zt(_t,Dt){var vt=_t.invoke(Dt,Ut),lr=_t.shared,_r=_t.constants,Br=lr.isBufferArgs,Di=lr.buffer,ci={isStream:Dt.def(!1)},bi=new Zr;bi.state=La,Object.keys(bi).forEach(function(Oi){ci[Oi]=Dt.def(""+bi[Oi])});var gn=ci.buffer,tn=ci.type;Dt("if(",Br,"(",vt,")){",ci.isStream,"=true;",gn,"=",Di,".createStream(",br,",",vt,");",tn,"=",gn,".dtype;","}else{",gn,"=",Di,".getBuffer(",vt,");","if(",gn,"){",tn,"=",gn,".dtype;",'}else if("constant" in ',vt,"){",ci.state,"=",Ua,";","if(typeof "+vt+'.constant === "number"){',ci[Ca[0]],"=",vt,".constant;",Ca.slice(1).map(function(Oi){return ci[Oi]}).join("="),"=0;","}else{",Ca.map(function(Oi,Gi){return ci[Oi]+"="+vt+".constant.length>"+Gi+"?"+vt+".constant["+Gi+"]:0;"}).join(""),"}}else{","if(",Br,"(",vt,".buffer)){",gn,"=",Di,".createStream(",br,",",vt,".buffer);","}else{",gn,"=",Di,".getBuffer(",vt,".buffer);","}",tn,'="type" in ',vt,"?",_r.glTypes,"[",vt,".type]:",gn,".dtype;",ci.normalized,"=!!",vt,".normalized;");function Ei(Oi){Dt(ci[Oi],"=",vt,".",Oi,"|0;")}return Ei("size"),Ei("offset"),Ei("stride"),Ei("divisor"),Dt("}}"),Dt.exit("if(",ci.isStream,"){",Di,".destroyStream(",gn,");","}"),ci}Bt[Ft]=Bn(Ut,zt)}),Bt}function al(Ne){var $e=Ne.static,st=Ne.dynamic,It={};return Object.keys($e).forEach(function(Bt){var Ft=$e[Bt];It[Bt]=kn(function(Ut,zt){return typeof Ft=="number"||typeof Ft=="boolean"?""+Ft:Ut.link(Ft)})}),Object.keys(st).forEach(function(Bt){var Ft=st[Bt];It[Bt]=Bn(Ft,function(Ut,zt){return Ut.invoke(zt,Ft)})}),It}function Vl(Ne,$e,st,It,Bt){var Ft=Ne.static,Ut=Ne.dynamic,zt=is(Ne,$e),_t=sa(Ne,Bt),Dt=ba(Ne,_t,Bt),vt=Ga(Ne,Bt),lr=Ml(Ne,Bt),_r=Zs(Ne,Bt,zt);function Br(Ei){var Oi=Dt[Ei];Oi&&(lr[Ei]=Oi)}Br(ee),Br(Ji(Q));var Di=Object.keys(lr).length>0,ci={framebuffer:_t,draw:vt,shader:_r,state:lr,dirty:Di,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(ci.profile=ia(Ne,Bt),ci.uniforms=zo(st,Bt),ci.drawVAO=ci.scopeVAO=vt.vao,!ci.drawVAO&&_r.program&&!zt&&Ot.angle_instanced_arrays&&vt.static.elements){var bi=!0,gn=_r.program.attributes.map(function(Ei){var Oi=$e.static[Ei];return bi=bi&&!!Oi,Oi});if(bi&&gn.length>0){var tn=qi.getVAO(qi.createVAO({attributes:gn,elements:vt.static.elements}));ci.drawVAO=new Qr(null,null,null,function(Ei,Oi){return Ei.link(tn)}),ci.useVAO=!0}}return zt?ci.useVAO=!0:ci.attributes=Qs($e,Bt),ci.context=al(It,Bt),ci}function ss(Ne,$e,st){var It=Ne.shared,Bt=It.context,Ft=Ne.scope();Object.keys(st).forEach(function(Ut){$e.save(Bt,"."+Ut);var zt=st[Ut],_t=zt.append(Ne,$e);Array.isArray(_t)?Ft(Bt,".",Ut,"=[",_t.join(),"];"):Ft(Bt,".",Ut,"=",_t,";")}),$e(Ft)}function Vs(Ne,$e,st,It){var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.framebuffer,zt;ui&&(zt=$e.def(Bt.extensions,".webgl_draw_buffers"));var _t=Ne.constants,Dt=_t.drawBuffer,vt=_t.backBuffer,lr;st?lr=st.append(Ne,$e):lr=$e.def(Ut,".next"),It||$e("if(",lr,"!==",Ut,".cur){"),$e("if(",lr,"){",Ft,".bindFramebuffer(",zr,",",lr,".framebuffer);"),ui&&$e(zt,".drawBuffersWEBGL(",Dt,"[",lr,".colorAttachments.length]);"),$e("}else{",Ft,".bindFramebuffer(",zr,",null);"),ui&&$e(zt,".drawBuffersWEBGL(",vt,");"),$e("}",Ut,".cur=",lr,";"),It||$e("}")}function Ys(Ne,$e,st){var It=Ne.shared,Bt=It.gl,Ft=Ne.current,Ut=Ne.next,zt=It.current,_t=It.next,Dt=Ne.cond(zt,".dirty");fi.forEach(function(vt){var lr=Ji(vt);if(!(lr in st.state)){var _r,Br;if(lr in Ut){_r=Ut[lr],Br=Ft[lr];var Di=S(Xi[lr].length,function(bi){return Dt.def(_r,"[",bi,"]")});Dt(Ne.cond(Di.map(function(bi,gn){return bi+"!=="+Br+"["+gn+"]"}).join("||")).then(Bt,".",mn[lr],"(",Di,");",Di.map(function(bi,gn){return Br+"["+gn+"]="+bi}).join(";"),";"))}else{_r=Dt.def(_t,".",lr);var ci=Ne.cond(_r,"!==",zt,".",lr);Dt(ci),lr in si?ci(Ne.cond(_r).then(Bt,".enable(",si[lr],");").else(Bt,".disable(",si[lr],");"),zt,".",lr,"=",_r,";"):ci(Bt,".",mn[lr],"(",_r,");",zt,".",lr,"=",_r,";")}}}),Object.keys(st.state).length===0&&Dt(zt,".dirty=false;"),$e(Dt)}function wa(Ne,$e,st,It){var Bt=Ne.shared,Ft=Ne.current,Ut=Bt.current,zt=Bt.gl,_t;Ti(Object.keys(st)).forEach(function(Dt){var vt=st[Dt];if(!(It&&!It(vt))){var lr=vt.append(Ne,$e);if(si[Dt]){var _r=si[Dt];Pn(vt)?(_t=Ne.link(lr,{stable:!0}),$e(Ne.cond(_t).then(zt,".enable(",_r,");").else(zt,".disable(",_r,");")),$e(Ut,".",Dt,"=",_t,";")):($e(Ne.cond(lr).then(zt,".enable(",_r,");").else(zt,".disable(",_r,");")),$e(Ut,".",Dt,"=",lr,";"))}else if(En(lr)){var Br=Ft[Dt];$e(zt,".",mn[Dt],"(",lr,");",lr.map(function(Di,ci){return Br+"["+ci+"]="+Di}).join(";"),";")}else Pn(vt)?(_t=Ne.link(lr,{stable:!0}),$e(zt,".",mn[Dt],"(",_t,");",Ut,".",Dt,"=",_t,";")):$e(zt,".",mn[Dt],"(",lr,");",Ut,".",Dt,"=",lr,";")}})}function ol(Ne,$e){Ii&&(Ne.instancing=$e.def(Ne.shared.extensions,".angle_instanced_arrays"))}function io(Ne,$e,st,It,Bt){var Ft=Ne.shared,Ut=Ne.stats,zt=Ft.current,_t=Ft.timer,Dt=st.profile;function vt(){return typeof performance=="undefined"?"Date.now()":"performance.now()"}var lr,_r;function Br(Ei){lr=$e.def(),Ei(lr,"=",vt(),";"),typeof Bt=="string"?Ei(Ut,".count+=",Bt,";"):Ei(Ut,".count++;"),ji&&(It?(_r=$e.def(),Ei(_r,"=",_t,".getNumPendingQueries();")):Ei(_t,".beginQuery(",Ut,");"))}function Di(Ei){Ei(Ut,".cpuTime+=",vt(),"-",lr,";"),ji&&(It?Ei(_t,".pushScopeStats(",_r,",",_t,".getNumPendingQueries(),",Ut,");"):Ei(_t,".endQuery();"))}function ci(Ei){var Oi=$e.def(zt,".profile");$e(zt,".profile=",Ei,";"),$e.exit(zt,".profile=",Oi,";")}var bi;if(Dt){if(Pn(Dt)){Dt.enable?(Br($e),Di($e.exit),ci("true")):ci("false");return}bi=Dt.append(Ne,$e),ci(bi)}else bi=$e.def(zt,".profile");var gn=Ne.block();Br(gn),$e("if(",bi,"){",gn,"}");var tn=Ne.block();Di(tn),$e.exit("if(",bi,"){",tn,"}")}function Y(Ne,$e,st,It,Bt){var Ft=Ne.shared;function Ut(_t){switch(_t){case Co:case Ps:case hl:return 2;case Qa:case Ts:case Ul:return 3;case mo:case wo:case Lu:return 4;default:return 1}}function zt(_t,Dt,vt){var lr=Ft.gl,_r=$e.def(_t,".location"),Br=$e.def(Ft.attributes,"[",_r,"]"),Di=vt.state,ci=vt.buffer,bi=[vt.x,vt.y,vt.z,vt.w],gn=["buffer","normalized","offset","stride"];function tn(){$e("if(!",Br,".buffer){",lr,".enableVertexAttribArray(",_r,");}");var Oi=vt.type,Gi;if(vt.size?Gi=$e.def(vt.size,"||",Dt):Gi=Dt,$e("if(",Br,".type!==",Oi,"||",Br,".size!==",Gi,"||",gn.map(function(zn){return Br+"."+zn+"!=="+vt[zn]}).join("||"),"){",lr,".bindBuffer(",br,",",ci,".buffer);",lr,".vertexAttribPointer(",[_r,Gi,Oi,vt.normalized,vt.stride,vt.offset],");",Br,".type=",Oi,";",Br,".size=",Gi,";",gn.map(function(zn){return Br+"."+zn+"="+vt[zn]+";"}).join(""),"}"),Ii){var on=vt.divisor;$e("if(",Br,".divisor!==",on,"){",Ne.instancing,".vertexAttribDivisorANGLE(",[_r,on],");",Br,".divisor=",on,";}")}}function Ei(){$e("if(",Br,".buffer){",lr,".disableVertexAttribArray(",_r,");",Br,".buffer=null;","}if(",Ca.map(function(Oi,Gi){return Br+"."+Oi+"!=="+bi[Gi]}).join("||"),"){",lr,".vertexAttrib4f(",_r,",",bi,");",Ca.map(function(Oi,Gi){return Br+"."+Oi+"="+bi[Gi]+";"}).join(""),"}")}Di===La?tn():Di===Ua?Ei():($e("if(",Di,"===",La,"){"),tn(),$e("}else{"),Ei(),$e("}"))}It.forEach(function(_t){var Dt=_t.name,vt=st.attributes[Dt],lr;if(vt){if(!Bt(vt))return;lr=vt.append(Ne,$e)}else{if(!Bt(na))return;var _r=Ne.scopeAttrib(Dt);lr={},Object.keys(new Zr).forEach(function(Br){lr[Br]=$e.def(_r,".",Br)})}zt(Ne.link(_t),Ut(_t.info.type),lr)})}function D(Ne,$e,st,It,Bt,Ft){for(var Ut=Ne.shared,zt=Ut.gl,_t,Dt=0;Dt<It.length;++Dt){var vt=It[Dt],lr=vt.name,_r=vt.info.type,Br=st.uniforms[lr],Di=Ne.link(vt),ci=Di+".location",bi;if(Br){if(!Bt(Br))continue;if(Pn(Br)){var gn=Br.value;if(_r===dc||_r===Tl){var tn=Ne.link(gn._texture||gn.color[0]._texture);$e(zt,".uniform1i(",ci,",",tn+".bind());"),$e.exit(tn,".unbind();")}else if(_r===au||_r===Js||_r===eu){var Ei=Ne.global.def("new Float32Array(["+Array.prototype.slice.call(gn)+"])"),Oi=2;_r===Js?Oi=3:_r===eu&&(Oi=4),$e(zt,".uniformMatrix",Oi,"fv(",ci,",false,",Ei,");")}else{switch(_r){case $a:_t="1f";break;case Co:_t="2f";break;case Qa:_t="3f";break;case mo:_t="4f";break;case To:_t="1i";break;case Bo:_t="1i";break;case hl:_t="2i";break;case Ps:_t="2i";break;case Ul:_t="3i";break;case Ts:_t="3i";break;case Lu:_t="4i";break;case wo:_t="4i";break}$e(zt,".uniform",_t,"(",ci,",",En(gn)?Array.prototype.slice.call(gn):gn,");")}continue}else bi=Br.append(Ne,$e)}else{if(!Bt(na))continue;bi=$e.def(Ut.uniforms,"[",bt.id(lr),"]")}_r===dc?$e("if(",bi,"&&",bi,'._reglType==="framebuffer"){',bi,"=",bi,".color[0];","}"):_r===Tl&&$e("if(",bi,"&&",bi,'._reglType==="framebufferCube"){',bi,"=",bi,".color[0];","}");var Gi=1;switch(_r){case dc:case Tl:var on=$e.def(bi,"._texture");$e(zt,".uniform1i(",ci,",",on,".bind());"),$e.exit(on,".unbind();");continue;case Bo:case To:_t="1i";break;case Ps:case hl:_t="2i",Gi=2;break;case Ts:case Ul:_t="3i",Gi=3;break;case wo:case Lu:_t="4i",Gi=4;break;case $a:_t="1f";break;case Co:_t="2f",Gi=2;break;case Qa:_t="3f",Gi=3;break;case mo:_t="4f",Gi=4;break;case au:_t="Matrix2fv";break;case Js:_t="Matrix3fv";break;case eu:_t="Matrix4fv";break}if(_t.charAt(0)==="M"){$e(zt,".uniform",_t,"(",ci,",");var zn=Math.pow(_r-au+2,2),Ja=Ne.global.def("new Float32Array(",zn,")");Array.isArray(bi)?$e("false,(",S(zn,function(ms){return Ja+"["+ms+"]="+bi[ms]}),",",Ja,")"):$e("false,(Array.isArray(",bi,")||",bi," instanceof Float32Array)?",bi,":(",S(zn,function(ms){return Ja+"["+ms+"]="+bi+"["+ms+"]"}),",",Ja,")"),$e(");")}else if(Gi>1){for(var co=[],ts=[],so=0;so<Gi;++so)Array.isArray(bi)?ts.push(bi[so]):ts.push($e.def(bi+"["+so+"]")),Ft&&co.push($e.def());Ft&&$e("if(!",Ne.batchId,"||",co.map(function(ms,ou){return ms+"!=="+ts[ou]}).join("||"),"){",co.map(function(ms,ou){return ms+"="+ts[ou]+";"}).join("")),$e(zt,".uniform",_t,"(",ci,",",ts.join(","),");"),Ft&&$e("}")}else{if(Ft){var Yo=$e.def();$e("if(!",Ne.batchId,"||",Yo,"!==",bi,"){",Yo,"=",bi,";")}$e(zt,".uniform",_t,"(",ci,",",bi,");"),Ft&&$e("}")}}}function J(Ne,$e,st,It){var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.draw,zt=It.draw;function _t(){var Gi=zt.elements,on,zn=$e;return Gi?((Gi.contextDep&&It.contextDynamic||Gi.propDep)&&(zn=st),on=Gi.append(Ne,zn),zt.elementsActive&&zn("if("+on+")"+Ft+".bindBuffer("+Fr+","+on+".buffer.buffer);")):(on=zn.def(),zn(on,"=",Ut,".",Mt,";","if(",on,"){",Ft,".bindBuffer(",Fr,",",on,".buffer.buffer);}","else if(",Bt.vao,".currentVAO){",on,"=",Ne.shared.elements+".getElements("+Bt.vao,".currentVAO.elements);",nn?"":"if("+on+")"+Ft+".bindBuffer("+Fr+","+on+".buffer.buffer);","}")),on}function Dt(){var Gi=zt.count,on,zn=$e;return Gi?((Gi.contextDep&&It.contextDynamic||Gi.propDep)&&(zn=st),on=Gi.append(Ne,zn)):on=zn.def(Ut,".",$t),on}var vt=_t();function lr(Gi){var on=zt[Gi];return on?on.contextDep&&It.contextDynamic||on.propDep?on.append(Ne,st):on.append(Ne,$e):$e.def(Ut,".",Gi)}var _r=lr(Jt),Br=lr(yr),Di=Dt();if(typeof Di=="number"){if(Di===0)return}else st("if(",Di,"){"),st.exit("}");var ci,bi;Ii&&(ci=lr(Cr),bi=Ne.instancing);var gn=vt+".type",tn=zt.elements&&Pn(zt.elements)&&!zt.vaoActive;function Ei(){function Gi(){st(bi,".drawElementsInstancedANGLE(",[_r,Di,gn,Br+"<<(("+gn+"-"+Ra+")>>1)",ci],");")}function on(){st(bi,".drawArraysInstancedANGLE(",[_r,Br,Di,ci],");")}vt&&vt!=="null"?tn?Gi():(st("if(",vt,"){"),Gi(),st("}else{"),on(),st("}")):on()}function Oi(){function Gi(){st(Ft+".drawElements("+[_r,Di,gn,Br+"<<(("+gn+"-"+Ra+")>>1)"]+");")}function on(){st(Ft+".drawArrays("+[_r,Br,Di]+");")}vt&&vt!=="null"?tn?Gi():(st("if(",vt,"){"),Gi(),st("}else{"),on(),st("}")):on()}Ii&&(typeof ci!="number"||ci>=0)?typeof ci=="string"?(st("if(",ci,">0){"),Ei(),st("}else if(",ci,"<0){"),Oi(),st("}")):Ei():Oi()}function O(Ne,$e,st,It,Bt){var Ft=Cn(),Ut=Ft.proc("body",Bt);return Ii&&(Ft.instancing=Ut.def(Ft.shared.extensions,".angle_instanced_arrays")),Ne(Ft,Ut,st,It),Ft.compile().body}function K(Ne,$e,st,It){ol(Ne,$e),st.useVAO?st.drawVAO?$e(Ne.shared.vao,".setVAO(",st.drawVAO.append(Ne,$e),");"):$e(Ne.shared.vao,".setVAO(",Ne.shared.vao,".targetVAO);"):($e(Ne.shared.vao,".setVAO(null);"),Y(Ne,$e,st,It.attributes,function(){return!0})),D(Ne,$e,st,It.uniforms,function(){return!0},!1),J(Ne,$e,$e,st)}function de(Ne,$e){var st=Ne.proc("draw",1);ol(Ne,st),ss(Ne,st,$e.context),Vs(Ne,st,$e.framebuffer),Ys(Ne,st,$e),wa(Ne,st,$e.state),io(Ne,st,$e,!1,!0);var It=$e.shader.progVar.append(Ne,st);if(st(Ne.shared.gl,".useProgram(",It,".program);"),$e.shader.program)K(Ne,st,$e,$e.shader.program);else{st(Ne.shared.vao,".setVAO(null);");var Bt=Ne.global.def("{}"),Ft=st.def(It,".id"),Ut=st.def(Bt,"[",Ft,"]");st(Ne.cond(Ut).then(Ut,".call(this,a0);").else(Ut,"=",Bt,"[",Ft,"]=",Ne.link(function(zt){return O(K,Ne,$e,zt,1)}),"(",It,");",Ut,".call(this,a0);"))}Object.keys($e.state).length>0&&st(Ne.shared.current,".dirty=true;"),Ne.shared.vao&&st(Ne.shared.vao,".setVAO(null);")}function ne(Ne,$e,st,It){Ne.batchId="a1",ol(Ne,$e);function Bt(){return!0}Y(Ne,$e,st,It.attributes,Bt),D(Ne,$e,st,It.uniforms,Bt,!1),J(Ne,$e,$e,st)}function we(Ne,$e,st,It){ol(Ne,$e);var Bt=st.contextDep,Ft=$e.def(),Ut="a0",zt="a1",_t=$e.def();Ne.shared.props=_t,Ne.batchId=Ft;var Dt=Ne.scope(),vt=Ne.scope();$e(Dt.entry,"for(",Ft,"=0;",Ft,"<",zt,";++",Ft,"){",_t,"=",Ut,"[",Ft,"];",vt,"}",Dt.exit);function lr(gn){return gn.contextDep&&Bt||gn.propDep}function _r(gn){return!lr(gn)}if(st.needsContext&&ss(Ne,vt,st.context),st.needsFramebuffer&&Vs(Ne,vt,st.framebuffer),wa(Ne,vt,st.state,lr),st.profile&&lr(st.profile)&&io(Ne,vt,st,!1,!0),It)st.useVAO?st.drawVAO?lr(st.drawVAO)?vt(Ne.shared.vao,".setVAO(",st.drawVAO.append(Ne,vt),");"):Dt(Ne.shared.vao,".setVAO(",st.drawVAO.append(Ne,Dt),");"):Dt(Ne.shared.vao,".setVAO(",Ne.shared.vao,".targetVAO);"):(Dt(Ne.shared.vao,".setVAO(null);"),Y(Ne,Dt,st,It.attributes,_r),Y(Ne,vt,st,It.attributes,lr)),D(Ne,Dt,st,It.uniforms,_r,!1),D(Ne,vt,st,It.uniforms,lr,!0),J(Ne,Dt,vt,st);else{var Br=Ne.global.def("{}"),Di=st.shader.progVar.append(Ne,vt),ci=vt.def(Di,".id"),bi=vt.def(Br,"[",ci,"]");vt(Ne.shared.gl,".useProgram(",Di,".program);","if(!",bi,"){",bi,"=",Br,"[",ci,"]=",Ne.link(function(gn){return O(ne,Ne,st,gn,2)}),"(",Di,");}",bi,".call(this,a0[",Ft,"],",Ft,");")}}function Oe(Ne,$e){var st=Ne.proc("batch",2);Ne.batchId="0",ol(Ne,st);var It=!1,Bt=!0;Object.keys($e.context).forEach(function(Br){It=It||$e.context[Br].propDep}),It||(ss(Ne,st,$e.context),Bt=!1);var Ft=$e.framebuffer,Ut=!1;Ft?(Ft.propDep?It=Ut=!0:Ft.contextDep&&It&&(Ut=!0),Ut||Vs(Ne,st,Ft)):Vs(Ne,st,null),$e.state.viewport&&$e.state.viewport.propDep&&(It=!0);function zt(Br){return Br.contextDep&&It||Br.propDep}Ys(Ne,st,$e),wa(Ne,st,$e.state,function(Br){return!zt(Br)}),(!$e.profile||!zt($e.profile))&&io(Ne,st,$e,!1,"a1"),$e.contextDep=It,$e.needsContext=Bt,$e.needsFramebuffer=Ut;var _t=$e.shader.progVar;if(_t.contextDep&&It||_t.propDep)we(Ne,st,$e,null);else{var Dt=_t.append(Ne,st);if(st(Ne.shared.gl,".useProgram(",Dt,".program);"),$e.shader.program)we(Ne,st,$e,$e.shader.program);else{st(Ne.shared.vao,".setVAO(null);");var vt=Ne.global.def("{}"),lr=st.def(Dt,".id"),_r=st.def(vt,"[",lr,"]");st(Ne.cond(_r).then(_r,".call(this,a0,a1);").else(_r,"=",vt,"[",lr,"]=",Ne.link(function(Br){return O(we,Ne,$e,Br,2)}),"(",Dt,");",_r,".call(this,a0,a1);"))}}Object.keys($e.state).length>0&&st(Ne.shared.current,".dirty=true;"),Ne.shared.vao&&st(Ne.shared.vao,".setVAO(null);")}function ht(Ne,$e){var st=Ne.proc("scope",3);Ne.batchId="a2";var It=Ne.shared,Bt=It.current;if(ss(Ne,st,$e.context),$e.framebuffer&&$e.framebuffer.append(Ne,st),Ti(Object.keys($e.state)).forEach(function(zt){var _t=$e.state[zt],Dt=_t.append(Ne,st);En(Dt)?Dt.forEach(function(vt,lr){pn(vt)?st.set(Ne.next[zt],"["+lr+"]",vt):st.set(Ne.next[zt],"["+lr+"]",Ne.link(vt,{stable:!0}))}):Pn(_t)?st.set(It.next,"."+zt,Ne.link(Dt,{stable:!0})):st.set(It.next,"."+zt,Dt)}),io(Ne,st,$e,!0,!0),[Mt,yr,$t,Cr,Jt].forEach(function(zt){var _t=$e.draw[zt];if(_t){var Dt=_t.append(Ne,st);pn(Dt)?st.set(It.draw,"."+zt,Dt):st.set(It.draw,"."+zt,Ne.link(Dt),{stable:!0})}}),Object.keys($e.uniforms).forEach(function(zt){var _t=$e.uniforms[zt].append(Ne,st);Array.isArray(_t)&&(_t="["+_t.map(function(Dt){return pn(Dt)?Dt:Ne.link(Dt,{stable:!0})})+"]"),st.set(It.uniforms,"["+Ne.link(bt.id(zt),{stable:!0})+"]",_t)}),Object.keys($e.attributes).forEach(function(zt){var _t=$e.attributes[zt].append(Ne,st),Dt=Ne.scopeAttrib(zt);Object.keys(new Zr).forEach(function(vt){st.set(Dt,"."+vt,_t[vt])})}),$e.scopeVAO){var Ft=$e.scopeVAO.append(Ne,st);pn(Ft)?st.set(It.vao,".targetVAO",Ft):st.set(It.vao,".targetVAO",Ne.link(Ft,{stable:!0}))}function Ut(zt){var _t=$e.shader[zt];if(_t){var Dt=_t.append(Ne,st);pn(Dt)?st.set(It.shader,"."+zt,Dt):st.set(It.shader,"."+zt,Ne.link(Dt,{stable:!0}))}}Ut(Ze),Ut(ut),Object.keys($e.state).length>0&&(st(Bt,".dirty=true;"),st.exit(Bt,".dirty=true;")),st("a1(",Ne.shared.context,",a0,",Ne.batchId,");")}function Yt(Ne){if(!(typeof Ne!="object"||En(Ne))){for(var $e=Object.keys(Ne),st=0;st<$e.length;++st)if(h.isDynamic(Ne[$e[st]]))return!0;return!1}}function cr(Ne,$e,st){var It=$e.static[st];if(!It||!Yt(It))return;var Bt=Ne.global,Ft=Object.keys(It),Ut=!1,zt=!1,_t=!1,Dt=Ne.global.def("{}");Ft.forEach(function(lr){var _r=It[lr];if(h.isDynamic(_r)){typeof _r=="function"&&(_r=It[lr]=h.unbox(_r));var Br=Bn(_r,null);Ut=Ut||Br.thisDep,_t=_t||Br.propDep,zt=zt||Br.contextDep}else{switch(Bt(Dt,".",lr,"="),typeof _r){case"number":Bt(_r);break;case"string":Bt('"',_r,'"');break;case"object":Array.isArray(_r)&&Bt("[",_r.join(),"]");break;default:Bt(Ne.link(_r));break}Bt(";")}});function vt(lr,_r){Ft.forEach(function(Br){var Di=It[Br];if(h.isDynamic(Di)){var ci=lr.invoke(_r,Di);_r(Dt,".",Br,"=",ci,";")}})}$e.dynamic[st]=new h.DynamicVariable(Zo,{thisDep:Ut,contextDep:zt,propDep:_t,ref:Dt,append:vt}),delete $e.static[st]}function Nt(Ne,$e,st,It,Bt){var Ft=Cn();Ft.stats=Ft.link(Bt),Object.keys($e.static).forEach(function(zt){cr(Ft,$e,zt)}),fr.forEach(function(zt){cr(Ft,Ne,zt)});var Ut=Vl(Ne,$e,st,It,Ft);return Ut.shader.program&&(Ut.shader.program.attributes.sort(function(zt,_t){return zt.name<_t.name?-1:1}),Ut.shader.program.uniforms.sort(function(zt,_t){return zt.name<_t.name?-1:1})),de(Ft,Ut),ht(Ft,Ut),Oe(Ft,Ut),e(Ft.compile(),{destroy:function(){Ut.shader.program.destroy()}})}return{next:qn,current:Xi,procs:function(){var Ne=Cn(),$e=Ne.proc("poll"),st=Ne.proc("refresh"),It=Ne.block();$e(It),st(It);var Bt=Ne.shared,Ft=Bt.gl,Ut=Bt.next,zt=Bt.current;It(zt,".dirty=false;"),Vs(Ne,$e),Vs(Ne,st,null,!0);var _t;Ii&&(_t=Ne.link(Ii)),Ot.oes_vertex_array_object&&st(Ne.link(Ot.oes_vertex_array_object),".bindVertexArrayOES(null);");var Dt=st.def(Bt.attributes),vt=st.def(0),lr=Ne.cond(vt,".buffer");lr.then(Ft,".enableVertexAttribArray(i);",Ft,".bindBuffer(",br,",",vt,".buffer.buffer);",Ft,".vertexAttribPointer(i,",vt,".size,",vt,".type,",vt,".normalized,",vt,".stride,",vt,".offset);").else(Ft,".disableVertexAttribArray(i);",Ft,".vertexAttrib4f(i,",vt,".x,",vt,".y,",vt,".z,",vt,".w);",vt,".buffer=null;");var _r=Ne.link(Lr.maxAttributes,{stable:!0});return st("for(var i=0;i<",_r,";++i){",vt,"=",Dt,"[i];",lr,"}"),Ii&&st("for(var i=0;i<",_r,";++i){",_t,".vertexAttribDivisorANGLE(i,",Dt,"[i].divisor);","}"),st(Ne.shared.vao,".currentVAO=null;",Ne.shared.vao,".setVAO(",Ne.shared.vao,".targetVAO);"),Object.keys(si).forEach(function(Br){var Di=si[Br],ci=It.def(Ut,".",Br),bi=Ne.block();bi("if(",ci,"){",Ft,".enable(",Di,")}else{",Ft,".disable(",Di,")}",zt,".",Br,"=",ci,";"),st(bi),$e("if(",ci,"!==",zt,".",Br,"){",bi,"}")}),Object.keys(mn).forEach(function(Br){var Di=mn[Br],ci=Xi[Br],bi,gn,tn=Ne.block();if(tn(Ft,".",Di,"("),En(ci)){var Ei=ci.length;bi=Ne.global.def(Ut,".",Br),gn=Ne.global.def(zt,".",Br),tn(S(Ei,function(Oi){return bi+"["+Oi+"]"}),");",S(Ei,function(Oi){return gn+"["+Oi+"]="+bi+"["+Oi+"];"}).join("")),$e("if(",S(Ei,function(Oi){return bi+"["+Oi+"]!=="+gn+"["+Oi+"]"}).join("||"),"){",tn,"}")}else bi=It.def(Ut,".",Br),gn=It.def(zt,".",Br),tn(bi,");",zt,".",Br,"=",bi,";"),$e("if(",bi,"!==",gn,"){",tn,"}");st(tn)}),Ne.compile()}(),compile:Nt}}function Ia(){return{vaoCount:0,bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0}}var yo=34918,Da=34919,go=35007,Is=function(Me,bt){if(!bt.ext_disjoint_timer_query)return null;var Ot=[];function Lr(){return Ot.pop()||bt.ext_disjoint_timer_query.createQueryEXT()}function Vr(yi){Ot.push(yi)}var Or=[];function Nr(yi){var Ii=Lr();bt.ext_disjoint_timer_query.beginQueryEXT(go,Ii),Or.push(Ii),ji(Or.length-1,Or.length,yi)}function vi(){bt.ext_disjoint_timer_query.endQueryEXT(go)}function Ni(){this.startQueryIndex=-1,this.endQueryIndex=-1,this.sum=0,this.stats=null}var qi=[];function Si(){return qi.pop()||new Ni}function Vn(yi){qi.push(yi)}var Qi=[];function ji(yi,Ii,ui){var nn=Si();nn.startQueryIndex=yi,nn.endQueryIndex=Ii,nn.sum=0,nn.stats=ui,Qi.push(nn)}var oi=[],Tr=[];function Zr(){var yi,Ii,ui=Or.length;if(ui!==0){Tr.length=Math.max(Tr.length,ui+1),oi.length=Math.max(oi.length,ui+1),oi[0]=0,Tr[0]=0;var nn=0;for(yi=0,Ii=0;Ii<Or.length;++Ii){var Xi=Or[Ii];bt.ext_disjoint_timer_query.getQueryObjectEXT(Xi,Da)?(nn+=bt.ext_disjoint_timer_query.getQueryObjectEXT(Xi,yo),Vr(Xi)):Or[yi++]=Xi,oi[Ii+1]=nn,Tr[Ii+1]=yi}for(Or.length=yi,yi=0,Ii=0;Ii<Qi.length;++Ii){var qn=Qi[Ii],fi=qn.startQueryIndex,si=qn.endQueryIndex;qn.sum+=oi[si]-oi[fi];var mn=Tr[fi],Ji=Tr[si];Ji===mn?(qn.stats.gpuTime+=qn.sum/1e6,Vn(qn)):(qn.startQueryIndex=mn,qn.endQueryIndex=Ji,Qi[yi++]=qn)}Qi.length=yi}}return{beginQuery:Nr,endQuery:vi,pushScopeStats:ji,update:Zr,getNumPendingQueries:function(){return Or.length},clear:function(){Ot.push.apply(Ot,Or);for(var yi=0;yi<Ot.length;yi++)bt.ext_disjoint_timer_query.deleteQueryEXT(Ot[yi]);Or.length=0,Ot.length=0},restore:function(){Or.length=0,Ot.length=0}}},Ms=16384,Xs=256,Un=1024,ja=34962,Fo="webglcontextlost",Uo="webglcontextrestored",$s=1,Sl=2,bu=3;function dl(Me,bt){for(var Ot=0;Ot<Me.length;++Ot)if(Me[Ot]===bt)return Ot;return-1}function Sc(Me){var bt=x(Me);if(!bt)return null;var Ot=bt.gl,Lr=Ot.getContextAttributes(),Vr=Ot.isContextLost(),Or=C(Ot,bt);if(!Or)return null;var Nr=m(),vi=Ia(),Ni=bt.cachedCode||{},qi=Or.extensions,Si=Is(Ot,qi),Vn=v(),Qi=Ot.drawingBufferWidth,ji=Ot.drawingBufferHeight,oi={tick:0,time:0,viewportWidth:Qi,viewportHeight:ji,framebufferWidth:Qi,framebufferHeight:ji,drawingBufferWidth:Qi,drawingBufferHeight:ji,pixelRatio:bt.pixelRatio},Tr={},Zr={elements:null,primitive:4,count:-1,offset:0,instances:-1},yi=ei(Ot,qi),Ii=ti(Ot,vi,bt,Xi),ui=Sr(Ot,qi,Ii,vi),nn=ku(Ot,qi,yi,vi,Ii,ui,Zr);function Xi(O){return nn.destroyBuffer(O)}var qn=Wu(Ot,Nr,vi,bt),fi=sf(Ot,qi,yi,function(){Ji.procs.poll()},oi,vi,bt),si=Dc(Ot,qi,yi,vi,bt),mn=uf(Ot,qi,yi,fi,si,vi),Ji=Ea(Ot,Nr,qi,yi,Ii,ui,fi,mn,Tr,nn,qn,Zr,oi,Si,Ni,bt),Ui=Wl(Ot,mn,Ji.procs.poll,oi,Lr,qi,yi),Bi=Ji.next,pn=Ot.canvas,Nn=[],aa=[],Ki=[],Cn=[bt.onDestroy],ia=null;function sa(){if(Nn.length===0){Si&&Si.update(),ia=null;return}ia=d.next(sa),Ys();for(var O=Nn.length-1;O>=0;--O){var K=Nn[O];K&&K(oi,null,0)}Ot.flush(),Si&&Si.update()}function ba(){!ia&&Nn.length>0&&(ia=d.next(sa))}function is(){ia&&(d.cancel(sa),ia=null)}function Zs(O){O.preventDefault(),Vr=!0,is(),aa.forEach(function(K){K()})}function Ga(O){Ot.getError(),Vr=!1,Or.restore(),qn.restore(),Ii.restore(),fi.restore(),si.restore(),mn.restore(),nn.restore(),Si&&Si.restore(),Ji.procs.refresh(),ba(),Ki.forEach(function(K){K()})}pn&&(pn.addEventListener(Fo,Zs,!1),pn.addEventListener(Uo,Ga,!1));function Ml(){Nn.length=0,is(),pn&&(pn.removeEventListener(Fo,Zs),pn.removeEventListener(Uo,Ga)),qn.clear(),mn.clear(),si.clear(),nn.clear(),fi.clear(),ui.clear(),Ii.clear(),Si&&Si.clear(),Cn.forEach(function(O){O()})}function zo(O){function K(Ft){var Ut=e({},Ft);delete Ut.uniforms,delete Ut.attributes,delete Ut.context,delete Ut.vao,"stencil"in Ut&&Ut.stencil.op&&(Ut.stencil.opBack=Ut.stencil.opFront=Ut.stencil.op,delete Ut.stencil.op);function zt(_t){if(_t in Ut){var Dt=Ut[_t];delete Ut[_t],Object.keys(Dt).forEach(function(vt){Ut[_t+"."+vt]=Dt[vt]})}}return zt("blend"),zt("depth"),zt("cull"),zt("stencil"),zt("polygonOffset"),zt("scissor"),zt("sample"),"vao"in Ft&&(Ut.vao=Ft.vao),Ut}function de(Ft,Ut){var zt={},_t={};return Object.keys(Ft).forEach(function(Dt){var vt=Ft[Dt];if(h.isDynamic(vt)){_t[Dt]=h.unbox(vt,Dt);return}else if(Ut&&Array.isArray(vt)){for(var lr=0;lr<vt.length;++lr)if(h.isDynamic(vt[lr])){_t[Dt]=h.unbox(vt,Dt);return}}zt[Dt]=vt}),{dynamic:_t,static:zt}}var ne=de(O.context||{},!0),we=de(O.uniforms||{},!0),Oe=de(O.attributes||{},!1),ht=de(K(O),!1),Yt={gpuTime:0,cpuTime:0,count:0},cr=Ji.compile(ht,Oe,we,ne,Yt),Nt=cr.draw,Ne=cr.batch,$e=cr.scope,st=[];function It(Ft){for(;st.length<Ft;)st.push(null);return st}function Bt(Ft,Ut){var zt;if(typeof Ft=="function")return $e.call(this,null,Ft,0);if(typeof Ut=="function")if(typeof Ft=="number")for(zt=0;zt<Ft;++zt)$e.call(this,null,Ut,zt);else if(Array.isArray(Ft))for(zt=0;zt<Ft.length;++zt)$e.call(this,Ft[zt],Ut,zt);else return $e.call(this,Ft,Ut,0);else if(typeof Ft=="number"){if(Ft>0)return Ne.call(this,It(Ft|0),Ft|0)}else if(Array.isArray(Ft)){if(Ft.length)return Ne.call(this,Ft,Ft.length)}else return Nt.call(this,Ft)}return e(Bt,{stats:Yt,destroy:function(){cr.destroy()}})}var Qs=mn.setFBO=zo({framebuffer:h.define.call(null,$s,"framebuffer")});function al(O,K){var de=0;Ji.procs.poll();var ne=K.color;ne&&(Ot.clearColor(+ne[0]||0,+ne[1]||0,+ne[2]||0,+ne[3]||0),de|=Ms),"depth"in K&&(Ot.clearDepth(+K.depth),de|=Xs),"stencil"in K&&(Ot.clearStencil(K.stencil|0),de|=Un),Ot.clear(de)}function Vl(O){if("framebuffer"in O)if(O.framebuffer&&O.framebuffer_reglType==="framebufferCube")for(var K=0;K<6;++K)Qs(e({framebuffer:O.framebuffer.faces[K]},O),al);else Qs(O,al);else al(null,O)}function ss(O){Nn.push(O);function K(){var de=dl(Nn,O);function ne(){var we=dl(Nn,ne);Nn[we]=Nn[Nn.length-1],Nn.length-=1,Nn.length<=0&&is()}Nn[de]=ne}return ba(),{cancel:K}}function Vs(){var O=Bi.viewport,K=Bi.scissor_box;O[0]=O[1]=K[0]=K[1]=0,oi.viewportWidth=oi.framebufferWidth=oi.drawingBufferWidth=O[2]=K[2]=Ot.drawingBufferWidth,oi.viewportHeight=oi.framebufferHeight=oi.drawingBufferHeight=O[3]=K[3]=Ot.drawingBufferHeight}function Ys(){oi.tick+=1,oi.time=ol(),Vs(),Ji.procs.poll()}function wa(){fi.refresh(),Vs(),Ji.procs.refresh(),Si&&Si.update()}function ol(){return(v()-Vn)/1e3}wa();function io(O,K){var de;switch(O){case"frame":return ss(K);case"lost":de=aa;break;case"restore":de=Ki;break;case"destroy":de=Cn;break;default:}return de.push(K),{cancel:function(){for(var ne=0;ne<de.length;++ne)if(de[ne]===K){de[ne]=de[de.length-1],de.pop();return}}}}function Y(){return Ni}function D(O){Object.entries(O).forEach(function(K){Ni[K[0]]=K[1]})}var J=e(zo,{clear:Vl,prop:h.define.bind(null,$s),context:h.define.bind(null,Sl),this:h.define.bind(null,bu),draw:zo({}),buffer:function(O){return Ii.create(O,ja,!1,!1)},elements:function(O){return ui.create(O,!1)},texture:fi.create2D,cube:fi.createCube,renderbuffer:si.create,framebuffer:mn.create,framebufferCube:mn.createCube,vao:nn.createVAO,attributes:Lr,frame:ss,on:io,limits:yi,hasExtension:function(O){return yi.extensions.indexOf(O.toLowerCase())>=0},read:Ui,destroy:Ml,_gl:Ot,_refresh:wa,poll:function(){Ys(),Si&&Si.update()},now:ol,stats:vi,getCachedCode:Y,preloadCachedCode:D});return bt.onDone(null,J),J}return Sc})});var Iz=ye((z_r,NBe)=>{"use strict";var rVt=qX(),iVt=BBe();NBe.exports=function(t,r,n){var i=t._fullLayout,a=!0;return i._glcanvas.each(function(o){if(o.regl){o.regl.preloadCachedCode(n);return}if(!(o.pick&&!i._has("parcoords"))){try{o.regl=iVt({canvas:this,attributes:{antialias:!o.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||window.devicePixelRatio,extensions:r||[],cachedCode:n||{}})}catch(s){a=!1}o.regl||(a=!1),a&&this.addEventListener("webglcontextlost",function(s){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:s,layer:o.key})},!1)}}),a||rVt({container:i._glcontainer.node()}),a}});var bK=ye((xK,jBe)=>{"use strict";var UBe=xY(),VBe=JY(),nVt=COe(),GBe=OBe(),_K=Pr(),aVt=Cg().selectMode,oVt=Iz(),sVt=Ru(),lVt=EU(),uVt=gY().styleTextSelection,HBe={};function cVt(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,u=i.r*n,c=i.t*n,f=i.w*n,h=i.h*n;return[s+t.domain[0]*f,l+r.domain[0]*h,a-u-(1-t.domain[1])*f,o-c-(1-r.domain[1])*h]}var xK=jBe.exports=function(t,r,n){if(n.length){var i=t._fullLayout,a=r._scene,o=r.xaxis,s=r.yaxis,l,u;if(a){var c=oVt(t,["ANGLE_instanced_arrays","OES_element_index_uint"],HBe);if(!c){a.init();return}var f=a.count,h=i._glcanvas.data()[0].regl;if(lVt(t,r,n),a.dirty){if((a.line2d||a.error2d)&&!(a.scatter2d||a.fill2d||a.glText)&&h.clear({color:!0,depth:!0}),a.error2d===!0&&(a.error2d=nVt(h)),a.line2d===!0&&(a.line2d=VBe(h)),a.scatter2d===!0&&(a.scatter2d=UBe(h)),a.fill2d===!0&&(a.fill2d=VBe(h)),a.glText===!0)for(a.glText=new Array(f),l=0;l<f;l++)a.glText[l]=new GBe(h);if(a.glText){if(f>a.glText.length){var d=f-a.glText.length;for(l=0;l<d;l++)a.glText.push(new GBe(h))}else if(f<a.glText.length){var v=a.glText.length-f,m=a.glText.splice(f,v);m.forEach(function(N){N.destroy()})}for(l=0;l<f;l++)a.glText[l].update(a.textOptions[l])}if(a.line2d&&(a.line2d.update(a.lineOptions),a.lineOptions=a.lineOptions.map(function(N){if(N&&N.positions){for(var H=N.positions,ie=0;ie<H.length&&(isNaN(H[ie])||isNaN(H[ie+1]));)ie+=2;for(var ae=H.length-2;ae>ie&&(isNaN(H[ae])||isNaN(H[ae+1]));)ae-=2;N.positions=H.slice(ie,ae+2)}return N}),a.line2d.update(a.lineOptions)),a.error2d){var b=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(b)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fillOrder=_K.repeat(null,f),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(N,H){var ie=n[H];if(!(!N||!ie||!ie[0]||!ie[0].trace)){var ae=ie[0],_e=ae.trace,Ee=ae.t,Ce=a.lineOptions[H],ge,re,Se=[];_e._ownfill&&Se.push(H),_e._nexttrace&&Se.push(H+1),Se.length&&(a.fillOrder[H]=Se);var ke=[],be=Ce&&Ce.positions||Ee.positions,Be,Le;if(_e.fill==="tozeroy"){for(Be=0;Be<be.length&&isNaN(be[Be+1]);)Be+=2;for(Le=be.length-2;Le>Be&&isNaN(be[Le+1]);)Le-=2;be[Be+1]!==0&&(ke=[be[Be],0]),ke=ke.concat(be.slice(Be,Le+2)),be[Le+1]!==0&&(ke=ke.concat([be[Le],0]))}else if(_e.fill==="tozerox"){for(Be=0;Be<be.length&&isNaN(be[Be]);)Be+=2;for(Le=be.length-2;Le>Be&&isNaN(be[Le]);)Le-=2;be[Be]!==0&&(ke=[0,be[Be+1]]),ke=ke.concat(be.slice(Be,Le+2)),be[Le]!==0&&(ke=ke.concat([0,be[Le+1]]))}else if(_e.fill==="toself"||_e.fill==="tonext"){for(ke=[],ge=0,N.splitNull=!0,re=0;re<be.length;re+=2)(isNaN(be[re])||isNaN(be[re+1]))&&(ke=ke.concat(be.slice(ge,re)),ke.push(be[ge],be[ge+1]),ke.push(null,null),ge=re+2);ke=ke.concat(be.slice(ge)),ge&&ke.push(be[ge],be[ge+1])}else{var me=_e._nexttrace;if(me){var Pe=a.lineOptions[H+1];if(Pe){var ce=Pe.positions;if(_e.fill==="tonexty"){for(ke=be.slice(),H=Math.floor(ce.length/2);H--;){var He=ce[H*2],lt=ce[H*2+1];isNaN(He)||isNaN(lt)||ke.push(He,lt)}N.fill=me.fillcolor}}}}if(_e._prevtrace&&_e._prevtrace.fill==="tonext"){var mt=a.lineOptions[H-1].positions,Ht=ke.length/2;ge=Ht;var at=[ge];for(re=0;re<mt.length;re+=2)(isNaN(mt[re])||isNaN(mt[re+1]))&&(at.push(re/2+Ht+1),ge=re+2);ke=ke.concat(mt),N.hole=at}return N.fillmode=_e.fill,N.opacity=_e.opacity,N.positions=ke,N}}),a.fill2d.update(a.fillOptions))}var p=i.dragmode,k=aVt(p),M=i.clickmode.indexOf("select")>-1;for(let[N]of n)if(N){var T=N.trace,L=N.t,x=L.index,C=T._length,S=L.x,g=L.y;if(T.selectedpoints||k||M){if(k||(k=!0),T.selectedpoints){var P=a.selectBatch[x]=_K.selIndices2selPoints(T),E={};for(u=0;u<P.length;u++)E[P[u]]=1;var z=[];for(u=0;u<C;u++)E[u]||z.push(u);a.unselectBatch[x]=z}var q=L.xpx=new Array(C),V=L.ypx=new Array(C);for(u=0;u<C;u++)q[u]=o.c2p(S[u]),V[u]=s.c2p(g[u])}else L.xpx=L.ypx=null}if(k){if(a.select2d||(a.select2d=UBe(i._glcanvas.data()[1].regl)),a.scatter2d){var G=new Array(f);for(l=0;l<f;l++)G[l]=a.selectBatch[l].length||a.unselectBatch[l].length?a.markerUnselectedOptions[l]:{};a.scatter2d.update(G)}a.select2d&&(a.select2d.update(a.markerOptions),a.select2d.update(a.markerSelectedOptions)),a.glText&&n.forEach(function(N){var H=((N||[])[0]||{}).trace||{};sVt.hasText(H)&&uVt(N)})}else a.scatter2d&&a.scatter2d.update(a.markerOptions);var Z={viewport:cVt(i,o,s,t._context.plotGlPixelRatio),range:[(o._rl||o.range)[0],(s._rl||s.range)[0],(o._rl||o.range)[1],(s._rl||s.range)[1]]},j=_K.repeat(Z,a.count);a.fill2d&&a.fill2d.update(j),a.line2d&&a.line2d.update(j),a.error2d&&a.error2d.update(j.concat(j)),a.scatter2d&&a.scatter2d.update(j),a.select2d&&a.select2d.update(j),a.glText&&a.glText.forEach(function(N){N.update(Z)})}}};xK.reglPrecompiled=HBe});var ZBe=ye((q_r,XBe)=>{"use strict";var WBe=c7e();WBe.plot=bK();XBe.exports=WBe});var KBe=ye((O_r,YBe)=>{"use strict";YBe.exports=ZBe()});var wK=ye((B_r,eNe)=>{"use strict";var fVt=pf(),QBe=Tu(),JBe=vf().axisHoverFormat,{hovertemplateAttrs:hVt,templatefallbackAttrs:dVt}=Ll(),qk=mk(),vVt=Rh().idRegex,pVt=vl().templatedArray,b5=Ao().extendFlat,d1=fVt.marker,gVt=d1.line,mVt=b5(QBe("marker.line",{editTypeOverride:"calc"}),{width:b5({},gVt.width,{editType:"calc"}),editType:"calc"}),Rz=b5(QBe("marker"),{symbol:d1.symbol,angle:d1.angle,size:b5({},d1.size,{editType:"markerSize"}),sizeref:d1.sizeref,sizemin:d1.sizemin,sizemode:d1.sizemode,opacity:d1.opacity,colorbar:d1.colorbar,line:mVt,editType:"calc"});Rz.color.editType=Rz.cmin.editType=Rz.cmax.editType="style";function $Be(e){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:vVt[e],editType:"plot"}}}eNe.exports={dimensions:pVt("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:b5({},qk.text,{}),hovertext:b5({},qk.hovertext,{}),hovertemplate:hVt(),hovertemplatefallback:dVt(),xhoverformat:JBe("x"),yhoverformat:JBe("y"),marker:Rz,xaxes:$Be("x"),yaxes:$Be("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:qk.selected.marker,editType:"calc"},unselected:{marker:qk.unselected.marker,editType:"calc"},opacity:qk.opacity}});var Dz=ye((N_r,tNe)=>{"use strict";tNe.exports=function(e,t,r,n){n||(n=1/0);var i,a;for(i=0;i<t.length;i++)a=t[i],a.visible&&(n=Math.min(n,a[r].length));for(n===1/0&&(n=0),e._length=n,i=0;i<t.length;i++)a=t[i],a.visible&&(a._length=n);return n}});var nNe=ye((U_r,iNe)=>{"use strict";var TK=Pr(),yVt=Kd(),rNe=wK(),_Vt=Ru(),xVt=$p(),bVt=Dz(),wVt=ZF().isOpenSymbol;iNe.exports=function(t,r,n,i){function a(d,v){return TK.coerce(t,r,rNe,d,v)}var o=yVt(t,r,{name:"dimensions",handleItemDefaults:TVt}),s=a("diagonal.visible"),l=a("showupperhalf"),u=a("showlowerhalf"),c=bVt(r,o,"values");if(!c||!s&&!l&&!u){r.visible=!1;return}a("text"),a("hovertext"),a("hovertemplate"),a("hovertemplatefallback"),a("xhoverformat"),a("yhoverformat"),xVt(t,r,n,i,a,{noAngleRef:!0,noLineDash:!0,noStandOff:!0});var f=wVt(r.marker.symbol),h=_Vt.isBubble(r);a("marker.line.width",f||h?1:0),AVt(t,r,i,a),TK.coerceSelectionMarkerOpacity(r,a)};function TVt(e,t){function r(i,a){return TK.coerce(e,t,rNe.dimensions,i,a)}r("label");var n=r("values");n&&n.length?r("visible"):t.visible=!1,r("axis.type"),r("axis.matches")}function AVt(e,t,r,n){var i=t.dimensions,a=i.length,o=t.showupperhalf,s=t.showlowerhalf,l=t.diagonal.visible,u,c,f=new Array(a),h=new Array(a);for(u=0;u<a;u++){var d=u?u+1:"";f[u]="x"+d,h[u]="y"+d}var v=n("xaxes",f),m=n("yaxes",h),b=t._diag=new Array(a);t._xaxes={},t._yaxes={};var p=[],k=[];function M(z,q,V,G){if(z){var Z=z.charAt(0),j=r._splomAxes[Z];if(t["_"+Z+"axes"][z]=1,G.push(z),!(z in j)){var N=j[z]={};V&&(N.label=V.label||"",V.visible&&V.axis&&(V.axis.type&&(N.type=V.axis.type),V.axis.matches&&(N.matches=q)))}}}var T=!l&&!s,L=!l&&!o;for(t._axesDim={},u=0;u<a;u++){var x=i[u],C=u===0,S=u===a-1,g=C&&T||S&&L?void 0:v[u],P=C&&L||S&&T?void 0:m[u];M(g,P,x,p),M(P,g,x,k),b[u]=[g,P],t._axesDim[g]=u,t._axesDim[P]=u}for(u=0;u<p.length;u++)for(c=0;c<k.length;c++){var E=p[u]+k[c];(u>c&&o||u<c&&s||u===c&&(l||!s||!o))&&(r._splomSubplots[E]=1)}(!s||!l&&o&&s)&&(r._splomGridDflt.xside="bottom",r._splomGridDflt.yside="left")}});var sNe=ye((V_r,oNe)=>{"use strict";var aNe=Pr();oNe.exports=function(t,r){var n=t._fullLayout,i=r.uid,a=n._splomScenes;a||(a=n._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s={matrix:!1,selectBatch:[],unselectBatch:[]},l=a[r.uid];return l||(l=a[i]=aNe.extendFlat({},o,s),l.draw=function(){l.matrix&&l.matrix.draw&&(l.selectBatch.length||l.unselectBatch.length?l.matrix.draw(l.unselectBatch,l.selectBatch):l.matrix.draw()),l.dirty=!1},l.destroy=function(){l.matrix&&l.matrix.destroy&&l.matrix.destroy(),l.matrixOptions=null,l.selectBatch=null,l.unselectBatch=null,l=null}),l.dirty||aNe.extendFlat(l,o),l}});var cNe=ye((G_r,uNe)=>{"use strict";var AK=Pr(),Fz=df(),SVt=O0().calcMarkerSize,MVt=O0().calcAxisExpansion,EVt=z0(),lNe=lw().markerSelection,kVt=lw().markerStyle,CVt=sNe(),LVt=fs().BADNUM,PVt=gx().TOO_MANY_POINTS;uNe.exports=function(t,r){var n=r.dimensions,i=r._length,a={},o=a.cdata=[],s=a.data=[],l=r._visibleDims=[],u,c,f,h,d;function v(M,T){for(var L=M.makeCalcdata({v:T.values,vcalendar:r.calendar},"v"),x=0;x<L.length;x++)L[x]=L[x]===LVt?NaN:L[x];o.push(L),s.push(M.type==="log"?AK.simpleMap(L,M.c2l):L)}for(u=0;u<n.length;u++)if(f=n[u],f.visible){if(h=Fz.getFromId(t,r._diag[u][0]),d=Fz.getFromId(t,r._diag[u][1]),h&&d&&h.type!==d.type){AK.log("Skipping splom dimension "+u+" with conflicting axis types");continue}h?(v(h,f),d&&d.type==="category"&&(d._categories=h._categories.slice())):v(d,f),l.push(u)}EVt(t,r),AK.extendFlat(a,kVt(t,r));var m=o.length,b=m*i>PVt,p;for(b?p=a.sizeAvg||Math.max(a.size,3):p=SVt(r,i),c=0;c<l.length;c++)u=l[c],f=n[u],h=Fz.getFromId(t,r._diag[u][0])||{},d=Fz.getFromId(t,r._diag[u][1])||{},MVt(t,r,h,d,o[c],o[c],p);var k=CVt(t,r);return k.matrix||(k.matrix=!0),k.matrixOptions=a,k.selectedOptions=lNe(t,r,r.selected),k.unselectedOptions=lNe(t,r,r.unselected),[{x:!1,y:!1,t:{},trace:r}]}});var hNe=ye((fNe,Ok)=>{(function(){var e,t,r,n,i,a;typeof performance!="undefined"&&performance!==null&&performance.now?Ok.exports=function(){return performance.now()}:typeof process!="undefined"&&process!==null&&process.hrtime?(Ok.exports=function(){return(e()-i)/1e6},t=process.hrtime,e=function(){var o;return o=t(),o[0]*1e9+o[1]},n=e(),a=process.uptime()*1e9,i=n-a):Date.now?(Ok.exports=function(){return Date.now()-r},r=Date.now()):(Ok.exports=function(){return new Date().getTime()-r},r=new Date().getTime())}).call(fNe)});var vNe=ye((H_r,Oz)=>{var IVt=hNe(),v1=window,zz=["moz","webkit"],T5="AnimationFrame",A5=v1["request"+T5],Bk=v1["cancel"+T5]||v1["cancelRequest"+T5];for(w5=0;!A5&&w5<zz.length;w5++)A5=v1[zz[w5]+"Request"+T5],Bk=v1[zz[w5]+"Cancel"+T5]||v1[zz[w5]+"CancelRequest"+T5];var w5;(!A5||!Bk)&&(qz=0,SK=0,Ax=[],dNe=1e3/60,A5=function(e){if(Ax.length===0){var t=IVt(),r=Math.max(0,dNe-(t-qz));qz=r+t,setTimeout(function(){var n=Ax.slice(0);Ax.length=0;for(var i=0;i<n.length;i++)if(!n[i].cancelled)try{n[i].callback(qz)}catch(a){setTimeout(function(){throw a},0)}},Math.round(r))}return Ax.push({handle:++SK,callback:e,cancelled:!1}),SK},Bk=function(e){for(var t=0;t<Ax.length;t++)Ax[t].handle===e&&(Ax[t].cancelled=!0)});var qz,SK,Ax,dNe;Oz.exports=function(e){return A5.call(v1,e)};Oz.exports.cancel=function(){Bk.apply(v1,arguments)};Oz.exports.polyfill=function(e){e||(e=v1),e.requestAnimationFrame=A5,e.cancelAnimationFrame=Bk}});var gNe=ye((j_r,pNe)=>{pNe.exports=function(t,r){var n=typeof t=="number",i=typeof r=="number";n&&!i?(r=t,t=0):!n&&!i&&(t=0,r=0),t=t|0,r=r|0;var a=r-t;if(a<0)throw new Error("array length must be positive");for(var o=new Array(a),s=0,l=t;s<a;s++,l++)o[s]=l;return o}});var xNe=ye((W_r,_Ne)=>{"use strict";var RVt=xY(),DVt=ty(),FVt=nw(),mNe=vNe(),zVt=gNe(),MK=l5(),qVt=aw();_Ne.exports=Sx;function Sx(e,t){if(!(this instanceof Sx))return new Sx(e,t);this.traces=[],this.passes={},this.regl=e,this.scatter=RVt(e),this.canvas=this.scatter.canvas}Sx.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?this.planned==null&&(this.planned=mNe(()=>{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,mNe(()=>{this.dirty=!1})),this)};Sx.prototype.update=function(...e){if(!e.length)return;for(let n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);let t=[],r=0;for(let n=0;n<this.traces.length;n++){let i=this.traces[n],a=this.traces[n].passes;for(let o=0;o<a.length;o++)t.push(this.passes[a[o]]);i.passOffset=r,r+=i.passes.length}return this.scatter.update(...t),this};Sx.prototype.updateItem=function(e,t){let{regl:r}=this;if(t===null)return this.traces[e]=null,this;if(!t)return this;let n=DVt(t,{data:"data items columns rows values dimensions samples x",snap:"snap cluster",size:"sizes size radius",color:"colors color fill fill-color fillColor",opacity:"opacity alpha transparency opaque",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",borderColor:"borderColors borderColor bordercolor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range ranges databox dataBox",viewport:"viewport viewBox viewbox",domain:"domain domains area areas",padding:"pad padding paddings pads margin margins",transpose:"transpose transposed",diagonal:"diagonal diag showDiagonal",upper:"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf",lower:"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower"}),i=this.traces[e]||(this.traces[e]={id:e,buffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),color:"black",marker:null,size:12,borderColor:"transparent",borderSize:1,viewport:MK([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(n.color!=null&&(i.color=n.color),n.size!=null&&(i.size=n.size),n.marker!=null&&(i.marker=n.marker),n.borderColor!=null&&(i.borderColor=n.borderColor),n.borderSize!=null&&(i.borderSize=n.borderSize),n.opacity!=null&&(i.opacity=n.opacity),n.viewport&&(i.viewport=MK(n.viewport)),n.diagonal!=null&&(i.diagonal=n.diagonal),n.upper!=null&&(i.upper=n.upper),n.lower!=null&&(i.lower=n.lower),n.data){i.buffer(qVt(n.data)),i.columns=n.data.length,i.count=n.data[0].length,i.bounds=[];for(let m=0;m<i.columns;m++)i.bounds[m]=FVt(n.data[m],1)}let a;n.range&&(i.range=n.range,a=i.range&&typeof i.range[0]!="number"),n.domain&&(i.domain=n.domain);let o=!1;n.padding!=null&&(Array.isArray(n.padding)&&n.padding.length===i.columns&&typeof n.padding[n.padding.length-1]=="number"?(i.padding=n.padding.map(yNe),o=!0):i.padding=yNe(n.padding));let s=i.columns,l=i.count,u=i.viewport.width,c=i.viewport.height,f=i.viewport.x,h=i.viewport.y,d=u/s,v=c/s;i.passes=[];for(let m=0;m<s;m++)for(let b=0;b<s;b++){if(!i.diagonal&&b===m||!i.upper&&m>b||!i.lower&&m<b)continue;let p=OVt(i.id,m,b),k=this.passes[p]||(this.passes[p]={});if(n.data&&(n.transpose?k.positions={x:{buffer:i.buffer,offset:b,count:l,stride:s},y:{buffer:i.buffer,offset:m,count:l,stride:s}}:k.positions={x:{buffer:i.buffer,offset:b*l,count:l},y:{buffer:i.buffer,offset:m*l,count:l}},k.bounds=Bz(i.bounds,m,b)),n.domain||n.viewport||n.data){let M=o?Bz(i.padding,m,b):i.padding;if(i.domain){let[T,L,x,C]=Bz(i.domain,m,b);k.viewport=[f+T*u+M[0],h+L*c+M[1],f+x*u-M[2],h+C*c-M[3]]}else k.viewport=[f+b*d+d*M[0],h+m*v+v*M[1],f+(b+1)*d-d*M[2],h+(m+1)*v-v*M[3]]}n.color&&(k.color=i.color),n.size&&(k.size=i.size),n.marker&&(k.marker=i.marker),n.borderSize&&(k.borderSize=i.borderSize),n.borderColor&&(k.borderColor=i.borderColor),n.opacity&&(k.opacity=i.opacity),n.range&&(k.range=a?Bz(i.range,m,b):i.range||k.bounds),i.passes.push(p)}return this};Sx.prototype.draw=function(...e){if(!e.length)this.scatter.draw();else{let t=[];for(let r=0;r<e.length;r++)if(typeof e[r]=="number"){let{passes:n,passOffset:i}=this.traces[e[r]];t.push(...zVt(i,i+n.length))}else if(e[r].length){let n=e[r],{passes:i,passOffset:a}=this.traces[r];i=i.map((o,s)=>{t[a+s]=n})}this.scatter.draw(...t)}return this};Sx.prototype.destroy=function(){return this.traces.forEach(e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function OVt(e,t,r){let n=e.id!=null?e.id:e,i=t,a=r;return n<<16|(i&255)<<8|a&255}function Bz(e,t,r){let n,i,a,o,s,l,u,c,f=e[t],h=e[r];return f.length>2?(n=f[0],a=f[2],i=f[1],o=f[3]):f.length?(n=i=f[0],a=o=f[1]):(n=f.x,i=f.y,a=f.x+f.width,o=f.y+f.height),h.length>2?(s=h[0],u=h[2],l=h[1],c=h[3]):h.length?(s=l=h[0],u=c=h[1]):(s=h.x,l=h.y,u=h.x+h.width,c=h.y+h.height),[s,i,u,o]}function yNe(e){if(typeof e=="number")return[e,e,e,e];if(e.length===2)return[e[0],e[1],e[0],e[1]];{let t=MK(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}});var wNe=ye((X_r,bNe)=>{"use strict";var BVt=xNe(),EK=Pr(),Nz=df(),NVt=Cg().selectMode;bNe.exports=function(t,r,n){if(n.length)for(var i=0;i<n.length;i++)UVt(t,n[i][0])};function UVt(e,t){var r=e._fullLayout,n=r._size,i=t.trace,a=t.t,o=r._splomScenes[i.uid],s=o.matrixOptions,l=s.cdata,u=r._glcanvas.data()[0].regl,c=r.dragmode,f,h,d,v,m;if(l.length!==0){s.lower=i.showupperhalf,s.upper=i.showlowerhalf,s.diagonal=i.diagonal.visible;var b=i._visibleDims,p=l.length,k=o.viewOpts={};for(k.ranges=new Array(p),k.domains=new Array(p),m=0;m<b.length;m++){d=b[m];var M=k.ranges[m]=new Array(4),T=k.domains[m]=new Array(4);f=Nz.getFromId(e,i._diag[d][0]),f&&(M[0]=f._rl[0],M[2]=f._rl[1],T[0]=f.domain[0],T[2]=f.domain[1]),h=Nz.getFromId(e,i._diag[d][1]),h&&(M[1]=h._rl[0],M[3]=h._rl[1],T[1]=h.domain[0],T[3]=h.domain[1])}var L=e._context.plotGlPixelRatio,x=n.l*L,C=n.b*L,S=n.w*L,g=n.h*L;k.viewport=[x,C,S+x,g+C],o.matrix===!0&&(o.matrix=BVt(u));var P=r.clickmode.indexOf("select")>-1,E=NVt(c)||!!i.selectedpoints||P,z=!0;if(E){var q=i._length;if(i.selectedpoints){o.selectBatch=i.selectedpoints;var V=i.selectedpoints,G={};for(d=0;d<V.length;d++)G[V[d]]=!0;var Z=[];for(d=0;d<q;d++)G[d]||Z.push(d);o.unselectBatch=Z}var j=a.xpx=new Array(p),N=a.ypx=new Array(p);for(m=0;m<b.length;m++){if(d=b[m],f=Nz.getFromId(e,i._diag[d][0]),f)for(j[m]=new Array(q),v=0;v<q;v++)j[m][v]=f.c2p(l[m][v]);if(h=Nz.getFromId(e,i._diag[d][1]),h)for(N[m]=new Array(q),v=0;v<q;v++)N[m][v]=h.c2p(l[m][v])}if(o.selectBatch.length||o.unselectBatch.length){var H=EK.extendFlat({},s,o.unselectedOptions,k),ie=EK.extendFlat({},s,o.selectedOptions,k);o.matrix.update(H,ie),z=!1}}else a.xpx=a.ypx=null;if(z){var ae=EK.extendFlat({},s,k);o.matrix.update(ae,null)}}}});var kK=ye(TNe=>{"use strict";TNe.getDimIndex=function(t,r){for(var n=r._id,i=n.charAt(0),a={x:0,y:1}[i],o=t._visibleDims,s=0;s<o.length;s++){var l=o[s];if(t._diag[l][a]===n)return s}return!1}});var kNe=ye((Y_r,ENe)=>{"use strict";var ANe=kK(),VVt=XF().calcHover,SNe=ho().getFromId,GVt=Ao().extendFlat;function HVt(e,t,r,n,i){i||(i={});var a=(n||"").charAt(0)==="x",o=(n||"").charAt(0)==="y",s=MNe(e,t,r);if((a||o)&&i.hoversubplots==="axis"&&s[0])for(var l=(a?e.xa:e.ya)._subplotsWith,u=i.gd,c=GVt({},e),f=0;f<l.length;f++){var h=l[f];if(h!==e.xa._id+e.ya._id){o?c.xa=SNe(u,h,"x"):c.ya=SNe(u,h,"y");var d=a||o,v=MNe(c,t,r,d);s=s.concat(v)}}return s}function MNe(e,t,r,n){var i=e.cd,a=i[0].trace,o=e.scene,s=o.matrixOptions.cdata,l=e.xa,u=e.ya,c=l.c2p(t),f=u.c2p(r),h=e.distance,d=ANe.getDimIndex(a,l),v=ANe.getDimIndex(a,u);if(d===!1||v===!1)return[e];for(var m=s[d],b=s[v],p,k,M=h,T=0;T<m.length;T++)if(!(n&&T!==e.index)){var L=m[T],x=b[T],C=l.c2p(L)-c,S=u.c2p(x)-f,g=Math.sqrt(C*C+S*S);(n||g<M)&&(M=k=g,p=T)}return e.index=p,e.distance=M,e.dxy=k,p===void 0?[e]:[VVt(e,m,b,a)]}ENe.exports={hoverPoints:HVt}});var DNe=ye((K_r,RNe)=>{"use strict";var INe=Pr(),CNe=INe.pushUnique,LNe=Ru(),PNe=kK();RNe.exports=function(t,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=t.scene,s=o.matrixOptions.cdata,l=t.xaxis,u=t.yaxis,c=[];if(!o)return c;var f=!LNe.hasMarkers(i)&&!LNe.hasText(i);if(i.visible!==!0||f)return c;var h=PNe.getDimIndex(i,l),d=PNe.getDimIndex(i,u);if(h===!1||d===!1)return c;var v=a.xpx[h],m=a.ypx[d],b=s[h],p=s[d],k=(t.scene.selectBatch||[]).slice(),M=[];if(r!==!1&&!r.degenerate)for(var T=0;T<b.length;T++)r.contains([v[T],m[T]],null,T,t)?(c.push({pointNumber:T,x:b[T],y:p[T]}),CNe(k,T)):k.indexOf(T)!==-1?CNe(k,T):M.push(T);var L=o.matrixOptions;return!k.length&&!M.length?o.matrix.update(L,null):!o.selectBatch.length&&!o.unselectBatch.length&&o.matrix.update(o.unselectedOptions,INe.extendFlat({},L,o.selectedOptions,o.viewOpts)),o.selectBatch=k,o.unselectBatch=M,c}});var qNe=ye((J_r,zNe)=>{"use strict";var FNe=Pr(),jVt=z0(),WVt=lw().markerStyle;zNe.exports=function(t,r){var n=r.trace,i=t._fullLayout._splomScenes[n.uid];if(i){jVt(t,n),FNe.extendFlat(i.matrixOptions,WVt(t,n));var a=FNe.extendFlat({},i.matrixOptions,i.viewOpts);i.matrix.update(a,null)}}});var BNe=ye(($_r,ONe)=>{"use strict";var XVt=Oa(),ZVt=xV();ONe.exports={moduleType:"trace",name:"splom",categories:["gl","regl","cartesian","symbols","showLegend","scatter-like"],attributes:wK(),supplyDefaults:nNe(),colorbar:Qd(),calc:cNe(),plot:wNe(),hoverPoints:kNe().hoverPoints,selectPoints:DNe(),editStyle:qNe(),meta:{}};XVt.register(ZVt)});var jNe=ye((Q_r,HNe)=>{"use strict";var YVt=JY(),KVt=Oa(),JVt=Iz(),$Vt=Id().getModuleCalcData,Mx=mh(),NNe=df().getFromId,UNe=ho().shouldShowZeroLine,VNe="splom",GNe={};function QVt(e){var t=e._fullLayout,r=KVt.getModule(VNe),n=$Vt(e.calcdata,r)[0],i=JVt(e,["ANGLE_instanced_arrays","OES_element_index_uint"],GNe);i&&(t._hasOnlyLargeSploms&&CK(e),r.plot(e,{},n))}function eGt(e){var t=e.calcdata,r=e._fullLayout;r._hasOnlyLargeSploms&&CK(e);for(var n=0;n<t.length;n++){var i=t[n][0],a=i.trace,o=r._splomScenes[a.uid];a.type==="splom"&&o&&o.matrix&&tGt(e,a,o)}}function tGt(e,t,r){for(var n=r.matrixOptions.data.length,i=t._visibleDims,a=r.viewOpts.ranges=new Array(n),o=0;o<i.length;o++){var s=i[o],l=a[o]=new Array(4),u=NNe(e,t._diag[s][0]);u&&(l[0]=u.r2l(u.range[0]),l[2]=u.r2l(u.range[1]));var c=NNe(e,t._diag[s][1]);c&&(l[1]=c.r2l(c.range[0]),l[3]=c.r2l(c.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:a},{ranges:a}):r.matrix.update({ranges:a})}function CK(e){var t=e._fullLayout,r=t._glcanvas.data()[0].regl,n=t._splomGrid;n||(n=t._splomGrid=YVt(r)),n.update(rGt(e))}function rGt(e){var t=e._context.plotGlPixelRatio,r=e._fullLayout,n=r._size,i=[0,0,r.width*t,r.height*t],a={},o;function s(x,C,S,g,P,E){S*=t,g*=t,P*=t,E*=t;var z=C[x+"color"],q=C[x+"width"],V=String(z+q);V in a?a[V].data.push(NaN,NaN,S,g,P,E):a[V]={data:[S,g,P,E],join:"rect",thickness:q*t,color:z,viewport:i,range:i,overlay:!1}}for(o in r._splomSubplots){var l=r._plots[o],u=l.xaxis,c=l.yaxis,f=u._gridVals,h=c._gridVals,d=u._offset,v=u._length,m=c._length,b=n.b+c.domain[0]*n.h,p=-c._m,k=-p*c.r2l(c.range[0],c.calendar),M,T;if(u.showgrid)for(o=0;o<f.length;o++)M=d+u.l2p(f[o].x),s("grid",u,M,b,M,b+m);if(c.showgrid)for(o=0;o<h.length;o++)T=b+k+p*h[o].x,s("grid",c,d,T,d+v,T);UNe(e,u,c)&&(M=d+u.l2p(0),s("zeroline",u,M,b,M,b+m)),UNe(e,c,u)&&(T=b+k+0,s("zeroline",c,d,T,d+v,T))}var L=[];for(o in a)L.push(a[o]);return L}function iGt(e,t,r,n){var i={},a;if(n._splomScenes){for(a=0;a<e.length;a++){var o=e[a];o.type==="splom"&&(i[o.uid]=1)}for(a=0;a<r.length;a++){var s=r[a];if(!i[s.uid]){var l=n._splomScenes[s.uid];l&&l.destroy&&l.destroy(),n._splomScenes[s.uid]=null,delete n._splomScenes[s.uid]}}}Object.keys(n._splomScenes||{}).length===0&&delete n._splomScenes,n._splomGrid&&!t._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),Mx.clean(e,t,r,n)}HNe.exports={name:VNe,attr:Mx.attr,attrRegex:Mx.attrRegex,layoutAttributes:Mx.layoutAttributes,supplyLayoutDefaults:Mx.supplyLayoutDefaults,drawFramework:Mx.drawFramework,plot:QVt,drag:eGt,updateGrid:CK,clean:iGt,updateFx:Mx.updateFx,toSVG:Mx.toSVG,reglPrecompiled:GNe}});var ZNe=ye((exr,XNe)=>{"use strict";var WNe=BNe();WNe.basePlotModule=jNe(),XNe.exports=WNe});var KNe=ye((txr,YNe)=>{"use strict";YNe.exports=ZNe()});var IK=ye((rxr,JNe)=>{"use strict";var nGt=Tu(),LK=Rd(),PK=ec(),aGt=Cc().attributes,Uz=Ao().extendFlat,oGt=vl().templatedArray;JNe.exports={domain:aGt({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:PK({editType:"plot"}),tickfont:PK({autoShadowDflt:!0,editType:"plot"}),rangefont:PK({editType:"plot"}),dimensions:oGt("dimension",{label:{valType:"string",editType:"plot"},tickvals:Uz({},LK.tickvals,{editType:"plot"}),ticktext:Uz({},LK.ticktext,{editType:"plot"}),tickformat:Uz({},LK.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:Uz({editType:"calc"},nGt("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}});var Nk=ye((ixr,$Ne)=>{"use strict";$Ne.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:["contextLineLayer","focusLineLayer","pickLineLayer"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:"magenta",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:"axis-extent-text",parcoordsLineLayers:"parcoords-line-layers",parcoordsLineLayer:"parcoords-lines",parcoords:"parcoords",parcoordsControlView:"parcoords-control-view",yAxis:"y-axis",axisOverlays:"axis-overlays",axis:"axis",axisHeading:"axis-heading",axisTitle:"axis-title",axisExtent:"axis-extent",axisExtentTop:"axis-extent-top",axisExtentTopText:"axis-extent-top-text",axisExtentBottom:"axis-extent-bottom",axisExtentBottomText:"axis-extent-bottom-text",axisBrush:"axis-brush"},id:{filterBarPattern:"filter-bar-pattern"}}});var ny=ye((nxr,eUe)=>{"use strict";var sGt=YS();function QNe(e){return[e]}eUe.exports={keyFun:function(e){return e.key},repeat:QNe,descend:sGt,wrap:QNe,unwrap:function(e){return e[0]}}});var FK=ye((axr,fUe)=>{"use strict";var Th=Nk(),im=qa(),lGt=ny().keyFun,Vz=ny().repeat,S5=Pr().sorterAsc,uGt=Pr().strTranslate,tUe=Th.bar.snapRatio;function rUe(e,t){return e*(1-tUe)+t*tUe}var iUe=Th.bar.snapClose;function cGt(e,t){return e*(1-iUe)+t*iUe}function Hz(e,t,r,n){if(fGt(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,c=a;i*c<i*o;c+=i){var f=c+i,h=t[f];if(i*r<i*cGt(l,h))return rUe(l,u);if(i*r<i*h||f===o)return rUe(h,l);u=l,l=h}}function fGt(e,t){for(var r=0;r<t.length;r++)if(e>=t[r][0]&&e<=t[r][1])return!0;return!1}function hGt(e){e.attr("x",-Th.bar.captureWidth/2).attr("width",Th.bar.captureWidth)}function dGt(e){e.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function vGt(e){if(!e.brush.filterSpecified)return"0,"+e.height;for(var t=nUe(e.brush.filter.getConsolidated(),e.height),r=[0],n,i,a,o=t.length?t[0][0]:null,s=0;s<t.length;s++)n=t[s],i=n[1]-n[0],r.push(o),r.push(i),a=s+1,a<t.length&&(o=t[a][0]-n[1]);return r.push(e.height),r}function nUe(e,t){return e.map(function(r){return r.map(function(n){return Math.max(0,n*t)}).sort(S5)})}function pGt(e,t){var r=Th.bar.handleHeight;if(!(t>e[1]+r||t<e[0]-r))return t>=.9*e[1]+.1*e[0]?"n":t<=.9*e[0]+.1*e[1]?"s":"ns"}function aUe(){im.select(document.body).style("cursor",null)}function DK(e){e.attr("stroke-dasharray",vGt)}function Gz(e,t){var r=im.select(e).selectAll(".highlight, .highlight-shadow"),n=t?r.transition().duration(Th.bar.snapDuration).each("end",t):r;DK(n)}function oUe(e,t){var r=e.brush,n=r.filterSpecified,i=NaN,a={},o;if(n){var s=e.height,l=r.filter.getConsolidated(),u=nUe(l,s),c=NaN,f=NaN,h=NaN;for(o=0;o<=u.length;o++){var d=u[o];if(d&&d[0]<=t&&t<=d[1]){c=o;break}else if(f=o?o-1:NaN,d&&d[0]>t){h=o;break}}if(i=c,isNaN(i)&&(isNaN(f)||isNaN(h)?i=isNaN(f)?h:f:i=t-u[f][1]<u[h][0]-t?f:h),!isNaN(i)){var v=u[i],m=pGt(v,t);m&&(a.interval=l[i],a.intervalPix=v,a.region=m)}}if(e.ordinal&&!a.region){var b=e.unitTickvals,p=e.unitToPaddedPx.invert(t);for(o=0;o<b.length;o++){var k=[b[Math.max(o-1,0)]*.25+b[o]*.75,b[Math.min(o+1,b.length-1)]*.25+b[o]*.75];if(p>=k[0]&&p<=k[1]){a.clickableOrdinalRange=k;break}}}return a}function gGt(e,t){im.event.sourceEvent.stopPropagation();var r=t.height-im.mouse(e)[1]-2*Th.verticalPadding,n=t.unitToPaddedPx.invert(r),i=t.brush,a=oUe(t,r),o=a.interval,s=i.svgBrush;if(s.wasDragged=!1,s.grabbingBar=a.region==="ns",s.grabbingBar){var l=o.map(t.unitToPaddedPx);s.grabPoint=r-l[0]-Th.verticalPadding,s.barLength=l[1]-l[0]}s.clickableOrdinalRange=a.clickableOrdinalRange,s.stayingIntervals=t.multiselect&&i.filterSpecified?i.filter.getConsolidated():[],o&&(s.stayingIntervals=s.stayingIntervals.filter(function(u){return u[0]!==o[0]&&u[1]!==o[1]})),s.startExtent=a.region?o[a.region==="s"?1:0]:n,t.parent.inBrushDrag=!0,s.brushStartCallback()}function sUe(e,t){im.event.sourceEvent.stopPropagation();var r=t.height-im.mouse(e)[1]-2*Th.verticalPadding,n=t.brush.svgBrush;n.wasDragged=!0,n._dragging=!0,n.grabbingBar?n.newExtent=[r-n.grabPoint,r+n.barLength-n.grabPoint].map(t.unitToPaddedPx.invert):n.newExtent=[n.startExtent,t.unitToPaddedPx.invert(r)].sort(S5),t.brush.filterSpecified=!0,n.extent=n.stayingIntervals.concat([n.newExtent]),n.brushCallback(t),Gz(e.parentNode)}function mGt(e,t){var r=t.brush,n=r.filter,i=r.svgBrush;i._dragging||(lUe(e,t),sUe(e,t),t.brush.svgBrush.wasDragged=!1),i._dragging=!1;var a=im.event;a.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,t.parent.inBrushDrag=!1,aUe(),!i.wasDragged){i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&t.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,i.extent.length===0&&RK(r)):RK(r),i.brushCallback(t),Gz(e.parentNode),i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);return}var s=function(){n.set(n.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),i.newExtent=[Hz(0,l,i.newExtent[0],i.stayingIntervals),Hz(1,l,i.newExtent[1],i.stayingIntervals)];var u=i.newExtent[1]>i.newExtent[0];i.extent=i.stayingIntervals.concat(u?[i.newExtent]:[]),i.extent.length||RK(r),i.brushCallback(t),u?Gz(e.parentNode,s):(s(),Gz(e.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}function lUe(e,t){var r=t.height-im.mouse(e)[1]-2*Th.verticalPadding,n=oUe(t,r),i="crosshair";n.clickableOrdinalRange?i="pointer":n.region&&(i=n.region+"-resize"),im.select(document.body).style("cursor",i)}function yGt(e){e.on("mousemove",function(t){im.event.preventDefault(),t.parent.inBrushDrag||lUe(this,t)}).on("mouseleave",function(t){t.parent.inBrushDrag||aUe()}).call(im.behavior.drag().on("dragstart",function(t){gGt(this,t)}).on("drag",function(t){sUe(this,t)}).on("dragend",function(t){mGt(this,t)}))}function uUe(e,t){return e[0]-t[0]}function _Gt(e,t,r){var n=r._context.staticPlot,i=e.selectAll(".background").data(Vz);i.enter().append("rect").classed("background",!0).call(hGt).call(dGt).style("pointer-events",n?"none":"auto").attr("transform",uGt(0,Th.verticalPadding)),i.call(yGt).attr("height",function(s){return s.height-Th.verticalPadding});var a=e.selectAll(".highlight-shadow").data(Vz);a.enter().append("line").classed("highlight-shadow",!0).attr("x",-Th.bar.width/2).attr("stroke-width",Th.bar.width+Th.bar.strokeWidth).attr("stroke",t).attr("opacity",Th.bar.strokeOpacity).attr("stroke-linecap","butt"),a.attr("y1",function(s){return s.height}).call(DK);var o=e.selectAll(".highlight").data(Vz);o.enter().append("line").classed("highlight",!0).attr("x",-Th.bar.width/2).attr("stroke-width",Th.bar.width-Th.bar.strokeWidth).attr("stroke",Th.bar.fillColor).attr("opacity",Th.bar.fillOpacity).attr("stroke-linecap","butt"),o.attr("y1",function(s){return s.height}).call(DK)}function xGt(e,t,r){var n=e.selectAll("."+Th.cn.axisBrush).data(Vz,lGt);n.enter().append("g").classed(Th.cn.axisBrush,!0),_Gt(n,t,r)}function bGt(e){return e.svgBrush.extent.map(function(t){return t.slice()})}function RK(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function wGt(e){return function(r){var n=r.brush,i=bGt(n),a=i.slice();n.filter.set(a),e()}}function cUe(e){for(var t=e.slice(),r=[],n,i=t.shift();i;){for(n=i.slice();(i=t.shift())&&i[0]<=n[1];)n[1]=Math.max(n[1],i[1]);r.push(n)}return r.length===1&&r[0][0]>r[0][1]&&(r=[]),r}function TGt(){var e=[],t,r;return{set:function(n){e=n.map(function(i){return i.slice().sort(S5)}).sort(uUe),e.length===1&&e[0][0]===-1/0&&e[0][1]===1/0&&(e=[[0,-1]]),t=cUe(e),r=e.reduce(function(i,a){return[Math.min(i[0],a[0]),Math.max(i[1],a[1])]},[1/0,-1/0])},get:function(){return e.slice()},getConsolidated:function(){return t},getBounds:function(){return r}}}function AGt(e,t,r,n,i,a){var o=TGt();return o.set(r),{filter:o,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:wGt(i),brushEndCallback:a}}}function SGt(e,t){if(Array.isArray(e[0])?(e=e.map(function(n){return n.sort(S5)}),t.multiselect?e=cUe(e.sort(uUe)):e=[e[0]]):e=[e.sort(S5)],t.tickvals){var r=t.tickvals.slice().sort(S5);if(e=e.map(function(n){var i=[Hz(0,r,n[0],[]),Hz(1,r,n[1],[])];if(i[1]>i[0])return i}).filter(function(n){return n}),!e.length)return}return e.length>1?e:e[0]}fUe.exports={makeBrush:AGt,ensureAxisBrush:xGt,cleanRanges:SGt}});var vUe=ye((oxr,dUe)=>{"use strict";var Ex=Pr(),MGt=pv().hasColorscale,EGt=td(),kGt=Cc().defaults,CGt=Kd(),LGt=ho(),hUe=IK(),PGt=FK(),zK=Nk().maxDimensionCount,IGt=Dz();function RGt(e,t,r,n,i){var a=i("line.color",r);if(MGt(e,"line")&&Ex.isArrayOrTypedArray(a)){if(a.length)return i("line.colorscale"),EGt(e,t,n,i,{prefix:"line.",cLetter:"c"}),a.length;t.line.color=r}return 1/0}function DGt(e,t,r,n){function i(u,c){return Ex.coerce(e,t,hUe.dimensions,u,c)}var a=i("values"),o=i("visible");if(a&&a.length||(o=t.visible=!1),o){i("label"),i("tickvals"),i("ticktext"),i("tickformat");var s=i("range");t._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:s},LGt.setConvert(t._ax,n.layout),i("multiselect");var l=i("constraintrange");l&&(t.constraintrange=PGt.cleanRanges(l,t))}}dUe.exports=function(t,r,n,i){function a(c,f){return Ex.coerce(t,r,hUe,c,f)}var o=t.dimensions;Array.isArray(o)&&o.length>zK&&(Ex.log("parcoords traces support up to "+zK+" dimensions at the moment"),o.splice(zK));var s=CGt(t,r,{name:"dimensions",layout:i,handleItemDefaults:DGt}),l=RGt(t,r,n,i,a);kGt(r,i,a),(!Array.isArray(s)||!s.length)&&(r.visible=!1),IGt(r,s,"values",l);var u=Ex.extendFlat({},i.font,{size:Math.round(i.font.size/1.2)});Ex.coerceFont(a,"labelfont",u),Ex.coerceFont(a,"tickfont",u,{autoShadowDflt:!0}),Ex.coerceFont(a,"rangefont",u),a("labelangle"),a("labelside"),a("unselected.line.color"),a("unselected.line.opacity")}});var gUe=ye((sxr,pUe)=>{"use strict";var FGt=Pr().isArrayOrTypedArray,qK=tc(),zGt=ny().wrap;pUe.exports=function(t,r){var n,i;return qK.hasColorscale(r,"line")&&FGt(r.line.color)?(n=r.line.color,i=qK.extractOpts(r.line).colorscale,qK.calc(t,r,{vals:n,containerStr:"line",cLetter:"c"})):(n=qGt(r._length),i=[[0,r.line.color],[1,r.line.color]]),zGt({lineColor:n,cscale:i})};function qGt(e){for(var t=new Array(e),r=0;r<e;r++)t[r]=.5;return t}});function OGt(e){var c,f;var t,r=[],n=1,i;if(typeof e=="number")return{space:"rgb",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(typeof e=="number")return{space:"rgb",values:[e>>>16,(e&65280)>>>8,e&255],alpha:1};if(e=String(e).toLowerCase(),OK.default[e])r=OK.default[e].slice(),i="rgb";else if(e==="transparent")n=0,i="rgb",r=[0,0,0];else if(e[0]==="#"){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i="rgb"}else if(t=/^((?:rgba?|hs[lvb]a?|hwba?|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms|oklch|oklab|color))\s*\(([^\)]*)\)/.exec(e)){var l=t[1];i=l.replace(/a$/,"");var u=i==="cmyk"?4:i==="gray"?1:3;r=t[2].trim().split(/\s*[,\/]\s*|\s+/),i==="color"&&(i=r.shift()),r=r.map(function(h,d){if(h[h.length-1]==="%")return h=parseFloat(h)/100,d===3?h:i==="rgb"?h*255:i[0]==="h"||i[0]==="l"&&!d?h*100:i==="lab"?h*125:i==="lch"?d<2?h*150:h*360:i[0]==="o"&&!d?h:i==="oklab"?h*.4:i==="oklch"?d<2?h*.4:h*360:h;if(i[d]==="h"||d===2&&i[i.length-1]==="h"){if(mUe[h]!==void 0)return mUe[h];if(h.endsWith("deg"))return parseFloat(h);if(h.endsWith("turn"))return parseFloat(h)*360;if(h.endsWith("grad"))return parseFloat(h)*360/400;if(h.endsWith("rad"))return parseFloat(h)*180/Math.PI}return h==="none"?0:parseFloat(h)}),n=r.length>u?r.pop():1}else/[0-9](?:\s|\/|,)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(h){return parseFloat(h)}),i=((f=(c=e.match(/([a-z])/ig))==null?void 0:c.join(""))==null?void 0:f.toLowerCase())||"rgb");return{space:i,values:r,alpha:n}}var OK,yUe,mUe,_Ue=gu(()=>{OK=ktt(AX(),1),yUe=OGt,mUe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}});var Uk,BK=gu(()=>{Uk={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}});var jz,xUe=gu(()=>{BK();jz={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l,u=0;if(r===0)return l=n*255,[l,l,l];for(a=n<.5?n*(1+r):n+r-n*r,i=2*n-a,s=[0,0,0];u<3;)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,l=6*o<1?i+(a-i)*6*o:2*o<1?a:3*o<2?i+(a-i)*(2/3-o)*6:i,s[u++]=l*255;return s}};Uk.hsl=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=a-i,s,l,u;return a===i?s=0:t===a?s=(r-n)/o:r===a?s=2+(n-t)/o:n===a&&(s=4+(t-r)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]}});var wUe={};yee(wUe,{default:()=>bUe});function bUe(e){Array.isArray(e)&&e.raw&&(e=String.raw(...arguments)),e instanceof Number&&(e=+e);var t,r,n,i=yUe(e);if(!i.space)return[];let a=i.space[0]==="h"?jz.min:Uk.min,o=i.space[0]==="h"?jz.max:Uk.max;return t=Array(3),t[0]=Math.min(Math.max(i.values[0],a[0]),o[0]),t[1]=Math.min(Math.max(i.values[1],a[1]),o[1]),t[2]=Math.min(Math.max(i.values[2],a[2]),o[2]),i.space[0]==="h"&&(t=jz.rgb(t)),t.push(Math.min(Math.max(i.alpha,0),1)),t}var TUe=gu(()=>{_Ue();BK();xUe()});var NK=ye(Wz=>{"use strict";var BGt=Pr().isTypedArray;Wz.convertTypedArray=function(e){return BGt(e)?Array.prototype.slice.call(e):e};Wz.isOrdinal=function(e){return!!e.tickvals};Wz.isVisible=function(e){return e.visible||!("visible"in e)}});var RUe=ye((gxr,IUe)=>{"use strict";var NGt=["precision highp float;","","varying vec4 fragColor;","","attribute vec4 p01_04, p05_08, p09_12, p13_16,"," p17_20, p21_24, p25_28, p29_32,"," p33_36, p37_40, p41_44, p45_48,"," p49_52, p53_56, p57_60, colors;","","uniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,"," loA, hiA, loB, hiB, loC, hiC, loD, hiD;","","uniform vec2 resolution, viewBoxPos, viewBoxSize;","uniform float maskHeight;","uniform float drwLayer; // 0: context, 1: focus, 2: pick","uniform vec4 contextColor;","uniform sampler2D maskTexture, palette;","","bool isPick = (drwLayer > 1.5);","bool isContext = (drwLayer < 0.5);","","const vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);","const vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);","","float val(mat4 p, mat4 v) {"," return dot(matrixCompMult(p, v) * UNITS, UNITS);","}","","float axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {"," float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);"," float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);"," return y1 * (1.0 - ratio) + y2 * ratio;","}","","int iMod(int a, int b) {"," return a - b * (a / b);","}","","bool fOutside(float p, float lo, float hi) {"," return (lo < hi) && (lo > p || p > hi);","}","","bool vOutside(vec4 p, vec4 lo, vec4 hi) {"," return ("," fOutside(p[0], lo[0], hi[0]) ||"," fOutside(p[1], lo[1], hi[1]) ||"," fOutside(p[2], lo[2], hi[2]) ||"," fOutside(p[3], lo[3], hi[3])"," );","}","","bool mOutside(mat4 p, mat4 lo, mat4 hi) {"," return ("," vOutside(p[0], lo[0], hi[0]) ||"," vOutside(p[1], lo[1], hi[1]) ||"," vOutside(p[2], lo[2], hi[2]) ||"," vOutside(p[3], lo[3], hi[3])"," );","}","","bool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {"," return mOutside(A, loA, hiA) ||"," mOutside(B, loB, hiB) ||"," mOutside(C, loC, hiC) ||"," mOutside(D, loD, hiD);","}","","bool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {"," mat4 pnts[4];"," pnts[0] = A;"," pnts[1] = B;"," pnts[2] = C;"," pnts[3] = D;",""," for(int i = 0; i < 4; ++i) {"," for(int j = 0; j < 4; ++j) {"," for(int k = 0; k < 4; ++k) {"," if(0 == iMod("," int(255.0 * texture2D(maskTexture,"," vec2("," (float(i * 2 + j / 2) + 0.5) / 8.0,"," (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight"," ))[3]"," ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),"," 2"," )) return true;"," }"," }"," }"," return false;","}","","vec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {"," float x = 0.5 * sign(v) + 0.5;"," float y = axisY(x, A, B, C, D);"," float z = 1.0 - abs(v);",""," z += isContext ? 0.0 : 2.0 * float("," outsideBoundingBox(A, B, C, D) ||"," outsideRasterMask(A, B, C, D)"," );",""," return vec4("," 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,"," z,"," 1.0"," );","}","","void main() {"," mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);"," mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);"," mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);"," mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);",""," float v = colors[3];",""," gl_Position = position(isContext, v, A, B, C, D);",""," fragColor ="," isContext ? vec4(contextColor) :"," isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));","}"].join(`

Callers 1

xcFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected