window.Laya=(R=>{class G{static regClass(e,t){G._classMap[e]=t}static getClass(e){return G._classMap[e]}static getInstance(e){var t=G.getClass(e);if(t)return new t;console.warn("[error] Undefined class:",e);return null}}G._classMap={};function r(){}function n(t){return function(e){G.regClass(t,e)}}function h(e){return r}function k(e){}function W(e){return r}class X{}X.isAntialias=true;X.useWebGL2=true;X.FPS=60;X.useRetinalCanvas=false;X.animationInterval=50;X.webGL2D_MeshAllocMaxMem=true;X.defaultFontSize=12;X.defaultFont="Arial";X.isAlpha=false;X.isDepth=false;X.isfailIfMajorPerformanceCaveat=false;X.powerPreference="default";X.premultipliedAlpha=true;X.isStencil=false;X.preserveDrawingBuffer=false;X.printWebglOrder=false;X.fontFamilyMap={"报隶":"报隶-简","黑体":"黑体-简","楷体":"楷体-简","兰亭黑":"兰亭黑-简","隶变":"隶变-简","凌慧体":"凌慧体-简","翩翩体":"翩翩体-简","苹方":"苹方-简","手札体":"手札体-简","宋体":"宋体-简","娃娃体":"娃娃体-简","魏碑":"魏碑-简","行楷":"行楷-简","雅痞":"雅痞-简","圆体":"圆体-简"};X.fixedFrames=true;X.destroyResourceImmediatelyDefault=true;class V{}V.ENUM_TEXTALIGN_DEFAULT=0;V.ENUM_TEXTALIGN_CENTER=1;V.ENUM_TEXTALIGN_RIGHT=2;V.BYTES_PE=4;V.BYTES_PIDX=2;V.MAX_CLIP_SIZE=99999999;class m{}m.NOT_ACTIVE=1;m.ACTIVE_INHIERARCHY=2;m.AWAKED=4;m.NOT_READY=8;m.DISPLAY=16;m.HAS_ZORDER=32;m.HAS_MOUSE=64;m.DISPLAYED_INSTAGE=128;m.DRAWCALL_OPTIMIZE=256;m.PROCESS_COLLISIONS=512;m.PROCESS_TRIGGERS=1024;m.HAS_SCRIPT=2048;m.ESCAPE_DRAWING_TO_TEXTURE=4096;m.DISABLE_INNER_CLIPPING=8192;m.DISABLE_OUTER_CLIPPING=16384;m.DISABLE_VISIBILITY=32768;m.EDITING_NODE=65536;m.HIDE_BY_EDITOR=131072;m.LOCK_BY_EDITOR=262144;class H{}H.HideInHierarchy=1;H.HideInInspector=2;H.DontSave=4;H.HideAndDontSave=7;class C{}C.Loader=null;C.Context=null;C.Browser=null;C.Laya=null;C.loader=null;C.timer=null;C.systemTimer=null;C.physicsTimer=null;C.stage=null;class S{}S.version="3.0.11";S.isPlaying=true;S.isPreview=false;S.isConch=null!=window.conch;class A{static getPoolBySign(e){return A._poolDic[e]||(A._poolDic[e]=[])}static clearBySign(e){A._poolDic[e]&&(A._poolDic[e].length=0)}static recover(e,t){if(false===t[A.POOLSIGN]){t[A.POOLSIGN]=true;A.getPoolBySign(e).push(t)}}static recoverByClass(e){if(e){var t=e.__className||e.constructor._$gid;t&&A.recover(t,e)}}static _getClassSign(e){var t=e.__className||e._$gid;if(!t){e._$gid=t=A._CLSID+"";A._CLSID++}return t}static createByClass(e){return A.getItemByClass(A._getClassSign(e),e)}static getItemByClass(e,t){let i,r=A.getPoolBySign(e);i=r.length?r.pop():new t;i[A.POOLSIGN]=false;return i}static getItemByCreateFun(e,t,i=null){e=A.getPoolBySign(e),e=e.length?e.pop():t.call(i);e[A.POOLSIGN]=false;return e}static getItem(e){e=A.getPoolBySign(e),e=e.length?e.pop():null;e&&(e[A.POOLSIGN]=false);return e}}A._CLSID=0;A.POOLSIGN="__InPool";A._poolDic={};R.RenderTargetFormat=void 0;var e=R.RenderTargetFormat||(R.RenderTargetFormat={});e[e.None=-1]="None";e[e.R8G8B8=0]="R8G8B8";e[e.R8G8B8A8=1]="R8G8B8A8";e[e.R16G16B16A16=17]="R16G16B16A16";e[e.R32G32B32=30]="R32G32B32";e[e.R32G32B32A32=15]="R32G32B32A32";e[e.R16G16B16=31]="R16G16B16";e[e.DEPTH_16=35]="DEPTH_16";e[e.STENCIL_8=36]="STENCIL_8";e[e.DEPTHSTENCIL_24_8=37]="DEPTHSTENCIL_24_8";e[e.DEPTH_32=38]="DEPTH_32";class Y{constructor(e=0,t=0){this.x=e;this.y=t}static create(){return A.getItemByClass("Point",Y)}setTo(e,t){this.x=e;this.y=t;return this}reset(){this.x=this.y=0;return this}recover(){A.recover("Point",this.reset())}distance(e,t){return Math.sqrt((this.x-e)*(this.x-e)+(this.y-t)*(this.y-t))}toString(){return this.x+","+this.y}normalize(){var e=Math.sqrt(this.x*this.x+this.y*this.y);if(0=this.x&&e=this.y&&tthis.x+this.width||e.x+e.widththis.y+this.height||e.y+e.heighte&&(this.width+=this.x-e,this.x=e);this.y>t&&(this.height+=this.y-t,this.y=t);this.widtha.x?l:a.x;r=r>a.y?r:a.y}return t.setTo(n,i,l-n,r-i)}isEmpty(){return this.width<=0||this.height<=0}}w.EMPTY=new w;w.TEMP=new w;w._temB=[];w._temA=[];const j=4;class K{constructor(){this._flag=0;this._items=[]}add(r,s,e){let t=this._items,i=t.findIndex((e,t,i)=>e==r&&i[t+1]==s);if(-1!=i){t[i+2]=e;t[i+3]=1}else t.push(r,s,e,1)}once(r,s,e){let t=this._items,i=t.findIndex((e,t,i)=>e==r&&i[t+1]==s);if(-1!=i){t[i+2]=e;t[i+3]=2}else t.push(r,s,e,2)}remove(r,s){let e=this._items,t=e.findIndex((e,t,i)=>e==r&&i[t+1]==s);if(-1!=t)if(0!=this._flag){e[t+3]=0;this._flag=2}else e.splice(t,j)}clear(){let e=this._items;if(0!=this._flag){e.forEach((e,t,i)=>{t%j==3&&(i[t]=0)});this._flag=2}else e.length=0}clearForTarget(r){if(r){let t=this._items;if(0!=this._flag){t.forEach((e,t,i)=>{t%j==1&&i[t]==r&&(i[t+2]=0)});this._flag=2}else{let e=t.length-j;for(;0<=e;){t[e+1]==r&&t.splice(e,j);e-=j}}}}get count(){return this._items.length/j}invoke(...r){if(0==this._flag){this._flag=1;let i=this._items,e=i.length;for(let t=0;tu.width&&(r=u.width-t);u.height&&i+s>u.height&&(s=u.height-i);if(o){_=o;_.setTo(u,null,l||r,h||s)}else _=new re(u,null,l||r,h||s);_.width=r;_.height=s;_.offsetX=a;_.offsetY=n;e=1/u.width,o=1/u.height;t*=e;i*=o;r*=e;s*=o;l=_.uv[0],h=_.uv[1],a=_.uv[4],n=_.uv[5],e=a-l,o=n-h,c=se(c[0],c[1],[t,i,t+r,i,t+r,i+s,t,i+s]),r=(_.uv=new Float32Array([l+c[0]*e,h+c[1]*o,a-(1-c[2])*e,h+c[3]*o,a-(1-c[4])*e,n-(1-c[5])*o,l+c[6]*e,n-(1-c[7])*o]),u.scaleRate);if(r&&1!=r){_.sourceWidth/=r;_.sourceHeight/=r;_.width/=r;_.height/=r;_.scaleRate=r;_.offsetX/=r;_.offsetY/=r}else _.scaleRate=1;return _}static createFromTexture(e,t,i,r,s){var a=e.scaleRate;if(1!=a){t*=a;i*=a;r*=a;s*=a}a=w.TEMP.setTo(t-e.offsetX,i-e.offsetY,r,s),t=a.intersection(te.setTo(0,0,e.width,e.height),ie);return t?re.create(e,t.x,t.y,t.width,t.height,t.x-a.x,t.y-a.y,r,s):null}get uv(){return this._uv}set uv(e){this.uvrect[0]=Math.min(e[0],e[2],e[4],e[6]);this.uvrect[1]=Math.min(e[1],e[3],e[5],e[7]);this.uvrect[2]=Math.max(e[0],e[2],e[4],e[6])-this.uvrect[0];this.uvrect[3]=Math.max(e[1],e[3],e[5],e[7])-this.uvrect[1];this._uv=e}get width(){return this._w||(this.bitmap?this.uv&&this.uv!==re.DEF_UV?(this.uv[2]-this.uv[0])*this.bitmap.width:this.bitmap.width:0)}set width(e){this._w=e;this.sourceWidth||(this.sourceWidth=e)}get height(){return this._h||(this.bitmap?this.uv&&this.uv!==re.DEF_UV?(this.uv[5]-this.uv[1])*this.bitmap.height:this.bitmap.height:0)}set height(e){this._h=e;this.sourceHeight||(this.sourceHeight=e)}get bitmap(){return this._bitmap}set bitmap(e){if(this._bitmap!=e){this._bitmap&&this._bitmap._removeReference(this._referenceCount);this._bitmap=e;e&&e._addReference(this._referenceCount)}}_addReference(e=1){super._addReference(e);this._bitmap&&this._bitmap._addReference(e)}_removeReference(e=1){this._bitmap&&this._bitmap._removeReference(e);super._removeReference(e)}_getSource(e=null){if(this._destroyed||!this._bitmap)return null;this.recoverBitmap(e);return this._bitmap.destroyed?null:this.bitmap._getSource()}setTo(e=null,t=null,i=0,r=0){this.bitmap=e;this.sourceWidth=i;this.sourceHeight=r;if(e){this._w=e.width;this._h=e.height;this.sourceWidth=this.sourceWidth||e.width;this.sourceHeight=this.sourceHeight||e.height}this.uv=t||re.DEF_UV}load(e,i){return this._destroyed?Promise.resolve():C.loader.load(e).then(e=>{let t=e.bitmap;this.bitmap=t;this.sourceWidth=this._w=t.width;this.sourceHeight=this._h=t.height;i&&i.run();this.event(g.READY,this)})}getTexturePixels(r,s,a,n){var e=this.bitmap,t=this._w,i=this._h,l=this.sourceWidth,h=this.sourceHeight,o=e.width,_=e.height,u=this.offsetX,c=this.offsetY;let d=a,f=n;t+u{this.bitmap=e.bitmap;t&&t()})}disposeBitmap(){!this._destroyed&&this._bitmap&&this._bitmap.destroy()}get valid(){return!this._destroyed&&this._bitmap&&!this._bitmap.destroyed}get obsolute(){return this._obsolute||!this._bitmap||this._bitmap.destroyed||this._bitmap.obsolute}set obsolute(e){this._obsolute=e}_disposeResource(){let e=this._bitmap;this._bitmap=null;e&&e._removeReference(this._referenceCount)}getCachedClip(e,t,i,r){let s=e+`_${t}_${i}_`+r,a=(this._clipCache||(this._clipCache=new Map),this._clipCache.get(s));if(!a){a=re.createFromTexture(this,e,t,i,r);a&&(a._sizeGrid=this._sizeGrid);100e&&this._resizeBuffer(this._allocated_=e);this._length=e}get length(){return this._length}_resizeBuffer(t){try{var e=new Uint8Array(t);null!=this._u8d_&&(this._u8d_.length<=t?e.set(this._u8d_):e.set(this._u8d_.subarray(0,t)));this._u8d_=e;this._d_=new DataView(e.buffer)}catch(e){throw"Invalid typed array length:"+t}}getString(){return this.readString()}readString(){return this._rUTF(this.getUint16())}getFloat32Array(e,t){return this.readFloat32Array(e,t)}readFloat32Array(e,t){t=e+t,t=t>this._length?this._length:t,e=new Float32Array(this._d_.buffer.slice(e,t));this._pos_=t;return e}getUint8Array(e,t){return this.readUint8Array(e,t)}readUint8Array(e,t){t=e+t,t=t>this._length?this._length:t,e=new Uint8Array(this._d_.buffer.slice(e,t));this._pos_=t;return e}getInt16Array(e,t){return this.readInt16Array(e,t)}readInt16Array(e,t){t=e+t,t=t>this._length?this._length:t,e=new Int16Array(this._d_.buffer.slice(e,t));this._pos_=t;return e}getFloat32(){return this.readFloat32()}readFloat32(){if(this._pos_+4>this._length)throw"getFloat32 error - Out of bounds";var e=this._d_.getFloat32(this._pos_,this._xd_);this._pos_+=4;return e}getFloat64(){return this.readFloat64()}readFloat64(){if(this._pos_+8>this._length)throw"getFloat64 error - Out of bounds";var e=this._d_.getFloat64(this._pos_,this._xd_);this._pos_+=8;return e}writeFloat32(e){this._ensureWrite(this._pos_+4);this._d_.setFloat32(this._pos_,e,this._xd_);this._pos_+=4}writeFloat64(e){this._ensureWrite(this._pos_+8);this._d_.setFloat64(this._pos_,e,this._xd_);this._pos_+=8}getInt32(){return this.readInt32()}readInt32(){if(this._pos_+4>this._length)throw"getInt32 error - Out of bounds";var e=this._d_.getInt32(this._pos_,this._xd_);this._pos_+=4;return e}getUint32(){return this.readUint32()}readUint32(){if(this._pos_+4>this._length)throw"getUint32 error - Out of bounds";var e=this._d_.getUint32(this._pos_,this._xd_);this._pos_+=4;return e}writeInt32(e){this._ensureWrite(this._pos_+4);this._d_.setInt32(this._pos_,e,this._xd_);this._pos_+=4}writeUint32(e){this._ensureWrite(this._pos_+4);this._d_.setUint32(this._pos_,e,this._xd_);this._pos_+=4}getInt16(){return this.readInt16()}readInt16(){if(this._pos_+2>this._length)throw"getInt16 error - Out of bounds";var e=this._d_.getInt16(this._pos_,this._xd_);this._pos_+=2;return e}getUint16(){return this.readUint16()}readUint16(){if(this._pos_+2>this._length)throw"getUint16 error - Out of bounds";var e=this._d_.getUint16(this._pos_,this._xd_);this._pos_+=2;return e}writeUint16(e){this._ensureWrite(this._pos_+2);this._d_.setUint16(this._pos_,e,this._xd_);this._pos_+=2}writeInt16(e){this._ensureWrite(this._pos_+2);this._d_.setInt16(this._pos_,e,this._xd_);this._pos_+=2}getUint8(){return this.readUint8()}readUint8(){if(this._pos_+1>this._length)throw"getUint8 error - Out of bounds";return this._u8d_[this._pos_++]}writeUint8(e){this._ensureWrite(this._pos_+1);this._d_.setUint8(this._pos_,e);this._pos_++}_getUInt8(e){return this._readUInt8(e)}_readUInt8(e){return this._d_.getUint8(e)}_getUint16(e){return this._readUint16(e)}_readUint16(e){return this._d_.getUint16(e,this._xd_)}_getMatrix(){return this._readMatrix()}_readMatrix(){var e=new E(this.getFloat32(),this.getFloat32(),this.getFloat32(),this.getFloat32(),this.getFloat32(),this.getFloat32());return e}_rUTF(e){var t,i,r,s=this._pos_+e,a=String.fromCharCode,n=this._u8d_,l=[],h=0;l.length=1e3;for(;this._pos_>10,c=56320|1023&_;l[h++]=a(u);l[h++]=a(c)}else l[h++]=a(o)}}l.length=h;return l.join("")}getCustomString(e){return this.readCustomString(e)}readCustomString(e){for(var t,i,r="",s=0,a=String.fromCharCode,n=this._u8d_;0>6,128|63&r],this._pos_);this._pos_+=2}else if(55296<=r&&r<=56319){t++;const s=e.charCodeAt(t);if(!Number.isNaN(s)&&56320<=s&&s<=57343){const a=64+(1023&r),n=1023&s,l=240|a>>8&63,h=128|a>>2&63,o=128|(3&a)<<4|n>>6&15,_=128|63&n;this._ensureWrite(this._pos_+4);this._u8d_.set([l,h,o,_],this._pos_);this._pos_+=4}}else if(r<=65535){this._ensureWrite(this._pos_+3);this._u8d_.set([224|r>>12,128|r>>6&63,128|63&r],this._pos_);this._pos_+=3}else{this._ensureWrite(this._pos_+4);this._u8d_.set([240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r],this._pos_);this._pos_+=4}}}writeUTFString(e){var t=this.pos;this.writeUint16(1);this.writeUTFBytes(e);e=this.pos-t-2;this._d_.setUint16(t,e,this._xd_)}writeUTFString32(e){var t=this.pos;this.writeUint32(1);this.writeUTFBytes(e);e=this.pos-t-4;this._d_.setUint32(t,e,this._xd_)}readUTFString(){return this.readUTFBytes(this.getUint16())}readUTFString32(){return this.readUTFBytes(this.getUint32())}getUTFString(){return this.readUTFString()}readUTFBytes(e=-1){if(0===e)return"";var t=this.bytesAvailable;if(tthis._length)throw"readByte error - Out of bounds";return this._d_.getInt8(this._pos_++)}getByte(){return this.readByte()}_ensureWrite(e){this._length>-t-14;le._baseTable[256|e]=1024>>-t-14|32768;le._shiftTable[0|e]=-t-1;le._shiftTable[256|e]=-t-1}else if(t<=15){le._baseTable[0|e]=t+15<<10;le._baseTable[256|e]=t+15<<10|32768;le._shiftTable[0|e]=13;le._shiftTable[256|e]=13}else if(t<128){le._baseTable[0|e]=31744;le._baseTable[256|e]=64512;le._shiftTable[0|e]=24;le._shiftTable[256|e]=24}else{le._baseTable[0|e]=31744;le._baseTable[256|e]=64512;le._shiftTable[0|e]=13;le._shiftTable[256|e]=13}}le._mantissaTable[0]=0;for(e=1;e<1024;++e){for(var i=e<<13,t=0;0==(8388608&i);){t-=8388608;i<<=1}i&=-8388609;t+=947912704;le._mantissaTable[e]=i|t}for(e=1024;e<2048;++e)le._mantissaTable[e]=939524096+(e-1024<<13);le._exponentTable[0]=0;for(e=1;e<31;++e)le._exponentTable[e]=e<<23;le._exponentTable[31]=1199570944;le._exponentTable[32]=2147483648;for(e=33;e<63;++e)le._exponentTable[e]=2147483648+(e-32<<23);le._exponentTable[63]=3347054592;le._offsetTable[0]=0;for(e=1;e<64;++e)le._offsetTable[e]=32===e?0:1024}static roundToFloat16Bits(e){le._floatView[0]=e;var e=le._uint32View[0],t=e>>23&511;return le._baseTable[t]+((8388607&e)>>le._shiftTable[t])}static convertToNumber(e){var t=e>>10;le._uint32View[0]=le._mantissaTable[le._offsetTable[t]+(1023&e)]+le._exponentTable[t];return le._floatView[0]}}le._buffer=new ArrayBuffer(4);le._floatView=new Float32Array(le._buffer);le._uint32View=new Uint32Array(le._buffer);le._baseTable=new Uint32Array(512);le._shiftTable=new Uint32Array(512);le._mantissaTable=new Uint32Array(2048);le._exponentTable=new Uint32Array(64);le._offsetTable=new Uint32Array(64);R.FilterMode=void 0;e=R.FilterMode||(R.FilterMode={});e[e.Point=0]="Point";e[e.Bilinear=1]="Bilinear";e[e.Trilinear=2]="Trilinear";R.RenderCapable=void 0;e=R.RenderCapable||(R.RenderCapable={});e[e.Element_Index_Uint32=0]="Element_Index_Uint32";e[e.TextureFormat_R32G32B32A32=1]="TextureFormat_R32G32B32A32";e[e.TextureFormat_R16G16B16A16=2]="TextureFormat_R16G16B16A16";e[e.Texture_anisotropic=3]="Texture_anisotropic";e[e.RenderTextureFormat_R16G16B16A16=4]="RenderTextureFormat_R16G16B16A16";e[e.RenderTextureFormat_R32G32B32A32=5]="RenderTextureFormat_R32G32B32A32";e[e.RenderTextureFormat_Depth=6]="RenderTextureFormat_Depth";e[e.RenderTextureFormat_ShadowMap=7]="RenderTextureFormat_ShadowMap";e[e.Vertex_VAO=8]="Vertex_VAO";e[e.DrawElement_Instance=9]="DrawElement_Instance";e[e.Shader_TextureLod=10]="Shader_TextureLod";e[e.COMPRESS_TEXTURE_S3TC=11]="COMPRESS_TEXTURE_S3TC";e[e.COMPRESS_TEXTURE_S3TC_SRGB=12]="COMPRESS_TEXTURE_S3TC_SRGB";e[e.COMPRESS_TEXTURE_PVRTC=13]="COMPRESS_TEXTURE_PVRTC";e[e.COMPRESS_TEXTURE_ETC1=14]="COMPRESS_TEXTURE_ETC1";e[e.COMPRESS_TEXTURE_ETC=15]="COMPRESS_TEXTURE_ETC";e[e.COMPRESS_TEXTURE_ASTC=16]="COMPRESS_TEXTURE_ASTC";e[e.Texture_SRGB=17]="Texture_SRGB";e[e.MSAA=18]="MSAA";e[e.UnifromBufferObject=19]="UnifromBufferObject";e[e.GRAPHICS_API_GLES3=20]="GRAPHICS_API_GLES3";e[e.Texture3D=21]="Texture3D";e[e.Texture_FloatLinearFiltering=22]="Texture_FloatLinearFiltering";e[e.Texture_HalfFloatLinearFiltering=23]="Texture_HalfFloatLinearFiltering";const he=827611204,oe=861165636,_e=894720068,ue=4,ce=64,de=512,fe=131072,pe=131072,me=542327876,ge=31,Te=0,xe=1,ye=2,Ee=3,ve=4,be=7,Se=20,Re=21,Ce=28,Ae=113,we=116,Me=e=>String.fromCharCode(255&e,e>>8&255,e>>16&255,e>>24&255);class De{constructor(e,t,i,r,s,a,n,l,h,o){this.width=e;this.height=t;this.mipmapCount=i;this.isCube=r;this.blockBytes=a;this.dataOffset=n;this.format=l;this.source=o;this.bpp=s;this.compressed=h}static getDDSTextureInfo(e){let t=new Int32Array(e,0,ge),i=t[ve],r=t[Ee],s=1,a=(t[ye]&pe&&(s=Math.max(1,t[be])),t[Re]),n=(t[Se]&ue)===ue,l=(t[Se]&ce)===ce,h=(t[Se]&fe)===fe,o=(t[Ce]&de)===de,_=a===he||a===oe||a===_e,u=R.TextureFormat.DXT1,c=t[xe]+4,d=1;switch(a){case he:u=R.TextureFormat.DXT1;d=8;break;case oe:u=R.TextureFormat.DXT3;d=16;break;case _e:u=R.TextureFormat.DXT5;d=16;break;case Ae:u=R.TextureFormat.R16G16B16A16;d=4;break;case we:u=R.TextureFormat.R32G32B32A32;d=4;break;default:throw"Unsupported format "+Me(a)}if(t[Te]!==me)throw"Invalid magic number in DDS header";if(!n&&!l&&!h)throw"Unsupported format, must contain a FourCC, RGB or LUMINANCE code";let f=M.renderEngine.getCapable(R.RenderCapable.COMPRESS_TEXTURE_S3TC)||M.renderEngine.getCapable(R.RenderCapable.COMPRESS_TEXTURE_S3TC_SRGB);if(_&&!f)throw"Compressed textures are not supported on this platform.";return new De(i,r,s,o,0,d,c,u,_,e)}}R.TextureDimension=void 0;e=R.TextureDimension||(R.TextureDimension={});e[e.Tex2D=0]="Tex2D";e[e.Cube=1]="Cube";e[e.Tex3D=2]="Tex3D";e[e.Texture2DArray=3]="Texture2DArray";e[e.CubeArray=4]="CubeArray";e[e.Unkonw=5]="Unkonw";e[e.None=6]="None";const Ie=12,Pe=13,Le=36196,Be=37492,Fe=37496,Oe=37497,Ne=37493,Ue=37808,Ge=37812,ke=37815,We=37819,Xe=37821,Ve=37840,He=37844,Ye=37847,ze=37851,je=37853,Ke=6408,qe=6407,$e=34836,Ze=34837,Qe=34842,Je=34843,et=35905,tt=32856,it=32849,rt=35907,st=5121,at=5126,nt=5131;class lt{constructor(e,t,i,r,s,a,n,l,h,o){this.source=e;this.compress=t;this.sRGB=i;this.dimension=r;this.width=s;this.height=a;this.format=n;this.mipmapCount=l;this.bytesOfKeyValueData=h;this.headerOffset=o}static getLayaFormat(e,t,i,r){if(0!=e){if(e==Ke&&t==tt&&i==st)return{format:R.TextureFormat.R8G8B8A8,sRGB:false};if(e==Ke&&t==rt&&i==st)return{format:R.TextureFormat.R8G8B8A8,sRGB:true};if(e==Ke&&t==$e&&i==at)return{format:R.TextureFormat.R32G32B32A32,sRGB:false};if(e==Ke&&t==Qe&&i==nt)return{format:R.TextureFormat.R16G16B16A16,sRGB:false};if(e==qe&&t==Ze&&i==at)return{format:R.TextureFormat.R32G32B32,sRGB:false};if(e==qe&&t==Je&&i==nt)return{format:R.TextureFormat.R16G16B16,sRGB:false};if(e==qe&&t==et&&i==st)return{format:R.TextureFormat.R8G8B8,sRGB:true};if(e==qe&&t==it&&i==st)return{format:R.TextureFormat.R8G8B8,sRGB:false};throw"ktx: Unsupported UnCompressed image data."}switch(t){case Le:return{format:R.TextureFormat.ETC1RGB,sRGB:false};case Fe:return{format:R.TextureFormat.ETC2RGBA,sRGB:false};case Be:return{format:R.TextureFormat.ETC2RGB,sRGB:false};case Oe:return{format:R.TextureFormat.ETC2SRGB_Alpha8,sRGB:true};case Ne:return{format:R.TextureFormat.ETC2SRGB,sRGB:true};case Ue:return{format:R.TextureFormat.ASTC4x4,sRGB:false};case Ge:return{format:R.TextureFormat.ASTC6x6,sRGB:false};case ke:return{format:R.TextureFormat.ASTC8x8,sRGB:false};case We:return{format:R.TextureFormat.ASTC10x10,sRGB:false};case Xe:return{format:R.TextureFormat.ASTC12x12,sRGB:false};case Ve:return{format:R.TextureFormat.ASTC4x4SRGB,sRGB:true};case He:return{format:R.TextureFormat.ASTC6x6SRGB,sRGB:true};case Ye:return{format:R.TextureFormat.ASTC8x8SRGB,sRGB:true};case ze:return{format:R.TextureFormat.ASTC10x10SRGB,sRGB:true};case je:return{format:R.TextureFormat.ASTC12x12SRGB,sRGB:true};default:throw"KTX: UnSupported Compressed format."}}static getKTXTextureInfo(e){let t=new Uint8Array(e,0,12);if(171===t[0]&&75===t[1]&&84===t[2]&&88===t[3]&&32===t[4]&&50===t[5]&&48===t[6]&&187===t[7]&&13===t[8]&&10===t[9]&&26===t[10]&&10===t[11])throw"ktx2 !";if(171===t[0]&&75===t[1]&&84===t[2]&&88===t[3]&&32===t[4]&&49===t[5]&&49===t[6]&&187===t[7]&&13===t[8]&&10===t[9]&&26===t[10]&&10===t[11])return lt.createKTX1Info(e);throw"ktx data wrong, not ktx1 or ktx2 buffer!"}static createKTX1Info(e){let t=Uint32Array.BYTES_PER_ELEMENT,i=new DataView(e,Ie,t*Pe),r=i.getUint32(0,true),s=67305985==r,a=i.getUint32(+t,s),n=i.getUint32(2*t,s),l=i.getUint32(3*t,s),h=i.getUint32(4*t,s),o=(i.getUint32(5*t,s),i.getUint32(6*t,s)),_=i.getUint32(7*t,s),u=(i.getUint32(8*t,s),i.getUint32(9*t,s)),c=i.getUint32(10*t,s),d=i.getUint32(11*t,s),f=i.getUint32(12*t,s),p=lt.getLayaFormat(l,h,a,n),m=p.format,g=p.sRGB,T=R.TextureDimension.Tex2D,x=(1>>24)/255,((16711680&e)>>16)/255,((65280&e)>>8)/255,(255&e)/255];this.numColor=(4278190080&e)>>>24|(16711680&e)>>8|(65280&e)<<8|(255&e)<<24}else{this.arrColor=[((16711680&e)>>16)/255,((65280&e)>>8)/255,(255&e)/255,1];this.numColor=4278190080|(16711680&e)>>16|65280&e|(255&e)<<16}}}static _initDefault(){d._DEFAULT={};for(var e in ot)d._SAVE[e]=d._DEFAULT[e]=new d(ot[e]);return d._DEFAULT}static _initSaveMap(){d._SAVE_SIZE=0;d._SAVE=Object.assign({},d._DEFAULT)}static create(e){let t=e+"",i=d._SAVE[t];if(null!=i)return i;500{i&&i(e);return e})}return i&&i(t),Promise.resolve(t)}shaderName_to_URL(e){return this.shaderNameMap[e]}shaderName_to_URL_async(e){return Promise.resolve(null)}getMeta(e,t){return Promise.resolve(null)}getSubAssetURL(e,t,i,r){return i?Hr.replaceFileExtension(e,"")+`@${i}.`+r:e}}pt.inst=new pt;class D{constructor(e){this._url=D.formatURL(e);this._path=D.getPath(e)}static __init__(){D.rootPath=D.basePath=location&&null!=location.protocol&&""!=location.protocol?D.getPath(location.protocol+"//"+location.host+location.pathname):""}static initMiniGameExtensionOverrides(){if(!S.isPreview){D.overrideExtension(["rendertexture","videotexture"],"rt.json");D.overrideExtension(["controller"],"controller.json");D.overrideExtension(["mc"],"mc.bin");D.overrideExtension(["mcc"],"mcc.json");D.overrideExtension(["shader"],"shader.json");D.overrideExtension(["scene3d","scene","taa","prefab"],"json");D.overrideExtension(["fui"],"fui.json");D.overrideExtension(["glsl"],"glsl.txt");D.overrideExtension(["skel"],"skel.bin")}}get url(){return this._url}get path(){return this._path}static formatURL(i,e){if(!i)return e||D.basePath||"";if(i.startsWith("res://")){let e=i.substring(6),t=pt.inst.UUID_to_URL(e);if(!t)return i;i=t}let r=i.charCodeAt(0);if(-1==i.indexOf(":")&&47!==r){null!=D.customFormat&&(i=D.customFormat(i));let t=D.version[i];if(null!=t){let e=i.lastIndexOf(".");i=i.substring(0,e)+"-"+t+i.substring(e)}if(126===r)i=D.join(D.rootPath,i.substring(2));else{if(null==e){e=D.basePath;for(var s in D.basePaths)if(i.startsWith(s)){e=D.basePaths[s];break}}i=D.join(e,i)}}return i}static postFormatURL(i){if(D.hasExtOverrides){let e=Hr.getFileExtension(i),t=D.overrideFileExts[e];null!=t&&(i=Hr.replaceFileExtension(i,t))}return i}static normalize(e){if(-1==e.indexOf("./"))return e;let t=e.split("/"),i=t.length,r=0;for(;r()'\",;".indexOf(i)){if(0<=a&&1!%(),;\\|]","g");class yt{static addInclude(e,t,i){if(!t||0===t.length)return console.error("shader include file err:"+e),null;if(!i&&yt.includes[e])return console.warn("shader include file already exists:"+e),yt.includes[e];t=t.replace(Tt,"");let r=new mt(t);yt.includes[e]=r;return r}static compile(e,t,i){let r={vsNode:new gt([]),psNode:new gt([]),includeNames:new Set,defs:new Set},s=[];e=e.replace(Tt,"");t=t.replace(Tt,"");yt._compileToTree(r.vsNode,e,r.defs,s,i);yt._compileToTree(r.psNode,t,r.defs,s,i);for(var a of s)a.file?r.includeNames.add(a.name):console.warn("ShaderCompile missing file "+a.name);return r}static compileAsync(e,t,i){let r={vsNode:new gt([]),psNode:new gt([]),includeNames:new Set,defs:new Set},s=[];e=e.replace(Tt,"");t=t.replace(Tt,"");yt._compileToTree(r.vsNode,e,r.defs,s,i);yt._compileToTree(r.psNode,t,r.defs,s,i);return this._loadIncludesDeep(r,s,0)}static _loadIncludesDeep(s,a,e){let n,i=a.length;for(let t=e;te.name)).then(r=>{let t=n.length;for(let e=0;ei?yt._loadIncludesDeep(s,a,i):s}):Promise.resolve(s)}static _compileToTree(r,e,s,a,n){let l,h,o,_,u,c,d,t,i,f,p=e.split("\n");for(t=0;t]/);if(l.noCompile)console.log("function():Boolean{return "+o.substr(c+l.name.length)+"}");else{d=o.replace(/^\s*/,"").split(/\s+/);l.setCondition(d[1],"#ifdef"===_?yt.IFDEF_YES:yt.IFDEF_ELSE);l.text=l.text}l.setParent(r);r=l;d=o.substr(f).split(xt);for(f=0;f{var i=1e-5;return-ithis._width||t>this._height))for(var r=-1,s=-1,a=this._width,n=this._height,l=this._cells,h=0;h=i);this._rowInfo[l]-=i;for(var h=0;hOt&&(e=e.slice(0,Ot));return e}_copyMatrix(e){var t=Ot;this._matrix||(this._matrix=[]);for(var i=0;ie+"="+h[e]);p.onMobile=!!window.conch||-1{"average"==e.mode&&(T[e.value]=0)});M.renderEngine.clearStatisticsInfo(R.RenderStatisticsInfo.Triangle);M.renderEngine.clearStatisticsInfo(R.RenderStatisticsInfo.DrawCall);M.renderEngine.clearStatisticsInfo(R.RenderStatisticsInfo.InstanceDrawCall)}}static render(e,t,i){T._show&&T._statUI.render(e,t,i)}}T.FPSStatUIParams={title:"FPS",value:"_fpsStr",color:"yellow",units:"int",mode:"summit"};T.NodeStatUIParams={title:"Node",value:"spriteCount",color:"white",units:"int",mode:"summit"};T.Sprite3DStatUIParams={title:"Sprite3D",value:"sprite3DCount",color:"white",units:"int",mode:"summit"};T.DrawCall={title:"DrawCall",value:"drawCall",color:"white",units:"int",mode:"average"};T.TriangleFace={title:"TriangleFace",value:"trianglesFaces",color:"white",units:"int",mode:"average"};T.RenderNode={title:"RenderNode",value:"renderNode",color:"white",units:"int",mode:"summit"};T.SkinRenderNode={title:"SkinRenderNode",value:"skinRenderNode",color:"white",units:"int",mode:"summit"};T.ParticleRenderNode={title:"ParticleRenderNode",value:"particleRenderNode",color:"white",units:"int",mode:"summit"};T.FrustumCulling={title:"FrustumCulling",value:"frustumCulling",color:"white",units:"int",mode:"average"};T.UniformUpload={title:"UniformUpload",value:"uniformUpload",color:"white",units:"int",mode:"average"};T.OpaqueDrawCall={title:"OpaqueDrawCall",value:"opaqueDrawCall",color:"white",units:"int",mode:"average"};T.TransDrawCall={title:"TransDrawCall",value:"transDrawCall",color:"white",units:"int",mode:"average"};T.DepthCastDrawCall={title:"DepthCastDrawCall",value:"depthCastDrawCall",color:"white",units:"int",mode:"average"};T.InstanceDrawCall={title:"InstanceDrawCall",value:"instanceDrawCall",color:"white",units:"int",mode:"average"};T.CMDDrawCall={title:"CMDDrawCall",value:"cmdDrawCall",color:"white",units:"int",mode:"average"};T.BlitDrawCall={title:"BlitDrawCall",value:"blitDrawCall",color:"white",units:"int",mode:"average"};T.GPUMemory={title:"GPUMemory",value:"gpuMemory",color:"white",units:"M",mode:"summit"};T.TextureMemeory={title:"TextureMemory",value:"textureMemory",color:"white",units:"M",mode:"summit"};T.RenderTextureMemory={title:"RenderTextureMemory",value:"renderTextureMemory",color:"white",units:"M",mode:"summit"};T.BufferMemory={title:"BufferMemory",value:"bufferMemory",color:"white",units:"M",mode:"summit"};T.uploadUniformNum={title:"UploadUniformNum",value:"uploadUniform",color:"white",units:"int",mode:"average"};T.AllShow=[T.FPSStatUIParams,T.NodeStatUIParams,T.Sprite3DStatUIParams,T.DrawCall,T.TriangleFace,T.RenderNode,T.SkinRenderNode,T.ParticleRenderNode,T.FrustumCulling,T.OpaqueDrawCall,T.TransDrawCall,T.DepthCastDrawCall,T.InstanceDrawCall,T.CMDDrawCall,T.BlitDrawCall,T.GPUMemory,T.TextureMemeory,T.RenderTextureMemory,T.BufferMemory,T.uploadUniformNum];T.memoryShow=[T.GPUMemory,T.TextureMemeory,T.RenderTextureMemory,T.BufferMemory];T.renderShow=[T.DrawCall,T.TriangleFace,T.OpaqueDrawCall,T.TransDrawCall,T.DepthCastDrawCall,T.InstanceDrawCall,T.CMDDrawCall,T.BlitDrawCall];T.toogle_Shadow={title:"Shadow",value:"enableShadow",color:"white"};T.toogle_MulLight={title:"MulLight",value:"enableMulLight",color:"white"};T.toogle_Light={title:"Light",value:"enableLight",color:"white"};T.toogle_Postprocess={title:"Postprocess",value:"enablePostprocess",color:"white"};T.toogle_AnimatorUpdate={title:"AnimatorUpdate",value:"enableAnimatorUpdate",color:"white"};T.toogle_PhysicsUpdate={title:"PhysicsUpdate",value:"enablePhysicsUpdate",color:"white"};T.toogle_Skin={title:"Skin",value:"enableSkin",color:"white"};T.toogle_Transparent={title:"Transparent",value:"enableTransparent",color:"white"};T.toogle_Particle={title:"Particle",value:"enableParticle",color:"white"};T.toogle_msaa={title:"MSAA",value:"enablemsaa",color:"white"};T.toogle_CameraCMD={title:"CameraCMD",value:"enableCameraCMD",color:"white"};T.toogle_Opaque={title:"Opaque",value:"enableOpaque",color:"white"};T.AllToggle=[T.toogle_Shadow,T.toogle_Light,T.toogle_MulLight,T.toogle_Postprocess,T.toogle_AnimatorUpdate,T.toogle_PhysicsUpdate,T.toogle_Opaque,T.toogle_Transparent,T.toogle_CameraCMD,T.toogle_Skin,T.toogle_Particle,T.toogle_msaa];T.RenderModeToggle=[T.toogle_Shadow,T.toogle_Light,T.toogle_MulLight,T.toogle_Postprocess,T.toogle_AnimatorUpdate,T.toogle_PhysicsUpdate];T.RenderFuncToggle=[T.toogle_Opaque,T.toogle_Transparent,T.toogle_CameraCMD,T.toogle_Skin,T.toogle_Particle,T.toogle_msaa];T.FPS=0;T.loopCount=0;T.spriteRenderUseCacheCount=0;T.canvasNormal=0;T.canvasBitmap=0;T.canvasReCache=0;T.renderSlow=false;T._timer=0;T._count=0;T._fpsStr="";T.spriteCount=0;T.sprite3DCount=0;T.drawCall=0;T.trianglesFaces=0;T.renderNode=0;T.skinRenderNode=0;T.particleRenderNode=0;T.frustumCulling=0;T.uniformUpload=0;T.opaqueDrawCall=0;T.transDrawCall=0;T.depthCastDrawCall=0;T.instanceDrawCall=0;T.cmdDrawCall=0;T.blitDrawCall=0;T.textureMemory=0;T.renderTextureMemory=0;T.bufferMemory=0;T.uploadUniform=0;T.enableShadow=true;T.enableMulLight=true;T.enableLight=true;T.enableCameraCMD=true;T.enablePostprocess=true;T.enableSkin=true;T.enableTransparent=true;T.enableParticle=true;T.enableAnimatorUpdate=true;T.enablePhysicsUpdate=true;T.enablemsaa=true;T.enableOpaque=true;window.Stat=T;R.RenderParams=void 0;e=R.RenderParams||(R.RenderParams={});e[e.Max_Active_Texture_Count=0]="Max_Active_Texture_Count";e[e.Max_Uniform_Count=1]="Max_Uniform_Count";e[e.Max_AnisoLevel_Count=2]="Max_AnisoLevel_Count";e[e.MAX_Texture_Size=3]="MAX_Texture_Size";e[e.MAX_Texture_Image_Uint=4]="MAX_Texture_Image_Uint";e[e.SHADER_CAPAILITY_LEVEL=5]="SHADER_CAPAILITY_LEVEL";e[e.FLOAT=6]="FLOAT";e[e.UNSIGNED_BYTE=7]="UNSIGNED_BYTE";e[e.BYTE=8]="BYTE";e[e.UNSIGNED_SHORT=9]="UNSIGNED_SHORT";class c{static __init__(){c._elementInfos={single:[1,M.renderEngine.getParams(R.RenderParams.FLOAT),0],vector2:[2,M.renderEngine.getParams(R.RenderParams.FLOAT),0],vector3:[3,M.renderEngine.getParams(R.RenderParams.FLOAT),0],vector4:[4,M.renderEngine.getParams(R.RenderParams.FLOAT),0],color:[4,M.renderEngine.getParams(R.RenderParams.FLOAT),0],byte4:[4,M.renderEngine.getParams(R.RenderParams.UNSIGNED_BYTE),0],byte3:[3,M.renderEngine.getParams(R.RenderParams.UNSIGNED_BYTE),0],byte2:[2,M.renderEngine.getParams(R.RenderParams.UNSIGNED_BYTE),0],byte:[1,M.renderEngine.getParams(R.RenderParams.UNSIGNED_BYTE),0],short2:[2,M.renderEngine.getParams(R.RenderParams.UNSIGNED_SHORT),0],short4:[4,M.renderEngine.getParams(R.RenderParams.UNSIGNED_SHORT),0],normalizedshort2:[2,M.renderEngine.getParams(R.RenderParams.UNSIGNED_SHORT),1],normalizedshort4:[4,M.renderEngine.getParams(R.RenderParams.UNSIGNED_SHORT),1],halfvector2:[2,M.renderEngine.getParams(R.RenderParams.FLOAT),0],halfvector4:[4,M.renderEngine.getParams(R.RenderParams.FLOAT),0],nbyte4:[4,M.renderEngine.getParams(R.RenderParams.BYTE),1]}}static getElementInfos(e){e=c._elementInfos[e];if(e)return e;throw"VertexElementFormat: this vertexElementFormat is not implement."}}c.Single="single";c.Vector2="vector2";c.Vector3="vector3";c.Vector4="vector4";c.Color="color";c.Byte4="byte4";c.Byte3="byte3";c.Byte2="byte2";c.ByteOne="byte";c.Short2="short2";c.Short4="short4";c.NormalizedShort2="normalizedshort2";c.NormalizedShort4="normalizedshort4";c.HalfVector2="halfvector2";c.HalfVector4="halfvector4";c.NorByte4="nbyte4";class Gt{constructor(e,t){this._id=++Gt._uniqueIDCounter;this._vertexElementsDic={};this._vertexStride=e;this._vertexElements=t;var i=t.length;this._shaderValues={};for(var r=0;rthis._maxsize+64){this.constBuffer._buffer=this.constBuffer._buffer.slice(0,this._maxsize+64);this._bufferSize=this.constBuffer._buffer.byteLength;this._checkArrayUse();let e=this.constBuffer._buffer.buffer;this._bufferSize%4==0&&(this._floatArray32=new Float32Array(e));this._bufferSize%4==0&&(this._uint32Array=new Uint32Array(e));this._uint16Array=new Uint16Array(e)}this._maxsize=this.constBuffer._byteLength}if(this._uploadSizethis._maxsize+64){this.constBuffer._buffer=this.constBuffer._buffer.slice(0,this._maxsize+64);this._bufferSize=this.constBuffer._buffer.byteLength;this._checkArrayUse()}this._maxsize=this.constBuffer._byteLength}if(this._uploadSize>2,i=(this.buffer2D.setByteLength(this._byteLength+4*e.length),this.getFloat32Array());i.set(e,t);this.buffer2D._upload=true}deleteBuffer(){this.buffer2D._disposeResource()}_bindForVAO(){this._glBuffer.bindBuffer()}destroy(){super.destroy();this._byteLength=0;this.buffer2D._upload=true;this._buffer=null}}jt.create=function(e,t=R.BufferUsage.Dynamic){return new jt(e,t)};class Kt{constructor(e,t,i){this._stride=0;this.vertNum=0;this.indexNum=0;this._applied=false;this._quadNum=0;this.canReuse=false;this._stride=e;this._vb=new jt(e,R.BufferUsage.Dynamic);t?this._vb.buffer2D._resizeBuffer(t,false):X.webGL2D_MeshAllocMaxMem&&this._vb.buffer2D._resizeBuffer(65536*e,false);this._ib=new Yt;i&&this._ib.buffer2D._resizeBuffer(i,false)}createQuadIB(e){this._quadNum=e;this._ib.buffer2D._resizeBuffer(6*e*2,false);this._ib.buffer2D.byteLength=this._ib.buffer2D.bufferLength;for(var t=this._ib.buffer2D._uint16Array,i=0,r=0,s=0;s>2,n=(s.buffer2D.setByteLength(a+qt.const_stride<<2),s._floatArray32||s.getFloat32Array()),l=s._uint32Array,r=r?255:0;n[a++]=e[0];n[a++]=e[1];n[a++]=t[0];n[a++]=t[1];l[a++]=i;l[a++]=r;n[a++]=e[2];n[a++]=e[3];n[a++]=t[2];n[a++]=t[3];l[a++]=i;l[a++]=r;n[a++]=e[4];n[a++]=e[5];n[a++]=t[4];n[a++]=t[5];l[a++]=i;l[a++]=r;n[a++]=e[6];n[a++]=e[7];n[a++]=t[6];n[a++]=t[7];l[a++]=i;l[a++]=r;s.buffer2D._upload=true}}qt.const_stride=24;qt._maxIB=16384;qt._POOL=[];class $t extends Kt{constructor(){super($t.const_stride,4,4);this.canReuse=true;this.setAttributes($t._fixattriInfo);$t.VertexDeclarition||($t.VertexDeclarition=new Gt(24,[new kt(0,c.Vector4,0),new kt(16,c.Byte4,1),new kt(20,c.Byte4,2)]));this._vb.vertexDeclaration=$t.VertexDeclarition}static __init__(){$t._fixattriInfo=[5126,4,0,5121,4,16,5121,4,20]}static getAMesh(e){var t=$t._POOL.length?$t._POOL.pop():new $t;e&&t._vb.buffer2D._resizeBuffer(65536*$t.const_stride,false);return t}addData(e,t,i,r,s){var a=this._vb,n=this._ib,l=e.length>>1,h=a.buffer2D.needSize(l*$t.const_stride),o=h>>2,_=a._floatArray32||a.getFloat32Array(),u=a._uint32Array,c=0,d=r.a,f=r.b,p=r.c,m=r.d,g=r.tx,T=r.ty,x=0;for(x=0;x>1;if(0>2,n=this._vb._floatArray32||this._vb.getFloat32Array(),l=this._vb._uint32Array,h=0,o=t.length/2,_=0;_=c||f+e.width<=_||(p=e._y)>=d||p+e.height<=u)&&(t=false);t&&e.render(r,s,a)}r.restoreTransform(ei.curMat);t&&r.drawCallOptimize(false)}static drawLayaGL_drawNodes(e,r,s,a){var t=e._getBit(m.DRAWCALL_OPTIMIZE)&&r.drawCallOptimize(true);let n=r._drawingToTexture;var i=e._style;s-=i.pivotX;a-=i.pivotY;e._getBit(m.HIDE_BY_EDITOR)||e._graphics&&e._graphics._render(e,r,s,a);var l=e._children,h=l.length;let o,_,u,c,d,f,p;if(i.viewport){o=i.viewport;_=o.x;u=o.y;c=o.right;d=o.bottom}for(let i=0;i=c||f+e.width<=_||(p=e._y)>=d||p+e.height<=u)&&(t=false);t&&e.render(r,s,a)}t&&r.drawCallOptimize(false)}}ei.map=[];ei.curMat=new E;class ti{constructor(){}get type(){return-1}}ti.BLUR=16;ti.COLOR=32;ti.GLOW=8;ti._filter=function(e,t,i,r){var s=t,a=this._next;if(a){var n=e.filters,l=n.length;if(1==l&&n[0].type==ti.COLOR){t.save();t.setColorFilter(n[0]);a._fun.call(a,e,t,i,r);t.restore()}else{var h,o=cr.create(b.TEXTURE2D,0),_=Y.TEMP,u=s._curMat,c=E.create(),u=(u.copyTo(c),0),d=0,f=false,p=null,m=e._cacheStyle.filterCache||null;if(m&&0==e.getRepaint()){f=e._isHaveGlowFilter()||false;if(f){u=50;d=25}h=e.getBounds();if(h.width<=0||h.height<=0)return;h.width+=u+8;h.height+=u+8;h.x-=e.pivotX+4;h.y-=e.pivotY+4;_.x=h.x*c.a+h.y*c.c;_.y=h.y*c.d+h.x*c.b;h.x=_.x;h.y=_.y;_.x=h.width*c.a+h.height*c.c;_.y=h.height*c.d+h.width*c.b;h.width=_.x;h.height=_.y}else{f=e._isHaveGlowFilter();if(f){u=50;d=25}h=new w;h.copyFrom(e.getSelfBounds());h.x+=e.x;h.y+=e.y;h.x-=e.pivotX+4;h.y-=e.pivotY+4;var f=h.x,g=h.y;h.width+=u+8;h.height+=u+8;_.x=h.x*c.a+h.y*c.c;_.y=h.y*c.d+h.x*c.b;h.x=_.x;h.y=_.y;_.x=h.width*c.a+h.height*c.c;_.y=h.height*c.d+h.width*c.b;h.width=_.x;h.height=_.y;if(h.width<=0||h.height<=0)return;m&&m.destroy();var p=new window.conchRenderTexture2D(M.renderEngine._nativeObj,h.width,h.height,R.RenderTargetFormat.R8G8B8A8,R.RenderTargetFormat.None),T=m=new window.conchRenderTexture2D(M.renderEngine._nativeObj,h.width,h.height,R.RenderTargetFormat.R8G8B8A8,R.RenderTargetFormat.None);e._getCacheStyle().filterCache=m;s.pushRT();s.useRT(p);u=e.x-f+d,f=e.y-g+d;a._fun.call(a,e,t,u,f);s.useRT(T);for(var x=0;x>=1}return t}onCreate(e){}_style(e,t,i,r){}_no(e,t,i,r){}_custom(e,t,i,r){e.customRender(t,i,r);this._next._fun.call(this._next,e,t,0,0)}_clip(r,s,a,n){let l=this._next;if(l!=ri.NORENDER)if(r._getBit(m.DISABLE_INNER_CLIPPING)&&!s._drawingToTexture)l._fun.call(l,r,s,a,n);else{let e=r._style.scrollRect,t=e.width,i=e.height;0===t&&(t=.001);0===i&&(i=.001);s.save();s.clipRect(a,n,t,i);l._fun.call(l,r,s,a-e.x,n-e.y);s.restore()}}_texture(i,r,s,a){if(!i._getBit(m.HIDE_BY_EDITOR)){var n=i.texture;if(n._getSource()){var l=i._isWidthSet?i._width:n.sourceWidth,h=i._isHeightSet?i._height:n.sourceHeight,o=l/n.sourceWidth,_=h/n.sourceHeight,l=n.width*o,h=n.height*_;if(0=c||f+e.width<=_||(p=e._y)>=d||p+e.height<=u)||r._cacheStyle.mask==e&&!e._getBit(m.DISABLE_VISIBILITY))&&(t=false);if(t){e._getBit(m.DISABLE_OUTER_CLIPPING)&&s.clipRect(0,0,1,1,true);e.render(s,a,n)}}i&&s.drawCallOptimize(false)}_canvas(e,t,i,r){var s=e._cacheStyle,a=this._next;if(!s.enableCanvasRender||!t._drawingToTexture&&s.mask&&s.mask._getBit(m.DISABLE_VISIBILITY))a._fun.call(a,e,t,i,r);else{"bitmap"===s.cacheAs?T.canvasBitmap++:T.canvasNormal++;var n=false,l=false;s.canvas&&(h=s.canvas,l=h.isTextNeedRestore&&h.isTextNeedRestore(),n=h.isCacheValid&&!h.isCacheValid());if(e._needRepaint()||!s.canvas||l||n||C.stage.isGlobalRepaint())if("normal"===s.cacheAs){if(t._targets)return void a._fun.call(a,e,t,i,r);this._canvas_webgl_normal_repaint(e,t)}else this._canvas_repaint(e,t,i,r);var h=s.cacheRect;t.drawCanvas(s.canvas,i+h.x,r+h.y,h.width,h.height)}}_canvas_repaint(e,t,i,r){var s=e._cacheStyle,a=this._next,n=s.canvas,l=s.cacheAs,h=s._calculateCacheRect(e,l,i,r),o=h.x,h=h.y,_=s.cacheRect,u=_.width*o,c=_.height*h,d=_.x,_=_.y;if("bitmap"===l&&(2048Hi.loopTimeLimit)break;t--}}}Hi.loopTimeLimit=2;Hi._cacheList=[];Hi._index=0;class Yi{constructor(){this.useDic={};this.shapeDic={};this.shapeLineDic={};this._id=0;this._checkKey=false;this._freeIdArray=[];Hi.regCacheByFunction(this.startDispose.bind(this),this.getCacheList.bind(this))}static getInstance(){return Yi.instance=Yi.instance||new Yi}getId(){return this._id++}addShape(e,t){this.shapeDic[e]=t;this.useDic[e]||(this.useDic[e]=true)}addLine(e,t){this.shapeLineDic[e]=t;this.shapeLineDic[e]||(this.shapeLineDic[e]=true)}getShape(e){this._checkKey&&null!=this.useDic[e]&&(this.useDic[e]=true)}deleteShape(e){if(this.shapeDic[e]){this.shapeDic[e]=null;delete this.shapeDic[e]}if(this.shapeLineDic[e]){this.shapeLineDic[e]=null;delete this.shapeLineDic[e]}null!=this.useDic[e]&&delete this.useDic[e]}getCacheList(){var e,t=[];for(e in this.shapeDic)t.push(this.shapeDic[e]);for(e in this.shapeLineDic)t.push(this.shapeLineDic[e]);return t}startDispose(e){for(var t in this.useDic)this.useDic[t]=false;this._checkKey=true}endDispose(){if(this._checkKey){for(var e in this.useDic)this.useDic[e]||this.deleteShape(e);this._checkKey=false}}}class zi{constructor(){this.lineWidth=0}static create(e,t,i,r,s,a,n,l){var h=A.getItemByClass("DrawEllipseCmd",zi);h.x=e;h.y=t;h.width=i;h.height=r;h.fillColor=s;h.lineColor=a;h.lineWidth=n;h.percent=l;return h}recover(){this.fillColor=null;this.lineColor=null;A.recover("DrawEllipseCmd",this)}run(i,r,s){let a=1<=this.lineWidth&&this.lineColor?this.lineWidth/2:0;if(this.percent&&i.sprite){let e=i.sprite.width,t=i.sprite.height;i._drawEllipse(this.x*e+r,this.y*t+s,this.width*e-a,this.height*t-a,this.fillColor,this.lineColor,this.lineWidth)}else i._drawEllipse(this.x+r,this.y+s,this.width-a,this.height-a,this.fillColor,this.lineColor,this.lineWidth)}get cmdID(){return zi.ID}getBoundPoints(e){return w._getBoundPointS(this.x-this.width,this.y-this.height,2*this.width,2*this.height,this.percent?e:null)}}zi.ID="DrawEllipse";G.regClass("DrawEllipseCmd",zi);class ji{constructor(){this.lineWidth=0}static create(e,t,i,r,s,a,n,l,h,o,_,u){var c=A.getItemByClass("DrawRoundRectCmd",ji);c.x=e;c.y=t;c.width=i;c.height=r;c.lt=s;c.rt=a;c.lb=n;c.rb=l;c.fillColor=h;c.lineColor=o;c.lineWidth=_;c.percent=u;return c}recover(){this.fillColor=null;this.lineColor=null;A.recover("DrawRoundRectCmd",this)}run(i,r,s){let a=1<=this.lineWidth&&this.lineColor?this.lineWidth/2:0,n=this.lineColor?this.lineWidth:0;if(this.percent&&i.sprite){let e=i.sprite.width,t=i.sprite.height;i._drawRoundRect(this.x*e+a+r,this.y*t+a+s,this.width*e-n,this.height*t-n,this.lt,this.rt,this.lb,this.rb,this.fillColor,this.lineColor,this.lineWidth)}else i._drawRoundRect(this.x+a+r,this.y+a+s,this.width-n,this.height-n,this.lt,this.rt,this.lb,this.rb,this.fillColor,this.lineColor,this.lineWidth)}get cmdID(){return ji.ID}getBoundPoints(e){return w._getBoundPointS(this.x,this.y,this.width,this.height,this.percent?e:null)}}ji.ID="DrawRoundRect";G.regClass("DrawRoundRectCmd",ji);class Ki{constructor(){this._sp=null;this._render=this._renderEmpty;this._cmds=[];this._vectorgraphArray=null;this._graphicBounds=null;this._createData()}_createData(){}_clearData(){}_destroyData(){}destroy(){this.clear(true);this._graphicBounds&&this._graphicBounds.destroy();this._graphicBounds=null;this._vectorgraphArray=null;if(this._sp){this._sp._renderType=0;this._sp=null}this._destroyData()}clear(e=true){if(e)for(let e=0,t=this._cmds.length;e{this.drawImage(e,t,i,r,s);a&&a.call(this._sp)})}_renderEmpty(e,t,i,r){}_renderAll(e,i,r,s){i.sprite=e;var a=this._cmds;for(let e=0,t=a.length;e=i.length)throw new Error("setChildIndex:The index is out of bounds.");var r=this.getChildIndex(e);if(r<0)throw new Error("setChildIndex:node is must child of this object.");i.splice(r,1);i.splice(t,0,e);this._childChanged();return e}_childChanged(e=0){}removeChild(e){var t;return this._children?(t=this._children.indexOf(e),this.removeChildAt(t)):e}removeSelf(){this._parent&&this._parent.removeChild(this);return this}removeChildByName(e){e=this.getChildByName(e);e&&this.removeChild(e);return e}removeChildAt(e){var t=this.getChildAt(e);if(t){this._children.splice(e,1);t._setParent(null)}return t}removeChildren(e=0,t=2147483647){if(this._children&&0=i.length-1){var r=i;this._children=qi}else r=i.splice(e,t-e+1);for(var s=0,a=r.length;s=this._duration)return this.complete();for(var i=0=this.repeat){this.clear();i&&i.run()}else this.restart()}}pause(){C.timer.clear(this,this._beginLoop);C.timer.clear(this,this._doEase);C.timer.clear(this,this.firstStart);var e=p.now(),e=e-this._startTimer-this._delay;e<0&&(this._usedTimer=e)}setStartTime(e){this._startTimer=e}static clearAll(e){if(e&&e.$_GID){var t=ir.tweenMap[e.$_GID];if(t){for(var i=0,r=t.length;i=this._duration)){this._startTimer=p.now()-this._usedTimer-this._delay;this._delayParam?this._usedTimer<0?C.timer.once(-this._usedTimer,this,this.firstStart,this._delayParam):this.firstStart.apply(this,this._delayParam):this._beginLoop()}}static easeNone(e,t,i,r){return i*e/r+t}}ir.tweenMap=[];class rr{constructor(){this.ratio=.92;this.maxOffset=60;this._dragging=false;this._clickOnly=true}start(e,t,i,r,s,a,n=.92){this.clearTimer();this.target=e;this.area=t;this.hasInertia=i;this.elasticDistance=t?r:0;this.elasticBackTime=s;this.data=a;this.ratio=n;this._parent=e.parent;this._clickOnly=true;this._dragging=true;this._elasticRateX=this._elasticRateY=1;this._lastX=this._parent.mouseX;this._lastY=this._parent.mouseY;C.stage.on(g.MOUSE_UP,this,this.onStageMouseUp);C.stage.on(g.MOUSE_OUT,this,this.onStageMouseUp);C.systemTimer.frameLoop(1,this,this.loop)}clearTimer(){C.systemTimer.clear(this,this.loop);C.systemTimer.clear(this,this.tweenMove);if(this._tween){this._tween.recover();this._tween=null}}stop(){if(this._dragging){C.stage.off(g.MOUSE_UP,this,this.onStageMouseUp);C.stage.off(g.MOUSE_OUT,this,this.onStageMouseUp);this._dragging=false;this.target&&this.area&&this.backToArea();this.clear()}}loop(){var e=this._parent.getMousePoint(),t=e.x,e=e.y,i=t-this._lastX,r=e-this._lastY;if(this._clickOnly){if(!(1this.area.x+this.area.width?this.target._x-this.area.x-this.area.width:0;this._elasticRateX=Math.max(0,1-e/this.elasticDistance);e=this.target._ythis.area.y+this.area.height?this.target._y-this.area.y-this.area.height:0;this._elasticRateY=Math.max(0,1-e/this.elasticDistance)}}backToArea(){this.target.x=Math.min(Math.max(this.target._x,this.area.x),this.area.x+this.area.width);this.target.y=Math.min(Math.max(this.target._y,this.area.y),this.area.y+this.area.height)}onStageMouseUp(e){C.stage.off(g.MOUSE_UP,this,this.onStageMouseUp);C.stage.off(g.MOUSE_OUT,this,this.onStageMouseUp);C.systemTimer.clear(this,this.loop);if(!this._clickOnly&&this.target)if(this.hasInertia){this._offsets.length<1&&this._offsets.push(this._parent.mouseX-this._lastX,this._parent.mouseY-this._lastY);this._offsetX=this._offsetY=0;for(var t=this._offsets.length,i=Math.min(t,6),r=this._offsets.length-i,s=t-1;rthis.maxOffset&&(this._offsetX=0this.maxOffset&&(this._offsetY=0this.area.x+this.area.width&&(e=this.area.x+this.area.width);this.target.ythis.area.y+this.area.height&&(t=this.area.y+this.area.height);if(isNaN(e)&&isNaN(t))this.clear();else{var i={};isNaN(e)||(i.x=e);isNaN(t)||(i.y=t);this._tween=ir.to(this.target,i,this.elasticBackTime,er.sineOut,tr.create(this,this.clear),0,false,false)}}tweenMove(){this._offsetX*=this.ratio*this._elasticRateX;this._offsetY*=this.ratio*this._elasticRateY;this.target.x+=this._offsetX;this.target.y+=this._offsetY;this.area&&this.checkArea();this.target.event(g.DRAG_MOVE,this.data);if(Math.abs(this._offsetX)<1&&Math.abs(this._offsetY)<1||this._elasticRateX<.5||this._elasticRateY<.5){C.systemTimer.clear(this,this.tweenMove);0i;)e[t+1]=e[t];e[t+1]=r;s++}return true}}class ar extends $i{constructor(){super();this._x=0;this._y=0;this._width=0;this._height=0;this._anchorX=0;this._anchorY=0;this._visible=true;this._mouseState=0;this._zOrder=0;this._renderType=0;this._transform=null;this._tfChanged=false;this._repaint=f.REPAINT_NONE;this._texture=null;this._sizeFlag=0;this._style=ni.EMPTY;this._cacheStyle=ai.EMPTY;this._boundStyle=null;this._graphics=null;this._ownGraphics=false;this.mouseThrough=false;this.autoSize=false;this.hitTestPrior=false}destroy(e=true){super.destroy(e);this._style&&this._style.recover();this._cacheStyle&&this._cacheStyle.recover();this._boundStyle&&this._boundStyle.recover();this._transform&&this._transform.recover();this._style=null;this._cacheStyle=null;this._boundStyle=null;this._transform=null;this._texture&&this._texture._removeReference();this._texture=null;this._graphics&&this._ownGraphics&&this._graphics.destroy();this._graphics=null}get scene(){return this._scene}updateZOrder(){sr.updateOrder(this._children)&&this.repaint()}_getBoundsStyle(){this._boundStyle||(this._boundStyle=si.create());return this._boundStyle}_setCustomRender(){}set customRenderEnable(e){if(e){this._renderType|=f.CUSTOM;this._setCustomRender()}}get cacheAs(){return this._cacheStyle.userSetCache}_setCacheAs(e){}set cacheAs(e){if(e!==this._cacheStyle.userSetCache){"bitmap"!=e||this._cacheStyle.canvas instanceof kr||(this._cacheStyle.canvas=null);this._getCacheStyle().userSetCache=e;if(!this.mask||"normal"!==e){this._setCacheAs(e);this._checkCanvasEnable();this.repaint()}}}_checkCanvasEnable(){var e=this._cacheStyle.needEnableCanvasRender();this._getCacheStyle().enableCanvasRender=e;if(e){this._cacheStyle.needBitmapCache()?this._cacheStyle.cacheAs="bitmap":this._cacheStyle.cacheAs=this._cacheStyle.userSetCache;this._cacheStyle.reCache=true;this._renderType|=f.CANVAS}else{this._cacheStyle.cacheAs="none";this._cacheStyle.releaseContext();this._renderType&=~f.CANVAS}this._setCacheAs(this._cacheStyle.cacheAs)}get staticCache(){return this._cacheStyle.staticCache}set staticCache(e){this._getCacheStyle().staticCache=e;e||this.reCache()}reCache(){this._cacheStyle.reCache=true;this._repaint|=f.REPAINT_CACHE}getRepaint(){return this._repaint}_setX(e){this._x=e}_setY(e){this._y=e}get x(){return this._x}set x(e){if(!this._destroyed&&this._x!==e){this._setX(e);this.parentRepaint(f.REPAINT_CACHE);e=this._cacheStyle.maskParent;e&&e.repaint(f.REPAINT_CACHE)}}get y(){return this._y}set y(e){if(!this._destroyed&&this._y!==e){this._setY(e);this.parentRepaint(f.REPAINT_CACHE);e=this._cacheStyle.maskParent;e&&e.repaint(f.REPAINT_CACHE)}}get width(){return this.get_width()}set width(e){this.set_width(e)}set_width(e){let t=this._sizeFlag;if(null==e){e=0;this._sizeFlag&=-2}else 0==e?this._sizeFlag|=1:this._sizeFlag&=-2;if(this._width!==e||t!=this._sizeFlag){this._width=e;this._setWidth(e);this._setPivotX(this._anchorX*e);this._graphics&&this._graphics._clearBoundsCache(true);this._setTranformChange();this._shouldRefreshLayout()}}get_width(){return this.autoSize?this.texture?this.texture.width:this._graphics||0!==this._children.length?this.getSelfBounds().width:0:0==this._width&&0==(1&this._sizeFlag)&&this.texture?this.texture.width:this._width}get height(){return this.get_height()}set height(e){this.set_height(e)}set_height(e){let t=this._sizeFlag;if(null==e){e=0;this._sizeFlag&=-3}else 0==e?this._sizeFlag|=2:this._sizeFlag&=-3;if(this._height!==e||t!=this._sizeFlag){this._height=e;this._setHeight(e);this._setPivotY(this._anchorY*e);this._graphics&&this._graphics._clearBoundsCache(true);this._setTranformChange();this._shouldRefreshLayout()}}get_height(){return this.autoSize?this.texture?this.texture.height:this._graphics||0!==this._children.length?this.getSelfBounds().height:0:0==this._height&&0==(2&this._sizeFlag)&&this.texture?this.texture.height:this._height}get _isWidthSet(){return 0!=this._width||0!=(1&this._sizeFlag)}get _isHeightSet(){return 0!=this._height||0!=(2&this._sizeFlag)}_setWidth(e){}_setHeight(e){}_shouldRefreshLayout(){}get displayWidth(){return this.width*this.scaleX}get displayHeight(){return this.height*this.scaleY}setSelfBounds(e){this._getBoundsStyle().userBounds=e}getBounds(){return this._getBoundsStyle().bounds=w._getWrapRec(this._boundPointsToParent())}getSelfBounds(){return this._boundStyle&&this._boundStyle.userBounds?this._boundStyle.userBounds:this._graphics||0!==this._children.length||this._texture?this._getBoundsStyle().bounds=w._getWrapRec(this._getBoundPointsM(false)):w.TEMP.setTo(0,0,this.width,this.height)}_boundPointsToParent(e=false){let t=0,i=0;if(this._style){t=this.pivotX;i=this.pivotY;e=e||0!==this._style.rotation;if(this._style.scrollRect){t+=this._style.scrollRect.x;i+=this._style.scrollRect.y}}let r=this._getBoundPointsM(e);if(r&&!(r.length<1)){8!=r.length&&(r=e?Ut.scanPList(r):w._getWrapRec(r,w.TEMP)._getBoundPoints());if(this.transform){let t=Y.TEMP,i=r.length;for(let e=0;e{this.texture=e;this.repaint(f.REPAINT_ALL);i&&i.run()})}}else{this.texture=null;this.repaint(f.REPAINT_ALL);i&&i.run()}return this}static fromImage(e){return(new ar).loadImage(e)}repaint(e=f.REPAINT_CACHE){if(!(this._repaint&e)){this._repaint|=e;this.parentRepaint(e)}this._cacheStyle&&this._cacheStyle.maskParent&&this._cacheStyle.maskParent.repaint(e)}_needRepaint(){return this._repaint&f.REPAINT_CACHE&&this._cacheStyle.enableCanvasRender&&this._cacheStyle.reCache}_childChanged(e=null){super._childChanged(e);this._children.length?this._renderType|=f.CHILDS:this._renderType&=~f.CHILDS;e&&this._getBit(m.HAS_ZORDER)&&C.systemTimer.callLater(this,this.updateZOrder);this.repaint(f.REPAINT_ALL)}parentRepaint(e=f.REPAINT_CACHE){var t=this._parent;if(t&&!(t._repaint&e)){t._repaint|=e;t.parentRepaint(e)}}get stage(){return C.stage}get hitArea(){return this._style.hitArea}set hitArea(e){this.getStyle().hitArea=e}_setMask(e){}get mask(){return this._cacheStyle.mask}set mask(e){if(!e||this.mask!=e||e._cacheStyle.maskParent!=this){this.mask&&(this.mask._getCacheStyle().maskParent=null);this._getCacheStyle().mask=e;this._setMask(e);this._checkCanvasEnable();if(e){e._getCacheStyle().maskParent=this;this._renderType|=f.MASK}else this._renderType&=~f.MASK;this.repaint()}}get mouseEnabled(){return 1>24,r=t>>16&255,s=t>>8&255,t=255&t,a=e._size/x.standardFontSize;this.fontSizeOffX=Math.ceil(i*a);this.fontSizeOffY=Math.ceil(r*a);this.fontSizeW=Math.ceil(s*a);this.fontSizeH=Math.ceil(t*a);0<=e._font.indexOf("italic")?this.fontStr=e._font.replace("italic",""):this.fontStr=e._font}}getNextChar(e){var t=e.length,i=this._curStrPos;if(!e.substring)return null;if(t<=i)return null;for(var r=i,s=0;r>>11==27){if(1==s)break;s=1;r++}else if(65038!==a&&65039!==a)if(8205==a)s=2;else if(0==s)s=1;else if(1==s)break}this._curStrPos=r;return e.substring(i,r)}filltext(e,t,i,r,s,a,n,l,h){if(!(t.length<=0)){var s=Gi.parse(s),o=0;switch(h){case"center":o=V.ENUM_TEXTALIGN_CENTER;break;case"right":o=V.ENUM_TEXTALIGN_RIGHT}this._fast_filltext(e,t,i,r,s,a,n,l,o)}}_fast_filltext(i,e,t,r,s,a,n,l,h){if(!e||1<=e.length){l<0&&(l=0);this.setFont(s);this.fontScaleX=this.fontScaleY=1;if(x.scaleFontWithCtx){let e=1,t=1;if(!S.isConch||window.conchTextCanvas.scale){e=i.getMatScaleX();t=i.getMatScaleY()}if(e<1e-4||t<.1)return;1x.atlasWidth,f=this.getCharRenderInfo(u,s,a,n,l,e);c[0]={texgen:f.tex.genID,tex:f.tex,words:[{ri:f,x:0,y:0,w:f.bmpWidth/this.fontScaleX,h:f.bmpHeight/this.fontScaleY}]}}_&&(o.pagecharsCtx=i)}this._drawResortedWords(i,t,r,c);i._italicDeg=0}}_drawResortedWords(t,i,r,e){var s,a=!!t._charSubmitCache&&t._charSubmitCache._enable,n=t._curMat;for(s in e){var l=e[s];if(l){var h=l.words,o=h.length;if(!(o<=0))for(var _=e[s].tex,u=0;uthis.charRender.canvasWidth&&(this.charRender.canvasWidth=Math.min(2048,d+2*n));if(a){this.charRender.fontsz=t._size;c=this.charRender.getCharBmp(e,this.fontStr,s,i,r,h,n,n,n,n,null);if(c){a=ur.getTextTexture(c.width,c.height);a.addChar(c,0,0,h.uv);h.tex=a;h.orix=n;h.oriy=n;a.ri=h;this.isoTextures.push(a)}}else{var a=e.length,f=+s,p=Math.ceil((this.fontSizeW+2*f)*this.fontScaleX),m=Math.ceil((this.fontSizeH+2*f)*this.fontScaleY);x.imgdtRect[0]=(n-this.fontSizeOffX-f)*this.fontScaleX|0;x.imgdtRect[1]=(n-this.fontSizeOffY-f)*this.fontScaleY|0;if(this.renderPerChar||1==a){x.imgdtRect[2]=Math.max(d,p);x.imgdtRect[3]=Math.max(d,m)}else{x.imgdtRect[2]=-1;x.imgdtRect[3]=m}this.charRender.fontsz=t._size;c=this.charRender.getCharBmp(e,this.fontStr,s,i,r,h,n,n,n,n,x.imgdtRect);if(c){o=this.addBmpData(c,h);if(x.isWan1Wan){h.orix=n;h.oriy=n}else{h.orix=this.fontSizeOffX+f;h.oriy=this.fontSizeOffY+f}o.charMaps[l]=h}}return h}addBmpData(e,t){for(var i,r=e.width,s=e.height,a=this.textAtlases.length,n=false,l=0;lx.destroyUnusedTextureDt){h.ri.deleted=true;h.ri.tex=null;h.destroy();this.isoTextures[e]=this.isoTextures[t-1];t--;e--}}this.isoTextures.length=t;var u=1x.cleanMem||u||x.simClean){x.simClean=false;x.showLog&&console.log("清理使用率低的贴图。总使用率:",s,":",this.textAtlases.length,"最差贴图:"+n);if(0<=n){o=this.textAtlases[n];o.destroy();this.textAtlases[n]=this.textAtlases[this.textAtlases.length-1];this.textAtlases.length=this.textAtlases.length-1}}ur.clean()}cleanAtlases(){}getCharBmp(e){}checkBmpLine(e,t,i,r){this.bmpData32.buffer!=e.data.buffer&&(this.bmpData32=new Uint32Array(e.data.buffer));for(var s=e.width*t+i,a=i;as)t[3]=s;else{h=n=t[3];l=s;if(this.checkBmpLine(e,n,0,r))for(;;){h=(n+l)/2|0;if(h-1<=n){t[3]=h;break}this.checkBmpLine(e,h,0,r)?n=h:l=h}}if(!i){for(var o=t[0],_=r*t[1],h=t[1];h>24,r=t>>16&255,s=t>>8&255,t=255&t;console.log(" "+e," off:",i,r," size:",s,t)}var a=0,n=(console.log("缓存数据:"),0),l=0;this.textAtlases.forEach(function(e){var t,i=e.texture.id,r=wt.loopCount-e.texture.lastTouchTm,r=0=x.checkCleanTextureDt){for(var t=0;t=x.destroyUnusedTextureDt){i.destroy();ur.pool[t]=ur.pool[ur.poolLen-1];ur.poolLen--;t--}}ur.cleanTm=e}}touchRect(e,t){if(this.lastTouchTm!=t){this.curUsedCovRate=0;this.curUsedCovRateAtlas=0;this.lastTouchTm=t}var t=x.atlasWidth*x.atlasWidth,i=_r.atlasGridW*_r.atlasGridW;this.curUsedCovRate+=e.bmpWidth*e.bmpHeight/t;this.curUsedCovRateAtlas+=Math.ceil(e.bmpWidth/_r.atlasGridW)*Math.ceil(e.bmpHeight/_r.atlasGridW)/(t/i)}get texture(){return this}_getSource(){if(null!=this._source)return this._source._getSource()}drawOnScreen(e,t){}}ur.pool=new Array(10);ur.poolLen=0;ur.cleanTm=0;class cr{constructor(e,t){this.defines=new b;this.size=[0,0];this.alpha=1;this.ALPHA=1;this.subID=0;this.ref=1;this._cacheID=0;this.clipMatDir=[V.MAX_CLIP_SIZE,0,0,V.MAX_CLIP_SIZE];this.clipMatPos=[0,0];this.clipOff=[0,0];this.mainID=e;this.subID=t;this.textureHost=null;this.texture=null;this.color=null;this.colorAdd=null;this.u_mmat2=null;this._cacheID=e|t;this._inClassCache=cr._cache[this._cacheID];if(0e.length+2?Ar.tempData:new Array(e.length+2);n[0]=e[0];n[1]=e[1];for(var l=2,h=0,o=e.length,h=2;h80*i){for(var c=r=e[0],d=s=e[1],f=i;fa.x?s.x>n.x?s:n:a.x>n.x?a:n).x,_=(s.y>a.y?s.y>n.y?s:n:a.y>n.y?a:n).y,u=P.zOrder(l,h,t,i,r),c=P.zOrder(o,_,t,i,r),d=e.nextZ;d&&d.z<=c;){if(d!==e.prev&&d!==e.next&&P.pointInTriangle(s.x,s.y,a.x,a.y,n.x,n.y,d.x,d.y)&&0<=P.area(d.prev,d,d.next))return false;d=d.nextZ}d=e.prevZ;for(;d&&d.z>=u;){if(d!==e.prev&&d!==e.next&&P.pointInTriangle(s.x,s.y,a.x,a.y,n.x,n.y,d.x,d.y)&&0<=P.area(d.prev,d,d.next))return false;d=d.prevZ}return true}static cureLocalIntersections(e,t,i){var r=e;do{var s=r.prev,a=r.next.next;if(!P.equals(s,a)&&P.intersects(s,r,r.next,a)&&P.locallyInside(s,a)&&P.locallyInside(a,s)){t.push(s.i/i);t.push(r.i/i);t.push(a.i/i);P.removeNode(r);P.removeNode(r.next);r=e=a}}while(r=r.next,r!==e);return r}static splitEarcut(e,t,i,r,s,a){var n=e;do{for(var l=n.next.next;l!==n.prev;){if(n.i!==l.i&&P.isValidDiagonal(n,l)){var h=P.splitPolygon(n,l),n=P.filterPoints(n,n.next),h=P.filterPoints(h,h.next);P.earcutLinked(n,t,i,r,s,a);P.earcutLinked(h,t,i,r,s,a);return}l=l.next}}while(n=n.next,n!==e)}static eliminateHoles(e,t,i,r){for(var s,a,n=[],l=0,h=t.length;l=r.next.y&&r.next.y!==r.y){var l=r.x+(a-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(l<=s&&n=r.x&&r.x>=_&&s!==r.x&&P.pointInTriangle(ai.x)&&P.locallyInside(r,e)){i=r;c=h}}r=r.next}return i}static indexCurve(e,t,i,r){for(var s=e;null===s.z&&(s.z=P.zOrder(s.x,s.y,t,i,r)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next,s!==e;);s.prevZ.nextZ=null;s.prevZ=null;P.sortLinked(s)}static sortLinked(e){var t,i,r,s,a,n,l,h,o=1;do{i=e;e=null;a=null;n=0;for(;i;){n++;r=i;l=0;for(t=0;ta!=i.next.y>a&&i.next.y!==i.y&&s<(i.next.x-i.x)*(a-i.y)/(i.next.y-i.y)+i.x&&(r=!r),i=i.next,i!==e;);return r}static splitPolygon(e,t){var i=new wr(e.i,e.x,e.y),r=new wr(t.i,t.x,t.y),s=e.next,a=t.prev;e.next=t;t.prev=e;i.next=s;s.prev=i;r.next=i;i.prev=r;a.next=r;r.prev=a;return r}static insertNode(e,t,i,r){e=new wr(e,t,i);if(r){e.next=r.next;e.prev=r;r.next.prev=e;r.next=e}else{e.prev=e;e.next=e}return e}static removeNode(e){e.next.prev=e.prev;e.prev.next=e.next;e.prevZ&&(e.prevZ.nextZ=e.nextZ);e.nextZ&&(e.nextZ.prevZ=e.prevZ)}static signedArea(e,t,i,r){for(var s=0,a=t,n=i-r;a=e)){this._nativeObj.flushCommand();if(e>this._byteLen)throw"too big"}}get lineJoin(){return""}set lineJoin(e){}get lineCap(){return""}set lineCap(e){}get miterLimit(){return""}set miterLimit(e){}clearRect(e,t,i,r){}set isMain(e){this._nativeObj.flushCommand();this._nativeObj.isMain=e}get isMain(){this._nativeObj.flushCommand();return this._nativeObj.isMain}set _targets(e){if(e){this._nativeObj.flushCommand();this._nativeObj._target=e._nativeObj}}get _targets(){this._nativeObj.flushCommand();let e=this._nativeObj._target;if(e){this._tempRenderTexture2D.width=this._nativeObj.width;this._tempRenderTexture2D.height=this._nativeObj.height;this._tempRenderTexture2D._nativeObj=e;this._tempRenderTexture2D._renderTarget=e._renderTarget;this._tempRenderTexture2D._texture=e._renderTarget._textures[0];return this._tempRenderTexture2D}return null}alpha(e){this.globalAlpha*=e}flush(){Wt._curBindedBufferState&&Wt._curBindedBufferState.unBind();this._nativeObj.flushCommand();this._nativeObj.flush()}clear(){this.add_i(y.CLEAR);this._nativeObj.flushCommand();this._renderObject3DList.length=0}destroy(e=false){this._nativeObj.flushCommand();this._tempRenderTexture2D._nativeObj&&(this._tempRenderTexture2D._nativeObj._deleteRT=e);this._nativeObj.destroy(e)}static set2DRenderConfig(){if(!Nr.const2DRenderCMD){const e=Nr.const2DRenderCMD=M.renderEngine.createRenderStateComand();e.addCMD(R.RenderStateType.BlendType,true);e.addCMD(R.RenderStateType.BlendEquation,R.BlendEquationSeparate.ADD);v.activeBlendFunction=null;e.addCMD(R.RenderStateType.BlendFunc,[R.BlendFactor.One,R.BlendFactor.OneMinusSourceAlpha]);e.addCMD(R.RenderStateType.DepthTest,false);e.addCMD(R.RenderStateType.DepthMask,true);e.addCMD(R.RenderStateType.CullFace,false);e.addCMD(R.RenderStateType.FrontFace,R.CullMode.Front)}Nr.const2DRenderCMD.applyCMD();Or.currentActive&&Or.currentActive._end();window.set2DRenderConfig();Wt._curBindedBufferState&&Wt._curBindedBufferState.unBind()}set globalCompositeOperation(e){this.add_i_String(y.SET_GLOBAL_COMPOSITE_OPERTAION,e)}get globalCompositeOperation(){this._nativeObj.flushCommand();return this._nativeObj.globalCompositeOperation}set fillStyle(e){e=d.create(e);this.add_ii(y.FILL_STYLE,e.numColor)}get fillStyle(){this._nativeObj.flushCommand();return this._nativeObj.fillStyle}set globalAlpha(e){this.add_if(y.ALPHA,e)}get globalAlpha(){this._nativeObj.flushCommand();return this._nativeObj.globalAlpha}save(){this.add_i(y.SAVE)}restore(){this.add_i(y.RESTORE)}saveTransform(e){this.add_i(y.SAVE)}transformByMatrix(e,t,i){this.add_iffffff(y.TRANSFORM,e.a,e.b,e.c,e.d,e.tx+t,e.ty+i)}restoreTransform(e){this.add_i(y.RESTORE)}clipRect(e,t,i,r){this.add_iffff(y.CLIP_RECT,e,t,i,r)}transform(e,t,i,r,s,a){this.add_iffffff(y.TRANSFORM,e,t,i,r,s,a)}scale(e,t){this.add_iff(y.SCALE,e,t)}drawTexture(e,t,i,r,s,a=4294967295){this.checkTexture(e)&&this.add_iiffffffffffffi(y.DRAW_TEXTURE,e.bitmap._texture.id,t,i,r,s,e.uv[0],e.uv[1],e.uv[2],e.uv[3],e.uv[4],e.uv[5],e.uv[6],e.uv[7],a)}drawTextureWithTransform(e,t,i,r,s,a,n,l,h,o,_,u=4294967295){if(this.checkTexture(e)){this.save();this.alpha(h);h=_||e.uv;if(a){this.add_iffffff(y.TRANSFORM,a.a,a.b,a.c,a.d,a.tx+n,a.ty+l);this.add_iiffffffffffffi(y.DRAW_TEXTURE,e.bitmap._texture.id,t,i,r||e.width,s||e.height,h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7],u)}else this.add_iiffffffffffffi(y.DRAW_TEXTURE,e.bitmap._texture.id,t+n,i+l,r||e.width,s||e.height,h[0],h[1],h[2],h[3],h[4],h[5],h[6],h[7],u);this.restore()}}drawTextureWithSizeGrid(e,t,i,r,s,a,n,l,h){if(this.checkTexture(e)){var o=e.uv;e.bitmap.width;e.bitmap.height;var _=a[0],u=a[3],c=a[1],d=a[2],a=a[4];this.add_iiffffffffiffffffffffi(y.DRAW_TEXTURE_SIZE_GRID,e.bitmap._texture.id,t,i,r,s,_,c,d,u,a?1:0,n,l,o[0],o[1],o[2],o[3],o[4],o[5],o[6],o[7],h)}}_drawTextureM(e,t,i,r,s,a,n,l,h){if(this.checkTexture(e)){this.save();this.alpha(n);a&&this.add_iffffff(y.TRANSFORM,a.a,a.b,a.c,a.d,a.tx,a.ty);n=l||e.uv;this.add_iiffffffffffffi(y.DRAW_TEXTURE,e.bitmap._texture.id,t,i,r||e.width,s||e.height,n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],h);this.restore()}}translate(e,t){this.add_iff(y.TRANSLATE,e,t)}_transform(e,t,i){this.add_iff(y.TRANSLATE,t,i);this.add_iffffff(y.TRANSFORM,e.a,e.b,e.c,e.d,e.tx,e.ty);this.add_iff(y.TRANSLATE,-t,-i)}_rotate(e,t,i){this.add_iff(y.TRANSLATE,t,i);this.add_if(y.ROTATE,e);this.add_iff(y.TRANSLATE,-t,-i)}_scale(e,t,i,r){this.add_iff(y.TRANSLATE,i,r);this.add_iff(y.SCALE,e,t);this.add_iff(y.TRANSLATE,-i,-r)}_drawLine(e,t,i,r,s,a,n,l,h){n=d.create(n);this.add_iffffffif(y.DRAW_LINE,e,t,i,r,s,a,n.numColor,l)}_drawLines(e,t,i,r,s,a){r=d.create(r);this.add_iffif_ab(y.DRAW_LINES,e,t,r.numColor,s,new Float32Array(i))}_drawCircle(e,t,i,r,s,a,n){var l=d.create(r),h=d.create(s);this.add_ifffiiiif(y.DRAW_CIRCLE,e,t,i,r?1:0,l.numColor,s?1:0,h.numColor,a)}_drawPie(e,t,i,r,s,a,n,l,h){var o=d.create(a),_=d.create(n);this.add_ifffffiiiif(y.DRAW_PIE,e,t,i,r,s,a?1:0,o.numColor,n?1:0,_.numColor,l)}_drawPoly(e,t,i,r,s,a,n,l){var h=d.create(r),o=d.create(s);this.add_iffiiiifi_ab(y.DRAW_POLY,e,t,r?1:0,h.numColor,s?1:0,o.numColor,a,n?1:0,new Float32Array(i))}fillRect(e,t,i,r,s){if(null!=s){s=d.create(s);this.add_ii(y.FILL_STYLE,s.numColor)}this.add_i(y.SAVE);this.add_iffff(y.FILL_RECT,e,t,i,r);this.add_i(y.RESTORE)}fillTexture(e,t,i,r,s,a,n,l){if(this.checkTexture(e)){var h=0;switch(a){case"repeat":h=0;break;case"repeat-x":h=1;break;case"repeat-y":h=2;break;case"no-repeat":h=3}this.add_iiffffiffi(y.FILL_TEXTURE,e.bitmap._texture.id,t,i,r,s,h,n.x,n.y,l)}}drawRect(e,t,i,r,s,a,n){if(null!=s){s=d.create(s);this.add_i(y.SAVE);this.add_ii(y.FILL_STYLE,s.numColor);this.add_iffff(y.FILL_RECT,e,t,i,r);this.add_i(y.RESTORE)}if(null!=a){s=d.create(a);this.add_i(y.SAVE);this.add_ii(y.STROKE_STYLE,s.numColor);this.add_if(y.LINE_WIDTH,n);this.add_iffff(y.STROKE_RECT,e,t,i,r);this.add_i(y.RESTORE)}}_drawPath(e,t,i,r,s){this.add_ii(y.BEGIN_PATH,0);for(var a=0,n=i.length;aB._MAXVERTNUM){this._mesh=qt.getAMesh(this.isMain);this.meshlist.push(this._mesh);n=false}n=n&&n&&this.isSameClipInfo(a);this.transformQuad(e,t,i,r,0,this._curMat,this._transedPoints);if(!this.clipedOff(this._transedPoints)){this._mesh.addQuad(this._transedPoints,re.NO_UV,s,false);if(!n){a=this._curSubmit=Pr.create(this,this._mesh,cr.create(b.TEXTURE2D,0));this._submits[this._submits._length++]=a;this._copyClipInfo(a,this._globalClipMatrix);!this._lastTex||this._lastTex.destroyed?a.shaderValue.textureHost=this.defTexture:a.shaderValue.textureHost=this._lastTex;a._key.other=this._lastTex&&this._lastTex.bitmap?this._lastTex.bitmap.id:-1;a._renderType=I.TYPE_TEXTURE}this._curSubmit._numEle+=6;this._mesh.indexNum+=6;this._mesh.vertNum+=4}}fillRect(e,t,i,r,s){s=s?_t.create(s):this._shader2D.fillStyle,s=this.mixRGBandAlpha(s.toInt());this._fillRect(e,t,i,r,s)}fillTexture(e,t,i,r,s,a,n,l){e._getSource()?this._fillTexture(e,e.width,e.height,e.uvrect,t,i,r,s,a,n.x,n.y,l):this.sprite&&C.systemTimer.callLater(this,this._repaintSprite)}_fillTexture(e,t,i,r,s,a,n,l,h,o,_,u){var c=this._curSubmit;if(this._mesh.vertNum+4>B._MAXVERTNUM){this._mesh=qt.getAMesh(this.isMain);this.meshlist.push(this._mesh)}var d=true,f=true;switch(h){case"repeat":break;case"repeat-x":f=false;break;case"repeat-y":d=false;break;case"no-repeat":d=f=false}var h=this._temp4Points,p=0,m=0,g=0,T=0,x=0,y=0;if(o<0){g=s;p=-o%t/t}else g=s+o;if(_<0){T=a;m=-_%i/i}else T=a+_;x=s+n;y=a+l;d||(x=Math.min(x,s+o+t));f||(y=Math.min(y,a+_+i));if(!(xB._MAXVERTNUM){this._mesh=qt.getAMesh(this.isMain);this.meshlist.push(this._mesh)}t=Pr.create(this,this._mesh,cr.create(b.TEXTURE2D,0));this._submits[this._submits._length++]=this._curSubmit=t;t.shaderValue.textureHost=e;this._copyClipInfo(t,this._globalClipMatrix)}_drawTexRect(e,t,i,r,s){this.transformQuad(e,t,i,r,this._italicDeg,this._curMat,this._transedPoints);e=this._transedPoints;e[0]=e[0]+.5|0;e[1]=e[1]+.5|0;e[2]=e[2]+.5|0;e[3]=e[3]+.5|0;e[4]=e[4]+.5|0;e[5]=e[5]+.5|0;e[6]=e[6]+.5|0;e[7]=e[7]+.5|0;if(!this.clipedOff(this._transedPoints)){this._mesh.addQuad(this._transedPoints,s,this._fillColor,true);this._curSubmit._numEle+=6;this._mesh.indexNum+=6;this._mesh.vertNum+=4}}drawCallOptimize(e){this._charSubmitCache.enable(e,this);return e}_inner_drawTexture(e,t,i,r,s,a,n,l,h,o,_){if(s<=0||a<=0)return false;var u=this._curSubmit._key;l=l||e._uv;if(u.submitType===I.KEY_TRIANGLES&&u.other===t){var c=this._drawTexToDrawTri_Vert;c[0]=i;c[1]=r;c[2]=i+s,c[3]=r,c[4]=i+s,c[5]=r+a,c[6]=i,c[7]=r+a;this._drawTriUseAbsMatrix=true;var d=this._tempUV;d[0]=l[0];d[1]=l[1];d[2]=l[2];d[3]=l[3];d[4]=l[4];d[5]=l[5];d[6]=l[6];d[7]=l[7];this.drawTriangles(e,0,0,c,d,this._drawTexToDrawTri_Index,n||this._curMat,h,null,null);this._drawTriUseAbsMatrix=false}else{var c=this._mesh,d=this._curSubmit,f=o?this._charSubmitCache.getPos():this._transedPoints;this.transformQuad(i,r,s||e.width,a||e.height,this._italicDeg,n||this._curMat,f);if(this.drawTexAlign){i=Math.round;f[0]=i(f[0]);f[1]=i(f[1]);f[2]=i(f[2]);f[3]=i(f[3]);f[4]=i(f[4]);f[5]=i(f[5]);f[6]=i(f[6]);f[7]=i(f[7]);this.drawTexAlign=false}r=this._mixRGBandAlpha(_,this._shader2D.ALPHA*h);if(o)this._charSubmitCache.add(this,e,t,f,l,r);else{this._drawCount++;s=0<=t&&u.submitType===I.KEY_DRAWTEXTURE&&u.other===t,s=s&&s&&this.isSameClipInfo(d);this._lastTex=e;if(c.vertNum+4>B._MAXVERTNUM){c=this._mesh=qt.getAMesh(this.isMain);this.meshlist.push(c);s=false}c.addQuad(f,l,r,true);if(!s){this._submits[this._submits._length++]=this._curSubmit=d=Pr.create(this,c,cr.create(b.TEXTURE2D,0));d.shaderValue.textureHost=e;d._key.other=t;this._copyClipInfo(d,this._globalClipMatrix)}d._numEle+=6;c.indexNum+=6;c.vertNum+=4}}return true}transform4Points(e,t,i){var r=t.tx,s=t.ty,a=t.a,n=t.b,l=t.c,h=t.d,o=e[0],_=e[1],u=e[2],c=e[3],d=e[4],f=e[5],p=e[6],e=e[7];if(t._bTransform){i[0]=o*a+_*l+r;i[1]=o*n+_*h+s;i[2]=u*a+c*l+r;i[3]=u*n+c*h+s;i[4]=d*a+f*l+r;i[5]=d*n+f*h+s;i[6]=p*a+e*l+r;i[7]=p*n+e*h+s}else{i[0]=o+r;i[1]=_+s;i[2]=u+r;i[3]=c+s;i[4]=d+r;i[5]=f+s;i[6]=p+r;i[7]=e+s}}clipedOff(e){return this._clipRect.width<=0||this._clipRect.height<=0}transformQuad(e,t,i,r,s,a,n){var l=0,s=(0!=s&&(l=Math.tan(s*Math.PI/180)*r),e+i),i=t+r,r=a.tx,h=a.ty,o=a.a,_=a.b,u=a.c,c=a.d,d=e+l,f=t,l=s+l,p=i;if(a._bTransform){n[0]=d*o+f*u+r;n[1]=d*_+f*c+h;n[2]=l*o+t*u+r;n[3]=l*_+t*c+h;n[4]=s*o+p*u+r;n[5]=s*_+p*c+h;n[6]=e*o+i*u+r;n[7]=e*_+i*c+h}else{n[0]=d+r;n[1]=f+h;n[2]=l+r;n[3]=t+h;n[4]=s+r;n[5]=p+h;n[6]=e+r;n[7]=i+h}}pushRT(){this.addRenderObject(It.create(null,At.pushRT,this))}popRT(){this.addRenderObject(It.create(null,At.popRT,this));this.breakNextMerge()}useRT(e){function t(e){if(!e)throw"error useRT";e.start();e.clear(0,0,0,0)}this.addRenderObject(It.create([e],t,this));this.breakNextMerge()}RTRestore(e){function t(e){e.restore()}this.addRenderObject(It.create([e],t,this));this.breakNextMerge()}breakNextMerge(){this._curSubmit=I.RENDERBASE}_repaintSprite(){this.sprite&&this.sprite.repaint()}drawTextureWithTransform(e,t,i,r,s,a,n,l,h,o,_,u=4294967295){var c,d=this._curMat;if(o){c=this.globalCompositeOperation;this.globalCompositeOperation=o}if(a){var f=this._tmpMatrix;f.a=a.a;f.b=a.b;f.c=a.c;f.d=a.d;f.tx=a.tx+n;f.ty=a.ty+l;f._bTransform=a._bTransform;if(a&&d._bTransform){E.mul(f,d,f);a=f;a._bTransform=true}else{f.tx+=d.tx;f.ty+=d.ty;a=f}this._drawTextureM(e,t,i,r,s,a,h,_,u)}else this._drawTextureM(e,t+n,i+l,r,s,d,h,_,u);o&&(this.globalCompositeOperation=c)}_flushToTarget(e,t){o.worldScissorTest=false;M.renderEngine.scissorTest(false);var i=o.worldAlpha,r=o.worldMatrix4,s=o.worldMatrix;o.worldShaderDefines;o.worldMatrix=E.EMPTY;o.restoreTempArray();o.worldMatrix4=o.TEMPMAT4_ARRAY;o.worldAlpha=1;Et.activeShader=null;t.start();0B._MAXVERTNUM){this._mesh=qt.getAMesh(this.isMain);this.meshlist.push(this._mesh)}this.transformQuad(t,i,r,s,0,a||this._curMat,this._transedPoints);if(!this.clipedOff(this._transedPoints)){this._mesh.addQuad(this._transedPoints,l||re.DEF_UV,o,true);t=this._curSubmit=Ir.create(this,this._mesh,n,e);t.blendType=-1==h?this._nBlendType:h;this._copyClipInfo(t,this._globalClipMatrix);t._numEle=6;this._mesh.indexNum+=6;this._mesh.vertNum+=4;this._submits[this._submits._length++]=t;this._curSubmit=I.RENDERBASE;return true}this._curSubmit=I.RENDERBASE;return false}drawTriangles(e,t,i,r,s,a,n,l,h,o=4294967295){if(e._getSource()){var _=null;if(h){_=this.globalCompositeOperation;this.globalCompositeOperation=h}this._drawCount++;var u=this._tmpMatrix,c=this._triangleMesh,d=e.bitmap,f=this._curSubmit._key,f=f.submitType===I.KEY_TRIANGLES&&f.other===d.id&&f.blendShader==this._nBlendType;if(c.vertNum+r.length/2>B._MAXVERTNUM){c=this._triangleMesh=$t.getAMesh(this.isMain);this.meshlist.push(c);f=false}if(!f){f=this._curSubmit=Pr.create(this,c,cr.create(b.TEXTURE2D,0));f.shaderValue.textureHost=e;f._renderType=I.TYPE_TEXTURE;f._key.submitType=I.KEY_TRIANGLES;f._key.other=d.id;this._copyClipInfo(f,this._globalClipMatrix);this._submits[this._submits._length++]=f}e=this._mixRGBandAlpha(o,this._shader2D.ALPHA*l);if(this._drawTriUseAbsMatrix)c.addData(r,s,a,n,e);else{if(n){u.a=n.a;u.b=n.b;u.c=n.c;u.d=n.d;u.tx=n.tx+t;u.ty=n.ty+i}else{u.a=1;u.b=0;u.c=0;u.d=1;u.tx=t;u.ty=i}E.mul(u,this._curMat,u);c.addData(r,s,a,u||this._curMat,e)}this._curSubmit._numEle+=a.length;h&&(this.globalCompositeOperation=_)}else this.sprite&&C.systemTimer.callLater(this,this._repaintSprite)}transform(e,t,i,r,s,a){pr.save(this);E.mul(E.TEMP.setTo(e,t,i,r,s,a),this._curMat,this._curMat);this._curMat._checkTransform()}_transformByMatrix(e,t,i){e.setTranslate(t,i);E.mul(e,this._curMat,this._curMat);e.setTranslate(0,0);this._curMat._bTransform=true}setTransformByMatrix(e){e.copyTo(this._curMat)}rotate(e){pr.save(this);this._curMat.rotateEx(e)}scale(e,t){pr.save(this);this._curMat.scaleEx(e,t)}clipRect(e,t,i,r,s){dr.save(this);if(this._clipRect==B.MAXCLIPRECT)this._clipRect=new w(e,t,i,r);else{this._clipRect.width=i;this._clipRect.height=r;this._clipRect.x=e;this._clipRect.y=t}this._clipID_Gen++;this._clipID_Gen%=1e4;this._clipInfoID=this._clipID_Gen;if(s)Ur.copyTo(this._globalClipMatrix);else{i=this._globalClipMatrix,r=i.tx,e=i.ty,t=r+i.a,s=e+i.d;if(this._clipRect.width>=V.MAX_CLIP_SIZE){i.a=i.d=V.MAX_CLIP_SIZE;i.b=i.c=i.tx=i.ty=0}else{if(this._curMat._bTransform){i.tx=this._clipRect.x*this._curMat.a+this._clipRect.y*this._curMat.c+this._curMat.tx;i.ty=this._clipRect.x*this._curMat.b+this._clipRect.y*this._curMat.d+this._curMat.ty;i.a=this._clipRect.width*this._curMat.a;i.b=this._clipRect.width*this._curMat.b;i.c=this._clipRect.height*this._curMat.c;i.d=this._clipRect.height*this._curMat.d}else{i.tx=this._clipRect.x+this._curMat.tx;i.ty=this._clipRect.y+this._curMat.ty;i.a=this._clipRect.width;i.b=i.c=0;i.d=this._clipRect.height}this._incache&&(this._clipInCache=true)}if(0=t||i.ty>=s){i.a=-.1;i.d=-.1}else{if(i.txB._MAXVERTNUM){this._curSubmit._numEle+=a;a=0;this._pathMesh=Zt.getAMesh(this.isMain);this._curSubmit=this.addVGSubmit(this._pathMesh)}var m=this._pathMesh.vertNum;if(h.convex)for(var g=o-2,T=new Array(3*g),x=0,y=0;yB._MAXVERTNUM){this._curSubmit._numEle+=s;s=0;this._pathMesh=Zt.getAMesh(this.isMain);this.meshlist.push(this._pathMesh);this._curSubmit=this.addVGSubmit(this._pathMesh)}Ar.createLine2(l.path,h,this.lineWidth,this._pathMesh.vertNum,o,l.loop);var u,c,d,f,p=o.length/2,m=this._curMat,g=0;if(m._bTransform)for(g=0;g=2*Math.PI)_=2*-Math.PI;else for(;0<_;)_-=2*Math.PI;else if(Math.abs(_)>=2*Math.PI)_=2*Math.PI;else for(;_<0;)_+=2*Math.PI;for(var n=this.getMatScaleX(),p=this.getMatScaleY(),n=i*(p>>24;0!=i?i*=t:i=255*t;return 16777215&e|i<<24}strokeRect(e,t,i,r,s){if(00");for(var o=a,_=Math.floor(l/r),a=l%r,u=0;u<_;u++){this._inner_drawTexture(e,t,o,n,r,s,this._curMat,i,1,false,h);o+=r}if(00");for(var o=n,_=Math.floor(l/s),n=l%s,u=0;u<_;u++){this._inner_drawTexture(e,t,a,o,r,s,this._curMat,i,1,false,h);o+=s}if(0=this._count){if(!this.loop){this._index--;this.stop();this.event(g.COMPLETE);return}if(this.wrapMode==zr.WRAP_PINGPONG){this._index=0<=this._count-2?this._count-2:0;this._isReverse=true}else this._index=0;this.event(g.COMPLETE)}}this.index=this._index}}_setControlNode(e){if(this._controlNode){this._controlNode.off(g.DISPLAY,this,this._resumePlay);this._controlNode.off(g.UNDISPLAY,this,this._resumePlay)}this._controlNode=e;if(e&&e!=this){e.on(g.DISPLAY,this,this._resumePlay);e.on(g.UNDISPLAY,this,this._resumePlay)}}_setDisplay(e){super._setDisplay(e);this._resumePlay()}_resumePlay(){this._isPlaying&&(this._controlNode.displayedInStage?this.play(this._index,this.loop,this._actionName):this.clearTimer(this,this._frameLoop))}stop(){this._isPlaying=false;this.clearTimer(this,this._frameLoop)}get isPlaying(){return this._isPlaying}addLabel(e,t){this._labels||(this._labels={});this._labels[t]||(this._labels[t]=[]);this._labels[t].push(e)}removeLabel(e){if(e){if(this._labels)for(var t in this._labels)this._removeLabelFromList(this._labels[t],e)}else this._labels=null}_removeLabelFromList(e,t){if(e)for(var i=e.length-1;0<=i;i--)e[i]==t&&e.splice(i,1)}gotoAndStop(e){this.index="string"==typeof e?this._getFrameByLabel(e):e;this.stop()}get index(){return this._index}set index(e){this._index=e;this._displayToIndex(e);if(this._labels&&this._labels[e])for(var t=this._labels[e],i=0,r=t.length;i{if(e){jr.addAtlases(e);t&&t.run()}})}static addAtlases(a){let n=jr._fileLoadDic;for(var l in a){let e=a[l],t=D.formatURL(e[0]),i=e[1],r=i.length,s={url:l};for(let e=0;e{Kr._worker.postMessage({url:t,options:i});Kr._dispatcher.once(t,e)})}static workerMessage(e){let t=e.data;if(t)switch(t.type){case"Image":Kr._dispatcher.event(t.url,t.imageBitmap);break;case"Disable":Kr.enable=false}}}Kr.workerPath="libs/laya.workerloader.js";Kr._enable=false;class qr extends ee{constructor(e,t,i){super();this.dir=e;this.textures=t;this.frames=i;this.lock=true}_disposeResource(){for(var e of this.textures)e&&e.destroy();for(var t of this.frames)t.destroy();this.frames.length=0;this.textures.length=0}}class $r{constructor(e){this._callback=e;this._items=[];this._weights=[];this._progress=0}get itemCount(){return this._items.length}reset(){this._items.length=0;this._weights.length=0;this._progress=0}createCallback(e){let t=this._items.length;this._items.push(0);null==e?this._weights.push(null):this._weights.push(Math.max(0,Math.min(e,1)));return e=>this.update(t,e)}update(e,t){if(-1!=e){this._items[e]=Math.max(0,Math.min(t,1));let r=0,s=this._items,a=this._weights,n=1/s.length;for(let i=0;ithis._progress){this._progress=t;this._callback(t)}}}class Zr{static compareVersion(e,t){let i=e.split("."),r=t.split(".");const s=Math.max(i.length,r.length);for(;i.lengthn)return true;if(as){let e=i.substring(s,a),t=0;if("#"==e[0])if(1/g,">").replace(/'/g,"'").replace(/"/g,""")}static getString(e,t,i){if(null==e)return null==i?null:i;let r=e[t];return null!=r?""+r:null==i?null:i}static getInt(e,t,i){let r=this.getString(e,t);if(null!=r&&0r+7&&this.source.substring(r-1,r+8)==Jr){r=this.source.indexOf(es,r);this.tagType=R.XMLTagType.CDATA;this.tagName="";this.tagPos=this.parsePos;-1==r?this.tagLength=this.sourceLen-this.parsePos:this.tagLength=r+3-this.parsePos;this.parsePos+=this.tagLength;return true}if(this.sourceLen>r+2&&this.source.substring(r-1,r+3)==ts){r=this.source.indexOf(is,r);this.tagType=R.XMLTagType.Comment;this.tagName="";this.tagPos=this.parsePos;-1==r?this.tagLength=this.sourceLen-this.parsePos:this.tagLength=r+3-this.parsePos;this.parsePos+=this.tagLength;return true}r++;this.tagType=R.XMLTagType.Instruction}else if("/"==s){r++;this.tagType=R.XMLTagType.End}else if("?"==s){r++;this.tagType=R.XMLTagType.Instruction}for(;r"==s||"/"==s)break}if(r==this.sourceLen)break;a+=this.source.substring(this.parsePos+1,r);0"==s){if(!(e||t)){i=-1;break}i=r}else if("<"==s)break}-1!=i&&(r=i);if(r==this.sourceLen)break;"/"==this.source[r-1]&&(this.tagType=R.XMLTagType.Void);this.tagName=a;this.lowerCaseName&&(this.tagName=this.tagName.toLowerCase());this.tagPos=this.parsePos;this.tagLength=r+1-this.parsePos;this.parsePos+=this.tagLength;return true}this.tagPos=this.sourceLen;this.tagLength=0;this.tagName=null;return false}static getTagSource(){return this.source.substring(this.tagPos,this.tagPos+this.tagLength)}static getRawText(e){if(this.lastTagEnd==this.tagPos)return"";if(e){let t=this.lastTagEnd;for(;t"==e||"/"==e)break}for(;h"==e){if(0==n){s=t-1;break}}else if('"'==e)if(-1!=r){if(1!=n){s=t-1;break}}else{n=2;r=t+1}else if("'"==e)if(-1!=r){if(2!=n){s=t-1;break}}else{n=1;r=t+1}else-1==r&&(r=t)}if(-1==r||-1==s)break;i=l;this.lowerCaseName&&(i=i.toLowerCase());l="";t[i]=Qr.decodeString(this.source.substring(r,s+1));h=s+1}else if(-1==" \t\n\r\v".indexOf(e)){if(a||"/"==e||">"==e){if(0"!=e&&(l+=e)}else 0e.name==t):null}elements(t){this._children||(this._children=new Array);return t?this._children.filter(e=>e.name==t):this._children}parse(e){this.reset();let t,i=new Array;rs.begin(e);for(;rs.nextTag();)if(rs.tagType==R.XMLTagType.Start||rs.tagType==R.XMLTagType.Void){let e;if(t)e=new ss;else{if(null!=this.name)throw this.reset(),new Error("Invalid xml format - no root node.");e=this}e.name=rs.tagName;e._attrs=Object.assign({},rs.attributes);if(t){rs.tagType!=R.XMLTagType.Void&&i.push(t);null==t._children&&(t._children=new Array);t._children.push(e)}rs.tagType!=R.XMLTagType.Void&&(t=e)}else if(rs.tagType==R.XMLTagType.End){if(null==t||t.name!=rs.tagName)throw this.reset(),new Error("Invalid xml format - <"+rs.tagName+"> dismatched.");null!=t._children&&0!=t._children.length||(t.text=rs.getText());t=0{this._onError(e)};a.onabort=e=>{this._onAbort(e)};a.onprogress=e=>{this._onProgress(e)};a.onload=e=>{this._onLoad(e)};a.send(t)}_onProgress(e){e&&e.lengthComputable&&this.event(g.PROGRESS,e.loaded/e.total)}_onAbort(e){this.error("Request was aborted by user")}_onError(e){this.error("Request failed Status:"+this._http.status+" text:"+this._http.statusText)}_onLoad(e){var t=this._http,i=void 0!==t.status?t.status:200;200===i||204===i||0===i?this.complete():this.error("["+t.status+"]"+t.statusText+":"+t.responseURL)}error(e){this.clear();this.event(g.ERROR,e)}complete(){this.clear();var t=true;try{"json"===this._responseType?this._data=JSON.parse(this._http.responseText):"xml"===this._responseType?this._data=new ss(this._http.responseText):this._data=this._http.response||this._http.responseText}catch(e){t=false;this.error(e.message)}t&&this.event(g.COMPLETE,this._data instanceof Array?[this._data]:this._data);if(p.onMiniGame){this._http.responseText=null;this._http.response=null}}clear(){var e=this._http;e.onerror=e.onabort=e.onprogress=e.onload=null}get url(){return this._url}get data(){return this._data}get http(){return this._http}reset(){this.offAll();this._data=null}}as._urlEncode=encodeURI;class ns{constructor(){this.httpRequestPool=[]}common(e,t,i,r,s,a){let n=this.getRequestInst();n.on(g.COMPLETE,()=>{let e=n.data;this.returnRequestInst(n);a(e)});n.on(g.ERROR,null,e=>{this.returnRequestInst(n);a(null,e)});s&&n.on(g.PROGRESS,s);n.send(t,null,"get",r);e.$ref=n}image(e,t,i,r,s){let a=new p.window.Image;a.crossOrigin="";a.onload=()=>{a.onload=null;a.onerror=null;s(a)};a.onerror=()=>{a.onload=null;a.onerror=null;s(null,"")};a.src=t;e.$ref=a}imageWithBlob(e,t,i,r,s){let a=Zr.arrayBufferToURL(i,t);this.image(e,a,i,r,s)}imageWithWorker(e,t,i,r,s){Kr.enable=true;Kr.enable?Kr.load(t,e.workerLoaderOptions).then(e=>{e?s(e):s(null,"workerloader failed!")}):this.image(e,t,i,r,s)}audio(e,t,i,r,s){let a=p.createElement("audio");a.crossOrigin="";a.oncanplaythrough=()=>{a.oncanplaythrough=null;a.onerror=null;s(a)};a.onerror=()=>{a.oncanplaythrough=null;a.onerror=null;s(null,"")};a.src=t;e.$ref=a}getRequestInst(){return 0==this.httpRequestPool.length||p.onVVMiniGame||p.onHWMiniGame?new as:this.httpRequestPool.pop()}returnRequestInst(e){e.reset();this.httpRequestPool.length<10&&this.httpRequestPool.push(e)}}var ls=0;const hs={ext:null,typeId:null,main:false,loaderType:null};class F extends ${constructor(){super();this.retryNum=1;this.retryDelay=0;this.maxLoader=5;this._loadings=new Map;this._queue=[];this._downloadings=new Set}static registerLoader(e,i,r){let s;if(r){s=F.typeMap[r];s?s.loaderType!=i&&(s={typeId:s.typeId,loaderType:i}):F.typeMap[r]=s={typeId:ls++,loaderType:i}}else s={typeId:ls++,loaderType:i};for(var a of e){let t=F.extMap[a];if(t&&r){let e=t.findIndex(e=>e.typeId==s.typeId);-1==e?t.push(s):t[e].loaderType=i}else F.extMap[a]=[s]}}get loading(){return 0t.runWith(e):t;let d;if(Array.isArray(s)){let i,r=(c&&(i=new $r(c)),[]);for(let t=0;t{o.runWith(e);return e}):d}_load1(i,r,s,a){if(S.isPreview){if(i.startsWith("res://")){let t=i.substring(6);return pt.inst.UUID_to_URL_async(t).then(e=>e?this._load2(e,t,r,s,a):(s.silent||F.warnFailed(i),Promise.resolve(null)))}return pt.inst.URL_to_UUID_async(i).then(e=>this._load2(i,e,r,s,a))}return this._load2(i,null,r,s,a)}_load2(t,i,r,s,e){let{ext:a,typeId:n,main:l,loaderType:h}=F.getURLInfo(t,r);if(!h)return s.silent||F.warnFailed(t),Promise.resolve(null);let o=D.formatURL(t);if(s.group){let e=F.groupMap[s.group];e=e||(F.groupMap[s.group]=new Set);e.add(o)}let _;if(null==s.cache||s.cache){let e=F._getRes(o,r);if(void 0!==e){if(null==e)return Promise.resolve(null);if(!(e instanceof ee))return Promise.resolve(e);e.obsolute&&(_=e);if(!(_||e.uuid&&i&&i!=e.uuid))return Promise.resolve(e)}}let u=o,c=(l||(u+="@"+n),this._loadings.get(u));if(c)return e&&c.onProgress.add(e),new Promise(e=>c.onComplete.add(e));let d=jr.getFileLoadPath(o);if(d)return this.load(d.url,{type:F.ATLAS,baseUrl:d.baseUrl}).then(()=>F.getRes(t,r));c=0<_s.length?_s.pop():new os;c.type=r;c.url=t;c.uuid=i;c.ext=a;s=Object.assign(c.options,s);delete s.type;null==s.priority&&(s.priority=0);null==s.useWorkerLoader&&(s.useWorkerLoader=Kr.enable);e&&c.onProgress.add(e);c.loader=this;c.obsoluteInst=_;let f=new h;this._loadings.set(u,c);let p;try{p=f.load(c)}catch(e){s.silent||F.warnFailed(t,e);p=Promise.resolve(null)}return p.then(e=>{e instanceof ee&&e._setCreateURL(t,i);null!=c.options.cache&&!c.options.cache||F._cacheRes(o,e,n,l);c.progress.update(-1,1);c.onComplete.invoke(e);return e}).catch(e=>{s.silent||F.warnFailed(t,e);null!=c.options.cache&&!c.options.cache||F._cacheRes(o,null,n,l);c.onComplete.invoke(null);return null}).then(e=>{this._loadings.delete(u);c.reset();_s.push(c);0==this._loadings.size&&this.event(g.COMPLETE);return e})}fetch(e,t,i,r){r=r||us;let s={originalUrl:e,url:e,contentType:t,priority:null!=(t=r.priority)?t:1,retryCnt:0,onProgress:i,onComplete:null};if(r.useWorkerLoader){s.useWorkerLoader=true;s.workerLoaderOptions=r.workerLoaderOptions}r.blob&&(s.blob=r.blob);r.noRetry&&(s.retryCnt=-1);r.silent&&(s.silent=true);return pt.inst.resolveURL(e).then(t=>new Promise(e=>{s.url=D.formatURL(t);s.onComplete=e;this.queueToDownload(s)}))}queueToDownload(i){if(this._downloadings.sizee.priority{e||(i.retryCnt=-1);this.completeItem(i,e,t)}):i.useWorkerLoader?F.downloader.imageWithWorker(i,t,i.originalUrl,i.onProgress,(e,t)=>{e||(i.useWorkerLoader=false);this.completeItem(i,e,t)}):F.downloader.image(i,t,i.originalUrl,i.onProgress,(e,t)=>this.completeItem(i,e,t))}else if("sound"==i.contentType)F.downloader.audio(i,t,i.originalUrl,i.onProgress,(e,t)=>this.completeItem(i,e,t));else{let e=F.preLoadedMap[i.url];e?this.completeItem(i,e):F.downloader.common(i,t,i.originalUrl,i.contentType,i.onProgress,(e,t)=>this.completeItem(i,e,t))}}completeItem(e,t,i){this._downloadings.delete(e);if(t){this._downloadings.sizee.typeId===s))){a=0==t;n=r[t].loaderType}else{a=false;n=e.loaderType}else{a=i!=F.TEXTURE2D;n=e.loaderType}}else{if(!r)return F.warn(`not recognize the resource suffix: '${e}'`),hs;a=true;s=r[0].typeId;n=r[0].loaderType}return{ext:t,main:a,typeId:s,loaderType:n}}static warnFailed(e,t){this.warn("Failed to load "+e,t)}static warn(e,t){let i=t?t.stack||t:"";i=i&&": "+i;console.warn(e+i)}static getRes(e,t){e=D.formatURL(e);let i=F._getRes(e,t);return i||null}static _getRes(e,r){let s=F.loadedMap[e];if(s){let i;if(r){let t=F.typeMap[r];if(!t)return;if(2==s.length)s[0]==t.typeId&&(i=s[1]);else{let e=s.indexOf(t.typeId);-1!=e&&(i=s[e+1])}}else i=s[1];return i instanceof ee&&i.destroyed?void 0:i}}static getTexture2D(e){return F.getRes(e,F.TEXTURE2D)}static getBaseTexture(e){return F.getRes(e,F.TEXTURE2D)}static getAtlas(e){return F.getRes(e,F.ATLAS)}getRes(e,t){return F.getRes(e,t)}static createNodes(e){return null==(e=F.getRes(e))?void 0:e.create()}static cacheRes(e,t,i){e=D.formatURL(e);let r=F.getURLInfo(e,i);null!=r.typeId&&F._cacheRes(e,t,r.typeId,r.main)}static _cacheRes(e,t,i,r){let s=F.loadedMap[e];if(r)if(s){s[0]=i;s[1]=t}else s=F.loadedMap[e]=[i,t];else if(s){let e=s.findIndex(e=>e===i);-1!=e?s[e+1]=t:s.push(i,t)}else s=F.loadedMap[e]=[null,void 0,i,t]}cacheRes(e,t,i){F.cacheRes(e,t,i)}static clearRes(e,t){e=D.formatURL(e);F._clearRes(e,t)}clearRes(e,t){e=D.formatURL(e);F._clearRes(e,t)}static _clearRes(t,i){let r=F.loadedMap[t];if(r)if(i){if(r[1]==i)2==r.length?delete F.loadedMap[t]:r[1]=void 0;else{let e=r.indexOf(i);if(-1==e)return;4==r.length&&null==r[0]?delete F.loadedMap[t]:r.splice(e-1,2)}i instanceof ee&&!i.destroyed&&i.destroy()}else{delete F.loadedMap[t];if(2e.url==t);if(-1!=i){let e=this._queue[i];this._queue.splice(i,1);e.onComplete(null)}}loadPackage(t,e,i){let r,s;if("string"==typeof e){s=e;r=i}else r=e;if(s){s.endsWith("/")||(s+="/");let e=t+"/";D.basePaths[e]=s;return this._loadSubFileConfig(t,r)}{if(S.isPreview)return Promise.resolve();let e=null;if(C.Browser.onMiniGame)e=C.Browser.window.wx;else if(C.Browser.onTTMiniGame)e=C.Browser.window.tt;else if(C.Browser.onKGMiniGame||C.Browser.onVVMiniGame||C.Browser.onQGMiniGame)e=C.Browser.window.qg;else{if(!C.Browser.onAlipayMiniGame)return this._loadSubFileConfig(t,r);e=C.Browser.window.my}return this._loadMiniPackage(e,t,r).then(()=>this._loadSubFileConfig(t,r))}}_loadMiniPackage(r,s,a){return 0{let i=r.loadSubpackage({name:s,success:e=>{t(e)},fail:e=>{t(e)}});i.onProgressUpdate(e=>{a&&a(e)})}):Promise.resolve()}_loadSubFileConfig(e,t){0{let r=[],e=i.files;for(var t in e)if(0=h)break;p=l[o];f=p.i;if(Array.isArray(f))d=f.length;else{u=f;d=0;c=1}_=0}if(0==c){if(_>=d){o++;f=null;continue}c=f[_++];if(0this.onProgress.invoke(e))}reset(){for(var e in this.options)delete this.options[e];this.onProgress.clear();this.onComplete.clear();this.progress.reset();this.obsoluteInst=null}}const _s=[],us={};class cs{static subtractVector3(e,t,i){i[0]=e[0]-t[0];i[1]=e[1]-t[1];i[2]=e[2]-t[2]}static lerp(e,t,i){return e*(1-i)+t*i}static scaleVector3(e,t,i){i[0]=e[0]*t;i[1]=e[1]*t;i[2]=e[2]*t}static lerpVector3(e,t,i,r){var s=e[0],a=e[1],e=e[2];r[0]=s+i*(t[0]-s);r[1]=a+i*(t[1]-a);r[2]=e+i*(t[2]-e)}static lerpVector4(e,t,i,r){var s=e[0],a=e[1],n=e[2],e=e[3];r[0]=s+i*(t[0]-s);r[1]=a+i*(t[1]-a);r[2]=n+i*(t[2]-n);r[3]=e+i*(t[3]-e)}static slerpQuaternionArray(e,t,i,r,s,a,n){var l,h,o=e[t+0],_=e[t+1],u=e[t+2],e=e[t+3],t=i[r+0],c=i[r+1],d=i[r+2],i=i[r+3],r=o*t+_*c+u*d+e*i;if(r<0){r=-r;t=-t;c=-c;d=-d;i=-i}if(1e-6<1-r){r=Math.acos(r);h=Math.sin(r);l=Math.sin((1-s)*r)/h;h=Math.sin(s*r)/h}else{l=1-s;h=s}a[n+0]=l*o+h*t;a[n+1]=l*_+h*c;a[n+2]=l*u+h*d;a[n+3]=l*e+h*i;return a}static getRotation(e,t,i,r){return Math.atan2(r-t,i-e)/Math.PI*180}static sortBigFirst(e,t){return e==t?0:ethis._count&&(e=this._count);for(var t=this._animationData.nodes,i=t.length,r=0;rt?a[t]:a[a.length-1];r[s]=a}var _,u=e.funkeys,h=u.length;if(0!=h)for(o=0;othis._count&&(this._count=h.index)}}else{this._targetDic&&this._targetDic[r]&&(e.initValues[t]=this._targetDic[r][t]);a.sort(ds._sortIndexFun);e.keys.push(t);this._calculateNodePropFrames(a,e.frames[t],t,r)}}}resetNodes(){if(this._targetDic&&this._animationData)for(var e,t,i=this._animationData.nodes,r=i.length,s=0;sthis._count&&(this._count=n);if(e.tween){s=er[e.tweenMethod];null==s&&(s=er.linearNone);for(r=a;r=a.length&&(i=a.length-1);return e[t][i]}return t in s?s[t]:r}_getNodeGraphicData(e,t,i){i=i||new ps;i.transform?i.transform.identity():i.transform=new E;var r=this.getNodeDataByID(e);if(r){var r=r.frames,r=this._getParams(r,fs._drawTextureCmd,t,this._nodeDefaultProps[e]),t=r[0],e=r[5],s=r[6],a=r[13],n=r[14],l=r[7],h=r[8],o=r[9],_=r[11],u=r[12],c=r[3],d=r[4];0!=c&&0!=d||(t=null);-1==c&&(c=0);-1==d&&(d=0);i.skin=t;i.width=c;i.height=d;if(t){f=this._getTextureByUrl(t);if(f){c=c||f.sourceWidth;d=d||f.sourceHeight}else console.warn("lost skin:",t,",you may load pics first")}i.alpha=r[10];var f=i.transform;0!=a&&(e=a*c);0!=n&&(s=n*d);0==e&&0==s||f.translate(-e,-s);t=null;if(o||1!==l||1!==h||_||u){t=fs._tempMt;t.identity();t._bTransform=true;a=.0174532922222222*(o-_),c=.0174532922222222*(o+u),n=Math.cos(c),d=Math.sin(c),e=Math.sin(a),s=Math.cos(a);t.a=l*n;t.b=l*d;t.c=-h*e;t.d=h*s;t.tx=t.ty=0}t&&(f=E.mul(f,t,f));f.translate(r[1],r[2])}return i}_getTextureByUrl(e){return F.getRes(e)}setAniData(e,t=null){if(e.animations){this._nodeDefaultProps={};this._nodeGDic={};this._nodeList&&(this._nodeList.length=0);this._rootNode=e;this._parseNodeList(e);for(var i,r={},s=[],a=e.animations,n=a.length,l=0;l{if(t===e){this.frames=ms.framesMap[r]||ms.createFrames(t,r);!this._isPlaying&&this._autoPlay&&this.play();i&&i.run()}};F.getAtlas(t)?e(t):C.loader.load(t,tr.create(null,e,[t]),null,F.ATLAS)}return this}loadAnimation(e,t=null,i=null){this._url=e;var r=this;this._actionName||(this._actionName="");if(r._setFramesFromCache(this._actionName)){r._setFramesFromCache(this._actionName,true);this.index=0;t&&t.run()}else!i||F.getAtlas(i)?this._loadAnimationData(e,t,i):C.loader.load(i,tr.create(this,this._loadAnimationData,[e,t,i]),null,F.ATLAS);return this}_loadAnimationData(n,e=null,t=null){t&&!F.getAtlas(t)?console.warn("atlas load fail:"+t):C.loader.fetch(n,"json").then(a=>{if(this._url===n)if(a){let s;if(ms.framesMap[n+"#"]){this._setFramesFromCache(this._actionName,true);this.index=0}else{let e=fs.parseAnimationData(a);if(!e)return;let t=e.animationList,i=t.length,r;for(let e=0;e{t&&t.runWith(e)})}parseFont(r,p){if(null!=r&&null!=p){this.texture=p;p._addReference();let u=1,e=r.getNode("info");this.fontSize=e.getAttrInt("size",12);this.autoScaleSize=e.getAttrBool("autoScaleSize");this.lineHeight=e.getAttrInt("lineHeight",this.fontSize);0==this.lineHeight&&(this.lineHeight=this.fontSize);let t=e.getAttrString("padding",""),i=t.split(","),c=(this.padding=[parseInt(i[0]),parseInt(i[1]),parseInt(i[2]),parseInt(i[3])],(null==(r=r.getNode("chars"))?void 0:r.elements("char"))||[]),d=0,f=this.dict;for(let _=0,e=c.length;_this._count&&(e=this._count);for(var t=this._animationData.nodes,i=t.length,i=1t?s[t]:s[s.length-1];h[r]=a}}_calculateKeyFrames(e){super._calculateKeyFrames(e);var t,i,r=e.keyframes,s=(e.target,{});e.secondFrames=s;for(t in r){i=r[t];i.length<=1?s[t]=-1:s[t]=i[1].index}}}Ts.EFFECT_BEGIN="effectbegin";class xs{constructor(){this.font="";this.fontSize=12;this.color="#000000";this.bold=false;this.italic=false;this.underline=false;this.underlineColor=null;this.align="left";this.valign="top";this.leading=2;this.stroke=0;this.strokeColor="#000000"}}R.HtmlElementType=void 0;e=R.HtmlElementType||(R.HtmlElementType={});e[e.Text=0]="Text";e[e.Link=1]="Link";e[e.Image=2]="Image";e[e.Input=3]="Input";e[e.Select=4]="Select";e[e.Object=5]="Object";e[e.LinkEnd=6]="LinkEnd";class ys{constructor(){this.style=new xs}getAttr(e){return null==this._attrs?null:this._attrs[e]}setAttr(e,t){null==this._attrs&&(this._attrs={});this._attrs[e]=t}getAttrString(e,t){return Qr.getString(this._attrs,e,t)}getAttrInt(e,t){return Qr.getInt(this._attrs,e,t)}getAttrFloat(e,t){return Qr.getFloat(this._attrs,e,t)}getAttrBool(e,t){return Qr.getBool(this._attrs,e,t)}fetchAttributes(){this._attrs=Object.assign({},rs.attributes)}reset(){this.name=null;this.text=null;if(this.obj){this.obj.release();A.recoverByClass(this.obj);this.obj=null}this._attrs=null}static getFromPool(e){let t;t=0{let t=this.obj.width,i=this.obj.height;this.obj.texture=e;-1==r&&(this.obj.width=e?e.sourceWidth:0);-1==s&&(this.obj.height=e?e.sourceHeight:0);!this._owner||t==this.obj.width&&i==this.obj.height||this._owner.refreshLayout()})}pos(e,t){this.obj.pos(e,t)}release(){this.obj.removeSelf();this.obj.offAll();this.obj.texture=null;this._owner=null;this._element=null}destroy(){this.obj.destroy()}}class vs{constructor(){this._shape=new ar;this._shape.hitArea=this;this._shape.on(g.CLICK,()=>{this._owner.bubbleEvent(g.LINK,this._element.getAttrString("href"))});this._rects=[];this._rectCnt=0}get element(){return this._element}get width(){return 0}get height(){return 0}create(e,t){this._owner=e;this._element=t;this._owner.objContainer.addChild(this._shape)}resetArea(){this._rectCnt=0}addRect(e,t,i,r){let s=this._rects[this._rectCnt];s=s||(this._rects[this._rectCnt]=new w);this._rectCnt++;s.setTo(e,t,i,r)}contains(t,i){for(let e=0;e":null!=i?'':(t=this.getTagText(),'')}onTag_IMG(e,t,i){return!t&&(t=this.getTagText(true),t)?this.defaultImgWidth?'':'':null}onTag_B(e,t,i){return t?"":""}onTag_I(e,t,i){return t?"":""}onTag_U(e,t,i){return t?"":""}onTag_Simple(e,t,i){return t?"":"<"+e+">"}onTag_COLOR(e,t,i){return t?"":(this.lastColor=i,'')}onTag_FONT(e,t,i){return t?"":''}onTag_SIZE(e,t,i){return t?"":(this.lastSize=i,'')}getTagText(e){for(var t,i=this._readPos,r="";-1!=(t=this._text.indexOf("[",i));){if(92!=this._text.charCodeAt(t-1)){r+=this._text.substring(i,t);break}r+=this._text.substring(i,t-1);r+="[";i=t+1}if(-1==t)return null;e&&(this._readPos=t);return r}parse(e,t){this._text=e;this.lastColor=null;this.lastSize=null;for(var i,r,s,a,n,l=0,h="";-1!=(s=e.indexOf("[",l));)if(0{if(e&&this._realFont==t){e instanceof gs?this._bitmapFont=e:this._realFont=e.family;this._text&&this.markChanged()}})}else{this._realFont=C.Browser.onIPhone&&X.fontFamilyMap[e]||e;this._text&&this.markChanged()}}get fontSize(){return this._textStyle.fontSize}set fontSize(e){if(this._textStyle.fontSize!=e){this._textStyle.fontSize=e;this.markChanged()}}get color(){return this._textStyle.color}set color(e){this.set_color(e)}set_color(e){if(this._textStyle.color!=e){this._textStyle.color=e;!this._isChanged&&this._graphics&&0==this._elements.length?this._graphics.replaceTextColor(this._textStyle.color):this.markChanged()}}get bold(){return this._textStyle.bold}set bold(e){if(this._textStyle.bold!=e){this._textStyle.bold=e;this.markChanged()}}get italic(){return this._textStyle.italic}set italic(e){if(this._textStyle.italic!=e){this._textStyle.italic=e;this.markChanged()}}get align(){return this._textStyle.align}set align(e){if(this._textStyle.align!=e){this._textStyle.align=e;this.markChanged()}}get valign(){return this._textStyle.valign}set valign(e){if(this._textStyle.valign!=e){this._textStyle.valign=e;this.markChanged()}}get wordWrap(){return this._wordWrap}set wordWrap(e){if(this._wordWrap!=e){this._wordWrap=e;this.markChanged()}}get leading(){return this._textStyle.leading}set leading(e){if(this._textStyle.leading!=e){this._textStyle.leading=e;this.markChanged()}}get padding(){return this._padding}set padding(e){if("string"==typeof e){let i=e.split(",");this._padding.length=0;for(let t=0;t<4;t++){let e=parseFloat(i[t]);isNaN(e)&&(e=0);this._padding.push(e)}}else this._padding=e;this.markChanged()}get bgColor(){return this._bgColor}set bgColor(e){this._bgColor=e;this.drawBg()}get borderColor(){return this._borderColor}set borderColor(e){this._borderColor=e;this.drawBg()}get stroke(){return this._textStyle.stroke}set stroke(e){if(this._textStyle.stroke!=e){this._textStyle.stroke=e;this.markChanged()}}get strokeColor(){return this._textStyle.strokeColor}set strokeColor(e){if(this._textStyle.strokeColor!=e){this._textStyle.strokeColor=e;this.markChanged()}}get overflow(){return this._overflow}set overflow(e){if(this._overflow!=e){this._overflow=e;this.markChanged()}}get underline(){return this._textStyle.underline}set underline(e){if(this._textStyle.underline!=e){this._textStyle.underline=e;this.markChanged()}}get underlineColor(){return this._textStyle.underlineColor}set underlineColor(e){if(this._textStyle.underlineColor!=e){this._textStyle.underlineColor=e;this.markChanged()}}get singleCharRender(){return this._singleCharRender}set singleCharRender(e){this._singleCharRender=e}get html(){return this._html}set html(e){if(this._html!=e){this._html=e;this.markChanged()}}get ubb(){return this._ubb}set ubb(e){if(this._ubb!=e){this._ubb=e;this.markChanged()}}get maxWidth(){return this._maxWidth}set maxWidth(e){if(this._maxWidth!=e){this._maxWidth=e;this.markChanged()}}get htmlParseOptions(){return this._htmlParseOptions}set htmlParseOptions(e){this._htmlParseOptions=e}parseTemplate(e){let t=0,i,r,s,a,n="";for(;-1!=(i=e.indexOf("{",t));){if(0e?e:t;this._scrollPos.x=t;this.renderText()}}get scrollX(){return this._scrollPos?this._scrollPos.x:0}set scrollY(t){this.typeset();if(this._scrollPos){let e=this.maxScrollY;t=t<0?0:t;t=t>e?e:t;this._scrollPos.y=t;this.renderText()}}get scrollY(){return this._scrollPos?this._scrollPos.y:0}get maxScrollX(){let e=this.textWidth-this._width;return e<0?0:e}get maxScrollY(){let e=this.textHeight-this._height;return e<0?0:e}get lines(){this.typeset();return this._lines}markChanged(){if(!this._isChanged){this._isChanged=true;C.systemTimer.callLater(this,this._typeset)}}typeset(){this._isChanged&&C.systemTimer.runCallLater(this,this._typeset)}refreshLayout(){C.systemTimer.callLater(this,this.doLayout)}get objContainer(){if(!this._objContainer){this._objContainer=new ar;this._objContainer.hideFlags|=H.HideAndDontSave;this.addChild(this._objContainer)}return this._objContainer}_typeset(){this._isChanged=false;if(!this._hideText&&!this._destroyed){ys.returnToPool(this._elements);this._objContainer&&this._objContainer.removeChildren();let i=this._text,r;if(!i&&this._prompt){i=this._prompt;r=true}if(i){let e=this._html;i=i.replace(Ns,"\n");this._parseEscapeChars&&(i=i.replace(Us,Ws));!r&&this._templateVars&&(i=this.parseTemplate(i));if(this._ubb){i=ws.defaultParser.parse(i);e=true}!r&&this._asPassword&&(i=Ms._passwordChar.repeat(i.length));let t;if(r){t=this._textStyle.color;this._textStyle.color=this._promptColor}if(e)Cs.defaultParser.parse(i,this._textStyle,this._elements,this._htmlParseOptions);else{let e=ys.getFromPool(R.HtmlElementType.Text);Object.assign(e.style,this._textStyle);e.text=i;this._elements.push(e)}r&&(this._textStyle.color=t);this.doLayout()}else{this.graphics.clear(true);this.drawBg();this._textWidth=this._textHeight=0;this._scrollPos=null;if(this._onPostLayout){this._updatingLayout=true;this._onPostLayout();this._updatingLayout=false}}}}doLayout(){if(this._destroyed)return;this._updatingLayout=true;this._fontSizeScale=1;let a=this._wordWrap||this._overflow==Ms.ELLIPSIS,s=this._padding,u;u=this._isWidthSet?this._width-s[3]-s[1]:Number.MAX_VALUE;if(0{if(i)return i.getTextWidth(t,f);if(S.isConch)return window.conchTextCanvas.measureText(t).width;{let e=C.Browser.context.measureText(t);return e?e.width:100}},m=(e,r)=>{if(i){d=i.getMaxWidth(f);_=i.getMaxHeight(f)}else{let e=(r.italic?"italic ":"")+(r.bold?"bold ":"")+f+"px "+this._realFont;r._ctxFont=e;let t;if(S.isConch){window.conchTextCanvas.font=e;t=window.conchTextCanvas.measureText(Ms._testWord)}else{C.Browser.context.font=e;t=C.Browser.context.measureText(Ms._testWord)}if(t){d=t.width;_=Math.ceil(t.height||f)}else{d=100;_=f}}let s=e.split("\n");if(a)for(let t=0,i=s.length;t{let r=0{let e=0,t=h.cmd;for(;t;){t.height>e&&(e=t.height);t=t.next}t=h.cmd;for(;t;){t.y=Math.floor(.5*(e-t.height));t=t.next}0==e&&(e=_);e++;h.height=e;h.width=c},x=()=>{c=0;h&&(l+=h.height+Math.floor(this._textStyle.leading*this._fontSizeScale));h=0{let o=Math.max(0,u-c),_=p(l);if(_<=o)g(l,h,_);else{let r=0,s=0,a=0,t=Bs(l);if(!i&&!t){r=Math.floor(o/d);0==r&&(r=1);s=p(l.substring(0,r));if(o>1;i++;e=true}if(s>o){e&&(s==_+(_>>1)?i++:i--);if(0==i){if(0{let e=0,t=0;for(var i of this._lines)i.width>e&&(e=i.width);0{c=l=d=_=0;h=null;o=null;Ps(this._lines);x();let r=this._elements;for(let e=0,t=r.length;en){let e=0,t=this._textStyle.fontSize,i=(this._fontSizeScale=Math.sqrt(n/this._textHeight),Math.floor(this._fontSizeScale*this._textStyle.fontSize));for(;;){r();this._textWidth>u||this._textHeight>n?t=i:e=i;if(!(1u){this._fontSizeScale=u/this._textWidth;r();if(this._textWidth>u){let e=Math.floor(this._textStyle.fontSize*this._fontSizeScale);e--;this._fontSizeScale=e/this._textStyle.fontSize;r()}}}else if(this._overflow==Ms.ELLIPSIS&&(this._textWidth>u||this._textHeight>n)){let e=this._lines.findIndex(e=>e.y+e.height>n),t=(0==e&&(e=1),false);if(-1!=e&&this._lines.length>e){Ps(this._lines.splice(e,this._lines.length-e));t=true}let i=this._lines[this._lines.length-1],r=i.cmd,s,a=false;for(;r;){s=r.next;if(a){r.obj?r.obj=null:r.wt&&r.wt.cleanCache();Ds.push(r)}else if(!s&&t||r.x+r.width>u){r.obj&&(r.obj=null);r.wt||(r.wt=new Xi);r.wt.setText(r.wt.text.substring(0,Math.max(0,r.wt.text.length-2))+ks);f=r.style.fontSize;r.width=r.wt.width=p(r.wt.text);r.wt.splitRender=this._singleCharRender;r.next=null;a=true}r=s}a&&E()}this._onPostLayout&&this._onPostLayout();let v="center"==this._textStyle.align?1:"right"==this._textStyle.align?2:0;if(0!=v&&this._isWidthSet){let t=this._width-s[3]-s[1];for(var b of this._lines){let e=0;1==v?e=Math.floor(.5*(t-b.width)):2==v&&(e=t-b.width);0this._width||this._isHeightSet&&this._textHeight>this._height))if(this._scrollPos){let e=this.maxScrollX,t=this.maxScrollY;this._scrollPos.x>e&&(this._scrollPos.x=e);this._scrollPos.y>t&&(this._scrollPos.y=t)}else this._scrollPos=new Y(0,0);else this._scrollPos=null;if(this._objContainer){this._objContainer.size(this._width,this._height);if(this._scrollPos||this._overflow==Ms.HIDDEN&&0=_),l=t.cmd;for(;l;){if(l.linkEnd&&p){p.addRect(m,d,c+l.x+l.width-m,t.height);p=null}if(l.obj){l.obj.pos(c+l.x,d+l.y);if(l.obj.element.type==R.HtmlElementType.Link){p=l.obj;p.resetArea();m=c+l.x}}else if(!e)if(o){let r=0,s=l.wt.text,a=o.tint?l.style.color:"#FFFFFF",n=Math.floor((o.autoScaleSize?l.style:o).fontSize*this._fontSizeScale)/o.fontSize;for(let i=0,e=s.length;ifalse;t.addEventListener("mousedown",e=>{p.onIE||e.cancelable&&e.preventDefault();i._touchInput||i.handleMouse(e,0)},{passive:false});t.addEventListener("mouseup",e=>{e.cancelable&&e.preventDefault();i._touchInput||i.handleMouse(e,1)},{passive:false});t.addEventListener("mousemove",e=>{e.cancelable&&e.preventDefault();i._touchInput||i.handleMouse(e,2)},{passive:false});t.addEventListener("mouseout",e=>{i._touchInput||i.handleMouse(e,3)},{passive:false});t.addEventListener("touchstart",e=>{i._touchInput=true;zs||Zs.isTextInputting||e.cancelable&&e.preventDefault();i.handleTouch(e,0)},{passive:false});t.addEventListener("touchend",e=>{zs||Zs.isTextInputting||e.cancelable&&e.preventDefault();zs=false;i.handleTouch(e,1)},{passive:false});t.addEventListener("touchmove",e=>{e.cancelable&&e.preventDefault();i.handleTouch(e,2)},{passive:false});t.addEventListener("touchcancel",e=>{e.cancelable&&e.preventDefault();i.handleTouch(e,3)},{passive:false});t.addEventListener("wheel",e=>{i.handleMouse(e,4)},{passive:false});t.addEventListener("pointerdown",e=>{t.setPointerCapture(e.pointerId)});t.addEventListener("pointerup",e=>{t.releasePointerCapture(e.pointerId)},true);let r=p.document;r.addEventListener("keydown",e=>{i.handleKeys(e)},true);r.addEventListener("keypress",e=>{i.handleKeys(e)},true);r.addEventListener("keyup",e=>{i.handleKeys(e)},true)}handleMouse(t,e){var i;this._eventType=e;this._nativeEvent=t;let r=this._mouseTouch;js.setTo(t.pageX||t.clientX,t.pageY||t.clientY);this._stage._canvasTransform&&this._stage._canvasTransform.invertTransformPoint(js);Zs.mouseX=js.x;Zs.mouseY=js.y;let s=js.x/this._stage.clientScaleX,a=js.y/this._stage.clientScaleY;r.event.nativeEvent=t;if(3!=e&&Zs.mouseEventsEnabled){r.target=this._touchTarget=this.getNodeUnderPoint(s,a);let e=Math.round(s),t=Math.round(a);if(e!=r.pos.x||t!=r.pos.y){this._stage._mouseMoveTime=p.now();r.pos.setTo(e,t);r.move();if(Zs.mouseEventsEnabled){r.target.bubbleEvent(g.MOUSE_MOVE,r.event);for(var n of r.downTargets)n.event(g.MOUSE_DRAG,r.event)}}}else r.target=this._touchTarget=null;r.lastRollOver!=r.target&&this.handleRollOver(r);if(0==e){if(!r.began){r.begin();this._touches[0]=r;r.event.button=t.button;if(Zs.mouseEventsEnabled){this.handleFocus();0==t.button?null!=(i=r.target)&&i.bubbleEvent(g.MOUSE_DOWN,r.event):null!=(i=r.target)&&i.bubbleEvent(g.RIGHT_MOUSE_DOWN,r.event)}}}else if(1==e){if(r.began){r.end();this._touches.length=0;r.event.button=t.button;if(Zs.mouseEventsEnabled){0==t.button?null!=(i=r.target)&&i.bubbleEvent(g.MOUSE_UP,r.event):null!=(i=r.target)&&i.bubbleEvent(g.RIGHT_MOUSE_UP,r.event);if(r.moved)for(var l of r.downTargets)l.event(g.MOUSE_DRAG_END,r.event);let e=r.clickTest();if(e){if(0==t.button){r.event.isDblClick=2==r.clickCount;e.bubbleEvent(g.CLICK,r.event);2==r.clickCount&&e.bubbleEvent(g.DOUBLE_CLICK,r.event)}else{r.event.isDblClick=2==r.clickCount;e.bubbleEvent(g.RIGHT_CLICK,r.event)}r.event.isDblClick=false}}r.event.button=0}}else if(4==e&&Zs.mouseEventsEnabled){r.event.delta=.025*t.deltaY;null==(i=r.target)||i.bubbleEvent(g.MOUSE_WHEEL,r.event);r.event.delta=0}}handleTouch(a,n){var l;this._eventType=n;this._nativeEvent=a;let i=a.changedTouches;for(let t=0;te.touchId==t);if(!i&&e){i=0Zs.clickTestThreshold||Math.abs(this.pos.y-this.downPos.y)>Zs.clickTestThreshold)&&(this.clickCancelled=true)}end(){this.began=false;let e=performance.now(),t=Qs[this.touchId];if(!t){t={pos:new Y,time:0,button:0};Qs[this.touchId]=t}if(0==this.downTargets.length||this.clickCancelled||Math.abs(this.pos.x-this.downPos.x)>Zs.clickTestThreshold||Math.abs(this.pos.y-this.downPos.y)>Zs.clickTestThreshold){this.clickCancelled=true;t.time=0;this.clickCount=1}else{e-t.time<350&&Math.abs(this.pos.x-t.pos.x)0==(e&e-1);this.isPotSize=h(i)&&h(r);this._mipmap=a&&this.isPotSize;this._mipmapCount=this._mipmap?Math.max(Math.ceil(Math.log2(i))+1,Math.ceil(Math.log2(r))+1):1;this._maxMipmapLevel=this._mipmapCount-1;this._baseMipmapLevel=0;this.useSRGBLoad=n;this.gammaCorrection=l;this.target=t;this.filterMode=R.FilterMode.Bilinear;this.wrapU=R.WrapMode.Repeat;this.wrapV=R.WrapMode.Repeat;this.wrapW=R.WrapMode.Repeat;this.anisoLevel=4;this.compareMode=R.TextureCompareMode.None}get mipmap(){return this._mipmap}get mipmapCount(){return this._mipmapCount}get gpuMemory(){return this._gpuMemory}set gpuMemory(e){this._engine._addStatisticsInfo(R.RenderStatisticsInfo.GPUMemory,-this._gpuMemory);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.TextureMemeory,-this._gpuMemory);this._gpuMemory=e;this._engine._addStatisticsInfo(R.RenderStatisticsInfo.GPUMemory,this._gpuMemory);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.TextureMemeory,this._gpuMemory)}get filterMode(){return this._filterMode}set filterMode(s){if(this._filterMode!=s&&this.resource){let e=this._gl,t=this.mipmap,i=this.getFilteMinrParam(s,t),r=(this._setTexParameteri(e.TEXTURE_MIN_FILTER,i),this.getFilterMagParam(s));this._setTexParameteri(e.TEXTURE_MAG_FILTER,r);this._filterMode=s}}get wrapU(){return this._warpU}set wrapU(i){if(this._warpU!=i&&this.resource){let e=this._gl,t=this.getWrapParam(i);this._setWrapMode(e.TEXTURE_WRAP_S,t);this._warpU=i}}get wrapV(){return this._warpV}set wrapV(i){if(this._warpV!=i&&this.resource){let e=this._gl,t=this.getWrapParam(i);this._setWrapMode(e.TEXTURE_WRAP_T,t);this._warpV=i}}get wrapW(){return this._warpW}set wrapW(i){if(this._warpW!=i&&this.resource){if(this._engine.getCapable(R.RenderCapable.Texture3D)){let e=this._gl,t=this.getWrapParam(i);this._setWrapMode(e.TEXTURE_WRAP_R,t)}this._warpW=i}}get anisoLevel(){return this._anisoLevel}set anisoLevel(i){let r=this._engine._supportCapatable.getExtension(R.WebGLExtension.EXT_texture_filter_anisotropic);if(r){this._gl;let e=this._engine.getParams(R.RenderParams.Max_AnisoLevel_Count),t=Math.max(1,Math.min(e,i));this._setTexParametexf(r.TEXTURE_MAX_ANISOTROPY_EXT,t);this._anisoLevel=t}else this._anisoLevel=1}set baseMipmapLevel(e){this._engine.isWebGL2&&this._setTexParameteri(this._gl.TEXTURE_BASE_LEVEL,e);this._baseMipmapLevel=e}get baseMipmapLevel(){return this._baseMipmapLevel}set maxMipmapLevel(e){this._engine.isWebGL2&&this._setTexParameteri(this._gl.TEXTURE_MAX_LEVEL,e);this._maxMipmapLevel=e}get maxMipmapLevel(){return this._maxMipmapLevel}get compareMode(){return this._compareMode}set compareMode(e){this._compareMode=e}_setTexParameteri(e,t){let i=this._gl,r=this.target;this._engine._bindTexture(r,this.resource);i.texParameteri(r,e,t);this._engine._bindTexture(r,null)}_setTexParametexf(e,t){let i=this._gl,r=this.target;this._engine._bindTexture(r,this.resource);i.texParameterf(r,e,t);this._engine._bindTexture(r,null)}getFilteMinrParam(e,t){let i=this._gl;switch(e){case R.FilterMode.Point:return t?i.NEAREST_MIPMAP_NEAREST:i.NEAREST;case R.FilterMode.Bilinear:return t?i.LINEAR_MIPMAP_NEAREST:i.LINEAR;case R.FilterMode.Trilinear:return t?i.LINEAR_MIPMAP_LINEAR:i.LINEAR;default:return t?i.LINEAR_MIPMAP_NEAREST:i.LINEAR}}getFilterMagParam(e){let t=this._gl;switch(e){case R.FilterMode.Point:return t.NEAREST;case R.FilterMode.Bilinear:case R.FilterMode.Trilinear:default:return t.LINEAR}}getWrapParam(e){let t=this._gl;switch(e){case R.WrapMode.Repeat:return t.REPEAT;case R.WrapMode.Clamp:return t.CLAMP_TO_EDGE;case R.WrapMode.Mirrored:return t.MIRRORED_REPEAT;default:return t.REPEAT}}_setWrapMode(e,t){let i=this._gl;this.isPotSize||(t=i.CLAMP_TO_EDGE);this._setTexParameteri(e,t)}dispose(){let e=this._gl;e.deleteTexture(this.resource);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.GPUMemory,-this._gpuMemory);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.TextureMemeory,-this._gpuMemory);this._gpuMemory=0}}class ra extends ta{constructor(e,t,i,r,s,a){super(e);this._gpuMemory=0;this.colorFormat=t;this.depthStencilFormat=i;this._isCube=r;this._generateMipmap=s;this._samples=a;this._textures=[];this._depthTexture=null;this._framebuffer=this._gl.createFramebuffer();1{e&&e.dispose()});this._textures=null;this._depthTexture&&this._depthTexture.dispose();this._depthTexture=null;this._framebuffer&&this._gl.deleteFramebuffer(this._framebuffer);this._framebuffer=null;this._depthbuffer&&this._gl.deleteRenderbuffer(this._depthbuffer);this._depthbuffer=null;this._msaaFramebuffer&&this._gl.deleteFramebuffer(this._msaaFramebuffer);this._msaaFramebuffer=null;this._msaaRenderbuffer&&this._gl.deleteRenderbuffer(this._msaaRenderbuffer);this._msaaRenderbuffer=null;this._engine._addStatisticsInfo(R.RenderStatisticsInfo.GPUMemory,-this._gpuMemory);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.RenderTextureMemory,-this._gpuMemory);this._gpuMemory=0}}class sa extends ta{constructor(e){super(e);this._glParam={internalFormat:0,format:0,type:0};this._sRGB=this._engine._supportCapatable.getExtension(R.WebGLExtension.EXT_sRGB);this._oesTextureHalfFloat=this._engine._supportCapatable.getExtension(R.WebGLExtension.OES_texture_half_float);this._compressdTextureS3tc_srgb=this._engine._supportCapatable.getExtension(R.WebGLExtension.WEBGL_compressed_texture_s3tc_srgb);this._compressedTextureEtc1=this._engine._supportCapatable.getExtension(R.WebGLExtension.WEBGL_compressed_texture_etc1);this._compressedTextureS3tc=this._engine._supportCapatable.getExtension(R.WebGLExtension.WEBGL_compressed_texture_s3tc);this._compressedTextureETC=this._engine._supportCapatable.getExtension(R.WebGLExtension.WEBGL_compressed_texture_etc);this._compressedTextureASTC=this._engine._supportCapatable.getExtension(R.WebGLExtension.WEBGL_compressed_texture_astc);this._webgl_depth_texture=this._engine._supportCapatable.getExtension(R.WebGLExtension.WEBGL_depth_texture)}glTextureParam(e,t){let i=this._gl;this._glParam.internalFormat=null;this._glParam.format=null;this._glParam.type=null;switch(e){case R.TextureFormat.R8G8B8:this._glParam.internalFormat=t?this._sRGB.SRGB_EXT:i.RGB;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.R8G8B8A8:this._glParam.internalFormat=t?this._sRGB.SRGB_ALPHA_EXT:i.RGBA;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.R5G6B5:this._glParam.internalFormat=i.RGB;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_SHORT_5_6_5;break;case R.TextureFormat.R32G32B32A32:this._glParam.internalFormat=i.RGBA;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.FLOAT;break;case R.TextureFormat.R32G32B32:this._glParam.internalFormat=i.RGB;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.FLOAT;break;case R.TextureFormat.R16G16B16A16:this._glParam.internalFormat=i.RGBA;this._glParam.format=this._glParam.internalFormat;this._glParam.type=this._oesTextureHalfFloat.HALF_FLOAT_OES;break;case R.TextureFormat.R16G16B16:this._glParam.internalFormat=i.RGB;this._glParam.format=this._glParam.internalFormat;this._glParam.type=this._oesTextureHalfFloat.HALF_FLOAT_OES;break;case R.TextureFormat.DXT1:this._glParam.internalFormat=t?this._compressdTextureS3tc_srgb.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:this._compressedTextureS3tc.COMPRESSED_RGBA_S3TC_DXT1_EXT;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.DXT3:this._glParam.internalFormat=t?this._compressdTextureS3tc_srgb.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:this._compressedTextureS3tc.COMPRESSED_RGBA_S3TC_DXT3_EXT;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.DXT5:this._glParam.internalFormat=t?this._compressdTextureS3tc_srgb.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:this._compressedTextureS3tc.COMPRESSED_RGBA_S3TC_DXT5_EXT;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ETC1RGB:this._glParam.internalFormat=this._compressedTextureEtc1.COMPRESSED_RGB_ETC1_WEBGL;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ETC2RGBA:this._glParam.internalFormat=this._compressedTextureETC.COMPRESSED_RGBA8_ETC2_EAC;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ETC2RGB:this._glParam.internalFormat=this._compressedTextureETC.COMPRESSED_RGB8_ETC2;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ETC2SRGB:this._glParam.internalFormat=this._compressedTextureETC.COMPRESSED_SRGB8_ETC2;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ETC2SRGB_Alpha8:this._glParam.internalFormat=this._compressedTextureETC.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ASTC4x4:this._glParam.internalFormat=this._compressedTextureASTC.COMPRESSED_RGBA_ASTC_4x4_KHR;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ASTC6x6:this._glParam.internalFormat=this._compressedTextureASTC.COMPRESSED_RGBA_ASTC_6x6_KHR;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ASTC8x8:this._glParam.internalFormat=this._compressedTextureASTC.COMPRESSED_RGBA_ASTC_8x8_KHR;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ASTC10x10:this._glParam.internalFormat=this._compressedTextureASTC.COMPRESSED_RGBA_ASTC_10x10_KHR;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ASTC12x12:this._glParam.internalFormat=this._compressedTextureASTC.COMPRESSED_RGBA_ASTC_12x12_KHR;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ASTC4x4SRGB:this._glParam.internalFormat=this._compressedTextureASTC.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ASTC6x6SRGB:this._glParam.internalFormat=this._compressedTextureASTC.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ASTC8x8SRGB:this._glParam.internalFormat=this._compressedTextureASTC.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ASTC10x10SRGB:this._glParam.internalFormat=this._compressedTextureASTC.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.TextureFormat.ASTC12x12SRGB:this._glParam.internalFormat=this._compressedTextureASTC.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;default:throw"Unknown Texture Format."}return this._glParam}glRenderTextureParam(e,t){let i=this._gl;this._glParam.internalFormat=null;this._glParam.format=null;this._glParam.type=null;switch(e){case R.RenderTargetFormat.R8G8B8:this._glParam.internalFormat=t?this._sRGB.SRGB_EXT:i.RGB;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.RenderTargetFormat.R8G8B8A8:this._glParam.internalFormat=t?this._sRGB.SRGB_EXT:i.RGBA;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_BYTE;break;case R.RenderTargetFormat.R16G16B16:this._glParam.internalFormat=i.RGB;this._glParam.format=this._glParam.internalFormat;this._glParam.type=this._oesTextureHalfFloat.HALF_FLOAT_OES;break;case R.RenderTargetFormat.R16G16B16A16:this._glParam.internalFormat=i.RGBA;this._glParam.format=this._glParam.internalFormat;this._glParam.type=this._oesTextureHalfFloat.HALF_FLOAT_OES;break;case R.RenderTargetFormat.R32G32B32:this._glParam.internalFormat=i.RGB;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.FLOAT;break;case R.RenderTargetFormat.R32G32B32A32:this._glParam.internalFormat=i.RGBA;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.FLOAT;break;case R.RenderTargetFormat.DEPTH_16:this._glParam.internalFormat=i.DEPTH_COMPONENT;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_SHORT;break;case R.RenderTargetFormat.DEPTHSTENCIL_24_8:this._glParam.internalFormat=i.DEPTH_STENCIL;this._glParam.format=this._glParam.internalFormat;this._glParam.type=this._webgl_depth_texture.UNSIGNED_INT_24_8_WEBGL;break;case R.RenderTargetFormat.DEPTH_32:this._glParam.internalFormat=i.DEPTH_COMPONENT;this._glParam.format=this._glParam.internalFormat;this._glParam.type=i.UNSIGNED_INT;break;default:R.RenderTargetFormat.STENCIL_8;throw"render texture format wrong."}return this._glParam}glRenderBufferParam(e,t){let i=this._gl;switch(e){case R.RenderTargetFormat.DEPTH_16:return{internalFormat:i.DEPTH_COMPONENT16,attachment:i.DEPTH_ATTACHMENT};case R.RenderTargetFormat.DEPTHSTENCIL_24_8:return{internalFormat:i.DEPTH_STENCIL,attachment:i.DEPTH_STENCIL_ATTACHMENT};case R.RenderTargetFormat.DEPTH_32:return{internalFormat:i.DEPTH_STENCIL,attachment:i.DEPTH_ATTACHMENT};case R.RenderTargetFormat.STENCIL_8:return{internalFormat:i.STENCIL_INDEX8,attachment:i.STENCIL_ATTACHMENT};default:return null}}glRenderTargetAttachment(e){let t=this._gl;switch(e){case R.RenderTargetFormat.DEPTH_16:return t.DEPTH_ATTACHMENT;case R.RenderTargetFormat.DEPTHSTENCIL_24_8:return t.DEPTH_STENCIL_ATTACHMENT;case R.RenderTargetFormat.DEPTH_32:return t.DEPTH_ATTACHMENT;case R.RenderTargetFormat.STENCIL_8:return t.STENCIL_ATTACHMENT;case R.RenderTargetFormat.R8G8B8:case R.RenderTargetFormat.R8G8B8A8:case R.RenderTargetFormat.R16G16B16:case R.RenderTargetFormat.R16G16B16A16:case R.RenderTargetFormat.R32G32B32:case R.RenderTargetFormat.R32G32B32A32:return t.COLOR_ATTACHMENT0;default:throw"render format."}}getTarget(e){let t=this._gl;switch(e){case R.TextureDimension.Tex2D:return t.TEXTURE_2D;case R.TextureDimension.Cube:return t.TEXTURE_CUBE_MAP;default:throw"texture dimension wrong in WebGL1."}}getFormatPixelsParams(e){let t={channels:0,bytesPerPixel:0,dataTypedCons:Uint8Array,typedSize:1};switch(e){case R.TextureFormat.R8G8B8A8:t.channels=4;t.bytesPerPixel=4;t.dataTypedCons=Uint8Array;t.typedSize=1;return t;case R.TextureFormat.R8G8B8:t.channels=3;t.bytesPerPixel=3;t.dataTypedCons=Uint8Array;t.typedSize=1;return t;case R.TextureFormat.R5G6B5:t.channels=3;t.bytesPerPixel=2;t.dataTypedCons=Uint16Array;t.typedSize=2;return t;case R.TextureFormat.R16G16B16:t.channels=3;t.bytesPerPixel=6;t.dataTypedCons=Uint16Array;t.typedSize=2;return t;case R.TextureFormat.R16G16B16A16:t.channels=4;t.bytesPerPixel=8;t.dataTypedCons=Uint16Array;t.typedSize=2;return t;case R.TextureFormat.R32G32B32:t.channels=3;t.bytesPerPixel=12;t.dataTypedCons=Float32Array;t.typedSize=4;return t;case R.TextureFormat.R32G32B32A32:t.channels=4;t.bytesPerPixel=16;t.dataTypedCons=Float32Array;t.typedSize=4;return t;default:return t}}getGLtexMemory(e,t=0){let i=this._gl,r=0,s=0,a=0,n=this._sRGB?this._sRGB.SRGB_EXT:i.RGB,l=this._sRGB?this._sRGB.SRGB_ALPHA_EXT:i.RGBA;switch(e.internalFormat){case n:case i.RGB:r=3;break;case l:case i.RGBA:r=4;break;default:r=0}switch(e.type){case i.UNSIGNED_BYTE:s=1;break;case i.UNSIGNED_SHORT_5_6_5:s=2/3;break;case i.FLOAT:s=4;break;case this._oesTextureHalfFloat.HALF_FLOAT_OES:s=2;break;default:s=0}a=r*s*e.width*e.height;e.mipmap&&(a*=1.333);e.target==i.TEXTURE_CUBE_MAP?a*=6:e.target==i.TEXTURE_2D&&(a*=1);return a}getGLRTTexMemory(e,t,i,r,s,a,n){let l=e=>{let t=0;switch(e){case R.RenderTargetFormat.R8G8B8:t=3;break;case R.RenderTargetFormat.R8G8B8A8:t=4;break;case R.RenderTargetFormat.R16G16B16A16:t=8;break;case R.RenderTargetFormat.R32G32B32:t=12;break;case R.RenderTargetFormat.R32G32B32A32:t=16;break;case R.RenderTargetFormat.R16G16B16:t=6;break;case R.RenderTargetFormat.DEPTH_16:t=2;break;case R.RenderTargetFormat.STENCIL_8:t=1;break;case R.RenderTargetFormat.DEPTHSTENCIL_24_8:case R.RenderTargetFormat.DEPTH_32:t=4}return t},h=l(i),o=l(r);1{let t=e.target;this._engine._bindTexture(t,e.resource);i.generateMipmap(t);this._engine._bindTexture(t,null)});i.bindFramebuffer(i.FRAMEBUFFER,null)}}createRenderTextureInternal(e,t,i,r,s,a){let n=false,l=(s=s&&this.supportGenerateMipmap(r),1),h=this.getTarget(e),o=new ia(this._engine,h,t,i,e,s,n,l),_=this.glRenderTextureParam(r,n);o.internalFormat=_.internalFormat;o.format=_.format;o.type=_.type;let u=o.internalFormat,c=o.format,d=o.type,f=o._gl;this._engine._bindTexture(o.target,o.resource);f.texImage2D(h,0,u,t,i,0,c,d,null);this._engine._bindTexture(o.target,null);r!=R.RenderTargetFormat.DEPTH_16&&r!=R.RenderTargetFormat.DEPTH_32&&r!=R.RenderTargetFormat.DEPTHSTENCIL_24_8||(o.filterMode=R.FilterMode.Point);return o}createRenderTextureCubeInternal(e,i,t,r,s){let a=false,n=(r=r&&this.supportGenerateMipmap(t),1),l=this.getTarget(e),h=new ia(this._engine,l,i,i,e,r,a,n),o=this.glRenderTextureParam(t,a);h.internalFormat=o.internalFormat;h.format=o.format;h.type=o.type;let _=h.internalFormat,u=h.format,c=h.type,d=h._gl;const f=[d.TEXTURE_CUBE_MAP_POSITIVE_Z,d.TEXTURE_CUBE_MAP_NEGATIVE_Z,d.TEXTURE_CUBE_MAP_POSITIVE_X,d.TEXTURE_CUBE_MAP_NEGATIVE_X,d.TEXTURE_CUBE_MAP_POSITIVE_Y,d.TEXTURE_CUBE_MAP_NEGATIVE_Y];this._engine._bindTexture(h.target,h.resource);for(let t=0;t{let t=e.target;this._engine._bindTexture(t,e.resource);i.generateMipmap(t);this._engine._bindTexture(t,null)});i.bindFramebuffer(i.FRAMEBUFFER,null)}}}class na extends ta{constructor(e,t,i){super(e);this._byteLength=0;this._glTargetType=t;this._glBufferUsageType=i;this._getGLTarget(this._glTargetType);this._getGLUsage(this._glBufferUsageType);this._glBuffer=this._gl.createBuffer()}_getGLUsage(e){switch(e){case R.BufferUsage.Static:this._glUsage=this._gl.STATIC_DRAW;break;case R.BufferUsage.Dynamic:this._glUsage=this._gl.DYNAMIC_DRAW;break;case R.BufferUsage.Stream:this._glUsage=this._gl.STREAM_DRAW;break;default:console.error("usage is not standard")}}_getGLTarget(e){switch(e){case R.BufferTargetType.ARRAY_BUFFER:this._glTarget=this._gl.ARRAY_BUFFER;break;case R.BufferTargetType.UNIFORM_BUFFER:this._glTarget=this._gl.UNIFORM_BUFFER;break;case R.BufferTargetType.ELEMENT_ARRAY_BUFFER:this._glTarget=this._gl.ELEMENT_ARRAY_BUFFER}}_memorychange(e){this._engine._addStatisticsInfo(R.RenderStatisticsInfo.BufferMemory,e);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.GPUMemory,e)}bindBuffer(){if(this._engine._getbindBuffer(this._glTargetType)==this)return false;this._gl.bindBuffer(this._glTarget,this._glBuffer);this._engine._setbindBuffer(this._glTargetType,this);return true}unbindBuffer(){if(this._engine._getbindBuffer(this._glTargetType)==this){this._gl.bindBuffer(this._glTarget,null);this._engine._setbindBuffer(this._glTargetType,null)}}orphanStorage(){this.bindBuffer();this.setDataLength(this._byteLength)}setDataLength(e){let t=this._gl;this.bindBuffer();this._memorychange(-this._byteLength);this._byteLength=e;t.bufferData(this._glTarget,this._byteLength,this._glUsage);this.unbindBuffer();this._memorychange(this._byteLength)}setData(e,t){let i=this._gl;this.bindBuffer();i.bufferSubData(this._glTarget,t,e);this.unbindBuffer()}setDataEx(e,t,i){let r=this._gl;this.bindBuffer();r.bufferSubData(this._glTarget,t,e,0,i);this.unbindBuffer()}bindBufferBase(e){if(this._engine._getBindUBOBuffer(e)!=this){const t=this._gl;t.bindBufferBase(this._glTarget,e,this._glBuffer);this._engine._setBindUBOBuffer(e,this)}}bindBufferRange(e,t,i){const r=this._gl;r.bindBufferRange(this._glTarget,e,this._glBuffer,t,i)}resizeBuffer(e){this.bindBuffer();const t=this._gl;this._byteLength=e;t.bufferData(this._glTarget,this._byteLength,this._glUsage)}destroy(){super.destroy();const e=this._gl;e.deleteBuffer(this._glBuffer);this._memorychange(-this._byteLength);this._byteLength=0;this._engine=null;this._glBuffer=null;this._glTarget=null;this._glUsage=null;this._gl=null}}class la{constructor(){}}var ha={};function oa(e){window.console&&window.console.error&&window.console.error(e)}function _a(e){window.console&&window.console.log&&window.console.log(e)}function ua(e,t){ha[e]=true;void 0!==t&&oa(t)}function ca(i){var r=i.getError;i.getError=function(){for(var e,t;e=r.apply(i),e!=i.NO_ERROR&&(ha[e]=true),e!=i.NO_ERROR;);for(t in ha)if(ha[t])return delete ha[t],parseInt(t);return i.NO_ERROR}}var da=function e(t){var i=t.gl;this.ext=t;this.isAlive=true;this.hasBeenBound=false;this.elementArrayBuffer=null;this.attribs=new Array(t.maxVertexAttribs);for(var r=0;r{t&&i.set(e,t)},i=this._getExtension("EXT_texture_filter_anisotropic"),r=(t(R.WebGLExtension.EXT_texture_filter_anisotropic,i,this._extensionMap),this._getExtension("WEBGL_compressed_texture_s3tc")),s=(t(R.WebGLExtension.WEBGL_compressed_texture_s3tc,r,this._extensionMap),this._getExtension("WEBGL_compressed_texture_s3tc_srgb")),a=(t(R.WebGLExtension.WEBGL_compressed_texture_s3tc_srgb,s,this._extensionMap),this._getExtension("WEBGL_compressed_texture_pvrtc")),n=(t(R.WebGLExtension.WEBGL_compressed_texture_pvrtc,a,this._extensionMap),this._getExtension("WEBGL_compressed_texture_etc1")),l=(t(R.WebGLExtension.WEBGL_compressed_texture_etc1,n,this._extensionMap),this._getExtension("WEBGL_compressed_texture_etc")),h=(t(R.WebGLExtension.WEBGL_compressed_texture_etc,l,this._extensionMap),this._getExtension("WEBGL_compressed_texture_astc")),o=(t(R.WebGLExtension.WEBGL_compressed_texture_astc,h,this._extensionMap),this._getExtension("OES_texture_float_linear")),_=(t(R.WebGLExtension.OES_texture_float_linear,o,this._extensionMap),this._getExtension("EXT_color_buffer_half_float"));t(R.WebGLExtension.EXT_color_buffer_half_float,_,this._extensionMap);if(e){const u=this._getExtension("EXT_color_buffer_float");t(R.WebGLExtension.EXT_color_buffer_float,u,this._extensionMap)}else{window._setupVertexArrayObject&&window._setupVertexArrayObject(this._gl);const c=this._getExtension("OES_vertex_array_object"),d=(t(R.WebGLExtension.OES_vertex_array_object,c,this._extensionMap),this._getExtension("ANGLE_instanced_arrays")),f=(t(R.WebGLExtension.ANGLE_instanced_arrays,d,this._extensionMap),this._getExtension("OES_texture_half_float")),p=(t(R.WebGLExtension.OES_texture_half_float,f,this._extensionMap),this._getExtension("OES_texture_half_float_linear")),m=(t(R.WebGLExtension.OES_texture_half_float_linear,p,this._extensionMap),this._getExtension("OES_texture_float")),g=(t(R.WebGLExtension.OES_texture_float,m,this._extensionMap),this._getExtension("OES_element_index_uint")),T=(t(R.WebGLExtension.OES_element_index_uint,g,this._extensionMap),this._getExtension("EXT_shader_texture_lod")),x=(t(R.WebGLExtension.EXT_shader_texture_lod,T,this._extensionMap),this._getExtension("WEBGL_depth_texture")),y=(t(R.WebGLExtension.WEBGL_depth_texture,x,this._extensionMap),this._getExtension("EXT_sRGB")),E=(t(R.WebGLExtension.EXT_sRGB,y,this._extensionMap),this._getExtension("OES_standard_derivatives"));t(R.WebGLExtension.OES_standard_derivatives,E,this._extensionMap)}}getCapable(e){return this._capabilityMap.get(e)}getExtension(e){return this._extensionMap.has(e)?this._extensionMap.get(e):null}_getExtension(e){const t=this._extentionVendorPrefixes;for(var i in t){i=this._gl.getExtension(t[i]+e);if(i)return i}return null}}class ma{constructor(e){this._engine=e;this._gl=this._engine.gl;this._initParams()}_initParams(){const e=this._gl;this._glParamsData=new Map;this._glParamsData.set(R.RenderParams.Max_Active_Texture_Count,e.getParameter(e.MAX_VERTEX_TEXTURE_IMAGE_UNITS));const t=e.getParameter(e.MAX_VERTEX_UNIFORM_VECTORS),i=e.getParameter(e.MAX_FRAGMENT_UNIFORM_VECTORS);this._glParamsData.set(R.RenderParams.Max_Uniform_Count,Math.min(t,i));this._glParamsData.set(R.RenderParams.MAX_Texture_Size,e.getParameter(e.MAX_TEXTURE_SIZE));this._glParamsData.set(R.RenderParams.MAX_Texture_Image_Uint,e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS));if(this._engine.getCapable(R.RenderCapable.Texture_anisotropic)){const r=this._engine._supportCapatable.getExtension(R.WebGLExtension.EXT_texture_filter_anisotropic);this._glParamsData.set(R.RenderParams.Max_AnisoLevel_Count,e.getParameter(r.MAX_TEXTURE_MAX_ANISOTROPY_EXT))}this._engine.isWebGL2?this._glParamsData.set(R.RenderParams.SHADER_CAPAILITY_LEVEL,35):this._glParamsData.set(R.RenderParams.SHADER_CAPAILITY_LEVEL,30);this._glParamsData.set(R.RenderParams.FLOAT,e.FLOAT);this._glParamsData.set(R.RenderParams.UNSIGNED_BYTE,e.UNSIGNED_BYTE);this._glParamsData.set(R.RenderParams.UNSIGNED_SHORT,e.UNSIGNED_SHORT);this._glParamsData.set(R.RenderParams.BYTE,e.BYTE)}getParams(e){return this._glParamsData.get(e)}}class ga extends ta{constructor(e){super(e)}activeTexture(e){if(this._engine._activedTextureID!==e){this._gl.activeTexture(e);this._engine._activedTextureID=e}}bindTexture(e,t){this._engine._bindTexture(e,t)}bindUseProgram(e){if(this.cacheShaderProgram==e)return false;this._gl.useProgram(e);this._engine._glUseProgram=null;return true}}R.DrawType=void 0;e=R.DrawType||(R.DrawType={});e[e.DrawArray=0]="DrawArray";e[e.DrawArrayInstance=1]="DrawArrayInstance";e[e.DrawElement=2]="DrawElement";e[e.DrawElementInstance=3]="DrawElementInstance";class Ta extends ta{constructor(e){super(e);this._engine.isWebGL2||(this._angleInstancedArrays=this._engine._supportCapatable.getExtension(R.WebGLExtension.ANGLE_instanced_arrays))}getMeshTopology(e){switch(e){case R.MeshTopology.Points:return this._gl.POINTS;case R.MeshTopology.Lines:return this._gl.LINES;case R.MeshTopology.LineLoop:return this._gl.LINE_LOOP;case R.MeshTopology.LineStrip:return this._gl.LINE_STRIP;case R.MeshTopology.Triangles:return this._gl.TRIANGLES;case R.MeshTopology.TriangleStrip:return this._gl.TRIANGLE_STRIP;case R.MeshTopology.TriangleFan:return this._gl.TRIANGLE_FAN}}getIndexType(e){switch(e){case R.IndexFormat.UInt8:return this._gl.UNSIGNED_BYTE;case R.IndexFormat.UInt16:return this._gl.UNSIGNED_SHORT;case R.IndexFormat.UInt32:return this._gl.UNSIGNED_INT}}drawElementsInstanced(e,t,i,r,s){this._engine.isWebGL2?this._gl.drawElementsInstanced(e,t,i,r,s):this._angleInstancedArrays.drawElementsInstancedANGLE(e,t,i,r,s);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.DrawCall,1);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.InstanceDrawCall,1);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.Triangle,t/3*s)}drawArraysInstanced(e,t,i,r){this._engine.isWebGL2?this._gl.drawArraysInstanced(e,t,i,r):this._angleInstancedArrays.drawArraysInstancedANGLE(e,t,i,r);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.DrawCall,1);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.InstanceDrawCall,1);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.Triangle,(i-2)*r)}drawArrays(e,t,i){this._gl.drawArrays(e,t,i);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.DrawCall,1);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.Triangle,i-2)}drawElements(e,t,i,r){this._gl.drawElements(e,t,i,r);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.DrawCall,1);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.Triangle,t/3)}drawElements2DTemp(e,t,i,r){e=this.getMeshTopology(e);i=this.getIndexType(i);this._gl.drawElements(e,t,i,r);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.DrawCall,1);this._engine._addStatisticsInfo(R.RenderStatisticsInfo.Triangle,t/3)}drawGeometryElement(t){t.bufferState.bind();let i=t.drawParams.elements,r=t.drawParams.length;switch(t.drawType){case R.DrawType.DrawArray:for(let e=0;e{switch(t){case R.RenderStateType.DepthTest:this.setDepthTest(e);break;case R.RenderStateType.DepthMask:this.setDepthMask(e);break;case R.RenderStateType.DepthFunc:this.setDepthFunc(e);break;case R.RenderStateType.StencilTest:this.setStencilTest(e);break;case R.RenderStateType.StencilMask:this.setStencilMask(e);break;case R.RenderStateType.StencilFunc:this.setStencilFunc(e[0],e[1]);break;case R.RenderStateType.StencilOp:this.setstencilOp(e[0],e[1],e[2]);break;case R.RenderStateType.BlendType:this.setBlend(e!=R.BlendType.BLEND_DISABLE);break;case R.RenderStateType.BlendEquation:this.setBlendEquation(e);break;case R.RenderStateType.BlendEquationSeparate:this.setBlendEquationSeparate(e[0],e[1]);break;case R.RenderStateType.BlendFunc:this.setBlendFunc(e[0],e[1]);break;case R.RenderStateType.BlendFuncSeperate:this.setBlendFuncSeperate(e[0],e[1],e[2],e[3]);break;case R.RenderStateType.CullFace:this.setCullFace(e);break;case R.RenderStateType.FrontFace:this.setFrontFace(e);break;default:throw"unknow type of renderStateType"}})}}R.TextureCubeFace=void 0;e=R.TextureCubeFace||(R.TextureCubeFace={});e[e.PositiveX=0]="PositiveX";e[e.NegativeX=1]="NegativeX";e[e.PositiveY=2]="PositiveY";e[e.NegativeY=3]="NegativeY";e[e.PositiveZ=4]="PositiveZ";e[e.NegativeZ=5]="NegativeZ";const ya=new Uint8Array(3);class Ea extends ae{constructor(e,t,i=true,r=false,s=false){super(e,e,t);this._dimension=R.TextureDimension.Cube;this._texture=M.textureContext.createTextureInternal(this._dimension,e,e,t,i,r,s)}static get blackTexture(){return Ea._blackTexture}static get grayTexture(){return Ea._grayTexture}static get whiteTexture(){return Ea._whiteTexture}static get errorTexture(){return Ea._errorTexture}static __init__(){var e=new Ea(1,R.TextureFormat.R8G8B8,false),t=new Ea(1,R.TextureFormat.R8G8B8,false),i=new Ea(1,R.TextureFormat.R8G8B8,false),r=ya;r[0]=0,r[1]=0,r[2]=0;e.setPixelsData([r,r,r,r,r,r],false,false);e.lock=true;r[0]=128,r[1]=128,r[2]=128;t.setPixelsData([r,r,r,r,r,r],false,false);t.lock=true;r[0]=255,r[1]=255,r[2]=255;i.setPixelsData([r,r,r,r,r,r],false,false);i.lock=true;Ea._grayTexture=t;Ea._blackTexture=e;Ea._whiteTexture=i;Ea._errorTexture=i}setImageData(e,t,i){let r=false,s=e.findIndex(e=>null!=e);if(-1!=s){let t=e[s];e.every(e=>null!=e&&e.width==t.width&&e.height==t.height)||(r=true)}else r=true;let a=this._texture;if(r){let e=ya;M.textureContext.setCubePixelsData(a,[e,e,e,e,e,e],t,i)}else M.textureContext.setCubeImageData(a,e,t,i)}setPixelsData(e,t,i){let r=this._texture;M.textureContext.setCubePixelsData(r,e,t,i)}updateSubPixelsData(e,t,i,r,s,a,n,l,h){let o=this._texture;M.textureContext.setCubeSubPixelData(o,e,a,n,t,i,r,s,l,h)}setDDSData(e){let t=this._texture;M.textureContext.setCubeDDSData(t,e)}setKTXData(e){let t=this._texture;M.textureContext.setCubeKTXData(t,e)}get defaultTexture(){return Ea.grayTexture}}class va{constructor(){this.textureID=-1}}class ba extends ta{constructor(e,t,i,r){super(e);this._complete=true;this._vs=t;this._ps=i;this._attributeMap=r;this._uniformMap=[];this._create()}_create(){const s=this._gl;this._program=s.createProgram();this._vshader=this._createShader(s,this._vs,s.VERTEX_SHADER);this._pshader=this._createShader(s,this._ps,s.FRAGMENT_SHADER);s.attachShader(this._program,this._vshader);s.attachShader(this._program,this._pshader);for(var e in this._attributeMap)s.bindAttribLocation(this._program,this._attributeMap[e][0],e);s.linkProgram(this._program);const t=s.getProgramParameter(this._program,s.LINK_STATUS);if(t){const o=s.getProgramParameter(this._program,s.ACTIVE_UNIFORMS);this.useProgram();this._curActTexIndex=0;let i,r;for(r=0;r{var t,i=e.vertexDeclaration,r=(this._vertexDeclaration[n++]=e.vertexDeclaration,i._shaderValues);e.bind();for(t in r){var s=parseInt(t),a=r[t];this._gl.enableVertexAttribArray(s);this._gl.vertexAttribPointer(s,a[0],a[1],!!a[2],a[3],a[4]);e.instanceBuffer&&this.vertexAttribDivisor(s,1)}})}clearVAO(){for(let e=0,t=this._vertexDeclaration.length;e{this._nativeVertexBuffers.push(e._conchVertexBuffer3D)});this._nativeObj.applyVertexBuffer(this._nativeVertexBuffers)}applyIndexBuffer(e){if(null!=e){this._bindedIndexBuffer=e;this._nativeObj.applyIndexBuffer(e._conchIndexBuffer3D)}}destroy(){this._vertexBuffers=null;this._nativeVertexBuffers=[];this._bindedIndexBuffer=null;super.destroy();this._nativeObj.destroy()}}class Da extends Ca{constructor(e){super(e);this._nativeObj=new window.conchGLRenderDrawContext(e._nativeObj)}drawElementsInstanced(e,t,i,r,s){this._nativeObj.drawElementsInstanced(e,t,i,r,s)}drawArraysInstanced(e,t,i,r){this._nativeObj.drawArraysInstanced(e,t,i,r)}drawArrays(e,t,i){this._nativeObj.drawArrays(e,t,i)}drawElements(e,t,i,r){this._nativeObj.drawElements(e,t,i,r)}drawElements2DTemp(e,t,i,r){}drawGeometryElement(e){this._nativeObj.drawGeometryElement(e._nativeObj)}}class Ia extends ea{constructor(){super();this._nativeObj=new window.conchRenderStateCommand}addCMD(e,t){switch(e){case R.RenderStateType.DepthTest:case R.RenderStateType.DepthMask:case R.RenderStateType.DepthFunc:case R.RenderStateType.StencilTest:case R.RenderStateType.StencilMask:case R.RenderStateType.BlendEquation:case R.RenderStateType.CullFace:case R.RenderStateType.FrontFace:this._nativeObj.addCMDInt1(e,t);break;case R.RenderStateType.StencilFunc:case R.RenderStateType.BlendFunc:case R.RenderStateType.BlendEquationSeparate:this._nativeObj.addCMDInt2(e,t[0],t[1]);break;case R.RenderStateType.StencilOp:this._nativeObj.addCMDInt3(e,t[0],t[1],t[2]);break;case R.RenderStateType.BlendType:this._nativeObj.addCMDInt1(e,t!=R.BlendType.BLEND_DISABLE?1:0);break;case R.RenderStateType.BlendFuncSeperate:this._nativeObj.addCMDInt4(e,t[0],t[1],t[2],t[3]);break;default:throw"unknow type of renderStateType"}}applyCMD(){M.renderEngine.applyRenderStateCMD(this)}clear(){this._nativeObj.clear()}}class Pa{constructor(e,t=R.WebGLMode.Auto){this._isShaderDebugMode=true;this._nativeObj=new window.conchWebGLEngine(t)}createRenderStateComand(){return new Ia}getUBOPointer(e){return this._nativeObj.getUBOPointer(e)}_addStatisticsInfo(e,t){this._nativeObj.addStatisticsInfo(e,t)}clearStatisticsInfo(e){this._nativeObj.clearStatisticsInfo(e)}getStatisticsInfo(e){return this._nativeObj.getStatisticsInfo(e)}get gl(){return this._context}get isWebGL2(){return this._nativeObj.isWebGL2}get webglConfig(){return this._config}initRenderEngine(e){this._nativeObj.initRenderEngine();this._GLRenderDrawContext=new Da(this);this.isWebGL2?this._GLTextureContext=new wa(this,new window.conchGL2TextureContext(this._nativeObj)):this._GLTextureContext=new Aa(this,new window.conchGLTextureContext(this._nativeObj))}bindTexture(e){throw new Error("Method not implemented.")}applyRenderStateCMD(e){this._nativeObj.applyRenderStateCommand(e._nativeObj)}getCapable(e){return this._nativeObj.getCapable(e)}viewport(e,t,i,r){this._nativeObj.viewport(e,t,i,r)}scissor(e,t,i,r){this._nativeObj.scissor(e,t,i,r)}scissorTest(e){this._nativeObj.scissorTest(e)}clearRenderTexture(e,t=null,i=1){t?this._nativeObj.clearRenderTexture(e,true,t.r,t.g,t.b,t.a,i):this._nativeObj.clearRenderTexture(e,false,Rt.BLACK.r,Rt.BLACK.g,Rt.BLACK.b,Rt.BLACK.a,i)}copySubFrameBuffertoTex(e,t,i,r,s,a,n,l){this._nativeObj.copySubFrameBuffertoTex(e._texture,t,i,r,s,a,n,l)}colorMask(e,t,i,r){this._nativeObj.colorMask(e,t,i,r)}getParams(e){return this._nativeObj.getParams(e)}createBuffer(e,t){return new window.conchGLBuffer(this._nativeObj,e,t)}createShaderInstance(e,t,i){throw new Error("Method not implemented.")}createVertexState(){return new Ma(this)}getTextureContext(){return this._GLTextureContext}getDrawContext(){return this._GLRenderDrawContext}get2DRenderContext(){return this._GL2DRenderContext}getCreateRenderOBJContext(){return this._renderOBJCreateContext}propertyNameToID(e){return this._nativeObj.propertyNameToID(e)}propertyIDToName(e){throw new Error("Method not implemented.")}uploadUniforms(e,t,i,r){throw new Error("Method not implemented.")}uploadCustomUniforms(e,t,i,r){throw new Error("Method not implemented.")}unbindVertexState(){this._nativeObj.unbindVertexState&&this._nativeObj.unbindVertexState()}}class La{constructor(e,t,i){this._first=true;this._startTm=0;this._timeId=0;La._Render=this;La._mainCanvas=i;let r=La._mainCanvas.source;r.id="layaCanvas";r.width=e;r.height=t;S.isConch&&document.body.appendChild(r);this.initRender(La._mainCanvas,e,t);window.requestAnimationFrame(l);let s=this,a=(performance.now(),X.FPS),n=La.ifps=1e3/a;function l(e){void 0===e&&(e=Date.now());performance.now();if(s._first){s._startTm=Math.floor(e/n)*n;s._first=false}e-=s._startTm;let t=Math.floor(e/n),i=t-La.lastFrm;if(0r(e)))}function s(e){let t=Object.assign({},e),i=t._$child,r=(i&&(t._$child=i.map(e=>s(e))),t._$comp);r&&(t._$comp=r.map(e=>Object.assign({},e)));return t}function a(n){let l=n._$child;if(l)for(var e of l)e._$id&&a(e);let t=i[n._$id];if(t)for(let e=0;ee._$override==t):n._$child=l=[];if(!e){e={_$override:t};l.push(e)}}else if(r{let t=e._$override;return Array.isArray(t)&&Na(t,i)}):n._$child=l=[];if(!e){e={_$override:i};l.push(e)}}else e=n;else e=n;Oa(e,s);if(s._$comp){let i=e._$comp;i||(e._$comp=i=[]);for(var h of s._$comp){let t=h._$type||h._$override,e=i.find(e=>e._$override==t||e._$type==t);if(!e){e={};h._$type?e._$type=t:e._$override=t;i.push(e)}Oa(e,h)}}}else if(a=s._$parent){l||(n._$child=l=[]);let t;if(r=Math.max(s,a))){var _=(n.y-s)*(_-r)/(a-s)+r;_>n.x&&l++}}return l%2==1}get hit(){this._hit||(this._hit=new Ki);return this._hit}set hit(e){this._hit=e}get unHit(){this._unHit||(this._unHit=new Ki);return this._unHit}set unHit(e){this._unHit=e}onAfterDeserialize(){if(S.isPlaying){if(this._hitCmds){this.hit.cmds=this._hitCmds;delete this._hitCmds}if(this._unHitCmds){this.unHit.cmds=this._unHitCmds;delete this._unHitCmds}}}}G.regClass("HitArea",Wa);class Xa{constructor(){this._obj={};Xa._maps.push(this)}static __init__(){Xa.I=new Xa;Xa.supportWeakMap||C.systemTimer.loop(Xa.delInterval,null,Xa.clearCache)}static clearCache(){for(var e=0,t=Xa._maps.length;e{Za._loadPage&&Za._loadPage.event("progress",e)}).then(e=>{if(!e)throw"Can not find scene:"+t;if(this._viewCreated)this._setBit(m.NOT_READY,false);else{this.url=i;Za.hideLoadingPage();e.create({root:this});this._viewCreated=true;Za.unDestroyedScenes.add(this)}})}}createView(e){if(e&&!this._viewCreated){this._viewCreated=true;Ka.createByData(this,e)}}getNodeByID(e){return this._idMap?this._idMap[e]:null}open(e=true,t=null){e&&Za.closeAll();Za.root.addChild(this);this._scene3D&&C.stage.addChildAt(this._scene3D,0);this.onOpened(t)}onOpened(e){}close(e=null){this.onClosed(e);if(this.autoDestroyAtClosed){this.destroy();this._scene3D&&this._scene3D.destroy()}else{this.removeSelf();this._scene3D&&this._scene3D.removeSelf()}}onClosed(e=0){}destroy(e=true){super.destroy(e);if(this._scene3D){this._scene3D.destroy();this._scene3D=null}this._idMap=null;Za.unDestroyedScenes.delete(this)}get_width(){if(this._isWidthSet)return this._width;for(var e=0,t=this.numChildren-1;-1{e.size(C.stage.width,C.stage.height);e.event(g.RESIZE)});e.size(C.stage.width,C.stage.height);e.event(g.RESIZE)}return e}static load(s,a=null,t=null){return C.loader.load(s,null,e=>{Za._loadPage&&Za._loadPage.event("progress",e);t&&t.runWith(e)}).then(e=>{if(!e)throw"Can not find scene:"+s;let t,i=[],r=e.create(null,i);0=l.exeTime)if(l.repeat)if(!l.jumpFrame||i){l.exeTime+=l.delay;l.run(false);h>l.exeTime&&(l.exeTime+=Math.ceil((h-l.exeTime)/l.delay)*l.delay)}else for(;h>=l.exeTime;){l.exeTime+=l.delay;l.run(false)}else l.run(true)}else this._count++}(30{this._isFocused=true;this.event(g.FOCUS);this.event(g.FOCUS_CHANGE)});e.addEventListener("blur",()=>{this._isFocused=false;this.event(g.BLUR);this.event(g.FOCUS_CHANGE);this._isInputting()&&(s.inputElement.target.focus=false)});var t="visibilityState",i="visibilitychange",r=e.document;if(void 0!==r.hidden){i="visibilitychange";t="visibilityState"}else if(void 0!==r.mozHidden){i="mozvisibilitychange";t="mozVisibilityState"}else if(void 0!==r.msHidden){i="msvisibilitychange";t="msVisibilityState"}else if(void 0!==r.webkitHidden){i="webkitvisibilitychange";t="webkitVisibilityState"}e.document.addEventListener(i,()=>{if("hidden"==p.document[t]){this._isVisibility=false;this._isInputting()&&(s.inputElement.target.focus=false)}else this._isVisibility=true;this.renderingEnabled=this._isVisibility;this.event(g.VISIBILITY_CHANGE)});e.addEventListener("resize",()=>{var e=p.window.orientation;null!=e&&e!=this._previousOrientation&&this._isInputting()&&(s.inputElement.target.focus=false);this._previousOrientation=e;if(!this._isInputting()){p.onSafari&&(this._safariOffsetY=p.getSafariToolbarOffset());if(this.screenAdaptationEnabled){this.event(g.WILL_RESIZE);this.updateCanvasSize()}}});e.addEventListener("orientationchange",e=>{if(this.screenAdaptationEnabled){this.event(g.WILL_RESIZE);this.updateCanvasSize()}});this._componentDriver=new an}_isInputting(){return p.onMobile&&Zs.isTextInputting}set_width(e){this.designWidth=e;super.set_width(e);this.updateCanvasSize(true)}get_width(){this.needUpdateCanvasSize();return super.get_width()}set_height(e){this.designHeight=e;super.set_height(e);this.updateCanvasSize(true)}get_height(){this.needUpdateCanvasSize();return super.get_height()}set transform(e){super.set_transform(e)}get transform(){this._tfChanged&&this._adjustTransform();return this._transform=this._transform||this._createTransform()}get isFocused(){return this._isFocused}get isVisibility(){return this._isVisibility}updateCanvasSize(e){if(e){if(!this._needUpdateCanvasSize){this._needUpdateCanvasSize=true;C.systemTimer.callLater(this,this.updateCanvasSize)}}else this.setScreenSize(p.clientWidth*p.pixelRatio,p.clientHeight*p.pixelRatio)}needUpdateCanvasSize(){this._needUpdateCanvasSize&&this.updateCanvasSize()}setScreenSize(e,t){this._needUpdateCanvasSize=false;var i=false;if(this._screenMode!==O.SCREEN_NONE){var r=e/t<1?O.SCREEN_VERTICAL:O.SCREEN_HORIZONTAL,i=r!==this._screenMode;if(i){r=t;t=e;e=r}}this.canvasRotation=i;var r=La._mainCanvas,s=r.source.style,a=this._canvasTransform.identity(),n=this._scaleMode,l=e/this.designWidth,h=t/this.designHeight,o=this.useRetinalCanvas?e:this.designWidth,_=this.useRetinalCanvas?t:this.designHeight,u=e,c=t,d=p.pixelRatio;this._width=this.designWidth;this._height=this.designHeight;switch(n){case O.SCALE_NOSCALE:l=h=1;u=this.designWidth;c=this.designHeight;break;case O.SCALE_SHOWALL:l=h=Math.min(l,h);o=u=Math.round(this.designWidth*l);_=c=Math.round(this.designHeight*h);break;case O.SCALE_NOBORDER:l=h=Math.max(l,h);u=Math.round(this.designWidth*l);c=Math.round(this.designHeight*h);break;case O.SCALE_FULL:l=h=d;o=e;_=t;this._width=e/d;this._height=t/d;break;case O.SCALE_FIXED_WIDTH:h=l;this._height=_=Math.round(t/l);break;case O.SCALE_FIXED_HEIGHT:l=h;this._width=o=Math.round(e/h);break;case O.SCALE_FIXED_AUTO:if(e/t{})}}get position(){return this._audio?this._audio.currentTime:0}get duration(){return this._audio?this._audio.duration:0}stop(){super.stop();this.isStopped=true;l.removeChannel(this);this.completeHandler=null;if(this._audio){"pause"in this._audio&&S.isConch&&this._audio.stop();this._audio.pause();this._audio.removeEventListener("ended",this._onEnd);this._audio.removeEventListener("canplay",this._resumePlay);C.Browser.onIE||this._audio!=fn._musicAudio&&A.recover("audio:"+this.url,this._audio);p.removeElement(this._audio);this._audio=null;l.autoReleaseSound&&l.disposeSoundLater(this.url)}}pause(){this.isStopped=true;l.removeChannel(this);if(this._audio){"pause"in this._audio&&this._audio.pause();l.autoReleaseSound&&l.disposeSoundLater(this.url)}}resume(){var e=this._audio;if(e){this.isStopped=false;if(0==e.readyState){e.src=this._src;e.addEventListener("canplay",this._resumePlay);e.load()}l.addChannel(this);"play"in e&&e.play()}}set volume(e){this._audio&&(this._audio.volume=e)}get volume(){return this._audio?this._audio.volume:1}}class fn extends ${constructor(){super(...arguments);this.loaded=false}dispose(){var e=fn._audioCache[this.url];A.clearBySign("audio:"+this.url);if(e){S.isConch||(e.src="");delete fn._audioCache[this.url]}}static _initMusicAudio(){if(!fn._musicAudio){fn._musicAudio||(fn._musicAudio=p.createElement("audio"));S.isConch||p.document.addEventListener("mousedown",fn._makeMusicOK)}}static _makeMusicOK(){p.document.removeEventListener("mousedown",fn._makeMusicOK);if(fn._musicAudio.src)fn._musicAudio.play();else{fn._musicAudio.src="";fn._musicAudio.load()}}load(e){this.url=e;var t;if(e==l._bgMusic){fn._initMusicAudio();t=fn._musicAudio;if(t.originalUrl!=e){delete fn._audioCache[t.originalUrl];t=null}}else t=fn._audioCache[e];if(t&&2<=t.readyState)this.event(g.COMPLETE);else{if(!t){if(e==l._bgMusic){fn._initMusicAudio();t=fn._musicAudio}else t=p.createElement("audio");fn._audioCache[e]=t;pt.inst.resolveURL(e,e=>{t.src=D.postFormatURL(D.formatURL(e))})}t.originalUrl=e;t.addEventListener("canplaythrough",r);t.addEventListener("error",s);var i=this;this.audio=t;t.load?t.load():s()}function r(){a();i.loaded=true;i.event(g.COMPLETE)}function s(){t.load=null;a();i.event(g.ERROR)}function a(){t.removeEventListener("canplaythrough",r);t.removeEventListener("error",s)}}play(e=0,t=0){if(!this.url)return null;var i;if(this.url==l._bgMusic){r=fn._musicAudio;if(""!=r.src&&r.originalUrl!=this.url){delete fn._audioCache[r.originalUrl];fn._audioCache[this.url]=r}}else r=fn._audioCache[this.url];if(!r)return null;i=A.getItem("audio:"+this.url);if(S.isConch){if(!i){i=p.createElement("audio");pt.inst.resolveURL(this.url,e=>{i.src=D.postFormatURL(D.formatURL(e))})}}else if(this.url==l._bgMusic){fn._initMusicAudio();i=fn._musicAudio;pt.inst.resolveURL(this.url,e=>{i.src=D.postFormatURL(D.formatURL(e))})}else i=i||r.cloneNode(true);i.originalUrl=this.url;var r=new dn(i);r.url=this.url;r.loops=t;r.startTime=e;r.play();l.addChannel(r);return r}get duration(){var e=fn._audioCache[this.url];return e?e.duration:0}}fn._audioCache={};class pn extends cn{constructor(){super();this.bufferSource=null;this._currentTime=0;this._volume=1;this._startTime=0;this._pauseTime=0;this.context=mn.ctx;this._onPlayEnd=this.__onPlayEnd.bind(this);this.context.createGain?this.gain=this.context.createGain():this.gain=this.context.createGainNode()}play(){l.addChannel(this);this.isStopped=false;this._clearBufferSource();if(this.audioBuffer){if(this.startTime>=this.duration)return this.stop();var e=this.context,t=this.gain,i=e.createBufferSource();this.bufferSource=i;i.buffer=this.audioBuffer;i.connect(t);t&&t.disconnect();t.connect(e.destination);i.onended=this._onPlayEnd;this._startTime=p.now();this.gain.gain.setTargetAtTime?this.gain.gain.setTargetAtTime(this._volume,this.context.currentTime,pn.SetTargetDelay):this.gain.gain.value=this._volume;0==this.loops&&(i.loop=true);i.playbackRate.setTargetAtTime?i.playbackRate.setTargetAtTime(l.playbackRate,this.context.currentTime,pn.SetTargetDelay):i.playbackRate.value=l.playbackRate;i.start(0,this.startTime);this._currentTime=0}}__onPlayEnd(){if(1==this.loops){if(this.completeHandler){C.timer.once(10,this,this.__runComplete,[this.completeHandler],false);this.completeHandler=null}this.stop();this.event(g.COMPLETE)}else{0this._loaded(e))}_loaded(e){if(!this._disposed){this.audioBuffer=e;this.loaded=true;this.event(g.COMPLETE)}}__playAfterLoaded(){if(this.__toPlays){for(var e,t=this.__toPlays,i=t.length,r=0;r{this.loadedmetadata()});const i=this;function r(){i._needUpdate=true;e.requestVideoFrameCallback(r)}"requestVideoFrameCallback"in e&&e.requestVideoFrameCallback(r);C.Browser.onWeiXin&&this.loadedmetadata()}isNeedUpdate(){return this._needUpdate}loadedmetadata(){if(!this._isLoaded){this._width=this.element.videoWidth;this._height=this.element.videoHeight;p.onLayaRuntime?this._texture=M.textureContext.createTextureInternal(this._dimension,this.element.videoWidth,this.element.videoHeight,R.TextureFormat.R8G8B8A8,false,false,false):this._texture=M.textureContext.createTextureInternal(this._dimension,this.element.videoWidth,this.element.videoHeight,R.TextureFormat.R8G8B8,false,false,false);this.wrapModeU=R.WrapMode.Clamp;this.wrapModeV=R.WrapMode.Clamp;this.filterMode=R.FilterMode.Bilinear;M.textureContext.initVideoTextureData(this._texture);this._texture.gammaCorrection=2.2;this.immediatelyPlay&&this.play();this._isLoaded=true;this.event(g.READY,this)}}get source(){return this._source}get gammaCorrection(){return 2.2}set source(e){this._source=e;e&&pt.inst.resolveURL(e,e=>{for(;this.element.childElementCount;)this.element.firstChild.remove();e.startsWith("blob:")?this.element.src=e:this.appendSource(e)})}appendSource(e){var t=C.Browser.createElement("source");t.src=D.postFormatURL(D.formatURL(e));let i=Hr.getFileExtension(e);t.type="m3u8"==i?"application/vnd.apple.mpegurl":"video/"+i;this.element.appendChild(t)}render(){if(0!=this.element.readyState&&(this.isNeedUpdate()||p.onLayaRuntime)){M.textureContext.updateVideoTexture(this._texture,this.element,false,false);this._needUpdate=false}}set frameRender(e){this._frameRender&&!e&&C.timer.clear(this,this.render);!this._frameRender&&e&&C.timer.frameLoop(1,this,this.render);this._frameRender=e}get frameRender(){return this._frameRender}play(){if(this._texture){this.element.play().catch(()=>{this.event("NotAllowedError")});this._frameRender&&C.timer.frameLoop(1,this,this.render)}else this.immediatelyPlay=true}_getSource(){return this._texture?this._texture.resource:null}get defaultTexture(){return u.whiteTexture}pause(){this.element.pause();this._frameRender&&C.timer.clear(this,this.render)}load(){this.element.load()}canPlayType(e){e="m3u8"==e?"application/vnd.apple.mpegurl":"video/"+e;return this.element.canPlayType(e)}get buffered(){return this.element.buffered}get currentSrc(){return this.element.currentSrc}get currentTime(){return this.element.currentTime}set currentTime(e){if(this.element){this.element.currentTime=e;this.render()}}set volume(e){this.element&&(this.element.volume=e)}get volume(){return this.element.volume}get readyState(){return this.element.readyState}get videoWidth(){return this.element.videoWidth}get videoHeight(){return this.element.videoHeight}get duration(){return this.element.duration}get ended(){return this.element.ended}get error(){return this.element.error}get loop(){return this.element.loop}set loop(e){this.element&&(this.element.loop=e)}get playbackRate(){return this.element.playbackRate}set playbackRate(e){this.element&&(this.element.playbackRate=e)}get muted(){return this.element.muted}set muted(e){this.element&&(this.element.muted=e)}get paused(){return this.element.paused}get preload(){return this.element.preload}set preload(e){this.element&&(this.element.preload=e)}get seekable(){return this.element.seekable}get seeking(){return this.element.seeking}onStartListeningToType(t){if(xn.has(t)){let e=this._listeningEvents[t];e=e||(this._listeningEvents[t]=()=>{this.event(t)});this.element.addEventListener(t,e)}}destroy(){var e=S.isConch;e&&this.element._destroy();C.timer.clear(this,this.render);super.destroy()}}const xn=new Set(["abort","canplay","canplaythrough","durationchange","emptied","error","loadeddata","loadedmetadata","loadstart","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","ended"]);class yn extends ar{constructor(){super();this.texture=this._internalTex=new re;if(S.isPlaying&&C.Browser.onMobile){let e=()=>{C.Browser.document.removeEventListener("touchend",e);if(this._videoTexture)if(p.onIOS)this._videoTexture.load();else{this._videoTexture.play();this._videoTexture.pause()}};C.Browser.document.addEventListener("touchend",e)}}get videoTexture(){return this._videoTexture}set videoTexture(e){if(this._videoTexture){this._videoTexture._removeReference();this._videoTexture.off(g.READY,this,this.onVideoMetaLoaded)}this._videoTexture=e;if(e){this._videoTexture._addReference();this._videoTexture.on(g.READY,this,this.onVideoMetaLoaded);this._videoTexture._isLoaded&&this._internalTex.setTo(this._videoTexture)}else this._internalTex.setTo(null)}get source(){var e;return null==(e=this._videoTexture)?void 0:e.source}set source(e){if(e){this._videoTexture||(this.videoTexture=new Tn);this._videoTexture.source=e}else this._videoTexture&&(this._videoTexture.source=e)}load(e){this.source=e}play(){this._videoTexture&&this._videoTexture.play()}pause(){this._videoTexture&&this._videoTexture.pause()}reload(){this._videoTexture&&this._videoTexture.load()}canPlayType(e){this._videoTexture||(this.videoTexture=new Tn);return this._videoTexture.canPlayType(e)}onVideoMetaLoaded(){this._internalTex.setTo(this._videoTexture)}get buffered(){var e;return null==(e=this._videoTexture)?void 0:e.buffered}get currentSrc(){var e;return null==(e=this._videoTexture)?void 0:e.currentSrc}get currentTime(){var e;return null==(e=this._videoTexture)?void 0:e.currentTime}set currentTime(e){this._videoTexture&&(this._videoTexture.currentTime=e)}set volume(e){this._videoTexture&&(this._videoTexture.volume=e)}get volume(){var e;return null==(e=this._videoTexture)?void 0:e.volume}get readyState(){var e;return null==(e=this._videoTexture)?void 0:e.readyState}get videoWidth(){var e;return null==(e=this._videoTexture)?void 0:e.videoWidth}get videoHeight(){var e;return null==(e=this._videoTexture)?void 0:e.videoHeight}get duration(){var e;return null==(e=this._videoTexture)?void 0:e.duration}get ended(){var e;return null==(e=this._videoTexture)?void 0:e.ended}get error(){var e;return null==(e=this._videoTexture)?void 0:e.error}get loop(){var e;return null==(e=this._videoTexture)?void 0:e.loop}set loop(e){this._videoTexture&&(this._videoTexture.loop=e)}get playbackRate(){var e;return null==(e=this._videoTexture)?void 0:e.playbackRate}set playbackRate(e){this._videoTexture&&(this._videoTexture.playbackRate=e)}get muted(){var e;return null==(e=this._videoTexture)?void 0:e.muted}set muted(e){this._videoTexture&&(this._videoTexture.muted=e)}get paused(){var e;return null==(e=this._videoTexture)?void 0:e.paused}get preload(){var e;return null==(e=this._videoTexture)?void 0:e.preload}set preload(e){this._videoTexture&&(this._videoTexture.preload=e)}get seekable(){var e;return null==(e=this._videoTexture)?void 0:e.seekable}get seeking(){var e;return null==(e=this._videoTexture)?void 0:e.seeking}_setX(e){super._setX(e);if(this._videoTexture&&S.isConch){e=sr.getTransformRelativeToWindow(this,0,0);this._videoTexture.element.style.left=e.x}}_setY(e){super._setY(e);if(this._videoTexture&&S.isConch){e=sr.getTransformRelativeToWindow(this,0,0);this._videoTexture.element.style.top=e.y}}set_width(e){super.set_width(e);if(this._videoTexture)if(S.isConch){var t=sr.getTransformRelativeToWindow(this,0,0);this._videoTexture.element.width=e*t.scaleX}else this._videoTexture.element.width=this.width/C.Browser.pixelRatio}set_height(e){super.set_height(e);if(this._videoTexture)if(S.isConch){var t=sr.getTransformRelativeToWindow(this,0,0);this._videoTexture.element.height=e*t.scaleY}else this._videoTexture.element.height=this.height/C.Browser.pixelRatio}destroy(e=true){this.videoTexture=null;super.destroy(e)}}class En{constructor(){this._currentState=null;this._frontPlay=true}get duration(){return this._duration}get animatorState(){return this._currentState}_resetPlayState(e,t){this._finish=false;this._startPlayTime=e;this._elapsedTime=e;this._lastIsFront=true;this._playNum=0;this._parentPlayTime=null;this._playAllTime=0;e=this._elapsedTime/t%1;this._normalizedPlayTime=e<0?e+1:e;this._frontPlay=true}_cloneTo(e){e._finish=this._finish;e._startPlayTime=this._startPlayTime;e._elapsedTime=this._elapsedTime;e._playNum=this._playNum;e._parentPlayTime=this._parentPlayTime;e._normalizedPlayTime=this._normalizedPlayTime;e._lastIsFront=this._lastIsFront;e._frontPlay=this._frontPlay;e._playAllTime=this._playAllTime}}class vn{constructor(e){this._referenceCount=0;this._playStateInfo=new En;this._crossPlayStateInfo=new En;this._crossMark=0;this._crossNodesOwnersCount=0;this._crossNodesOwnersIndicesMap={};this._srcCrossClipNodeIndices=[];this._destCrossClipNodeIndices=[];this.playOnWake=true;this.defaultWeight=1;this.blendingMode=vn.BLENDINGMODE_OVERRIDE;this.enable=true;this._states=[];this._playType=-1;this.name=e}set states(t){if(this._states!==t){for(let e=this.states.length-1;0<=e;e--)this.removeState(this.states[e]);for(let e=t.length-1;0<=e;e--)this.addState(t[e])}}get states(){return this._states}set defaultStateName(e){this._defaultState=this.getStateByName(e);if(null==this._defaultState)if(0==this._states.length)this._defaultStateNameCatch=e;else for(var t=this._states.length-1;0<=t;t--)if(this._states[t].name==e){this._defaultState=this._states[t];break}}get defaultStateName(){return this._defaultState?this._defaultState.name:null}get defaultState(){return this._defaultState}set defaultState(e){this._defaultState=e}_removeClip(e,t,i){e.splice(t,1)}_getReferenceCount(){return this._referenceCount}_addReference(e){for(var t=0,i=this._states.length;tr){this._eventScript(n,r,e*s.animatorState.clipStart,i);r=e*s.animatorState.clipEnd}this._eventScript(n,r,t,i);s._parentPlayTime=t}}_eventScript(r,s,a,e){let n=this.owner.components;if(e)for(let e=0,t=r.length;es&&i.time<=a)for(let e=0,t=n.length;ea)break}else for(let e=r.length-1;0<=e;e--){let i=r[e];if(i.time=a)for(let e=0,t=n.length;ee);){c++;h++;t[n]=c}}else{h=c+1;if(h!=u&&e>_[h].time){c=u-1;t[n]=c}h=c+1;for(;-1>1,s=this._animationEvents[r].time;if(s==e)return r;ethis._numberValue:eRr.zeroTolerance){e.z=Math.atan2(this.elements[1],this.elements[5]);e.x=Math.atan2(this.elements[8],this.elements[10])}else{e.z=Math.atan2(-this.elements[4],this.elements[0]);e.x=0}}normalize(){var e=this.elements,t=e[0],i=e[1],r=e[2],s=Math.sqrt(t*t+i*i+r*r);if(s){if(1!=s){s=1/s;e[0]=t*s;e[1]=i*s;e[2]=r*s}}else{e[0]=0;e[1]=0;e[2]=0}}transpose(){var e=this.elements,t=e[1];e[1]=e[4];e[4]=t;t=e[2];e[2]=e[8];e[8]=t;t=e[3];e[3]=e[12];e[12]=t;t=e[6];e[6]=e[9];e[9]=t;t=e[7];e[7]=e[13];e[13]=t;t=e[11];e[11]=e[14];e[14]=t;return this}invert(e){var t=this.elements,e=e.elements,i=t[0],r=t[1],s=t[2],a=t[3],n=t[4],l=t[5],h=t[6],o=t[7],_=t[8],u=t[9],c=t[10],d=t[11],f=t[12],p=t[13],m=t[14],t=t[15],g=i*l-r*n,T=i*h-s*n,x=i*o-a*n,y=r*h-s*l,E=r*o-a*l,v=s*o-a*h,b=_*p-u*f,S=_*m-c*f,R=_*t-d*f,C=u*m-c*p,A=u*t-d*p,w=c*t-d*m,M=g*w-T*A+x*C+y*R-E*S+v*b;if(0!==Math.abs(M)){M=1/M;e[0]=(l*w-h*A+o*C)*M;e[1]=(s*A-r*w-a*C)*M;e[2]=(p*v-m*E+t*y)*M;e[3]=(c*E-u*v-d*y)*M;e[4]=(h*R-n*w-o*S)*M;e[5]=(i*w-s*R+a*S)*M;e[6]=(m*x-f*v-t*T)*M;e[7]=(_*v-c*x+d*T)*M;e[8]=(n*A-l*R+o*b)*M;e[9]=(r*R-i*A-a*b)*M;e[10]=(f*E-p*x+t*g)*M;e[11]=(u*x-_*E-d*g)*M;e[12]=(l*S-n*C-h*b)*M;e[13]=(i*C-r*S+s*b)*M;e[14]=(p*T-f*y-m*g)*M;e[15]=(_*y-u*T+c*g)*M}}static billboard(e,t,i,r,s){L.subtract(e,t,kn);t=L.scalarLengthSquared(kn);if(Rr.isZero(t)){L.scale(r,-1,Wn);Wn.cloneTo(kn)}else L.scale(kn,1/Math.sqrt(t),kn);L.cross(i,kn,Xn);L.normalize(Xn,Xn);L.cross(kn,Xn,Vn);r=Xn,t=Vn,i=kn,s=s.elements;s[0]=r.x;s[1]=r.y;s[2]=r.z;s[3]=0;s[4]=t.x;s[5]=t.y;s[6]=t.z;s[7]=0;s[8]=i.x;s[9]=i.y;s[10]=i.z;s[11]=0;s[12]=e.x;s[13]=e.y;s[14]=e.z;s[15]=1}identity(){this.elements.set(Hn)}isIdentity(){let i=function(e,t){return Math.abs(e-t)<1e-7},r=this.elements,s=Yn.DEFAULT.elements;for(let e=0,t=r.length;e=e[5]&&e[0]>=e[10]){i=Math.sqrt(1+e[0]-e[5]-e[10]);r=.5/i;t.x=.5*i;t.y=(e[1]+e[4])*r;t.z=(e[2]+e[8])*r;t.w=(e[6]-e[9])*r}else if(e[5]>e[10]){i=Math.sqrt(1+e[5]-e[0]-e[10]);r=.5/i;t.x=(e[4]+e[1])*r;t.y=.5*i;t.z=(e[9]+e[6])*r;t.w=(e[8]-e[2])*r}else{i=Math.sqrt(1+e[10]-e[0]-e[5]);r=.5/i;t.x=(e[8]+e[2])*r;t.y=(e[9]+e[6])*r;t.z=.5*i;t.w=(e[1]-e[4])*r}}static slerp(e,t,i,r){var s,a,n=e.x,l=e.y,h=e.z,e=e.w,o=t.x,_=t.y,u=t.z,t=t.w,c=n*o+l*_+h*u+e*t;if(c<0){c=-c;o=-o;_=-_;u=-u;t=-t}if(1e-6<1-c){c=Math.acos(c);a=Math.sin(c);s=Math.sin((1-i)*c)/a;a=Math.sin(i*c)/a}else{s=1-i;a=i}r.x=s*n+a*o;r.y=s*l+a*_;r.z=s*h+a*u;r.w=s*e+a*t;return r}static lerp(e,t,i,r){var s=1-i;if(0<=rl.dot(e,t)){r.x=s*e.x+i*t.x;r.y=s*e.y+i*t.y;r.z=s*e.z+i*t.z;r.w=s*e.w+i*t.w}else{r.x=s*e.x-i*t.x;r.y=s*e.y-i*t.y;r.z=s*e.z-i*t.z;r.w=s*e.w-i*t.w}r.normalize(r)}static add(e,t,i){i.x=e.x+t.x;i.y=e.y+t.y;i.z=e.z+t.z;i.w=e.w+t.w}static dot(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w}setValue(e,t,i,r){this.x=e;this.y=t;this.z=i;this.w=r}set(e,t,i,r){this.x=e;this.y=t;this.z=i;this.w=r;return this}scaling(e,t){t.x=this.x*e;t.y=this.y*e;t.z=this.z*e;t.w=this.w*e}normalize(e){var t=this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w;if(0=Math.PI&&i.z>=Math.PI){i.y=0;i.z=0;i.x=Math.PI-i.x}t=e;t.x=i.y;t.y=i.x;t.z=i.z}invert(e){var t=this.x,i=this.y,r=this.z,s=this.w,a=t*t+i*i+r*r+s*s,a=a?1/a:0;e.x=-t*a;e.y=-i*a;e.z=-r*a;e.w=s*a}identity(){this.x=0;this.y=0;this.z=0;this.w=1}fromArray(e,t=0){this.x=e[t+0];this.y=e[t+1];this.z=e[t+2];this.w=e[t+3]}cloneTo(e){if(this!==e){e.x=this.x;e.y=this.y;e.z=this.z;e.w=this.w}}clone(){var e=new rl;this.cloneTo(e);return e}equals(e){return Rr.nearEqual(this.x,e.x)&&Rr.nearEqual(this.y,e.y)&&Rr.nearEqual(this.z,e.z)&&Rr.nearEqual(this.w,e.w)}static rotationLookAt(e,t,i){rl.lookAt(L.ZERO,e,t,i)}static lookAt(e,t,i,r){Zn.lookAt(e,t,i,il);rl.rotationMatrix(il,r)}static forwardLookAt(e,t,i,r){Zn.forwardLookAt(e,t,i,il);rl.rotationMatrix(il,r)}lengthSquared(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w}static invert(e,t){var i=e.lengthSquared();if(!Rr.isZero(i)){i=1/i;t.x=-e.x*i;t.y=-e.y*i;t.z=-e.z*i;t.w=e.w*i}}static rotationMatrix(e,t){var i,r,e=e.elements,s=e[0],a=e[1],n=e[2],l=e[3],h=e[4],o=e[5],_=e[6],u=e[7],e=e[8],c=s+h+e;if(0e?new al(e,R.TextResourceFormat.Plain):null)}}class ll{load(e){return e.loader.fetch(e.url,"arraybuffer",e.progress.createCallback(),e.options).then(e=>e?new al(e,R.TextResourceFormat.Buffer):null)}}class hl{load(e){return e.loader.fetch(e.url,"json",e.progress.createCallback(),e.options).then(e=>e?new al(e,R.TextResourceFormat.JSON):null)}}class ol{load(e){return e.loader.fetch(e.url,"xml",e.progress.createCallback(),e.options).then(e=>e?new al(e,R.TextResourceFormat.XML):null)}}F.registerLoader(["txt","csv"],nl,F.TEXT);F.registerLoader(["bin","bytes","fui"],ll,F.BUFFER);F.registerLoader(["json"],hl,F.JSON);F.registerLoader(["xml"],ol,F.XML);class _l{load(o){return o.loader.fetch(o.url,"json",o.progress.createCallback(.2),o.options).then(h=>{if(!h)return null;let s=[];if(h.meta&&h.meta.image){let e="",t=o.url.lastIndexOf("/"),i=(-1!=t&&(e=o.url.substring(0,t+1)),"");t=o.url.lastIndexOf("?");-1!=t&&(i=o.url.substring(t));let r=h.meta.image.split(",");for(var a of r)s.push(o.loader.load(e+a+i,null,o.progress.createCallback()))}else s.push(o.loader.load(Hr.replaceFileExtension(o.url,"png"),null,o.progress.createCallback()));return Promise.all(s).then(e=>{let s=o.options.baseUrl||"",t=h.frames,a=h.meta&&null!=h.meta.prefix?h.meta.prefix:o.url.substring(0,o.url.lastIndexOf("."))+"/",n=[],i=1;h.meta&&h.meta.scale&&1!=h.meta.scale&&(i=parseFloat(h.meta.scale));for(var r of e)if(r){r._addReference();r.scaleRate=i}for(var l in t){let i=t[l],r=e[i.frame.idx||0];if(r){let e=s+a+(i.filename||l),t=re.create(r,i.frame.x,i.frame.y,i.frame.w,i.frame.h,i.spriteSourceSize.x,i.spriteSourceSize.y,i.sourceSize.w,i.sourceSize.h);t.lock=true;t._sizeGrid=i.sizeGrid;t._stateNum=i.stateNum;o.loader.cacheRes(e,t);t.url=e;n.push(t)}}return new qr(a,e,n)})})}}F.registerLoader(["atlas"],_l,F.ATLAS);const ul=[];class cl{static parse(t,e,n){n=n||ul;let l={},r=[],a=[],h=[],o,i,_,s,u;if(e){i=e.inPrefab;i&&(_=e.prefabNodeDict);s=e.skinBaseUrl;u=e.overrideData}function c(e,t){for(var i of e._$child)if(i._$child){let e=d(i,t);c(i,i._$prefab?e:t);r.push(i);a.push(e)}else{let e=d(i,t);r.push(i);a.push(e)}}function d(i,t,r){let a,s;if(s=i._$override){if(t&&_)if(Array.isArray(s)){a=t;for(let t=0,e=s.length;t{let t=e._$override||e._$parent;return Array.isArray(t)&&t.length>r-i&&t[r-i-1]==s}):t[i]=e}t.push(i._$child);a=e.create({inPrefab:true,prefabNodeDict:_,overrideData:t},n)}}else if(s=i._$type){let e=null!=r?r:G.getClass(s);if(e)try{a=new e}catch(e){n.push(e)}else n.push(new Error(`unknown type '${s}'`))}a&&(l[i._$id]=a)}return a}function f(t){if(Array.isArray(t)){let e=l[t[0]];return e&&1null!=e);let v=h[0],b=[];for(let t=0;te?null!=e._$ver?this._load(dl.v3,t,e,3):"ls"==t.ext||"lh"==t.ext?this._load(dl.v2,t,e,2):"scene"==t.ext||"prefab"==t.ext?this._load(dl.legacySceneOrPrefab,t,e,2):null:null)}_load(i,e,r,s){let t=D.getPath(e.url),a=i.collectResourceLinks(r,t);return e.loader.load(a,null,e.progress.createCallback()).then(e=>{let t=new ja(i,r,s);t.addDeps(e);return t})}}dl.v3=cl;dl.v2=null;dl.legacySceneOrPrefab=Ka;F.registerLoader(["lh","ls","scene","prefab"],dl,F.HIERARCHY);class fl{constructor(e,t,i,r,s,a,n){this.source=e;this.byteOffset=t;this.decreaseX=i;this.decreaseY=r;this.width=s;this.height=a;this.format=n}static _parseHDRTexture(e,t=0,i){let r=fl.getHDRInfo(e),s=new u(r.width,r.height,r.format,false,false,false);s.setHDRData(r);return s}static getHDRInfo(e){let t=new Uint8Array(e),i=0;const r=()=>{let e=fl.getLineString(t,i);i+=e.length+1;return e};let s=r();if("#?RADIANCE"!=s)throw"HDR image: identifier wrong.";let a=new Map,n="";do{n=r();if("#"!=n[0]){let e=n.split("=");a.set(e[0],e[1])}}while(""!=n);let l=a.get("FORMAT");if("32-bit_rle_rgbe"!=l)throw"HDR image: unsupported format.";let h=r(),o=h.split(" "),_="-Y"==o[0],u="-X"==o[2],c=parseInt(o[1]),d=parseInt(o[3]),f=new fl(e,i,u,_,d,c,R.TextureFormat.R32G32B32);return f}static getLineString(e,t){let i=e.length,r=t,s="",a="";for(;rs-a)throw"HDR info: ??";for(;0s-a)throw"HDR info: ??";u[a++]=r;if(0<--t)for(let e=0;e1023{if(i>=t)throw"HDR info: data wrong.";return e[i++]},s=()=>{throw"HDR info: data wrong."};for(let o=u-1;0<=o;o--){this.readcolors(p,r,s);for(let h=0;h<_;h++){let e=4*h,t=p[e],i=p[e+1],r=p[e+2],s=p[e+3],a=o,n=h;d&&(a=u-1-o);c&&(n=_-1-h);let l=a*_*3+3*n;if(0==s){f[l]=0;f[l+1]=0;f[l+2]=0}else{let e=pl(1,s-136);f[l]=(t+.5)*e;f[l+1]=(i+.5)*e;f[l+2]=(r+.5)*e}}}return f}readcolors(r,s,a){const n=(e,t,i)=>{r[4*e+t]=i};let l=this.width,e=s(),t=s(),i=s(),h=s();if(l<8||32767l&&a();for(;t--;)n(i++,r,e)}else{i+t>l&&a();for(;t--;){let e=s();n(i++,r,e)}}}}}olddreadcolors(n,l,e,t,i,r){let h=0,s=this.width;n[0]=e;n[1]=t;n[2]=i;n[3]=r;for(let a=1;athis.load2(t,e))}return this.load2(t,e)}load2(s,a){var r;let n,l,h=s.ext,o=s.url;if(a){let e=p.platform,t=(null==(r=a.platforms)?void 0:r[e])||0,i=null==(r=a.files)?void 0:r[t];if(i.file){o=pt.inst.getSubAssetURL(o,s.uuid,i.file,i.ext);h=i.ext}n=[0,0,null!=(r=i.format)?r:1,a.mipmap,a.readWrite,a.sRGB];l={wrapModeU:a.wrapMode,wrapModeV:a.wrapMode,filterMode:a.filterMode,anisoLevel:a.anisoLevel,premultiplyAlpha:!!a.pma,hdrEncodeFormat:a.hdrEncodeFormat}}else{n=s.options.constructParams;l=s.options.propertyParams}let i=-1!=vl.indexOf(h)?h:null;if(null!=i)return s.loader.fetch(o,"arraybuffer",s.progress.createCallback(),s.options).then(e=>{if(!e)return null;let r;switch(i){case"dds":r=u._parseDDS(e,l,n);break;case"ktx":let i=lt.getKTXTextureInfo(e);if(i.dimension==R.TextureDimension.Cube){let t=G.getClass("TextureCube");if(!t)return null;{let e=new t(i.width,i.format,1{if(!e)return null;let t=u._parseImage(e,l,n),i=s.obsoluteInst;i&&Object.getPrototypeOf(i)==Object.getPrototypeOf(t)&&(t=this.move(i,t));if(a){t._sizeGrid=a.sizeGrid;t._stateNum=a.stateNum}return t})}}move(e,t){e._texture=t._texture;e.width=t.width;e.height=t.height;e.obsolute=false;delete ee._idResourcesMap[t.id];return e}}class gl{load(i){return i.loader.fetch(i.url,"json",i.progress.createCallback(),i.options).then(e=>{if(!e)return null;let t=i.obsoluteInst;t?t.recreate(e.width,e.height,e.colorFormat,e.depthFormat,e.generateMipmap,e.multiSamples,e.generateDepthTexture,e.sRGB):t=new Or(e.width,e.height,e.colorFormat,e.depthFormat,e.generateMipmap,e.multiSamples,e.generateDepthTexture,e.sRGB);null!=e.anisoLevel&&(t.anisoLevel=e.anisoLevel);null!=e.filterMode&&(t.filterMode=e.filterMode);null!=e.wrapModeU&&(t.wrapModeU=e.wrapModeU);null!=e.wrapModeV&&(t.wrapModeV=e.wrapModeV);return t})}}class Tl{load(e){let t=e.obsoluteInst||new Tn;t.source=e.url;return Promise.resolve(t)}}const xl={premultiplyAlpha:true},yl=[null,null,R.TextureFormat.R8G8B8A8,false,false,true];class El{wrapTex2D(e,t){if(!t)return null;let i=e.obsoluteInst;if(i){i.setTo(t);i.obsolute=false;i._sizeGrid=t._sizeGrid;i._stateNum=t._stateNum;i.event("reload");i._clipCache&&i._clipCache.forEach(e=>{e.event("reload");e._sizeGrid=i._sizeGrid;e._stateNum=i._stateNum})}else{i=new re(t);i._sizeGrid=t._sizeGrid;i._stateNum=t._stateNum}return i}load(t){let e=t.loader.getRes(t.url,F.TEXTURE2D);if(e&&!e.obsolute)return Promise.resolve(this.wrapTex2D(t,e));{let e={url:t.url,type:F.TEXTURE2D};t.options.propertyParams?null==t.options.propertyParams.premultiplyAlpha&&(e.propertyParams=Object.assign({},xl,t.options.propertyParams)):e.propertyParams=xl;t.options.constructParams?null==t.options.constructParams[5]&&(e.constructParams=Object.assign([],yl,t.options.constructParams)):e.constructParams=yl;return t.loader.load(e,t.options,t.progress.createCallback()).then(e=>this.wrapTex2D(t,e))}}}const vl=["ktx","pvr","dds","hdr","lanit.ls"],bl=["mp4","webm"];F.registerLoader(["tga","tif","tiff","png","jpg","jpeg","rendertexture",...bl,...vl],El,F.IMAGE);F.registerLoader([],ml,F.TEXTURE2D);F.registerLoader(["rendertexture"],gl,F.TEXTURE2D);F.registerLoader(bl,Tl,F.TEXTURE2D);class Sl{load(e){return e.loader.fetch(e.url,"arraybuffer",e.progress.createCallback(),e.options).then(e=>e?In._parse(e):null)}}F.registerLoader(["mc"],Sl);class Rl{load(s){return s.loader.fetch(s.url,"json",s.progress.createCallback(.2),s.options).then(e=>{let t=new Gn(e);if(t.data&&t.data.controllerLayers){let i=t.data.controllerLayers,r=[];for(let t=i.length-1;0<=t;t--){let e=i[t].states;this.loadStates(e,r,s)}return Promise.all(r).then(()=>t)}return t})}loadStates(i,r,s){let a=D.getPath(s.url);for(let t=i.length-1;0<=t;t--){if(i[t].clip&&i[t].clip._$uuid){let e=D.getResURLByUUID(i[t].clip._$uuid);e.startsWith("res://")||(e=D.join(a,e));r.push(s.loader.load(e).then(e=>{i[t].clip=e}))}i[t].states&&this.loadStates(i[t].states,r,s)}}}F.registerLoader(["mcc"],Rl);class Cl{load(e){return Promise.resolve(null)}}F.registerLoader(["lighting"],Cl);class Al{load(e){let t=Hr.replaceFileExtension(e.url,"png");return Promise.all([e.loader.fetch(e.url,"xml",e.progress.createCallback(.2),e.options),e.loader.load(t,e.options,e.progress.createCallback(.8))]).then(([e,t])=>{if(!e||!t)return null;let i=new gs;i.parseFont(e,t);return i})}}F.registerLoader(["fnt"],Al,F.FONT);const wl="LayaTTFFont";class Ml{load(t){let a=Hr.replaceFileExtension(Hr.getBaseName(t.url),"");if(S.isConch)return t.loader.fetch(t.url,"arraybuffer").then(e=>{e&&window.conchTextCanvas.setFontFaceFromBuffer(a,e);return{family:a}});if(window.FontFace){let e=new window.FontFace(a,"url('"+D.postFormatURL(D.formatURL(t.url))+"')");document.fonts.add(e);return e.load().then(()=>e)}{let r="40px "+a,s=p.measureText(wl,r).width,e=p.createElement("style");e.type="text/css";document.body.appendChild(e);e.textContent="@font-face { font-family:'"+a+"'; src:url('"+D.postFormatURL(D.formatURL(t.url))+"');}";return new Promise(e=>{let t=()=>{p.measureText(wl,r).width!=s&&i()},i=()=>{C.systemTimer.clear(this,t);C.systemTimer.clear(this,i);e({family:a})};C.systemTimer.once(1e4,this,i);C.systemTimer.loop(20,this,t)})}}}F.registerLoader(["ttf","woff","woff2","otf"],Ml,F.TTF);class Dl{load(e){return e.loader.fetch(e.url,"arraybuffer",e.progress.createCallback(),e.options).then(e=>e?mn.ctx.decodeAudioData(e):null)}}F.registerLoader(["mp3","wav","ogg"],Dl,F.SOUND);let Il=G.regClass;Il("Record",Object);Il("Node",$i);Il("Sprite",ar);Il("Widget",Ua);Il("Text",Ms);Il("Input",s);Il("AnimationBase",zr);Il("Animation",ms);Il("FrameAnimation",ds);Il("EffectAnimation",Ts);Il("SoundNode",gn);Il("VideoNode",yn);Il("Scene",Za);Il("Stage",O);Il("Component",Yr);Il("Script",sl);Il("BitmapFont",gs);Il("BlurFilter",on);Il("ColorFilter",Nt);Il("GlowFilter",un);Il("Point",Y);Il("Rectangle",w);Il("Texture",re);Il("Texture2D",u);Il("Prefab",Va);Il("Animator2D",Sn);Il("AnimatorControllerLayer2D",vn);Il("AnimatorState2D",Rn);Il("AnimationClip2D",In);Il("AnimatorController2D",Gn);Il("Animation2DParm",Pn);Il("Animation2DCondition",Ln);Il("Vector2",Cr);Il("Vector3",L);Il("Vector4",Br);Il("Quaternion",rl);Il("Color",Rt);Il("Matrix",E);Il("Matrix3x3",Zn);Il("Matrix4x4",Yn);class Pl{static __init__(){if(!Pl._baseClass){Pl._baseClass=Ll;Ll.init()}Pl.items=Pl._baseClass.items;Pl.support=Pl._baseClass.support;return Pl.support}static setItem(e,t){Pl._baseClass.setItem(e,t)}static getItem(e){return Pl._baseClass.getItem(e)}static setJSON(e,t){Pl._baseClass.setJSON(e,t)}static getJSON(e){return Pl._baseClass.getJSON(e)}static removeItem(e){Pl._baseClass.removeItem(e)}static clear(){Pl._baseClass.clear()}}Pl.support=false;class Ll{static init(){try{Ll.support=true;Ll.items=window.localStorage;Ll.setItem("laya","1");Ll.removeItem("laya")}catch(e){Ll.support=false}Ll.support||console.log("LocalStorage is not supprot or browser is private mode.")}static setItem(e,t){try{Ll.support&&Ll.items.setItem(e,t)}catch(e){console.warn("set localStorage failed",e)}}static getItem(e){return Ll.support?Ll.items.getItem(e):null}static setJSON(e,t){try{Ll.support&&Ll.items.setItem(e,JSON.stringify(t))}catch(e){console.warn("set localStorage failed",e)}}static getJSON(t){try{let e=JSON.parse(Ll.support?Ll.items.getItem(t):null);return e}catch(e){return Ll.items.getItem(t)}}static removeItem(e){Ll.support&&Ll.items.removeItem(e)}static clear(){Ll.support&&Ll.items.clear()}}Ll.support=false;class Bl extends cr{constructor(e){super(b.SKINMESH,0);this.offsetX=300;this.offsetY=0;var t=8*V.BYTES_PE;const i=M.renderEngine.getParams(R.RenderParams.FLOAT);this.position=[2,i,false,t,0];this.texcoord=[2,i,false,t,2*V.BYTES_PE];this.color=[4,i,false,t,4*V.BYTES_PE]}}class Fl extends cr{constructor(e){super(b.PRIMITIVE,0);this._attribLocation=["position",0,"attribColor",1]}}class Ol extends cr{constructor(e=0){super(b.TEXTURE2D,e);this.strength=0;this.blurInfo=null;this.colorMat=null;this.colorAlpha=null;this._attribLocation=["posuv",0,"attribColor",1,"attribFlags",2]}clear(){this.texture=null;this.shader=null;this.defines._value=this.subID}}class Nl{static set cursor(e){Nl._style.cursor=e}static get cursor(){return Nl._style.cursor}static __init__(){Nl._style=p.document.body.style}static hide(){if("none"!=Nl.cursor){Nl._preCursor=Nl.cursor;Nl.cursor="none"}}static show(){"none"==Nl.cursor&&(Nl._preCursor?Nl.cursor=Nl._preCursor:Nl.cursor="auto")}}class Ul extends Kt{constructor(e){super(Ul.const_stride,4*e*Ul.const_stride,4);this.canReuse=true;this.setAttributes(Ul._fixattriInfo);this.createQuadIB(e);this._quadNum=e;Ul.vertexDeclaration||(Ul.vertexDeclaration=new Gt(116,[new kt(0,c.Vector4,0),new kt(16,c.Vector3,1),new kt(28,c.Vector3,2),new kt(40,c.Vector4,3),new kt(56,c.Vector4,4),new kt(72,c.Vector3,5),new kt(84,c.Vector2,6),new kt(92,c.Vector4,7),new kt(108,c.Single,8),new kt(112,c.Single,9)]));this._vb.vertexDeclaration=Ul.vertexDeclaration}static __init__(){const e=M.renderEngine.getParams(R.RenderParams.FLOAT);Ul._fixattriInfo=[e,4,0,e,3,16,e,3,28,e,4,40,e,4,56,e,3,72,e,2,84,e,4,92,e,1,108,e,1,112]}setMaxParticleNum(e){this._vb.buffer2D._resizeBuffer(4*e*Ul.const_stride,false);this.createQuadIB(e)}static getAMesh(e){if(Ul._POOL.length){var t=Ul._POOL.pop();t.setMaxParticleNum(e);return t}return new Ul(e)}releaseMesh(){this._vb.buffer2D.setByteLength(0);this.vertNum=0;this.indexNum=0;Ul._POOL.push(this)}destroy(){this._ib.destroy();this._vb.destroy();this._vb.deleteBuffer()}}Ul.const_stride=116;Ul._POOL=[];Ul.vertexDeclaration=null;class Gl{constructor(){this._mask=[];this._length=0}_intersectionDefineDatas(e){for(var t=e._mask,i=this._mask,r=this._length-1;0<=r;r--){var s=i[r]&t[r];0==s&&r==this._length-1?this._length--:i[r]=s}}add(e){var t=e._index,i=t+1,r=this._mask,s=this._length;if(s=this._length)&&0!=(this._mask[t]&e._value)}clear(){this._length=0}cloneTo(e){var t=e._mask,i=this._mask,r=this._length;t.length=r;for(var s=0;s{this.uniformBuffersMap.set(t,i)});i.setDataByUniformBufferData(t)}_initData(){this._data={};this._gammaColorMap=new Map}getData(){return this._data}applyUBOData(){this._uniformBufferDatas.forEach((e,t)=>{e.ubo.setDataByUniformBufferData(e.uboBuffer)});this.applyUBO=false}addDefine(e){this._defineDatas.add(e)}removeDefine(e){this._defineDatas.remove(e)}hasDefine(e){return this._defineDatas.has(e)}clearDefine(){this._defineDatas.clear()}getBool(e){return this._data[e]}setBool(e,t){this._data[e]=t}getInt(e){return this._data[e]}setInt(e,t){this._data[e]=t;let i=this._uniformBuffersMap.get(e);i&&this._uniformBufferDatas.get(i._name).uboBuffer._setData(e,this.getInt(e))}getNumber(e){return this._data[e]}setNumber(e,t){this._data[e]=t;let i=this._uniformBuffersMap.get(e);if(i){this._uniformBufferDatas.get(i._name).uboBuffer._setData(e,this.getNumber(e));this.applyUBO=true}}getVector2(e){return this._data[e]}setVector2(e,t){this._data[e]?t.cloneTo(this._data[e]):this._data[e]=t.clone();let i=this._uniformBuffersMap.get(e);if(i){this._uniformBufferDatas.get(i._name).uboBuffer._setData(e,this.getVector2(e));this.applyUBO=true}}getVector3(e){return this._data[e]}setVector3(e,t){this._data[e]?t.cloneTo(this._data[e]):this._data[e]=t.clone();let i=this._uniformBuffersMap.get(e);if(i){this._uniformBufferDatas.get(i._name).uboBuffer._setData(e,this.getVector3(e));this.applyUBO=true}}getVector(e){return this._data[e]}setVector(e,t){this._data[e]?t.cloneTo(this._data[e]):this._data[e]=t.clone();let i=this._uniformBuffersMap.get(e);if(i){this._uniformBufferDatas.get(i._name).uboBuffer._setData(e,this.getVector(e));this.applyUBO=true}}getColor(e){return this._gammaColorMap.get(e)}setColor(i,r){if(r){if(this._data[i]){let e=this._gammaColorMap.get(i),t=(r.cloneTo(e),this._data[i]);t.x=Rt.gammaToLinearSpace(r.r);t.y=Rt.gammaToLinearSpace(r.g);t.z=Rt.gammaToLinearSpace(r.b);t.w=r.a}else{let e=new Br;e.x=Rt.gammaToLinearSpace(r.r);e.y=Rt.gammaToLinearSpace(r.g);e.z=Rt.gammaToLinearSpace(r.b);e.w=r.a;this._data[i]=e;this._gammaColorMap.set(i,r.clone())}let e=this._uniformBuffersMap.get(i);if(e){this._uniformBufferDatas.get(e._name).uboBuffer._setData(i,this.getLinearColor(i));this.applyUBO=true}}}getLinearColor(e){return this._data[e]}getMatrix4x4(e){return this._data[e]}setMatrix4x4(e,t){this._data[e]?t.cloneTo(this._data[e]):this._data[e]=t.clone();let i=this._uniformBuffersMap.get(e);if(i){this._uniformBufferDatas.get(i._name).uboBuffer._setData(e,this.getMatrix4x4(e));this.applyUBO=true}}getBuffer(e){return this._data[e]}setBuffer(e,t){this._data[e]=t}setTexture(t,i){var e=this._data[t];if(i){let e=kl._texGammaDefine[t];e&&i&&1{i._gammaColorMap.set(t,e.clone())});this._cloneUBO(e._uniformBufferDatas);e.applyUBO=true}_cloneUBO(i){this._uniformBufferDatas.forEach((e,t)=>{i.has(t)&&e.uboBuffer.cloneTo(i.get(t).uboBuffer)})}clone(){var e=new Hl;this.cloneTo(e);return e}reset(){for(var e in this._data){e=this._data[e];e instanceof ee&&e._removeReference()}this._data={};this._gammaColorMap.clear();this._uniformBufferDatas.clear();this.applyUBO=false;this._uniformBuffersMap.clear();this._defineDatas.clear()}destroy(){this._defineDatas.destroy();this._defineDatas=null;for(var e in this._data){e=this._data[e];e instanceof ee&&e._removeReference()}this._data=null;this._gammaColorMap.clear();this._gammaColorMap=null;delete this._uniformBufferDatas;delete this._uniformBuffersMap;this._uniformBufferDatas=null;this._uniformBuffersMap=null}}R.UniformBufferParamsType=void 0;t=R.UniformBufferParamsType||(R.UniformBufferParamsType={});t[t.Number=0]="Number";t[t.Vector2=1]="Vector2";t[t.Vector3=2]="Vector3";t[t.Vector4=3]="Vector4";t[t.Matrix4x4=4]="Matrix4x4";t[t.Vector4Array=5]="Vector4Array";t[t.MatrixArray=6]="MatrixArray";class Yl{constructor(e){this._uniformParamsState=new Map(e);this._createBuffer();this._updateFlag=new Cr;this._resetUpdateFlag()}_createBuffer(){var i=0;this._layoutMap={};const e=4;this._uniformParamsState.forEach((e,t)=>{i+=this._addUniformParams(t,e,i)});this._bytelength=4*Math.ceil(i/4)*e;this._buffer=new Float32Array(i)}_getArraySize(e){let t=e.indexOf("["),i=e.indexOf("]");if(-1!=t&&-1!=i&&tthis._updateFlag.y&&(this._updateFlag.y=t)}destroy(){delete this._buffer;this._uniformParamsState.clear();this._uniformParamsState=null;this._layoutMap=null;this._updateFlag=null}_resetUpdateFlag(){this._updateFlag.setValue(this._buffer.length,0)}_has(e){const t=this._getParamsInfo(e);return!!t}_setData(e,t){let i=this._uniformParamsState.get(e);switch(i){case R.UniformBufferParamsType.Number:this.setNumberbyIndex(e,t);break;case R.UniformBufferParamsType.Vector2:this.setVector2byIndex(e,t);break;case R.UniformBufferParamsType.Vector3:this.setVector3byIndex(e,t);break;case R.UniformBufferParamsType.Vector4:this.setVector4byIndex(e,t);break;case R.UniformBufferParamsType.Matrix4x4:this.setMatrixbyIndex(e,t);break;case R.UniformBufferParamsType.Vector4Array:this.setVector4ArraybyIndex(e,t);break;case R.UniformBufferParamsType.MatrixArray:this.setMatrixArraybyIndex(e,t)}}getbyteLength(){return this._bytelength}setVector4Array(e,t){const i=N.propertyNameToID(e);this.setVector4ArraybyIndex(i,t)}setVector4ArraybyIndex(e,r){const t=this._getParamsInfo(e);if(t){let i=t.x,e=t.y/4;for(let t=0;tthis._cacheShaderHierarchy){this._resizeCacheShaderMap(s,0,a);this._cacheShaderHierarchy=a}for(var n=e._mask,l=e._length-1,h=this._cacheShaderHierarchy-1,o=0;othis._cacheShaderHierarchy){this._resizeCacheShaderMap(o,0,_);this._cacheShaderHierarchy=_}for(var e=a._mask,t=a._length-1,i=this._cacheShaderHierarchy-1,u=0;u{r.set(N.propertyNameToID(t),e)}),new Yl(r));this._uniformBufferDataMap.set(a,e)}else{let e=s[a];this._uniformTypeMap.set(a,e);if(e==R.ShaderDataType.Texture2D||e==R.ShaderDataType.TextureCube){let e=N.getDefineByName("Gamma_"+a),t=N.propertyNameToID(a);kl._texGammaDefine[t]=e}}}static regIncludeBindUnifrom(e,t,i){let r={},s=r[e]={};s.uniformMap=t;s.defaultValue=i;Object.assign(Zl.IncludeUniformMap,r)}static __init__(){Zl.IncludeUniformMap={}}setFlag(e,t){t?this._flags[e]=t:delete this._flags[e]}getFlag(e){return this._flags[e]}addShaderPass(e,t,i="Forward"){return this._addShaderPass(yt.compile(e,t),i)}_addShaderPass(e,t="Forward"){var i=new ql(this,e);i._pipelineMode=t;this._passes.push(i);this._addIncludeUniform(e.includeNames);return i}_addIncludeUniform(e){for(var r of e)if(Zl.IncludeUniformMap[r]){let e=Zl.IncludeUniformMap[r],t=e.uniformMap,i=e.defaultValue;for(var s in t)if(!this._uniformTypeMap.has(s)){this._uniformTypeMap.set(s,t[s]);this._uniformMap[s]=t[s]}for(var s in i)this._uniformDefaultValue[s]||(this._uniformDefaultValue[s]=i[s])}}}Zl.DefaultAttributeMap={a_Position:[$l.MESH_POSITION0,R.ShaderDataType.Vector4],a_Normal:[$l.MESH_NORMAL0,R.ShaderDataType.Vector3],a_Tangent0:[$l.MESH_TANGENT0,R.ShaderDataType.Vector4],a_Texcoord0:[$l.MESH_TEXTURECOORDINATE0,R.ShaderDataType.Vector2],a_Texcoord1:[$l.MESH_TEXTURECOORDINATE1,R.ShaderDataType.Vector2],a_Color:[$l.MESH_COLOR0,R.ShaderDataType.Vector4],a_BoneWeights:[$l.MESH_BLENDWEIGHT0,R.ShaderDataType.Vector4],a_BoneIndices:[$l.MESH_BLENDINDICES0,R.ShaderDataType.Vector4],a_WorldMat:[$l.MESH_WORLDMATRIX_ROW0,R.ShaderDataType.Matrix4x4],a_SimpleTextureParams:[$l.MESH_SIMPLEANIMATOR,R.ShaderDataType.Vector2],a_LightmapScaleOffset:[$l.MESH_LIGHTMAPSCALEOFFSET,R.ShaderDataType.Vector4]};function Ql(e){switch(e){case R.ShaderDataType.Float:return R.UniformBufferParamsType.Number;case R.ShaderDataType.Vector2:return R.UniformBufferParamsType.Vector2;case R.ShaderDataType.Vector3:return R.UniformBufferParamsType.Vector3;case R.ShaderDataType.Vector4:case R.ShaderDataType.Color:return R.UniformBufferParamsType.Vector4;case R.ShaderDataType.Matrix4x4:return R.UniformBufferParamsType.Matrix4x4;default:throw"ShaderDataType can not be in UniformBuffer."}}class N{constructor(e,t,i){this._enableInstancing=false;this._supportReflectionProbe=false;this._subShaders=[];this._name=e;this._enableInstancing=t;this._supportReflectionProbe=i}static init(){N.debugShaderVariantCollection=new Xl}static _getNamesByDefineData(e,t){var i=N._maskMap,r=e._mask;t.length=0;for(var s=0,a=e._length;s{lh.forEach(e=>e());lh.length=0;S.afterInit&&(S.isPlaying?S.afterInit():S.afterInit=null)});lh.forEach(e=>e());lh.length=0;S.afterInit&&(S.isPlaying?S.afterInit():S.afterInit=null)}return Promise.resolve()}static createRender(){return new La(0,0,p.mainCanvas)}static addWasmModule(e,t,i){Jl.WasmModules[e]={exports:t,memory:i}}static alertGlobalError(e){var a=0;p.window.onerror=e?function(e,t,i,r,s){a++<5&&s&&this.alert("出错啦,请把此信息截图给研发商\n"+e+"\n"+s.stack)}:null}static _runScript(e){return p.window[Jl._evcode](e)}static enableDebugPanel(e="libs/laya.debugtool.js"){if(window.Laya.DebugPanel)window.Laya.DebugPanel.enable();else{var t=p.createElement("script");t.onload=function(){window.Laya.DebugPanel.enable()};t.src=e;p.document.body.appendChild(t)}}static enableNative(){if(!Jl.isNativeRender_enable){Jl.isNativeRender_enable=true;o.width=p.window.innerWidth;o.height=p.window.innerHeight;p.measureText=function(e,t){window.conchTextCanvas.font=t;return window.conchTextCanvas.measureText(e)};O.clear=function(e){B.set2DRenderConfig();e=d.create(e).arrColor;M.renderEngine.clearRenderTexture(R.RenderClearFlag.Color|R.RenderClearFlag.Depth,new Rt(e[0],e[1],e[2],e[3]),1);o.clear()};ar.drawToCanvas=function(e,t,i,r,s,a){s-=e.x;a-=e.y;s|=0;a|=0;i|=0;r|=0;var n=new kr(false),l=n.getContext("2d");n.size(i,r);l.asBitmap=true;l._targets.start();ri.renders[t]._fun(e,l,s,a);l.flush();l._targets.end();l._targets.restore();return n};Object.defineProperty(At.prototype,"uv",{get:function(){return this._uv},set:function(e){this._uv=e}});kr.prototype.getTexture=function(){if(!this._texture){this._texture=this.context._targets;this._texture.uv=At.flipyuv;this._texture.bitmap=this._texture}return this._texture}}}static onInitModule(e){nh?e():lh.push(e)}}Jl.stage=null;Jl.systemTimer=null;Jl.physicsTimer=null;Jl.timer=null;Jl.loader=null;Jl.isWXOpenDataContext=false;Jl.isWXPosMsg=false;Jl.WasmModules={};Jl._evcode="eval";Jl.isNativeRender_enable=false;function eh(e,t){t=new Uint8Array(this,e,t-e),e=new Uint8Array(t.length);e.set(t);return e.buffer}function th(){for(var e=this.length,t=new Uint8Array(this.length),i=0;i{this._onOpen(e)};this._socket.onmessage=e=>{this._onMessage(e)};this._socket.onclose=e=>{this._onClose(e)};this._socket.onerror=e=>{this._onError(e)}}cleanSocket(){this.close();this._connected=false;this._socket.onopen=null;this._socket.onmessage=null;this._socket.onclose=null;this._socket.onerror=null;this._socket=null}close(){if(null!=this._socket)try{this._socket.close()}catch(e){}}_onOpen(e){this._connected=true;this.event(g.OPEN,e)}_onMessage(e){if(e&&e.data){e=e.data;if(!this.disableInput||!e){if(0>2];r+=vh.chars[(3&t[s])<<4|t[s+1]>>4];r+=vh.chars[(15&t[s+1])<<2|t[s+2]>>6];r+=vh.chars[63&t[s+2]]}i%3==2?r=r.substring(0,r.length-1)+"=":i%3==1&&(r=r.substring(0,r.length-2)+"==");return r}static decode(e){vh.init();var t,i,r,s,a=.75*e.length,n=e.length,l=0;if("="===e[e.length-1]){a--;"="===e[e.length-2]&&a--}for(var a=new ArrayBuffer(a),h=new Uint8Array(a),o=0;o>4;h[l++]=(15&i)<<4|r>>2;h[l++]=(3&r)<<6|63&s}return a}}vh.chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";vh.reg=/^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*?)\s*$/i;vh.reghead=/^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,/i;vh.lookup=null;class bh{static enable(){if(!bh._logdiv){bh._logdiv=p.createElement("div");bh._logdiv.style.cssText="border:white;padding:4px;overflow-y:auto;z-index:1000000;background:rgba(100,100,100,0.6);color:white;position: absolute;left:0px;top:0px;width:50%;height:50%;";p.document.body.appendChild(bh._logdiv);bh._btn=p.createElement("button");bh._btn.innerText="Hide";bh._btn.style.cssText="z-index:1000001;position: absolute;left:10px;top:10px;";bh._btn.onclick=bh.toggle;p.document.body.appendChild(bh._btn)}}static toggle(){var e=bh._logdiv.style;if(""===e.display){bh._btn.innerText="Show";e.display="none"}else{bh._btn.innerText="Hide";e.display=""}}static print(e){if(bh._logdiv){bh._count>=bh.maxCount&&bh.clear();bh._count++;bh._logdiv.innerText+=e+"\n";bh.autoScrollToBottom&&bh._logdiv.scrollHeight-bh._logdiv.scrollTop-bh._logdiv.clientHeight<50&&(bh._logdiv.scrollTop=bh._logdiv.scrollHeight)}}static clear(){bh._logdiv.innerText="";bh._count=0}}bh._count=0;bh.maxCount=50;bh.autoScrollToBottom=true;let Sh=300;class Rh{constructor(e,t,i,r){this.scale=1;this.datas=new Array(Sh);this.datapos=0;this.id=e;this.color=t;this.name=i;this.scale=r}addData(e){this.datas[this.datapos]=e;this.datapos++;this.datapos%=Sh}}class Ch extends ar{constructor(){super();this.datas=[];this.xdata=new Array(Ch.DATANUM);this.ydata=new Array(Ch.DATANUM);this.hud_width=800;this.hud_height=200;this.gMinV=0;this.gMaxV=100;this.textSpace=40;this.sttm=0;Ch.inst=this;this._renderType|=f.CUSTOM;this._setCustomRender();this.addDataDef(0,16777215,"frame",1);this.addDataDef(1,65280,"update",1);this.addDataDef(2,16711680,"flush",1);Ch._now=performance?performance.now.bind(performance):Date.now}now(){return Ch._now()}start(){this.sttm=Ch._now()}end(e){var t=Ch._now()-this.sttm;this.updateValue(e,t)}config(e,t){this.hud_width=e;this.hud_height=t}addDataDef(e,t,i,r){this.datas[e]=new Rh(e,t,i,r)}updateValue(e,t){this.datas[e].addData(t)}v2y(e){this._y,this.hud_height,this.gMinV,this.gMaxV;return this._y+this.hud_height*(1-(e-this.gMinV)/this.gMaxV)}drawHLine(e,t,i,r){var s=this._x,t=(this._x,this.hud_width,this.v2y(t));e.fillText(r,s,t-6,null,"green",null);s+=this.textSpace;e.fillStyle=i;e.fillRect(s,t,this._x+this.hud_width,1,null)}customRender(e,t,i){var r=performance.now();Ch._lastTm<=0&&(Ch._lastTm=r);this.updateValue(0,r-Ch._lastTm);Ch._lastTm=r;e.save();e.fillRect(this._x,this._y,this.hud_width,this.hud_height+4,"#000000cc");e.globalAlpha=.9;this.drawHLine(e,0,"green"," 0");this.drawHLine(e,10,"green"," 10");this.drawHLine(e,16.667,"red"," ");this.drawHLine(e,20,"green","50|20");this.drawHLine(e,33.334,"yellow","");this.drawHLine(e,16.667*3,"yellow","");this.drawHLine(e,66.668,"yellow","");this.drawHLine(e,50,"green","20|50");this.drawHLine(e,100,"green","10|100");for(var s=0,a=this.datas.length;sthis.maxCount&&t.splice(this.maxCount,t.length-this.maxCount)}static addPoolCacheManager(e,t=100){var i=new Ah;i.sign=e;i.maxCount=t;Hi.regCacheByFunction(i.tryDispose.bind(i),i.getCacheList.bind(i))}}class wh{constructor(){this.elements=[];this.length=0}_add(e){this.length===this.elements.length?this.elements.push(e):this.elements[this.length]=e}add(e){let t=this.elements.indexOf(e);if(!("number"!=typeof e&&-1!=t&&tt.endTime?1:e.endTime=a.endTime))break;this._index=Math.max(this._index,h+1);var _=a.data;if(a.isTo)for(var u in _)a.target[u]=_[u]}}for(h=0,o=this._tweenDataList.length;h=a.startTime&&et.startTime?1:e.startTime=this._startTime){if(!this._loopKey){for(var e in this._tweenDic){t=this._tweenDic[e];t.complete()}this.pause();this._complete();return}this._complete();if(!this._tweenDataList)return;this.gotoTime(0)}var t,i=p.now(),r=i-this._lastTime,s=this._currTime+=r*this.scale;this._lastTime=i;for(e in this._tweenDic){t=this._tweenDic[e];t._updateEase(s)}if(0!=this._tweenDataList.length&&this._index=r.startTime){this._index++;if(0==r.type){this._gidIndex++;t=A.getItemByClass("tween",ir);t._create(r.target,r.data,r.duration,r.ease,tr.create(this,this._animComplete,[this._gidIndex]),0,false,r.isTo,true,false);t.setStartTime(s);t.gid=this._gidIndex;this._tweenDic[this._gidIndex]=t;t._updateEase(s)}else this.event(g.LABEL,r.data)}}}_animComplete(e){var t=this._tweenDic[e];t&&delete this._tweenDic[e]}_complete(){this.event(g.COMPLETE)}get index(){return this._frameIndex}set index(e){this._frameIndex=e;this.gotoTime(this._frameIndex/this._frameRate*1e3)}get total(){this._total=Math.floor(this._startTime/1e3*this._frameRate);return this._total}reset(){var e,t;if(this._labelDic)for(e in this._labelDic)delete this._labelDic[e];for(e in this._tweenDic){t=this._tweenDic[e];t.clear();delete this._tweenDic[e]}for(e in this._firstTweenDic)delete this._firstTweenDic[e];this._endTweenDataList=null;if(this._tweenDataList&&this._tweenDataList.length)for(var i=this._tweenDataList.length,r=0;rzh._sharedBuffer.byteLength)throw new Error("NativeMemory:shared buffer not enough");this._buffer=zh._sharedBuffer}else this._buffer=Yh.creatBlock(e);this._idata=new Int32Array(this._buffer);this._fdata=new Float32Array(this._buffer);this._f64data=new Float64Array(this._buffer);this._byteArray=new Uint8Array(this._buffer);this._byteLength=e}get float32Array(){return this._fdata}get float64Array(){return this._f64data}get uint8Array(){return this._byteArray}get int32Array(){return this._idata}destroy(){if(!this._destroyed){this.clear();Yh.freeMemoryBlock(this._buffer);this._destroyed=true}}clear(){this._idata=null;this._fdata=null;this._byteArray=null}}zh.NativeSourceID=0;zh._sharedBuffer=new ArrayBuffer(256);class jh extends zh{constructor(e){super(e,false);this._currentOffsetInByte=0}addBlockCell(e,t){e.uploadDataTOShareMemory(this,this._currentOffsetInByte)&&(this._currentOffsetInByte+=t)}check(e){return this._currentOffsetInByte+eKh.UploadMemorySize)throw"dataSize is too large, greater than UploadMemorySize,";this._currentBlock.check(t)&&this.uploadData();this._addNodeCommand(e,t)}this.uploadData()}uploadData(){if(0