UNPKG

shadow-function

Version:

ioing lib - shadow Function, worker Function

1 lines 85.3 kB
!function(t,e,st){st.un,st.uns;var i=st.static,n=st.class,a=st.getset,f=st.__newvec,h=laya.maths.Bezier,c=laya.utils.Browser,wt=laya.utils.Byte,s=(laya.events.Event,laya.events.EventDispatcher),r=laya.display.Graphics,l=laya.resource.HTMLCanvas,o=laya.utils.Handler,u=laya.net.Loader,d=laya.maths.MathUtil,St=laya.maths.Matrix,_=(laya.display.Node,laya.maths.Point,laya.maths.Rectangle),m=laya.renders.Render,p=(laya.renders.RenderContext,laya.resource.Resource),y=laya.utils.RunDriver,rt=laya.display.Sprite,x=laya.utils.Stat,Ft=laya.resource.Texture,g=(laya.net.URL,laya.utils.Utils),S=function(){function t(){this.nodes=null,this.name=null,this.playTime=NaN,this.bone3DMap=null,this.totalKeyframeDatasLength=0}return n(t,"laya.ani.AnimationContent"),t}(),F=function(){function t(){this.name=null,this.parentIndex=0,this.parent=null,this.keyframeWidth=0,this.lerpType=0,this.interpolationMethod=null,this.childs=null,this.keyFrame=null,this.playTime=NaN,this.extenData=null,this.dataOffset=0}return n(t,"laya.ani.AnimationNodeContent"),t}(),v=function(){function t(){}return n(t,"laya.ani.AnimationParser01"),t.parse=function(t,e){var i=e.__getBuffer(),a=0,s=0,r=0,n=0,h=0,l=0,o=0,u=e.readUTFString();t._aniClassName=u;var c,d=e.readUTFString().split("\n"),_=e.getUint8(),p=e.getUint32(),f=e.getUint32();0<p&&(c=i.slice(p,f));var m=new wt(c);for(0<f&&(t._publicExtData=i.slice(f,i.byteLength)),t._useParent=!!e.getUint8(),t._anis.length=_,a=0;a<_;a++){var y=t._anis[a]=new S;y.nodes=new Array;var x=y.name=d[e.getUint16()];t._aniMap[x]=a,y.bone3DMap={},y.playTime=e.getFloat32();var g=y.nodes.length=e.getUint8();for(s=y.totalKeyframeDatasLength=0;s<g;s++){var v=y.nodes[s]=new F;v.childs=[];var D=e.getInt16();0<=D&&(v.name=d[D],y.bone3DMap[v.name]=s),v.keyFrame=new Array,v.parentIndex=e.getInt16(),-1==v.parentIndex?v.parent=null:v.parent=y.nodes[v.parentIndex],v.lerpType=e.getUint8();var M=e.getUint32();m.pos=M;var I=v.keyframeWidth=m.getUint16();if(y.totalKeyframeDatasLength+=I,0===v.lerpType||1===v.lerpType)for(v.interpolationMethod=[],v.interpolationMethod.length=I,r=0;r<I;r++)v.interpolationMethod[r]=L.interpolation[m.getUint8()];null!=v.parent&&v.parent.childs.push(v);var b=e.getUint16();0<b&&(v.extenData=i.slice(e.pos,e.pos+b),e.pos+=b);var N,T=e.getUint16(),A=0;for(r=0,n=v.keyFrame.length=T;r<n;r++){if((N=v.keyFrame[r]=new k).duration=e.getFloat32(),N.startTime=A,2===v.lerpType){N.interpolationData=[];var C,w=e.getUint8();switch(C=e.getFloat32()){case 254:for(N.interpolationData.length=I,o=0;o<I;o++)N.interpolationData[o]=0;break;case 255:for(N.interpolationData.length=I,o=0;o<I;o++)N.interpolationData[o]=5;break;default:for(N.interpolationData.push(C),l=1;l<w;l++)N.interpolationData.push(e.getFloat32())}}for(N.data=new Float32Array(I),h=0;h<I;h++)N.data[h]=e.getFloat32(),-1e-8<N.data[h]&&N.data[h]<1e-8&&(N.data[h]=0);A+=N.duration}N.startTime=y.playTime,v.playTime=y.playTime,t._calculateKeyFrame(v,T,I)}}},t}(),D=function(){function D(){}return n(D,"laya.ani.AnimationParser02"),D.READ_DATA=function(){D._DATA.offset=D._reader.getUint32(),D._DATA.size=D._reader.getUint32()},D.READ_BLOCK=function(){for(var t=D._BLOCK.count=D._reader.getUint16(),e=D._BLOCK.blockStarts=[],i=D._BLOCK.blockLengths=[],a=0;a<t;a++)e.push(D._reader.getUint32()),i.push(D._reader.getUint32())},D.READ_STRINGS=function(){var t=D._reader.getUint32(),e=D._reader.getUint16(),i=D._reader.pos;D._reader.pos=t+D._DATA.offset;for(var a=0;a<e;a++)D._strings[a]=D._reader.readUTFString();D._reader.pos=i},D.parse=function(t,e){D._templet=t;(D._reader=e).__getBuffer();D.READ_DATA(),D.READ_BLOCK(),D.READ_STRINGS();for(var i=0,a=D._BLOCK.count;i<a;i++){var s=e.getUint16(),r=D._strings[s],n=D["READ_"+r];if(null==n)throw new Error("model file err,no this function:"+s+" "+r);n.call()}},D.READ_ANIMATIONS=function(){var t=D._reader,e=t.__getBuffer(),i=0,a=0,s=0,r=0,n=t.getUint16(),h=[];for(h.length=n,i=0;i<n;i++)h[i]=L.interpolation[t.getByte()];var l=t.getUint8();for(D._templet._anis.length=l,i=0;i<l;i++){var o=D._templet._anis[i]={};o.nodes=new Array;var u=o.name=D._strings[t.getUint16()];D._templet._aniMap[u]=i,o.bone3DMap={},o.playTime=t.getFloat32();var c=o.nodes.length=t.getInt16();for(a=o.totalKeyframeDatasLength=0;a<c;a++){var d=o.nodes[a]={};d.keyframeWidth=n,d.childs=[];var _=t.getUint16();0<=_&&(d.name=D._strings[_],o.bone3DMap[d.name]=a),d.keyFrame=new Array,d.parentIndex=t.getInt16(),-1==d.parentIndex?d.parent=null:d.parent=o.nodes[d.parentIndex],o.totalKeyframeDatasLength+=n,d.interpolationMethod=h,null!=d.parent&&d.parent.childs.push(d);var p=t.getUint16(),f=null,m=null;for(s=0,r=d.keyFrame.length=p;s<r;s++){(f=d.keyFrame[s]={}).startTime=t.getFloat32(),m&&(m.duration=f.startTime-m.startTime);var y=D._DATA.offset,x=t.getUint32(),g=4*n,v=e.slice(y+x,y+x+g);f.data=new Float32Array(v),m=f}f.duration=0,d.playTime=o.playTime,D._templet._calculateKeyFrame(d,p,n)}}},D._templet=null,D._reader=null,D._strings=[],i(D,["_BLOCK",function(){return this._BLOCK={count:0}},"_DATA",function(){return this._DATA={offset:0,size:0}}]),D}(),kt=(function(){function t(){}n(t,"laya.ani.AnimationState"),t.stopped=0,t.paused=1,t.playing=2}(),function(){function s(){this.name=null,this.root=null,this.parentBone=null,this.length=10,this.transform=null,this.inheritScale=!0,this.inheritRotation=!0,this.rotation=NaN,this.resultRotation=NaN,this.d=-1,this._tempMatrix=null,this._sprite=null,this.resultTransform=new zt,this.resultMatrix=new St,this._children=[]}n(s,"laya.ani.bone.Bone");var t=s.prototype;return t.setTempMatrix=function(t){this._tempMatrix=t;var e,i=0;for(i=0,e=this._children.length;i<e;i++)this._children[i].setTempMatrix(this._tempMatrix)},t.update=function(t){var e;if(this.rotation=this.transform.skX,t)e=this.resultTransform.getMatrix(),St.mul(e,t,this.resultMatrix),this.resultRotation=this.rotation;else if(this.resultRotation=this.rotation+this.parentBone.resultRotation,this.parentBone)if(this.inheritRotation&&this.inheritScale)e=this.resultTransform.getMatrix(),St.mul(e,this.parentBone.resultMatrix,this.resultMatrix);else{var i=this.parentBone,a=NaN,s=NaN,r=NaN,n=this.parentBone.resultMatrix;e=this.resultTransform.getMatrix();var h=n.a*e.tx+n.c*e.ty+n.tx,l=n.b*e.tx+n.d*e.ty+n.ty,o=new St;this.inheritRotation?(a=Math.atan2(i.resultMatrix.b,i.resultMatrix.a),s=Math.cos(a),r=Math.sin(a),o.setTo(s,r,-r,s,0,0),St.mul(this._tempMatrix,o,St.TEMP),St.TEMP.copyTo(o),e=this.resultTransform.getMatrix(),St.mul(e,o,this.resultMatrix),this.resultTransform.scX*this.resultTransform.scY<0&&this.resultMatrix.rotate(.5*Math.PI)):(this.inheritScale,e=this.resultTransform.getMatrix(),St.TEMP.identity(),St.TEMP.d=this.d,St.mul(e,St.TEMP,this.resultMatrix)),this.resultMatrix.tx=h,this.resultMatrix.ty=l}else(e=this.resultTransform.getMatrix()).copyTo(this.resultMatrix);var u,c=0;for(c=0,u=this._children.length;c<u;c++)this._children[c].update()},t.updateChild=function(){var t,e=0;for(e=0,t=this._children.length;e<t;e++)this._children[e].update()},t.setRotation=function(t){this._sprite&&(this._sprite.rotation=180*t/Math.PI)},t.updateDraw=function(t,e){s.ShowBones&&!s.ShowBones[this.name]||(this._sprite||(this._sprite=new rt,this._sprite.graphics.drawCircle(0,0,5,"#ff0000"),this._sprite.graphics.drawLine(0,0,this.length,0,"#00ff00"),this._sprite.graphics.fillText(this.name,0,0,"20px Arial","#00ff00","center"),st.stage.addChild(this._sprite)),this._sprite.x=t+this.resultMatrix.tx,this._sprite.y=e+this.resultMatrix.ty);var i,a=0;for(a=0,i=this._children.length;a<i;a++)this._children[a].updateDraw(t,e)},t.addChild=function(t){this._children.push(t),t.parentBone=this},t.findBone=function(t){if(this.name==t)return this;var e,i,a=0;for(a=0,e=this._children.length;a<e;a++)if(i=this._children[a].findBone(t))return i;return null},t.localToWorld=function(t){var e=t[0],i=t[1];t[0]=e*this.resultMatrix.a+i*this.resultMatrix.c+this.resultMatrix.tx,t[1]=e*this.resultMatrix.b+i*this.resultMatrix.d+this.resultMatrix.ty},s.ShowBones={},s}()),Pt=function(){function f(){this.name=null,this.parent=null,this.attachmentName=null,this.srcDisplayIndex=-1,this.type="src",this.templet=null,this.currSlotData=null,this.currTexture=null,this.currDisplayData=null,this.displayIndex=-1,this.originalIndex=-1,this._diyTexture=null,this._parentMatrix=null,this._resultMatrix=null,this._replaceDic={},this._curDiyUV=null,this._curDiyVS=null,this._skinSprite=null,this.deformData=null,this._mVerticleArr=null}n(f,"laya.ani.bone.BoneSlot");var t=f.prototype;return t.showSlotData=function(t,e){void 0===e&&(e=!0),this.currSlotData=t,e&&(this.displayIndex=this.srcDisplayIndex),this.currDisplayData=null,this.currTexture=null},t.showDisplayByName=function(t){this.currSlotData&&this.showDisplayByIndex(this.currSlotData.getDisplayByName(t))},t.replaceDisplayByName=function(t,e){if(this.currSlotData){var i;i=this.currSlotData.getDisplayByName(t);var a;a=this.currSlotData.getDisplayByName(e),this.replaceDisplayByIndex(i,a)}},t.replaceDisplayByIndex=function(t,e){this.currSlotData&&(this._replaceDic[t]=e,this.originalIndex==t&&this.showDisplayByIndex(t))},t.showDisplayByIndex=function(t){if(this.originalIndex=t,null!=this._replaceDic[t]&&(t=this._replaceDic[t]),this.currSlotData&&-1<t&&t<this.currSlotData.displayArr.length){if(this.displayIndex=t,this.currDisplayData=this.currSlotData.displayArr[t],this.currDisplayData){var e=this.currDisplayData.name;this.currTexture=this.templet.getTexture(e),this.currTexture&&0==this.currDisplayData.type&&this.currDisplayData.uvs&&(!m.isConchApp||m.isConchApp&&"0.9.15"<rt.RUNTIMEVERION)&&(this.currTexture=this.currDisplayData.createTexture(this.currTexture))}}else this.displayIndex=-1,this.currDisplayData=null,this.currTexture=null},t.replaceSkin=function(t){this._diyTexture=t,this._curDiyUV&&(this._curDiyUV.length=0),this.currDisplayData&&this._diyTexture==this.currDisplayData.texture&&(this._diyTexture=null)},t.setParentMatrix=function(t){this._parentMatrix=t},t.draw=function(t,e,i,a){if(void 0===i&&(i=!1),void 0===a&&(a=1),(null!=this._diyTexture||null!=this.currTexture)&&null!=this.currDisplayData||this.currDisplayData&&3==this.currDisplayData.type){var s,r=this.currTexture;switch(this._diyTexture&&(r=this._diyTexture),this.currDisplayData.type){case 0:if(t){var n=this.getDisplayMatrix();if(this._parentMatrix){var h=!1;if(n){var l;if(St.mul(n,this._parentMatrix,St.TEMP),l=i?(null==this._resultMatrix&&(this._resultMatrix=new St),this._resultMatrix):new St,!m.isWebGL&&this.currDisplayData.uvs||m.isWebGL&&this._diyTexture&&this.currDisplayData.uvs){var o=f._tempMatrix;o.identity(),this.currDisplayData.uvs[1]>this.currDisplayData.uvs[5]&&(o.d=-1),this.currDisplayData.uvs[0]>this.currDisplayData.uvs[4]&&this.currDisplayData.uvs[1]>this.currDisplayData.uvs[5]&&(h=!0,o.rotate(-Math.PI/2)),St.mul(o,St.TEMP,l)}else St.TEMP.copyTo(l);h?t.drawTexture(r,-this.currDisplayData.height/2,-this.currDisplayData.width/2,this.currDisplayData.height,this.currDisplayData.width,l):t.drawTexture(r,-this.currDisplayData.width/2,-this.currDisplayData.height/2,this.currDisplayData.width,this.currDisplayData.height,l)}}}break;case 1:if(null==(s=i?(null==this._skinSprite&&(this._skinSprite=f.createSkinMesh()),this._skinSprite):f.createSkinMesh()))return;var u;if(null==this.currDisplayData.bones){var c,d=this.currDisplayData.weights;this.deformData&&(d=this.deformData),c=this._diyTexture?(this._curDiyUV||(this._curDiyUV=[]),0==this._curDiyUV.length&&(this._curDiyUV=C.getRelativeUV(this.currTexture.uv,this.currDisplayData.uvs,this._curDiyUV),this._curDiyUV=C.getAbsoluteUV(this._diyTexture.uv,this._curDiyUV,this._curDiyUV)),this._curDiyUV):this.currDisplayData.uvs,this._mVerticleArr=d;this.currDisplayData.triangles.length;u=this.currDisplayData.triangles,s.init2(r,null,u,this._mVerticleArr,c);var _,p=this.getDisplayMatrix();if(this._parentMatrix)if(p)St.mul(p,this._parentMatrix,St.TEMP),_=i?(null==this._resultMatrix&&(this._resultMatrix=new St),this._resultMatrix):new St,St.TEMP.copyTo(_),s.transform=_}else this.skinMesh(e,s,a);t.drawSkin(s);break;case 2:if(null==(s=i?(null==this._skinSprite&&(this._skinSprite=f.createSkinMesh()),this._skinSprite):f.createSkinMesh()))return;this.skinMesh(e,s,a),t.drawSkin(s)}}},t.skinMesh=function(t,e,i){var a,s=this.currTexture,r=this.currDisplayData.bones;a=this._diyTexture?(s=this._diyTexture,this._curDiyUV||(this._curDiyUV=[]),0==this._curDiyUV.length&&(this._curDiyUV=C.getRelativeUV(this.currTexture.uv,this.currDisplayData.uvs,this._curDiyUV),this._curDiyUV=C.getAbsoluteUV(this._diyTexture.uv,this._curDiyUV,this._curDiyUV)),this._curDiyUV):this.currDisplayData.uvs;var n,h,l=this.currDisplayData.weights,o=this.currDisplayData.triangles,u=0,c=0,d=0,_=NaN,p=NaN,f=0,m=0,y=[],x=0,g=0;if(this.deformData&&0<this.deformData.length){var v=0;for(x=0,g=r.length;x<g;){for(d=r[x++]+x,c=u=0;x<d;x++)h=t[r[x]],_=l[f]+this.deformData[v++],p=l[f+1]+this.deformData[v++],m=l[f+2],u+=(_*h.a+p*h.c+h.tx)*m,c+=(_*h.b+p*h.d+h.ty)*m,f+=3;y.push(u,c)}}else for(x=0,g=r.length;x<g;){for(d=r[x++]+x,c=u=0;x<d;x++)h=t[r[x]],_=l[f],p=l[f+1],m=l[f+2],u+=(_*h.a+p*h.c+h.tx)*m,c+=(_*h.b+p*h.d+h.ty)*m,f+=3;y.push(u,c)}this._mVerticleArr=y,n=o,e.init2(s,null,n,this._mVerticleArr,a)},t.drawBonePoint=function(t){t&&this._parentMatrix&&t.drawCircle(this._parentMatrix.tx,this._parentMatrix.ty,5,"#ff0000")},t.getDisplayMatrix=function(){return this.currDisplayData?this.currDisplayData.transform.getMatrix():null},t.getMatrix=function(){return this._resultMatrix},t.copy=function(){var t=new f;return t.type="copy",t.name=this.name,t.attachmentName=this.attachmentName,t.srcDisplayIndex=this.srcDisplayIndex,t.parent=this.parent,t.displayIndex=this.displayIndex,t.templet=this.templet,t.currSlotData=this.currSlotData,t.currTexture=this.currTexture,t.currDisplayData=this.currDisplayData,t},f.createSkinMesh=function(){return m.isWebGL||m.isConchApp?y.skinAniSprite():m.isWebGL?null:O.useSimpleMeshInCanvas?new R:new U},i(f,["_tempMatrix",function(){return this._tempMatrix=new St}]),f}(),M=function(){function t(){this.mesh=null,this.transform=null,this.context=null,this.mode=0}n(t,"laya.ani.bone.canvasmesh.CanvasMeshRender");var e=t.prototype;return e.renderToContext=function(t){this.context=t.ctx||t,this.mesh&&(0==this.mode?this._renderWithIndexes(this.mesh):this._renderNoIndexes(this.mesh))},e._renderNoIndexes=function(t){var e=0,i=t.vertices.length/2,a=0;for(e=0;e<i-2;e++)a=2*e,this._renderDrawTriangle(t,a,a+2,a+4)},e._renderWithIndexes=function(t){var e=t.indexes,i=0,a=e.length;for(i=0;i<a;i+=3){var s=2*e[i],r=2*e[i+1],n=2*e[i+2];this._renderDrawTriangle(t,s,r,n)}},e._renderDrawTriangle=function(t,e,i,a){var s=this.context,r=t.uvs,n=t.vertices,h=t.texture,l=h.bitmap,o=l.source,u=h.width,c=h.height,d=l.width,_=l.height,p=NaN,f=NaN,m=NaN,y=NaN,x=NaN,g=NaN;if(t.useUvTransform){var v=t.uvTransform;p=(r[e]*v.a+r[e+1]*v.c+v.tx)*d,f=(r[i]*v.a+r[i+1]*v.c+v.tx)*d,m=(r[a]*v.a+r[a+1]*v.c+v.tx)*d,y=(r[e]*v.b+r[e+1]*v.d+v.ty)*_,x=(r[i]*v.b+r[i+1]*v.d+v.ty)*_,g=(r[a]*v.b+r[a+1]*v.d+v.ty)*_}else p=r[e]*d,f=r[i]*d,m=r[a]*d,y=r[e+1]*_,x=r[i+1]*_,g=r[a+1]*_;var D=n[e],M=n[i],I=n[a],b=n[e+1],N=n[i+1],T=n[a+1];if(0<t.canvasPadding){var A=t.canvasPadding,C=t.canvasPadding,w=(D+M+I)/3,S=(b+N+T)/3,F=D-w,k=b-S,P=Math.sqrt(F*F+k*k);D=w+F/P*(P+A),b=S+k/P*(P+C),k=N-S,M=w+(F=M-w)/(P=Math.sqrt(F*F+k*k))*(P+A),N=S+k/P*(P+C),k=T-S,I=w+(F=I-w)/(P=Math.sqrt(F*F+k*k))*(P+A),T=S+k/P*(P+C)}if(s.save(),this.transform){var B=this.transform;s.transform(B.a,B.b,B.c,B.d,B.tx,B.ty)}s.beginPath(),s.moveTo(D,b),s.lineTo(M,N),s.lineTo(I,T),s.closePath(),s.clip();var U=1/(p*x+y*m+f*g-x*m-y*f-p*g),L=D*x+y*I+M*g-x*I-y*M-D*g,R=p*M+D*m+f*I-M*m-D*f-p*I,O=p*x*I+y*M*m+D*f*g-D*x*m-y*f*I-p*M*g,E=b*x+y*T+N*g-x*T-y*N-b*g,K=p*N+b*m+f*T-N*m-b*f-p*T,Y=p*x*T+y*N*m+b*f*g-b*x*m-y*f*T-p*N*g;s.transform(L*U,E*U,R*U,K*U,O*U,Y*U),s.drawImage(o,h.uv[0]*d,h.uv[1]*_,u,c,h.uv[0]*d,h.uv[1]*_,u,c),s.restore()},t}(),I=function(){function t(){this.texture=null,this.uvs=[0,0,1,0,1,1,0,1],this.vertices=[0,0,100,0,100,100,0,100],this.indexes=[0,1,3,3,1,2],this.uvTransform=null,this.useUvTransform=!1,this.canvasPadding=1}return n(t,"laya.ani.bone.canvasmesh.MeshData"),t.prototype.getBounds=function(){return _._getWrapRec(this.vertices)},t}(),Bt=function(){function t(){this.skinName=null,this.deformSlotDataList=[]}return n(t,"laya.ani.bone.DeformAniData"),t}(),Ut=function(){function t(){this.deformSlotDisplayList=[]}return n(t,"laya.ani.bone.DeformSlotData"),t}(),Lt=function(){function t(){this.boneSlot=null,this.slotIndex=-1,this.attachment=null,this.deformData=null,this.frameIndex=0,this.timeList=[],this.vectices=[],this.tweenKeyList=[]}n(t,"laya.ani.bone.DeformSlotDisplayData");var e=t.prototype;return e.binarySearch1=function(t,e){var i=0,a=t.length-2;if(0==a)return 1;for(var s=a>>>1;;){if(t[Math.floor(s+1)]<=e?i=s+1:a=s,i==a)return i+1;s=i+a>>>1}return 0},e.apply=function(t,e,i){if(void 0===i&&(i=1),t+=.05,!(this.timeList.length<=0)){var a=0;if(!(t<this.timeList[0])){var s=this.vectices[0].length,r=[],n=this.binarySearch1(this.timeList,t);if(this.frameIndex=n,t>=this.timeList[this.timeList.length-1]){var h=this.vectices[this.vectices.length-1];if(i<1)for(a=0;a<s;a++)r[a]+=(h[a]-r[a])*i;else for(a=0;a<s;a++)r[a]=h[a];this.deformData=r}else{this.tweenKeyList[this.frameIndex];var l=this.vectices[this.frameIndex-1],o=this.vectices[this.frameIndex],u=this.timeList[this.frameIndex-1],c=this.timeList[this.frameIndex];i=this.tweenKeyList[n-1]?(t-u)/(c-u):0;var d=NaN;for(a=0;a<s;a++)d=l[a],r[a]=d+(o[a]-d)*i;this.deformData=r}}}},t}(),Rt=function(){function t(){this.time=NaN,this.drawOrder=[]}return n(t,"laya.ani.bone.DrawOrderData"),t}(),Ot=function(){function t(){this.name=null,this.intValue=0,this.floatValue=NaN,this.stringValue=null,this.time=NaN}return n(t,"laya.ani.bone.EventData"),t}(),b=function(){function at(t,e){this._targetBone=null,this._bones=null,this._data=null,this.name=null,this.mix=NaN,this.bendDirection=NaN,this.isSpine=!0,this._sp=null,this.isDebug=!1,this._data=t,this._targetBone=e[t.targetBoneIndex],this.isSpine=t.isSpine,null==this._bones&&(this._bones=[]);for(var i=this._bones.length=0,a=t.boneIndexs.length;i<a;i++)this._bones.push(e[t.boneIndexs[i]]);this.name=t.name,this.mix=t.mix,this.bendDirection=t.bendDirection}n(at,"laya.ani.bone.IkConstraint");var t=at.prototype;return t.apply=function(){switch(this._bones.length){case 1:this._applyIk1(this._bones[0],this._targetBone.resultMatrix.tx,this._targetBone.resultMatrix.ty,this.mix);break;case 2:this.isSpine?this._applyIk2(this._bones[0],this._bones[1],this._targetBone.resultMatrix.tx,this._targetBone.resultMatrix.ty,this.bendDirection,this.mix):this._applyIk3(this._bones[0],this._bones[1],this._targetBone.resultMatrix.tx,this._targetBone.resultMatrix.ty,this.bendDirection,this.mix)}},t._applyIk1=function(t,e,i,a){var s=t.parentBone,r=1/(s.resultMatrix.a*s.resultMatrix.d-s.resultMatrix.b*s.resultMatrix.c),n=e-s.resultMatrix.tx,h=i-s.resultMatrix.ty,l=(n*s.resultMatrix.d-h*s.resultMatrix.c)*r-t.transform.x,o=(h*s.resultMatrix.a-n*s.resultMatrix.b)*r-t.transform.y,u=Math.atan2(o,l)*at.radDeg-0-t.transform.skX;t.transform.scX<0&&(u+=180),180<u?u-=360:u<-180&&(u+=360),t.transform.skX=t.transform.skY=t.transform.skX+u*a,t.update()},t.updatePos=function(t,e){this._sp&&this._sp.pos(t,e)},t._applyIk2=function(t,e,i,a,s,r){if(0!=r){var n=t.resultTransform.x,h=t.resultTransform.y,l=t.transform.scX,o=t.transform.scY,u=e.transform.scX,c=0,d=0,_=0;_=l<0?(l=-l,c=180,-1):(c=0,1),o<0&&(o=-o,_=-_),d=u<0?(u=-u,180):0;var p=e.resultTransform.x,f=NaN,m=NaN,y=NaN,x=t.resultMatrix.a,g=t.resultMatrix.c,v=t.resultMatrix.b,D=t.resultMatrix.d,M=Math.abs(l-o)<=1e-4;y=M?(m=x*p+g*(f=e.resultTransform.y)+t.resultMatrix.tx,v*p+D*f+t.resultMatrix.ty):(f=0,m=x*p+t.resultMatrix.tx,v*p+t.resultMatrix.ty),this.isDebug&&(this._sp||(this._sp=new rt,st.stage.addChild(this._sp)),this._sp.graphics.clear(),this._sp.graphics.drawCircle(i,a,15,"#ffff00"),this._sp.graphics.drawCircle(m,y,15,"#ff00ff")),t.setRotation(Math.atan2(y-t.resultMatrix.ty,m-t.resultMatrix.tx));var I=t.parentBone;x=I.resultMatrix.a,g=I.resultMatrix.c,v=I.resultMatrix.b;var b=1/(x*(D=I.resultMatrix.d)-g*v),N=i-I.resultMatrix.tx,T=a-I.resultMatrix.ty,A=(N*D-T*g)*b-n,C=(T*x-N*v)*b-h,w=((N=m-I.resultMatrix.tx)*D-(T=y-I.resultMatrix.ty)*g)*b-n,S=(T*x-N*v)*b-h,F=Math.sqrt(w*w+S*S),k=e.length*u,P=NaN,B=NaN;if(M){var U=(A*A+C*C-F*F-(k*=l)*k)/(2*F*k);U<-1?U=-1:1<U&&(U=1),B=Math.acos(U)*s,x=F+k*U,g=k*Math.sin(B),P=Math.atan2(C*x-A*g,A*x+C*g)}else{var L=(x=l*k)*x,R=(g=o*k)*g,O=A*A+C*C,E=Math.atan2(C,A),K=-2*R*F,Y=R-L;if(0<(D=K*K-4*Y*(v=R*F*F+L*O-L*R))){var V=Math.sqrt(D);K<0&&(V=-V);var W=(V=-(K+V)/2)/Y,X=v/V,z=Math.abs(W)<Math.abs(X)?W:X;z*z<=O&&(T=Math.sqrt(O-z*z)*s,P=E-Math.atan2(T,z),B=Math.atan2(T/o,(z-F)/l))}var q=0,G=Number.MAX_VALUE,H=0,Q=0,Z=0,j=0,$=0,J=0;j<(D=(N=F+x)*N)&&(Z=0,j=D,$=N),(D=(N=F-x)*N)<G&&(q=Math.PI,G=D,H=N);var tt=Math.acos(-x*F/(L-R));(D=(N=x*Math.cos(tt)+F)*N+(T=g*Math.sin(tt))*T)<G&&(q=tt,G=D,H=N,Q=T),j<D&&(Z=tt,j=D,$=N,J=T),B=O<=(G+j)/2?(P=E-Math.atan2(Q*s,H),q*s):(P=E-Math.atan2(J*s,$),Z*s)}var et=Math.atan2(f,p)*_,it=t.resultTransform.skX;180<(P=(P-et)*at.radDeg+c-it)?P-=360:P<-180&&(P+=360),t.resultTransform.x=n,t.resultTransform.y=h,t.resultTransform.skX=t.resultTransform.skY=it+P*r,it=e.resultTransform.skX,180<(B=((B+et)*at.radDeg-0)*_+d-(it%=360))?B-=360:B<-180&&(B+=360),e.resultTransform.x=p,e.resultTransform.y=f,e.resultTransform.skX=e.resultTransform.skY=e.resultTransform.skY+B*r,t.update()}},t._applyIk3=function(t,e,i,a,s,r){if(0!=r){var n,h,l=e.resultMatrix.a*e.length,o=e.resultMatrix.b*e.length,u=l*l+o*o,c=Math.sqrt(u),d=t.resultMatrix.tx,_=t.resultMatrix.ty,p=e.resultMatrix.tx,f=e.resultMatrix.ty,m=p-d,y=f-_,x=m*m+y*y,g=Math.sqrt(x),v=(m=i-t.resultMatrix.tx)*m+(y=a-t.resultMatrix.ty)*y,D=Math.sqrt(v);if(c+g<=D||D+c<=g||D+g<=c){var M=NaN;p=d+(M=c+g<=D?1:-1)*(i-d)*g/D,f=_+M*(a-_)*g/D}else{var I=(x-u+v)/(2*v),b=Math.sqrt(x-I*I*v)/D,N=d+m*I,T=_+y*I,A=-y*b,C=m*b;f=0<s?(p=N-A,T-C):(p=N+A,T+C)}n=p,h=f,this.isDebug&&(this._sp||(this._sp=new rt,st.stage.addChild(this._sp)),this._sp.graphics.clear(),this._sp.graphics.drawCircle(d,_,15,"#ff00ff"),this._sp.graphics.drawCircle(i,a,15,"#ffff00"),this._sp.graphics.drawCircle(n,h,15,"#ff00ff"));var w,S;w=Math.atan2(h-t.resultMatrix.ty,n-t.resultMatrix.tx),t.setRotation(w),(S=at._tempMatrix).identity(),S.rotate(w),S.scale(t.resultMatrix.getScaleX(),t.resultMatrix.getScaleY()),S.translate(t.resultMatrix.tx,t.resultMatrix.ty),S.copyTo(t.resultMatrix),t.updateChild();var F,k;F=Math.atan2(a-h,i-n),e.setRotation(F),(k=at._tempMatrix).identity(),k.rotate(F),k.scale(e.resultMatrix.getScaleX(),e.resultMatrix.getScaleY()),k.translate(n,h),S.copyTo(e.resultMatrix),e.updateChild()}},i(at,["radDeg",function(){return this.radDeg=180/Math.PI},"degRad",function(){return this.degRad=Math.PI/180},"_tempMatrix",function(){return this._tempMatrix=new St}]),at}(),Et=function(){function t(){this.name=null,this.targetBoneName=null,this.bendDirection=1,this.mix=1,this.isSpine=!0,this.targetBoneIndex=-1,this.boneNames=[],this.boneIndexs=[]}return n(t,"laya.ani.bone.IkConstraintData"),t}(),N=function(){function _(){}return n(_,"laya.ani.bone.MeshTools"),_.findEdge=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=!0);var a,s=0,r=0;for(a=t.length,r=-1,s=0;s<a;s+=2)(r<0||i==t[r+e]<t[s+e])&&(r=s);return r},_.findBestTriangle=function(t){var e;e=_.findEdge(t,1,!0);var i;i=_.findEdge(t,1,!1);var a;a=_.findEdge(t,0,!0);var s,r;return s=_.findEdge(t,0,!1),(r=_._bestTriangle).length=0,r.push(a,s),r.indexOf(e)<0&&r.push(e),r.indexOf(i)<0&&r.push(i),r},_.solveMesh=function(t,e){var i,a,s,r;(e=e||[]).length=0,i=t.uvs,a=t.vertices;var n,h,l;return n=(r=_.findBestTriangle(i))[0],h=r[1],l=r[2],_._absArr.length=0,_.isNormalUV(t.texture.uv)&&_.adptTexture(t),s=_.solvePoints(t.texture.uv,i[n],i[n+1],i[h]-i[n],i[h+1]-i[n+1],i[l]-i[n],i[l+1]-i[n+1],_._absArr),_.transPoints(s,a[n],a[n+1],a[h]-a[n],a[h+1]-a[n+1],a[l]-a[n],a[l+1]-a[n+1],e)},_.findWrapRect=function(t){var e;e=_.findEdge(t,1,!0);var i;i=_.findEdge(t,1,!1);var a;a=_.findEdge(t,0,!0);var s;s=_.findEdge(t,0,!1);var r;r=t[a];var n;n=t[s];var h;h=t[e+1];var l;return[n,l=t[i+1],r-n,h-l]},_.adptTexture=function(t){var e,i,a;e=_.findWrapRect(t.uvs);var s=(i=t.texture).width,r=i.height;a=Ft.create(i,e[0]*s,e[1]*r,e[2]*s,e[3]*r),t.texture=a},_.isNormalUV=function(t){return 0==t[0]&&0==t[1]&&1==t[4]&&1==t[5]},_.solvePoints=function(t,e,i,a,s,r,n,h){h=h||[];var l,o,u=0;for(l=t.length,u=0;u<l;u+=2)o=_.solve2(t[u],t[u+1],e,i,a,s,r,n),h.push(o[0],o[1]);return h},_.transPoints=function(t,e,i,a,s,r,n,h){h=h||[];var l,o=0;for(l=t.length,o=0;o<l;o+=2)_.transPoint(t[o],t[o+1],e,i,a,s,r,n,h);return h},_.transPoint=function(t,e,i,a,s,r,n,h,l){var o,u;return o=i+s*t+n*e,u=a+r*t+h*e,(l=l||[]).push(o,u),l},_.solve2=function(t,e,i,a,s,r,n,h,l,o){void 0===l&&(l=!1),o=o||[];var u,c;if(0==s)return _.solve2(t,e,i,a,n,h,s,r,!0,o);var d;return u=((d=t-i)-(c=(e-a-d*r/s)/(h-n*r/s))*n)/s,l?o.push(c,u):o.push(u,c),o},_.solve=function(t,e,i,a){return _.solve2(t.x,t.y,e.x,e.y,i.x,i.y,a.x,a.y)},_._bestTriangle=[],_._absArr=[],_}(),T=function(){function k(t,e){this.target=null,this.data=null,this.bones=null,this.position=NaN,this.spacing=NaN,this.rotateMix=NaN,this.translateMix=NaN,this._debugKey=!1,this._spaces=null,this._segments=[],this._curves=[],this.data=t,this.position=t.position,this.spacing=t.spacing,this.rotateMix=t.rotateMix,this.translateMix=t.translateMix,this.bones=[];for(var i=this.data.bones,a=0,s=i.length;a<s;a++)this.bones.push(e[i[a]])}n(k,"laya.ani.bone.PathConstraint");var t=k.prototype;return t.apply=function(t,e){if(this.target){var i=this.translateMix,a=this.translateMix,s=0<a,r=this.data.spacingMode,n="length"==r,h=this.data.rotateMode,l="tangent"==h,o="chainScale"==h,u=[],c=this.bones.length,d=l?c:c+1,_=[];(this._spaces=_)[0]=this.position;var p=this.spacing;if(o||n)for(var f=0,m=d-1;f<m;){var y=this.bones[f],x=y.length,g=x*y.resultMatrix.a,v=x*y.resultMatrix.b;x=Math.sqrt(g*g+v*v),o&&(u[f]=x),_[++f]=n?Math.max(0,x+p):p}else for(f=1;f<d;f++)_[f]=p;var D=this.computeWorldPositions(this.target,t,e,d,l,"percent"==this.data.positionMode,"percent"==r);if(this._debugKey){for(f=0;f<D.length;f++)e.drawCircle(D[f++],D[f++],5,"#00ff00");var M=[];for(f=0;f<D.length;f++)M.push(D[f++],D[f++]);e.drawLines(0,0,M,"#ff0000")}var I=D[0],b=D[1],N=this.data.offsetRotation,T="chain"==h&&0==N,A=NaN;for(f=0,A=3;f<c;f++,A+=3){(y=this.bones[f]).resultMatrix.tx+=(I-y.resultMatrix.tx)*i,y.resultMatrix.ty+=(b-y.resultMatrix.ty)*i;var C=(g=D[A])-I,w=(v=D[A+1])-b;if(o&&0!=(x=u[f])){var S=(Math.sqrt(C*C+w*w)/x-1)*a+1;y.resultMatrix.a*=S,y.resultMatrix.c*=S}if(I=g,b=v,s){var F=y.resultMatrix.a,k=y.resultMatrix.c,P=y.resultMatrix.b,B=y.resultMatrix.d,U=NaN,L=NaN,R=NaN;U=l?D[A-1]:0==_[f+1]?D[A+2]:Math.atan2(w,C),U-=Math.atan2(P,F)-N/180*Math.PI,T&&(L=Math.cos(U),R=Math.sin(U),I+=((x=y.length)*(L*F-R*P)-C)*a,b+=(x*(R*F+L*P)-w)*a),U>Math.PI?U-=2*Math.PI:U<-Math.PI&&(U+=2*Math.PI),U*=a,L=Math.cos(U),R=Math.sin(U),y.resultMatrix.a=L*F-R*P,y.resultMatrix.c=L*k-R*B,y.resultMatrix.b=R*F+L*P,y.resultMatrix.d=R*k+L*B}}}},t.computeWorldVertices2=function(t,e,i,a,s,r){var n,h,l=t.currDisplayData.bones,o=t.currDisplayData.weights,u=t.currDisplayData.triangles,c=0,d=0,_=0,p=0,f=0,m=0,y=0,x=0,g=0,v=0,D=0;if(null!=l){for(c=0;c<i;c+=2)d+=(p=l[d])+1,_+=p;var M=e;for(f=r,m=3*_;f<a;f+=2){for(x=y=0,p=l[d++],p+=d;d<p;d++,m+=3){n=M[l[d]].resultMatrix,g=o[m],v=o[m+1];var I=o[m+2];y+=(g*n.a+v*n.c+n.tx)*I,x+=(g*n.b+v*n.d+n.ty)*I}s[f]=y,s[f+1]=x}}else{var b,N;if(u||(u=o),t.deformData&&(u=t.deformData),b=t.parent,e)for(D=e.length,c=0;c<D;c++)if(e[c].name==b){h=e[c];break}h&&(N=h.resultMatrix),N||(N=k._tempMt);var T=N.tx,A=N.ty,C=N.a,w=N.b,S=N.c,F=N.d;for(h&&(F*=h.d),d=i,f=r;f<a;d+=2,f+=2)g=u[d],v=u[d+1],s[f]=g*C+v*w+T,s[f+1]=-(g*S+v*F+A)}},t.computeWorldPositions=function(t,e,i,a,s,r,n){t.currDisplayData.bones,t.currDisplayData.weights,t.currDisplayData.triangles;var h=[],l=0,o=t.currDisplayData.verLen,u=this.position,c=this._spaces,d=[],_=[],p=o/6,f=-1,m=NaN,y=0,x=0,g=NaN,v=NaN,D=NaN,M=NaN;if(p--,o-=4,this.computeWorldVertices2(t,e,2,o,h,0),this._debugKey)for(l=0;l<h.length;)i.drawCircle(h[l++],h[l++],10,"#ff0000");d=h,this._curves.length=p;var I=this._curves,b=d[m=0],N=d[1],T=0,A=0,C=0,w=0,S=0,F=0,k=NaN,P=NaN,B=NaN,U=NaN,L=NaN,R=NaN,O=NaN,E=NaN,K=0;for(l=0,K=2;l<p;l++,K+=6)T=d[K],A=d[K+1],C=d[K+2],w=d[K+3],L=2*(k=.1875*(b-2*T+C))+(B=.09375*(3*(T-C)-b+(S=d[K+4]))),R=2*(P=.1875*(N-2*A+w))+(U=.09375*(3*(A-w)-N+(F=d[K+5]))),O=.75*(T-b)+k+.16666667*B,E=.75*(A-N)+P+.16666667*U,m+=Math.sqrt(O*O+E*E),O+=L,E+=R,L+=B,R+=U,m+=Math.sqrt(O*O+E*E),O+=L,E+=R,m+=Math.sqrt(O*O+E*E),O+=L+B,E+=R+U,m+=Math.sqrt(O*O+E*E),I[l]=m,b=S,N=F;if(r&&(u*=m),n)for(l=0;l<a;l++)c[l]*=m;var Y=this._segments,V=0,W=0;for(W=x=y=l=0;l<a;l++,y+=3)if((g=u+=v=c[l])<0)this.addBeforePosition(g,d,0,_,y);else if(m<g)this.addAfterPosition(g-m,d,o-4,_,y);else{for(;;x++)if(!((M=I[x])<g)){0==x?g/=M:g=(g-(D=I[x-1]))/(M-D);break}if(x!=f){var X=6*(f=x);for(b=d[X],N=d[X+1],T=d[X+2],A=d[X+3],C=d[X+4],w=d[X+5],L=2*(k=.03*(b-2*T+C))+(B=.006*(3*(T-C)-b+(S=d[X+6]))),R=2*(P=.03*(N-2*A+w))+(U=.006*(3*(A-w)-N+(F=d[X+7]))),O=.3*(T-b)+k+.16666667*B,E=.3*(A-N)+P+.16666667*U,V=Math.sqrt(O*O+E*E),Y[0]=V,X=1;X<8;X++)O+=L,E+=R,L+=B,R+=U,V+=Math.sqrt(O*O+E*E),Y[X]=V;O+=L,E+=R,V+=Math.sqrt(O*O+E*E),Y[8]=V,O+=L+B,E+=R+U,V+=Math.sqrt(O*O+E*E),Y[9]=V,W=0}for(g*=V;;W++)if(!((M=Y[W])<g)){0==W?g/=M:g=W+(g-(D=Y[W-1]))/(M-D);break}this.addCurvePosition(.1*g,b,N,T,A,C,w,S,F,_,y,s||0<l&&0==v)}return _},t.addBeforePosition=function(t,e,i,a,s){var r=e[i],n=e[i+1],h=e[i+2]-r,l=e[i+3]-n,o=Math.atan2(l,h);a[s]=r+t*Math.cos(o),a[s+1]=n+t*Math.sin(o),a[s+2]=o},t.addAfterPosition=function(t,e,i,a,s){var r=e[i+2],n=e[i+3],h=r-e[i],l=n-e[i+1],o=Math.atan2(l,h);a[s]=r+t*Math.cos(o),a[s+1]=n+t*Math.sin(o),a[s+2]=o},t.addCurvePosition=function(t,e,i,a,s,r,n,h,l,o,u,c){0==t&&(t=1e-4);var d=t*t,_=d*t,p=1-t,f=p*p,m=f*p,y=p*t,x=3*y,g=p*x,v=x*t,D=e*m+a*g+r*v+h*_,M=i*m+s*g+n*v+l*_;o[u]=D,o[u+1]=M,o[u+2]=c?Math.atan2(M-(i*f+s*y*2+n*d),D-(e*f+a*y*2+r*d)):0},k.NONE=-1,k.BEFORE=-2,k.AFTER=-3,i(k,["_tempMt",function(){return this._tempMt=new St}]),k}(),Kt=function(){function t(){this.name=null,this.target=null,this.positionMode=null,this.spacingMode=null,this.rotateMode=null,this.offsetRotation=NaN,this.position=NaN,this.spacing=NaN,this.rotateMix=NaN,this.translateMix=NaN,this.bones=[]}return n(t,"laya.ani.bone.PathConstraintData"),t}(),Yt=function(){function t(){this.name=null,this.slotArr=[]}return n(t,"laya.ani.bone.SkinData"),t}(),Vt=function(){function t(){this.name=null,this.attachmentName=null,this.type=0,this.transform=null,this.width=NaN,this.height=NaN,this.texture=null,this.bones=null,this.uvs=null,this.weights=null,this.triangles=null,this.vertices=null,this.lengths=null,this.verLen=0}n(t,"laya.ani.bone.SkinSlotDisplayData");var e=t.prototype;return e.createTexture=function(t){return this.texture||(this.texture=new Ft(t.bitmap,this.uvs),this.uvs[0]>this.uvs[4]&&this.uvs[1]>this.uvs[5]?(this.texture.width=t.height,this.texture.height=t.width,this.texture.offsetX=-t.offsetX,this.texture.offsetY=-t.offsetY,this.texture.sourceWidth=t.sourceHeight,this.texture.sourceHeight=t.sourceWidth):(this.texture.width=t.width,this.texture.height=t.height,this.texture.offsetX=-t.offsetX,this.texture.offsetY=-t.offsetY,this.texture.sourceWidth=t.sourceWidth,this.texture.sourceHeight=t.sourceHeight),m.isWebGL||this.uvs[1]>this.uvs[5]&&(this.texture.offsetY=this.texture.sourceHeight-this.texture.height-this.texture.offsetY)),this.texture},e.destory=function(){this.texture&&this.texture.destroy()},t}(),Wt=function(){function t(){this.name=null,this.displayArr=[]}return n(t,"laya.ani.bone.SlotData"),t.prototype.getDisplayByName=function(t){for(var e=0,i=this.displayArr.length;e<i;e++)if(this.displayArr[e].attachmentName==t)return e;return-1},t}(),A=function(){function t(t,e){this._data=null,this._bones=null,this.target=null,this.rotateMix=NaN,this.translateMix=NaN,this.scaleMix=NaN,this.shearMix=NaN,this._temp=f(2,0),this._data=t,null==this._bones&&(this._bones=[]),this.target=e[t.targetIndex];var i,a=0;for(a=0,i=t.boneIndexs.length;a<i;a++)this._bones.push(e[t.boneIndexs[a]]);this.rotateMix=t.rotateMix,this.translateMix=t.translateMix,this.scaleMix=t.scaleMix,this.shearMix=t.shearMix}return n(t,"laya.ani.bone.TfConstraint"),t.prototype.apply=function(){for(var t,e=this.target.resultMatrix.a,i=this.target.resultMatrix.b,a=this.target.resultMatrix.c,s=this.target.resultMatrix.d,r=0,n=this._bones.length;r<n;r++){if(t=this._bones[r],0<this.rotateMix){var h=t.resultMatrix.a,l=t.resultMatrix.b,o=t.resultMatrix.c,u=t.resultMatrix.d,c=Math.atan2(a,e)-Math.atan2(o,h)+this._data.offsetRotation*Math.PI/180;c>Math.PI?c-=2*Math.PI:c<-Math.PI&&(c+=2*Math.PI),c*=this.rotateMix;var d=Math.cos(c),_=Math.sin(c);t.resultMatrix.a=d*h-_*o,t.resultMatrix.b=d*l-_*u,t.resultMatrix.c=_*h+d*o,t.resultMatrix.d=_*l+d*u}if(this.translateMix&&(this._temp[0]=this._data.offsetX,this._temp[1]=this._data.offsetY,this.target.localToWorld(this._temp),t.resultMatrix.tx+=(this._temp[0]-t.resultMatrix.tx)*this.translateMix,t.resultMatrix.ty+=(this._temp[1]-t.resultMatrix.ty)*this.translateMix,t.updateChild()),0<this.scaleMix){var p=Math.sqrt(t.resultMatrix.a*t.resultMatrix.a+t.resultMatrix.c*t.resultMatrix.c),f=Math.sqrt(e*e+a*a),m=1e-5<p?(p+(f-p+this._data.offsetScaleX)*this.scaleMix)/p:0;t.resultMatrix.a*=m,t.resultMatrix.c*=m,p=Math.sqrt(t.resultMatrix.b*t.resultMatrix.b+t.resultMatrix.d*t.resultMatrix.d),f=Math.sqrt(i*i+s*s),m=1e-5<p?(p+(f-p+this._data.offsetScaleY)*this.scaleMix)/p:0,t.resultMatrix.b*=m,t.resultMatrix.d*=m}if(0<this.shearMix){l=t.resultMatrix.b,u=t.resultMatrix.d;var y=Math.atan2(u,l);(c=Math.atan2(s,i)-Math.atan2(a,e)-(y-Math.atan2(t.resultMatrix.c,t.resultMatrix.a)))>Math.PI?c-=2*Math.PI:c<-Math.PI&&(c+=2*Math.PI),c=y+(c+this._data.offsetShearY*Math.PI/180)*this.shearMix,m=Math.sqrt(l*l+u*u),t.resultMatrix.b=Math.cos(c)*m,t.resultMatrix.d=Math.sin(c)*m}}},t}(),Xt=function(){function t(){this.name=null,this.targetIndex=0,this.rotateMix=NaN,this.translateMix=NaN,this.scaleMix=NaN,this.shearMix=NaN,this.offsetRotation=NaN,this.offsetX=NaN,this.offsetY=NaN,this.offsetScaleX=NaN,this.offsetScaleY=NaN,this.offsetShearY=NaN,this.boneIndexs=[]}return n(t,"laya.ani.bone.TfConstraintData"),t}(),zt=function(){function t(){this.skX=0,this.skY=0,this.scX=1,this.scY=1,this.x=0,this.y=0,this.skewX=0,this.skewY=0,this.mMatrix=null}n(t,"laya.ani.bone.Transform");var e=t.prototype;return e.initData=function(t){null!=t.x&&(this.x=t.x),null!=t.y&&(this.y=t.y),null!=t.skX&&(this.skX=t.skX),null!=t.skY&&(this.skY=t.skY),null!=t.scX&&(this.scX=t.scX),null!=t.scY&&(this.scY=t.scY)},e.getMatrix=function(){var t;return(t=this.mMatrix?this.mMatrix:this.mMatrix=new St).identity(),t.scale(this.scX,this.scY),(this.skewX||this.skewY)&&this.skew(t,this.skewX*Math.PI/180,this.skewY*Math.PI/180),t.rotate(this.skX*Math.PI/180),t.translate(this.x,this.y),t},e.skew=function(t,e,i){var a=Math.sin(i),s=Math.cos(i),r=Math.sin(e),n=Math.cos(e);return t.setTo(t.a*n-t.b*a,t.a*r+t.b*s,t.c*n-t.d*a,t.c*r+t.d*s,t.tx*n-t.ty*a,t.tx*r+t.ty*s),t},t}(),C=function(){function t(){}return n(t,"laya.ani.bone.UVTools"),t.getRelativeUV=function(t,e,i){var a=t[0],s=t[2]-t[0],r=t[1],n=t[5]-t[1];i||(i=[]),i.length=e.length;var h,l=0;h=i.length;var o=1/s,u=1/n;for(l=0;l<h;l+=2)i[l]=(e[l]-a)*o,i[l+1]=(e[l+1]-r)*u;return i},t.getAbsoluteUV=function(t,e,i){if(0==t[0]&&0==t[1]&&1==t[4]&&1==t[5])return i?(g.copyArray(i,e),i):e;var a=t[0],s=t[2]-t[0],r=t[1],n=t[5]-t[1];i||(i=[]),i.length=e.length;var h,l=0;for(h=i.length,l=0;l<h;l+=2)i[l]=e[l]*s+a,i[l+1]=e[l+1]*n+r;return i},t}(),k=function(){function t(){this.startTime=NaN,this.duration=NaN,this.interpolationData=null,this.data=null,this.nextData=null}return n(t,"laya.ani.KeyFramesContent"),t}(),w=function(){function u(){}return n(u,"laya.ani.math.BezierLerp"),u.getBezierRate=function(t,e,i,a,s){var r=u._getBezierParamKey(e,i,a,s),n=100*r+t;if(u._bezierResultCache[n])return u._bezierResultCache[n];var h,l=u._getBezierPoints(e,i,a,s,r),o=0;for(h=l.length,o=0;o<h;o+=2)if(t<=l[o])return u._bezierResultCache[n]=l[o+1],l[o+1];return u._bezierResultCache[n]=1},u._getBezierParamKey=function(t,e,i,a){return 100*(100*(100*(100*t+e)+i)+a)},u._getBezierPoints=function(t,e,i,a,s){return u._bezierPointsCache[s]?u._bezierPointsCache[s]:(r=[0,0,t,e,i,a,1,1],n=(new h).getBezierPoints(r,100,3),u._bezierPointsCache[s]=n);var r,n},u._bezierResultCache={},u._bezierPointsCache={},u}(),P=function(t){function e(){this._destroyed=!1,this._templet=null,this._currentTime=NaN,this._currentFrameTime=NaN,this._playStart=NaN,this._playEnd=NaN,this._playDuration=NaN,this._overallDuration=NaN,this._stopWhenCircleFinish=!1,this._elapsedPlaybackTime=NaN,this._startUpdateLoopCount=NaN,this._currentAnimationClipIndex=0,this._currentKeyframeIndex=0,this._paused=!1,this._cacheFrameRate=0,this._cacheFrameRateInterval=NaN,this._cachePlayRate=NaN,this._fullFrames=null,this.isCache=!0,this.playbackRate=1,this.returnToZeroStopped=!1,e.__super.call(this),this._destroyed=!1,this._currentAnimationClipIndex=-1,this._currentKeyframeIndex=-1,this._currentTime=0,this._overallDuration=Number.MAX_VALUE,this._stopWhenCircleFinish=!1,this._elapsedPlaybackTime=0,this._startUpdateLoopCount=-1,this._cachePlayRate=1,this.cacheFrameRate=60,this.returnToZeroStopped=!1}n(e,"laya.ani.AnimationPlayer",s);var i=e.prototype;return st.imps(i,{"laya.resource.IDestroy":!0}),i._onTempletLoadedComputeFullKeyframeIndices=function(t,e,i){this._templet===i&&this._cachePlayRate===t&&this._cacheFrameRate===e&&this._computeFullKeyframeIndices()},i._computeFullKeyframeIndices=function(){for(var t=this._fullFrames=[],e=this._templet,i=this._cacheFrameRateInterval*this._cachePlayRate,a=0,s=e.getAnimationCount();a<s;a++){for(var r=[],n=0,h=e.getAnimation(a).nodes.length;n<h;n++){for(var l=e.getAnimation(a).nodes[n],o=Math.floor(l.playTime/i+.01),u=new Uint16Array(o+1),c=-1,d=0,_=l.keyFrame.length;d<_;d++){var p=l.keyFrame[d],f=p.startTime,m=f+p.duration+i;do{for(var y=Math.floor(f/i+.5),x=c+1;x<y;x++)u[x]=d;u[c=y]=d,f+=i}while(f<=m)}r.push(u)}t.push(r)}},i._onAnimationTempletLoaded=function(){this.destroyed||this._calculatePlayDuration()},i._calculatePlayDuration=function(){if(0!==this.state){var t=this._templet.getAniDuration(this._currentAnimationClipIndex);0===this._playEnd&&(this._playEnd=t),this._playEnd>t&&(this._playEnd=t),this._playDuration=this._playEnd-this._playStart}},i._setPlayParams=function(t,e){this._currentTime=t,this._currentKeyframeIndex=Math.max(Math.floor(this.currentPlayTime/e+.01),0),this._currentFrameTime=this._currentKeyframeIndex*e},i._setPlayParamsWhenStop=function(t,e){this._currentTime=t,this._currentKeyframeIndex=Math.max(Math.floor(t/e+.01),0),this._currentFrameTime=this._currentKeyframeIndex*e,this._currentAnimationClipIndex=-1},i._update=function(t){if(-1!==this._currentAnimationClipIndex&&!this._paused&&this._templet&&this._templet.loaded){var e=this._cacheFrameRateInterval*this._cachePlayRate,i=0;this._startUpdateLoopCount!==x.loopCount&&(i=t*this.playbackRate,this._elapsedPlaybackTime+=i);var a=this.playDuration;if(0!==this._overallDuration&&this._elapsedPlaybackTime>=this._overallDuration||0===this._overallDuration&&this._elapsedPlaybackTime>=a)return this._setPlayParamsWhenStop(a,e),void this.event("stopped");if(i+=this._currentTime,0<a)if(a<=i)do{if(i-=a,this._stopWhenCircleFinish)return this._setPlayParamsWhenStop(a,e),this._stopWhenCircleFinish=!1,void this.event("stopped");i<a&&(this._setPlayParams(i,e),this.event("complete"))}while(a<=i);else this._setPlayParams(i,e);else{if(this._stopWhenCircleFinish)return this._setPlayParamsWhenStop(a,e),this._stopWhenCircleFinish=!1,void this.event("stopped");this._currentTime=this._currentFrameTime=this._currentKeyframeIndex=0,this.event("complete")}}},i._destroy=function(){this.offAll(),this._templet=null,this._fullFrames=null,this._destroyed=!0},i.play=function(t,e,i,a,s){if(void 0===t&&(t=0),void 0===e&&(e=1),void 0===i&&(i=2147483647),void 0===a&&(a=0),void 0===s&&(s=0),!this._templet)throw new Error("AnimationPlayer:templet must not be null,maybe you need to set url.");if(i<0||a<0||s<0)throw new Error("AnimationPlayer:overallDuration,playStart and playEnd must large than zero.");if(0!==s&&s<a)throw new Error("AnimationPlayer:start must less than end.");this._currentTime=0,this._currentFrameTime=0,this._elapsedPlaybackTime=0,this.playbackRate=e,this._overallDuration=i,this._playStart=a,this._playEnd=s,this._paused=!1,this._currentAnimationClipIndex=t,this._currentKeyframeIndex=0,this._startUpdateLoopCount=x.loopCount,this.event("played"),this._templet.loaded?this._calculatePlayDuration():this._templet.once("loaded",this,this._onAnimationTempletLoaded),this._update(0)},i.playByFrame=function(t,e,i,a,s,r){void 0===t&&(t=0),void 0===e&&(e=1),void 0===i&&(i=2147483647),void 0===a&&(a=0),void 0===s&&(s=0),void 0===r&&(r=30);var n=1e3/r;this.play(t,e,i,a*n,s*n)},i.stop=function(t){void 0===t&&(t=!0),t?(this._currentTime=this._currentFrameTime=this._currentKeyframeIndex=0,this._currentAnimationClipIndex=-1,this.event("stopped")):this._stopWhenCircleFinish=!0},a(0,i,"playEnd",function(){return this._playEnd}),a(0,i,"templet",function(){return this._templet},function(t){0===!this.state&&this.stop(!0),this._templet!==t&&((this._templet=t).loaded?this._computeFullKeyframeIndices():t.once("loaded",this,this._onTempletLoadedComputeFullKeyframeIndices,[this._cachePlayRate,this._cacheFrameRate]))}),a(0,i,"playStart",function(){return this._playStart}),a(0,i,"playDuration",function(){return this._playDuration}),a(0,i,"state",function(){return-1===this._currentAnimationClipIndex?0:this._paused?1:2}),a(0,i,"currentKeyframeIndex",function(){return this._currentKeyframeIndex}),a(0,i,"overallDuration",function(){return this._overallDuration}),a(0,i,"currentFrameTime",function(){return this._currentFrameTime}),a(0,i,"currentAnimationClipIndex",function(){return this._currentAnimationClipIndex}),a(0,i,"currentPlayTime",function(){return this._currentTime+this._playStart}),a(0,i,"cachePlayRate",function(){return this._cachePlayRate},function(t){this._cachePlayRate!==t&&(this._cachePlayRate=t,this._templet&&(this._templet.loaded?this._computeFullKeyframeIndices():this._templet.once("loaded",this,this._onTempletLoadedComputeFullKeyframeIndices,[t,this._cacheFrameRate])))}),a(0,i,"cacheFrameRate",function(){return this._cacheFrameRate},function(t){this._cacheFrameRate!==t&&(this._cacheFrameRate=t,this._cacheFrameRateInterval=1e3/this._cacheFrameRate,this._templet&&(this._templet.loaded?this._computeFullKeyframeIndices():this._templet.once("loaded",this,this._onTempletLoadedComputeFullKeyframeIndices,[this._cachePlayRate,t])))}),a(0,i,"currentTime",null,function(t){if(-1!==this._currentAnimationClipIndex&&this._templet&&this._templet.loaded){if(t<this._playStart||t>this._playEnd)throw new Error("AnimationPlayer:value must large than playStartTime,small than playEndTime.");this._startUpdateLoopCount=x.loopCount;var e=this._cacheFrameRateInterval*this._cachePlayRate;this._currentTime=t,this._currentKeyframeIndex=Math.max(Math.floor(this.currentPlayTime/e),0),this._currentFrameTime=this._currentKeyframeIndex*e}}),a(0,i,"paused",function(){return this._paused},function(t){(this._paused=t)&&this.event("paused")}),a(0,i,"cacheFrameRateInterval",function(){return this._cacheFrameRateInterval}),a(0,i,"destroyed",function(){return this._destroyed}),e}(),B=function(t){function e(){e.__super.call(this),m.isConchNode&&(this.drawSkin=function(t){t.transform||(t.transform=St.EMPTY),this._addCmd([t]),this.setSkinMesh&&this.setSkinMesh(t._ps,t.mVBData,t.mEleNum,0,t.mTexture,t.transform)})}return n(e,"laya.ani.GraphicsAni",r),e.prototype.drawSkin=function(t){var e=[t];this._saveToCmd(m._context._drawSkin,e)},e.create=function(){return e._caches.pop()||new e},e.recycle=function(t){t.clear(),e._caches.push(t)},e._caches=[],e}(),U=function(t){function a(){a.__super.call(this),this.mesh=new I}n(a,"laya.ani.bone.canvasmesh.SkinMeshCanvas",M);var e=a.prototype;return e.init2=function(t,e,i,a,s){var r;this.transform&&(this.transform=null),i?r=i:(r=[]).push(0,1,3,3,1,2),this.mesh.texture=t,this.mesh.indexes=r,this.mesh.vertices=a,this.mesh.uvs=s},e.render=function(t,e,i){this.mesh.texture&&(this.transform?(this.transform.translate(e,i),this.renderToContext(t),this.transform.translate(-e,-i)):(this.transform=a._tempMatrix,this.transform.identity(),this.transform.translate(e,i),this.renderToContext(t),this.transform.translate(-e,-i),this.transform=null))},i(a,["_tempMatrix",function(){return this._tempMatrix=new St}]),a}(),L=function(t){function x(){this._aniMap={},this.unfixedLastAniIndex=-1,x.__super.call(this),this._anis=new Array}n(x,"laya.ani.AnimationTemplet",p);var e=x.prototype;return e.parse=function(t){var e=new wt(t);this._aniVersion=e.readUTFString(),v.parse(this,e)},e._calculateKeyFrame=function(t,e,i){var a=t.keyFrame;a[e]=a[0];for(var s=0;s<e;s++){var r=a[s];r.nextData=0===r.duration?r.data:a[s+1].data}a.length--},e.onAsynLoaded=function(t,e,i){var a=new wt(e);switch(this._aniVersion=a.readUTFString(),this._aniVersion){case"LAYAANIMATION:02":D.parse(this,a);break;default:v.parse(this,a)}this._endLoaded()},e.disposeResource=function(){this._aniVersion=null,this._anis=null,this._aniMap=null,this._publicExtData=null,this.unfixedCurrentFrameIndexes=null,this.unfixedCurrentTimes=null,this.unfixedKeyframes=null,this._aniClassName=null,this._animationDatasCache=null},e.getAnimationCount=function(){return this._anis.length},e.getAnimation=function(t){return this._anis[t]},e.getAniDuration=function(t){return this._anis[t].playTime},e.getNodes=function(t){return this._anis[t].nodes},e.getNodeIndexWithName=function(t,e){return this._anis[t].bone3DMap[e]},e.getNodeCount=function(t){return this._anis[t].nodes.length},e.getTotalkeyframesLength=function(t){return this._anis[t].totalKeyframeDatasLength},e.getPublicExtData=function(){return this._publicExtData},e.getAnimationDataWithCache=function(t,e,i,a){var s=e[i];if(s){var r=s[t];return r?r[a]:null}return null},e.setAnimationDataWithCache=function(t,e,i,a,s){var r=e[i]||(e[i]={});(r[t]||(r[t]=[]))[a]=s},e.getOriginalData=function(t,e,i,a,s){for(var r=this._anis[t].nodes,n=0,h=0,l=r.length,o=0;h<l;h++){var u,c=r[h];u=c.keyFrame[i[h][a]],c.dataOffset=o;var d=s-u.startTime,_=c.lerpType;if(_)switch(_){case 0:case 1:for(n=0;n<c.keyframeWidth;)n+=c.interpolationMethod[n](c,n,e,o+n,u.data,d,null,u.duration,u.nextData);break;case 2:var p=u.interpolationData,f=p.length,m=0;for(n=0;n<f;){var y=p[n];switch(y){case 6:case 7:n+=x.interpolation[y](c,m,e,o+m,u.data,d,null,u.duration,u.nextData,p,n+1);break;default:n+=x.interpolation[y](c,m,e,o+m,u.data,d,null,u.duration,u.nextData)}m++}}else for(n=0;n<c.keyframeWidth;)n+=c.interpolationMethod[n](c,n,e,o+n,u.data,d,null,u.duration,u.nextData);o+=c.keyframeWidth}},e.getNodesCurrentFrameIndex=function(t,e){var i=this._anis[t].nodes;t!==this.unfixedLastAniIndex&&(this.unfixedCurrentFrameIndexes=new Uint32Array(i.length),this.unfixedCurrentTimes=new Float32Array(i.length),this.unfixedLastAniIndex=t);for(var a=0,s=i.length;a<s;a++){var r=i[a];for(e<this.unfixedCurrentTimes[a]&&(this.unfixedCurrentFrameIndexes[a]=0),this.unfixedCurrentTimes[a]=e;this.unfixedCurrentFrameIndexes[a]<r.keyFrame.length&&!(r.keyFrame[this.unfixedCurrentFrameIndexes[a]].startTime>this.unfixedCurrentTimes[a]);)this.unfixedCurrentFrameIndexes[a]++;this.unfixedCurrentFrameIndexes[a]--}return this.unfixedCurrentFrameIndexes},e.getOriginalDataUnfixedRate=function(t,e,i){var a=this._anis[t].nodes;t!==this.unfixedLastAniIndex&&(this.unfixedCurrentFrameIndexes=new Uint32Array(a.length),this.unfixedCurrentTimes=new Float32Array(a.length),this.unfixedKeyframes=f(a.length),this.unfixedLastAniIndex=t);for(var s=0,r=0,n=a.length,h=0;r<n;r++){var l=a[r];for(i<this.unfixedCurrentTimes[r]&&(this.unfixedCurrentFrameIndexes[r]=0),this.unfixedCurrentTimes[r]=i;this.unfixedCurrentFrameIndexes[r]<l.keyFrame.length&&!(l.keyFrame[this.unfixedCurrentFrameIndexes[r]].startTime>this.unfixedCurrentTimes[r]);)this.unfixedKeyframes[r]=l.keyFrame[this.unfixedCurrentFrameIndexes[r]],this.unfixedCurrentFrameIndexes[r]++;var o=this.unfixedKeyframes[r];l.dataOffset=h;var u=i-o.startTime;if(l.lerpType)switch(l.lerpType){case 0:case 1:for(s=0;s<l.keyframeWidth;)s+=l.interpolationMethod[s](l,s,e,h+s,o.data,u,null,o.duration,o.nextData);break;case 2:var c=o.interpolationData,d=c.length,_=0;for(s=0;s<d;){var p=c[s];switch(p){case 6:case 7:s+=x.interpolation[p](l,_,e,h+_,o.data,u,null,o.duration,o.nextData,c,s+1);break;default:s+=x.interpolation[p](l,_,e,h+_,o.data,u,null,o.duration,o.nextData)}_++}}else for(s=0;s<l.keyframeWidth;)s+=l.interpolationMethod[s](l,s,e,h+s,o.data,u,null,o.duration,o.nextData);h+=l.keyframeWidth}},x._LinearInterpolation_0=function(t,e,i,a,s,r,n,h,l,o){var u=0===h?0:r/h;return i[a]=(1-u)*s[e]+u*l[e],1},x._QuaternionInterpolation_1=function(t,e,i,a,s,r,n,h,l,o){var u=0===h?0:r/h;return d.slerpQuaternionArray(s,e,l,e,u,i,a),4},x._AngleInterpolation_2=function(t,e,i,a,s,r,n,h,l,o){return 0},x._RadiansInterpolation_3=function(t,e,i,a,s,r,n,h,l,o){return 0},x._Matrix4x4Interpolation_4=function(t,e,i,a,s,r,n,h,l,o){for(var u=0;u<16;u++,e++)i[a+u]=s[e]+r*n[e];return 16},x._NoInterpolation_5=function(t,e,i,a,s,r,n,h,l,o){return i[a]=s[e],1},x._BezierInterpolation_6=function(t,e,i,a,s,r,n,h,l,o,u){return void 0===u&&(u=0),i[a]=s[e]+(l[e]-s[e])*w.getBezierRate(r/h,o[u],o[u+1],o[u+2],o[u+3]),5},x._BezierInterpolation_7=function(t,e,i,a,s,r,n,h,l,o,u){return void 0===u&&(u=0),i[a]=o[u+4]+o[u+5]*w.getBezierRate((.001*r+o[u+6])/o[u+7],o[u],o[u+1],o[u+2],o[u+3]),9},x.load=function(t){return st.loader.create(t,null,null,x)},x.interpolation=[x._LinearInterpolation_0,x._QuaternionInterpolation_1,x._AngleInte