@galacean/engine-spine 0.9.1 → 1.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.js +1 -1
- package/dist/main.js +1 -1
- package/dist/module.js +1 -1
- package/dist/module.js.map +1 -1
- package/package.json +4 -4
package/dist/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@galacean/engine");function e(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var a=0;a<e.length;a++){var n=e[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,c(n.key),n)}}function r(t,e,a){return e&&n(t.prototype,e),a&&n(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t}function i(t,e,a){return(e=c(e))in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&l(t,e)}function o(t){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},o(t)}function l(t,e){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},l(t,e)}function h(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function u(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var a,n=o(t);if(e){var r=o(this).constructor;a=Reflect.construct(n,arguments,r)}else a=n.apply(this,arguments);return function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return h(t)}(this,a)}}function c(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var a=t[Symbol.toPrimitive];if(void 0!==a){var n=a.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}function d(t,e,a,n){a&&Object.defineProperty(t,e,{enumerable:a.enumerable,configurable:a.configurable,writable:a.writable,value:a.initializer?a.initializer.call(n):void 0})}function f(t,e,a,n,r){var i={};return Object.keys(n).forEach((function(t){i[t]=n[t]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=a.slice().reverse().reduce((function(a,n){return n(t,e,a)||a}),i),r&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(r):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(t,e,i),i=null),i}var v=function(){function t(){a(this,t),this.array=new Array}return r(t,[{key:"add",value:function(t){var e=this.contains(t);return this.array[0|t]=0|t,!e}},{key:"contains",value:function(t){return null!=this.array[0|t]}},{key:"remove",value:function(t){this.array[0|t]=void 0}},{key:"clear",value:function(){this.array.length=0}}]),t}(),g=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;a(this,t),this.r=e,this.g=n,this.b=r,this.a=i}return r(t,[{key:"set",value:function(t,e,a,n){return this.r=t,this.g=e,this.b=a,this.a=n,this.clamp(),this}},{key:"setFromColor",value:function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}},{key:"setFromString",value:function(t){return t="#"==t.charAt(0)?t.substr(1):t,this.r=parseInt(t.substr(0,2),16)/255,this.g=parseInt(t.substr(2,2),16)/255,this.b=parseInt(t.substr(4,2),16)/255,this.a=(8!=t.length?255:parseInt(t.substr(6,2),16))/255,this}},{key:"add",value:function(t,e,a,n){return this.r+=t,this.g+=e,this.b+=a,this.a+=n,this.clamp(),this}},{key:"clamp",value:function(){return this.r<0?this.r=0:this.r>1&&(this.r=1),this.g<0?this.g=0:this.g>1&&(this.g=1),this.b<0?this.b=0:this.b>1&&(this.b=1),this.a<0?this.a=0:this.a>1&&(this.a=1),this}}],[{key:"rgba8888ToColor",value:function(t,e){t.r=((4278190080&e)>>>24)/255,t.g=((16711680&e)>>>16)/255,t.b=((65280&e)>>>8)/255,t.a=(255&e)/255}},{key:"rgb888ToColor",value:function(t,e){t.r=((16711680&e)>>>16)/255,t.g=((65280&e)>>>8)/255,t.b=(255&e)/255}}]),t}();g.WHITE=new g(1,1,1,1),g.RED=new g(1,0,0,1),g.GREEN=new g(0,1,0,1),g.BLUE=new g(0,0,1,1),g.MAGENTA=new g(1,0,1,1);var m=function(){function t(){a(this,t)}return r(t,null,[{key:"clamp",value:function(t,e,a){return t<e?e:t>a?a:t}},{key:"cosDeg",value:function(e){return Math.cos(e*t.degRad)}},{key:"sinDeg",value:function(e){return Math.sin(e*t.degRad)}},{key:"signum",value:function(t){return t>0?1:t<0?-1:0}},{key:"toInt",value:function(t){return t>0?Math.floor(t):Math.ceil(t)}},{key:"cbrt",value:function(t){var e=Math.pow(Math.abs(t),1/3);return t<0?-e:e}},{key:"randomTriangular",value:function(e,a){return t.randomTriangularWith(e,a,.5*(e+a))}},{key:"randomTriangularWith",value:function(t,e,a){var n=Math.random(),r=e-t;return n<=(a-t)/r?t+Math.sqrt(n*r*(a-t)):e-Math.sqrt((1-n)*r*(e-a))}}]),t}();m.PI=3.1415927,m.PI2=2*m.PI,m.radiansToDegrees=180/m.PI,m.radDeg=m.radiansToDegrees,m.degreesToRadians=m.PI/180,m.degRad=m.degreesToRadians;var p=function(){function t(){a(this,t)}return r(t,null,[{key:"arrayCopy",value:function(t,e,a,n,r){for(var i=e,s=n;i<e+r;i++,s++)a[s]=t[i]}},{key:"setArraySize",value:function(t,e){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=t.length;if(n==e)return t;if(t.length=e,n<e)for(var r=n;r<e;r++)t[r]=a;return t}},{key:"ensureArrayCapacity",value:function(e,a){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return e.length>=a?e:t.setArraySize(e,a,n)}},{key:"newArray",value:function(t,e){for(var a=new Array(t),n=0;n<t;n++)a[n]=e;return a}},{key:"newFloatArray",value:function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Float32Array(e);for(var a=new Array(e),n=0;n<a.length;n++)a[n]=0;return a}},{key:"newShortArray",value:function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Int16Array(e);for(var a=new Array(e),n=0;n<a.length;n++)a[n]=0;return a}},{key:"toFloatArray",value:function(e){return t.SUPPORTS_TYPED_ARRAYS?new Float32Array(e):e}},{key:"toSinglePrecision",value:function(e){return t.SUPPORTS_TYPED_ARRAYS?Math.fround(e):e}},{key:"webkit602BugfixHelper",value:function(t,e){}},{key:"contains",value:function(t,e){for(var a=0;a<t.length;a++)if(t[a]==e)return!0;return!1}}]),t}();p.SUPPORTS_TYPED_ARRAYS="undefined"!=typeof Float32Array;var y=function(){function t(e){a(this,t),this.items=new Array,this.instantiator=void 0,this.instantiator=e}return r(t,[{key:"obtain",value:function(){return this.items.length>0?this.items.pop():this.instantiator()}},{key:"free",value:function(t){t.reset&&t.reset(),this.items.push(t)}},{key:"freeAll",value:function(t){for(var e=0;e<t.length;e++)this.free(t[e])}},{key:"clear",value:function(){this.items.length=0}}]),t}(),w=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;a(this,t),this.x=e,this.y=n}return r(t,[{key:"set",value:function(t,e){return this.x=t,this.y=e,this}},{key:"length",value:function(){var t=this.x,e=this.y;return Math.sqrt(t*t+e*e)}},{key:"normalize",value:function(){var t=this.length();return 0!=t&&(this.x/=t,this.y/=t),this}}]),t}(),k=r((function t(e,n,r){if(a(this,t),this.index=void 0,this.name=void 0,this.parent=void 0,this.length=void 0,this.x=0,this.y=0,this.rotation=0,this.scaleX=1,this.scaleY=1,this.shearX=0,this.shearY=0,this.transformMode=x.Normal,this.skinRequired=!1,this.color=new g,e<0)throw new Error("index must be >= 0.");if(null==n)throw new Error("name cannot be null.");this.index=e,this.name=n,this.parent=r})),x=function(t){return t[t.Normal=0]="Normal",t[t.OnlyTranslation=1]="OnlyTranslation",t[t.NoRotationOrReflection=2]="NoRotationOrReflection",t[t.NoScale=3]="NoScale",t[t.NoScaleOrReflection=4]="NoScaleOrReflection",t}({}),E=function(){function t(e,n,r){if(a(this,t),this.data=void 0,this.skeleton=void 0,this.parent=void 0,this.children=new Array,this.x=0,this.y=0,this.rotation=0,this.scaleX=0,this.scaleY=0,this.shearX=0,this.shearY=0,this.ax=0,this.ay=0,this.arotation=0,this.ascaleX=0,this.ascaleY=0,this.ashearX=0,this.ashearY=0,this.appliedValid=!1,this.a=0,this.b=0,this.c=0,this.d=0,this.worldY=0,this.worldX=0,this.sorted=!1,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==n)throw new Error("skeleton cannot be null.");this.data=e,this.skeleton=n,this.parent=r,this.setToSetupPose()}return r(t,[{key:"isActive",value:function(){return this.active}},{key:"update",value:function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)}},{key:"updateWorldTransform",value:function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)}},{key:"updateWorldTransformWith",value:function(t,e,a,n,r,i,s){this.ax=t,this.ay=e,this.arotation=a,this.ascaleX=n,this.ascaleY=r,this.ashearX=i,this.ashearY=s,this.appliedValid=!0;var o=this.parent;if(null==o){var l=this.skeleton,h=a+90+s,u=l.scaleX,c=l.scaleY;return this.a=m.cosDeg(a+i)*n*u,this.b=m.cosDeg(h)*r*u,this.c=m.sinDeg(a+i)*n*c,this.d=m.sinDeg(h)*r*c,this.worldX=t*u+l.x,void(this.worldY=e*c+l.y)}var d=o.a,f=o.b,v=o.c,g=o.d;switch(this.worldX=d*t+f*e+o.worldX,this.worldY=v*t+g*e+o.worldY,this.data.transformMode){case x.Normal:var p=a+90+s,y=m.cosDeg(a+i)*n,w=m.cosDeg(p)*r,k=m.sinDeg(a+i)*n,E=m.sinDeg(p)*r;return this.a=d*y+f*k,this.b=d*w+f*E,this.c=v*y+g*k,void(this.d=v*w+g*E);case x.OnlyTranslation:var b=a+90+s;this.a=m.cosDeg(a+i)*n,this.b=m.cosDeg(b)*r,this.c=m.sinDeg(a+i)*n,this.d=m.sinDeg(b)*r;break;case x.NoRotationOrReflection:var M=d*d+v*v,S=0;M>1e-4?(M=Math.abs(d*g-f*v)/M,d/=this.skeleton.scaleX,f=(v/=this.skeleton.scaleY)*M,g=d*M,S=Math.atan2(v,d)*m.radDeg):(d=0,v=0,S=90-Math.atan2(g,f)*m.radDeg);var T=a+i-S,I=a+s-S+90,R=m.cosDeg(T)*n,A=m.cosDeg(I)*r,C=m.sinDeg(T)*n,V=m.sinDeg(I)*r;this.a=d*R-f*C,this.b=d*A-f*V,this.c=v*R+g*C,this.d=v*A+g*V;break;case x.NoScale:case x.NoScaleOrReflection:var P=m.cosDeg(a),_=m.sinDeg(a),F=(d*P+f*_)/this.skeleton.scaleX,N=(v*P+g*_)/this.skeleton.scaleY,O=Math.sqrt(F*F+N*N);O>1e-5&&(O=1/O),F*=O,N*=O,O=Math.sqrt(F*F+N*N),this.data.transformMode==x.NoScale&&d*g-f*v<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(O=-O);var L=Math.PI/2+Math.atan2(N,F),B=Math.cos(L)*O,D=Math.sin(L)*O,X=m.cosDeg(i)*n,Y=m.cosDeg(90+s)*r,U=m.sinDeg(i)*n,W=m.sinDeg(90+s)*r;this.a=F*X+B*U,this.b=F*Y+B*W,this.c=N*X+D*U,this.d=N*Y+D*W}this.a*=this.skeleton.scaleX,this.b*=this.skeleton.scaleX,this.c*=this.skeleton.scaleY,this.d*=this.skeleton.scaleY}},{key:"setToSetupPose",value:function(){var t=this.data;this.x=t.x,this.y=t.y,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this.shearX=t.shearX,this.shearY=t.shearY}},{key:"getWorldRotationX",value:function(){return Math.atan2(this.c,this.a)*m.radDeg}},{key:"getWorldRotationY",value:function(){return Math.atan2(this.d,this.b)*m.radDeg}},{key:"getWorldScaleX",value:function(){return Math.sqrt(this.a*this.a+this.c*this.c)}},{key:"getWorldScaleY",value:function(){return Math.sqrt(this.b*this.b+this.d*this.d)}},{key:"updateAppliedTransform",value:function(){this.appliedValid=!0;var t=this.parent;if(null==t)return this.ax=this.worldX,this.ay=this.worldY,this.arotation=Math.atan2(this.c,this.a)*m.radDeg,this.ascaleX=Math.sqrt(this.a*this.a+this.c*this.c),this.ascaleY=Math.sqrt(this.b*this.b+this.d*this.d),this.ashearX=0,void(this.ashearY=Math.atan2(this.a*this.b+this.c*this.d,this.a*this.d-this.b*this.c)*m.radDeg);var e=t.a,a=t.b,n=t.c,r=t.d,i=1/(e*r-a*n),s=this.worldX-t.worldX,o=this.worldY-t.worldY;this.ax=s*r*i-o*a*i,this.ay=o*e*i-s*n*i;var l=i*r,h=i*e,u=i*a,c=i*n,d=l*this.a-u*this.c,f=l*this.b-u*this.d,v=h*this.c-c*this.a,g=h*this.d-c*this.b;if(this.ashearX=0,this.ascaleX=Math.sqrt(d*d+v*v),this.ascaleX>1e-4){var p=d*g-f*v;this.ascaleY=p/this.ascaleX,this.ashearY=Math.atan2(d*f+v*g,p)*m.radDeg,this.arotation=Math.atan2(v,d)*m.radDeg}else this.ascaleX=0,this.ascaleY=Math.sqrt(f*f+g*g),this.ashearY=0,this.arotation=90-Math.atan2(g,f)*m.radDeg}},{key:"worldToLocal",value:function(t){var e=this.a,a=this.b,n=this.c,r=this.d,i=1/(e*r-a*n),s=t.x-this.worldX,o=t.y-this.worldY;return t.x=s*r*i-o*a*i,t.y=o*e*i-s*n*i,t}},{key:"localToWorld",value:function(t){var e=t.x,a=t.y;return t.x=e*this.a+a*this.b+this.worldX,t.y=e*this.c+a*this.d+this.worldY,t}},{key:"worldToLocalRotation",value:function(t){var e=m.sinDeg(t),a=m.cosDeg(t);return Math.atan2(this.a*e-this.c*a,this.d*a-this.b*e)*m.radDeg+this.rotation-this.shearX}},{key:"localToWorldRotation",value:function(t){t-=this.rotation-this.shearX;var e=m.sinDeg(t),a=m.cosDeg(t);return Math.atan2(a*this.c+e*this.d,a*this.a+e*this.b)*m.radDeg}},{key:"rotateWorld",value:function(t){var e=this.a,a=this.b,n=this.c,r=this.d,i=m.cosDeg(t),s=m.sinDeg(t);this.a=i*e-s*n,this.b=i*a-s*r,this.c=s*e+i*n,this.d=s*a+i*r,this.appliedValid=!1}}]),t}(),b=function(){function t(e,n){if(a(this,t),this.data=void 0,this.bone=void 0,this.color=void 0,this.darkColor=void 0,this.attachment=void 0,this.attachmentTime=void 0,this.attachmentState=void 0,this.deform=new Array,null==e)throw new Error("data cannot be null.");if(null==n)throw new Error("bone cannot be null.");this.data=e,this.bone=n,this.color=new g,this.darkColor=null==e.darkColor?null:new g,this.setToSetupPose()}return r(t,[{key:"getSkeleton",value:function(){return this.bone.skeleton}},{key:"getAttachment",value:function(){return this.attachment}},{key:"setAttachment",value:function(t){this.attachment!=t&&(this.attachment=t,this.attachmentTime=this.bone.skeleton.time,this.deform.length=0)}},{key:"setAttachmentTime",value:function(t){this.attachmentTime=this.bone.skeleton.time-t}},{key:"getAttachmentTime",value:function(){return this.bone.skeleton.time-this.attachmentTime}},{key:"setToSetupPose",value:function(){this.color.setFromColor(this.data.color),null!=this.darkColor&&this.darkColor.setFromColor(this.data.darkColor),null==this.data.attachmentName?this.attachment=null:(this.attachment=null,this.setAttachment(this.bone.skeleton.getAttachment(this.data.index,this.data.attachmentName)))}}]),t}(),M=function(){function t(e,n){if(a(this,t),this.data=void 0,this.bones=void 0,this.target=void 0,this.bendDirection=0,this.compress=!1,this.stretch=!1,this.mix=1,this.softness=0,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==n)throw new Error("skeleton cannot be null.");this.data=e,this.mix=e.mix,this.softness=e.softness,this.bendDirection=e.bendDirection,this.compress=e.compress,this.stretch=e.stretch,this.bones=new Array;for(var r=0;r<e.bones.length;r++)this.bones.push(n.findBone(e.bones[r].name));this.target=n.findBone(e.target.name)}return r(t,[{key:"isActive",value:function(){return this.active}},{key:"apply",value:function(){this.update()}},{key:"update",value:function(){var t=this.target,e=this.bones;switch(e.length){case 1:this.apply1(e[0],t.worldX,t.worldY,this.compress,this.stretch,this.data.uniform,this.mix);break;case 2:this.apply2(e[0],e[1],t.worldX,t.worldY,this.bendDirection,this.stretch,this.softness,this.mix)}}},{key:"apply1",value:function(t,e,a,n,r,i,s){t.appliedValid||t.updateAppliedTransform();var o=t.parent,l=o.a,h=o.b,u=o.c,c=o.d,d=-t.ashearX-t.arotation,f=0,v=0;switch(t.data.transformMode){case x.OnlyTranslation:f=e-t.worldX,v=a-t.worldY;break;case x.NoRotationOrReflection:var g=Math.abs(l*c-h*u)/(l*l+u*u),p=l/t.skeleton.scaleX,y=u/t.skeleton.scaleY;h=-y*g*t.skeleton.scaleX,c=p*g*t.skeleton.scaleY,d+=Math.atan2(y,p)*m.radDeg;default:var w=e-o.worldX,k=a-o.worldY,E=l*c-h*u;f=(w*c-k*h)/E-t.ax,v=(k*l-w*u)/E-t.ay}d+=Math.atan2(v,f)*m.radDeg,t.ascaleX<0&&(d+=180),d>180?d-=360:d<-180&&(d+=360);var b=t.ascaleX,M=t.ascaleY;if(n||r){switch(t.data.transformMode){case x.NoScale:case x.NoScaleOrReflection:f=e-t.worldX,v=a-t.worldY}var S=t.data.length*b,T=Math.sqrt(f*f+v*v);if(n&&T<S||r&&T>S&&S>1e-4){var I=(T/S-1)*s+1;b*=I,i&&(M*=I)}}t.updateWorldTransformWith(t.ax,t.ay,t.arotation+d*s,b,M,t.ashearX,t.ashearY)}},{key:"apply2",value:function(t,e,a,n,r,i,s,o){if(0!=o){t.appliedValid||t.updateAppliedTransform(),e.appliedValid||e.updateAppliedTransform();var l=t.ax,h=t.ay,u=t.ascaleX,c=u,d=t.ascaleY,f=e.ascaleX,v=0,g=0,p=0;u<0?(u=-u,v=180,p=-1):(v=0,p=1),d<0&&(d=-d,p=-p),f<0?(f=-f,g=180):g=0;var y=e.ax,w=0,k=0,x=0,E=t.a,b=t.b,M=t.c,S=t.d,T=Math.abs(u-d)<=1e-4;T?(k=E*y+b*(w=e.ay)+t.worldX,x=M*y+S*w+t.worldY):(w=0,k=E*y+t.worldX,x=M*y+t.worldY);var I=t.parent;E=I.a,b=I.b,M=I.c;var R,A,C=1/(E*(S=I.d)-b*M),V=k-I.worldX,P=x-I.worldY,_=(V*S-P*b)*C-l,F=(P*E-V*M)*C-h,N=Math.sqrt(_*_+F*F),O=e.data.length*f;if(N<1e-4)return this.apply1(t,a,n,!1,i,!1,o),void e.updateWorldTransformWith(y,w,0,e.ascaleX,e.ascaleY,e.ashearX,e.ashearY);var L=((V=a-I.worldX)*S-(P=n-I.worldY)*b)*C-l,B=(P*E-V*M)*C-h,D=L*L+B*B;if(0!=s){s*=u*(f+1)/2;var X=Math.sqrt(D),Y=X-N-O*u+s;if(Y>0){var U=Math.min(1,Y/(2*s))-1;D=(L-=(U=(Y-s*(1-U*U))/X)*L)*L+(B-=U*B)*B}}t:if(T){var W=(D-N*N-(O*=u)*O)/(2*N*O);W<-1?W=-1:W>1&&(W=1,i&&(c*=(Math.sqrt(D)/(N+O)-1)*o+1)),A=Math.acos(W)*r,E=N+O*W,b=O*Math.sin(A),R=Math.atan2(B*E-L*b,L*E+B*b)}else{var q=(E=u*O)*E,j=(b=d*O)*b,H=Math.atan2(B,L),z=-2*j*N,G=j-q;if((S=z*z-4*G*(M=j*N*N+q*D-q*j))>=0){var Z=Math.sqrt(S);z<0&&(Z=-Z);var Q=(Z=-(z+Z)/2)/G,K=M/Z,J=Math.abs(Q)<Math.abs(K)?Q:K;if(J*J<=D){P=Math.sqrt(D-J*J)*r,R=H-Math.atan2(P,J),A=Math.atan2(P/d,(J-N)/u);break t}}var $=m.PI,tt=N-E,et=tt*tt,at=0,nt=0,rt=N+E,it=rt*rt,st=0;(M=-E*N/(q-j))>=-1&&M<=1&&(M=Math.acos(M),(S=(V=E*Math.cos(M)+N)*V+(P=b*Math.sin(M))*P)<et&&($=M,et=S,tt=V,at=P),S>it&&(nt=M,it=S,rt=V,st=P)),D<=(et+it)/2?(R=H-Math.atan2(at*r,tt),A=$*r):(R=H-Math.atan2(st*r,rt),A=nt*r)}var ot=Math.atan2(w,y)*p,lt=t.arotation;(R=(R-ot)*m.radDeg+v-lt)>180?R-=360:R<-180&&(R+=360),t.updateWorldTransformWith(l,h,lt+R*o,c,t.ascaleY,0,0),lt=e.arotation,(A=((A+ot)*m.radDeg-e.ashearX)*p+g-lt)>180?A-=360:A<-180&&(A+=360),e.updateWorldTransformWith(y,w,lt+A*o,e.ascaleX,e.ascaleY,e.ashearX,e.ashearY)}else e.updateWorldTransform()}}]),t}(),S=function(){function t(e,n){if(a(this,t),this.data=void 0,this.bones=void 0,this.target=void 0,this.rotateMix=0,this.translateMix=0,this.scaleMix=0,this.shearMix=0,this.temp=new w,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==n)throw new Error("skeleton cannot be null.");this.data=e,this.rotateMix=e.rotateMix,this.translateMix=e.translateMix,this.scaleMix=e.scaleMix,this.shearMix=e.shearMix,this.bones=new Array;for(var r=0;r<e.bones.length;r++)this.bones.push(n.findBone(e.bones[r].name));this.target=n.findBone(e.target.name)}return r(t,[{key:"isActive",value:function(){return this.active}},{key:"apply",value:function(){this.update()}},{key:"update",value:function(){this.data.local?this.data.relative?this.applyRelativeLocal():this.applyAbsoluteLocal():this.data.relative?this.applyRelativeWorld():this.applyAbsoluteWorld()}},{key:"applyAbsoluteWorld",value:function(){for(var t=this.rotateMix,e=this.translateMix,a=this.scaleMix,n=this.shearMix,r=this.target,i=r.a,s=r.b,o=r.c,l=r.d,h=i*l-s*o>0?m.degRad:-m.degRad,u=this.data.offsetRotation*h,c=this.data.offsetShearY*h,d=this.bones,f=0,v=d.length;f<v;f++){var g=d[f],p=!1;if(0!=t){var y=g.a,w=g.b,k=g.c,x=g.d,E=Math.atan2(o,i)-Math.atan2(k,y)+u;E>m.PI?E-=m.PI2:E<-m.PI&&(E+=m.PI2),E*=t;var b=Math.cos(E),M=Math.sin(E);g.a=b*y-M*k,g.b=b*w-M*x,g.c=M*y+b*k,g.d=M*w+b*x,p=!0}if(0!=e){var S=this.temp;r.localToWorld(S.set(this.data.offsetX,this.data.offsetY)),g.worldX+=(S.x-g.worldX)*e,g.worldY+=(S.y-g.worldY)*e,p=!0}if(a>0){var T=Math.sqrt(g.a*g.a+g.c*g.c),I=Math.sqrt(i*i+o*o);T>1e-5&&(T=(T+(I-T+this.data.offsetScaleX)*a)/T),g.a*=T,g.c*=T,T=Math.sqrt(g.b*g.b+g.d*g.d),I=Math.sqrt(s*s+l*l),T>1e-5&&(T=(T+(I-T+this.data.offsetScaleY)*a)/T),g.b*=T,g.d*=T,p=!0}if(n>0){var R=g.b,A=g.d,C=Math.atan2(A,R),V=Math.atan2(l,s)-Math.atan2(o,i)-(C-Math.atan2(g.c,g.a));V>m.PI?V-=m.PI2:V<-m.PI&&(V+=m.PI2),V=C+(V+c)*n;var P=Math.sqrt(R*R+A*A);g.b=Math.cos(V)*P,g.d=Math.sin(V)*P,p=!0}p&&(g.appliedValid=!1)}}},{key:"applyRelativeWorld",value:function(){for(var t=this.rotateMix,e=this.translateMix,a=this.scaleMix,n=this.shearMix,r=this.target,i=r.a,s=r.b,o=r.c,l=r.d,h=i*l-s*o>0?m.degRad:-m.degRad,u=this.data.offsetRotation*h,c=this.data.offsetShearY*h,d=this.bones,f=0,v=d.length;f<v;f++){var g=d[f],p=!1;if(0!=t){var y=g.a,w=g.b,k=g.c,x=g.d,E=Math.atan2(o,i)+u;E>m.PI?E-=m.PI2:E<-m.PI&&(E+=m.PI2),E*=t;var b=Math.cos(E),M=Math.sin(E);g.a=b*y-M*k,g.b=b*w-M*x,g.c=M*y+b*k,g.d=M*w+b*x,p=!0}if(0!=e){var S=this.temp;r.localToWorld(S.set(this.data.offsetX,this.data.offsetY)),g.worldX+=S.x*e,g.worldY+=S.y*e,p=!0}if(a>0){var T=(Math.sqrt(i*i+o*o)-1+this.data.offsetScaleX)*a+1;g.a*=T,g.c*=T,T=(Math.sqrt(s*s+l*l)-1+this.data.offsetScaleY)*a+1,g.b*=T,g.d*=T,p=!0}if(n>0){var I=Math.atan2(l,s)-Math.atan2(o,i);I>m.PI?I-=m.PI2:I<-m.PI&&(I+=m.PI2);var R=g.b,A=g.d;I=Math.atan2(A,R)+(I-m.PI/2+c)*n;var C=Math.sqrt(R*R+A*A);g.b=Math.cos(I)*C,g.d=Math.sin(I)*C,p=!0}p&&(g.appliedValid=!1)}}},{key:"applyAbsoluteLocal",value:function(){var t=this.rotateMix,e=this.translateMix,a=this.scaleMix,n=this.shearMix,r=this.target;r.appliedValid||r.updateAppliedTransform();for(var i=this.bones,s=0,o=i.length;s<o;s++){var l=i[s];l.appliedValid||l.updateAppliedTransform();var h=l.arotation;if(0!=t){var u=r.arotation-h+this.data.offsetRotation;h+=(u-=360*(16384-(16384.499999999996-u/360|0)))*t}var c=l.ax,d=l.ay;0!=e&&(c+=(r.ax-c+this.data.offsetX)*e,d+=(r.ay-d+this.data.offsetY)*e);var f=l.ascaleX,v=l.ascaleY;0!=a&&(f>1e-5&&(f=(f+(r.ascaleX-f+this.data.offsetScaleX)*a)/f),v>1e-5&&(v=(v+(r.ascaleY-v+this.data.offsetScaleY)*a)/v));var g=l.ashearY;if(0!=n){var m=r.ashearY-g+this.data.offsetShearY;m-=360*(16384-(16384.499999999996-m/360|0)),l.shearY+=m*n}l.updateWorldTransformWith(c,d,h,f,v,l.ashearX,g)}}},{key:"applyRelativeLocal",value:function(){var t=this.rotateMix,e=this.translateMix,a=this.scaleMix,n=this.shearMix,r=this.target;r.appliedValid||r.updateAppliedTransform();for(var i=this.bones,s=0,o=i.length;s<o;s++){var l=i[s];l.appliedValid||l.updateAppliedTransform();var h=l.arotation;0!=t&&(h+=(r.arotation+this.data.offsetRotation)*t);var u=l.ax,c=l.ay;0!=e&&(u+=(r.ax+this.data.offsetX)*e,c+=(r.ay+this.data.offsetY)*e);var d=l.ascaleX,f=l.ascaleY;0!=a&&(d>1e-5&&(d*=(r.ascaleX-1+this.data.offsetScaleX)*a+1),f>1e-5&&(f*=(r.ascaleY-1+this.data.offsetScaleY)*a+1));var v=l.ashearY;0!=n&&(v+=(r.ashearY+this.data.offsetShearY)*n),l.updateWorldTransformWith(u,c,h,d,f,l.ashearX,v)}}}]),t}(),T=r((function t(e,n,r){a(this,t),this.name=e,this.order=n,this.skinRequired=r})),I=function(t){s(n,T);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t,0,!1)).bones=new Array,r.target=void 0,r.positionMode=void 0,r.spacingMode=void 0,r.rotateMode=void 0,r.offsetRotation=void 0,r.position=void 0,r.spacing=void 0,r.rotateMix=void 0,r.translateMix=void 0,r}return r(n)}(),R=function(t){return t[t.Fixed=0]="Fixed",t[t.Percent=1]="Percent",t}({}),A=function(t){return t[t.Length=0]="Length",t[t.Fixed=1]="Fixed",t[t.Percent=2]="Percent",t}({}),C=function(t){return t[t.Tangent=0]="Tangent",t[t.Chain=1]="Chain",t[t.ChainScale=2]="ChainScale",t}({}),V=r((function t(e){if(a(this,t),this.name=void 0,null==e)throw new Error("name cannot be null.");this.name=e})),P=function(t){s(n,V);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).id=(65535&n.nextID++)<<11,r.bones=void 0,r.vertices=void 0,r.worldVerticesLength=0,r.deformAttachment=h(r),r}return r(n,[{key:"computeWorldVertices",value:function(t,e,a,n,r,i){a=r+(a>>1)*i;var s=t.bone.skeleton,o=t.deform,l=this.vertices,h=this.bones;if(null!=h){for(var u=0,c=0,d=0;d<e;d+=2){var f=h[u];u+=f+1,c+=f}var v=s.bones;if(0==o.length)for(var g=r,m=3*c;g<a;g+=i){var p=0,y=0,w=h[u++];for(w+=u;u<w;u++,m+=3){var k=v[h[u]],x=l[m],E=l[m+1],b=l[m+2];p+=(x*k.a+E*k.b+k.worldX)*b,y+=(x*k.c+E*k.d+k.worldY)*b}n[g]=p,n[g+1]=y}else for(var M=o,S=r,T=3*c,I=c<<1;S<a;S+=i){var R=0,A=0,C=h[u++];for(C+=u;u<C;u++,T+=3,I+=2){var V=v[h[u]],P=l[T]+M[I],_=l[T+1]+M[I+1],F=l[T+2];R+=(P*V.a+_*V.b+V.worldX)*F,A+=(P*V.c+_*V.d+V.worldY)*F}n[S]=R,n[S+1]=A}}else{o.length>0&&(l=o);for(var N=t.bone,O=N.worldX,L=N.worldY,B=N.a,D=N.b,X=N.c,Y=N.d,U=e,W=r;W<a;U+=2,W+=i){var q=l[U],j=l[U+1];n[W]=q*B+j*D+O,n[W+1]=q*X+j*Y+L}}}},{key:"copyTo",value:function(t){null!=this.bones?(t.bones=new Array(this.bones.length),p.arrayCopy(this.bones,0,t.bones,0,this.bones.length)):t.bones=null,null!=this.vertices?(t.vertices=p.newFloatArray(this.vertices.length),p.arrayCopy(this.vertices,0,t.vertices,0,this.vertices.length)):t.vertices=null,t.worldVerticesLength=this.worldVerticesLength,t.deformAttachment=this.deformAttachment}}]),n}();P.nextID=0;var _=function(t){s(n,P);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).lengths=void 0,r.closed=!1,r.constantSpeed=!1,r.color=new g(1,1,1,1),r}return r(n,[{key:"copy",value:function(){var t=new n(this.name);return this.copyTo(t),t.lengths=new Array(this.lengths.length),p.arrayCopy(this.lengths,0,t.lengths,0,this.lengths.length),t.closed=closed,t.constantSpeed=this.constantSpeed,t.color.setFromColor(this.color),t}}]),n}(),F=function(){function t(e,n){if(a(this,t),this.data=void 0,this.bones=void 0,this.target=void 0,this.position=0,this.spacing=0,this.rotateMix=0,this.translateMix=0,this.spaces=new Array,this.positions=new Array,this.world=new Array,this.curves=new Array,this.lengths=new Array,this.segments=new Array,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==n)throw new Error("skeleton cannot be null.");this.data=e,this.bones=new Array;for(var r=0,i=e.bones.length;r<i;r++)this.bones.push(n.findBone(e.bones[r].name));this.target=n.findSlot(e.target.name),this.position=e.position,this.spacing=e.spacing,this.rotateMix=e.rotateMix,this.translateMix=e.translateMix}return r(t,[{key:"isActive",value:function(){return this.active}},{key:"apply",value:function(){this.update()}},{key:"update",value:function(){var e=this.target.getAttachment();if(e instanceof _){var a=this.rotateMix,n=this.translateMix,r=a>0;if(n>0||r){var i=this.data,s=i.spacingMode==A.Percent,o=i.rotateMode,l=o==C.Tangent,h=o==C.ChainScale,u=this.bones.length,c=l?u:u+1,d=this.bones,f=p.setArraySize(this.spaces,c),v=null,g=this.spacing;if(h||!s){h&&(v=p.setArraySize(this.lengths,u));for(var y=i.spacingMode==A.Length,w=0,k=c-1;w<k;){var x=d[w],E=x.data.length;if(E<t.epsilon)h&&(v[w]=0),f[++w]=0;else if(s){if(h){var b=E*x.a,M=E*x.c,S=Math.sqrt(b*b+M*M);v[w]=S}f[++w]=g}else{var T=E*x.a,I=E*x.c,V=Math.sqrt(T*T+I*I);h&&(v[w]=V),f[++w]=(y?E+g:g)*V/E}}}else for(var P=1;P<c;P++)f[P]=g;var F=this.computeWorldPositions(e,c,l,i.positionMode==R.Percent,s),N=F[0],O=F[1],L=i.offsetRotation,B=!1;if(0==L)B=o==C.Chain;else{B=!1;var D=this.target.bone;L*=D.a*D.d-D.b*D.c>0?m.degRad:-m.degRad}for(var X=0,Y=3;X<u;X++,Y+=3){var U=d[X];U.worldX+=(N-U.worldX)*n,U.worldY+=(O-U.worldY)*n;var W=F[Y],q=F[Y+1],j=W-N,H=q-O;if(h){var z=v[X];if(0!=z){var G=(Math.sqrt(j*j+H*H)/z-1)*a+1;U.a*=G,U.c*=G}}if(N=W,O=q,r){var Z=U.a,Q=U.b,K=U.c,J=U.d,$=0,tt=0,et=0;if($=l?F[Y-1]:0==f[X+1]?F[Y+2]:Math.atan2(H,j),$-=Math.atan2(K,Z),B){tt=Math.cos($),et=Math.sin($);var at=U.data.length;N+=(at*(tt*Z-et*K)-j)*a,O+=(at*(et*Z+tt*K)-H)*a}else $+=L;$>m.PI?$-=m.PI2:$<-m.PI&&($+=m.PI2),$*=a,tt=Math.cos($),et=Math.sin($),U.a=tt*Z-et*K,U.b=tt*Q-et*J,U.c=et*Z+tt*K,U.d=et*Q+tt*J}U.appliedValid=!1}}}}},{key:"computeWorldPositions",value:function(e,a,n,r,i){var s=this.target,o=this.position,l=this.spaces,h=p.setArraySize(this.positions,3*a+2),u=null,c=e.closed,d=e.worldVerticesLength,f=d/6,v=t.NONE;if(!e.constantSpeed){var g=e.lengths,m=g[f-=c?1:2];if(r&&(o*=m),i)for(var y=1;y<a;y++)l[y]*=m;u=p.setArraySize(this.world,8);for(var w=0,k=0,x=0;w<a;w++,k+=3){var E=l[w],b=o+=E;if(c)(b%=m)<0&&(b+=m),x=0;else{if(b<0){v!=t.BEFORE&&(v=t.BEFORE,e.computeWorldVertices(s,2,4,u,0,2)),this.addBeforePosition(b,u,0,h,k);continue}if(b>m){v!=t.AFTER&&(v=t.AFTER,e.computeWorldVertices(s,d-6,4,u,0,2)),this.addAfterPosition(b-m,u,0,h,k);continue}}for(;;x++){var M=g[x];if(!(b>M)){if(0==x)b/=M;else{var S=g[x-1];b=(b-S)/(M-S)}break}}x!=v&&(v=x,c&&x==f?(e.computeWorldVertices(s,d-4,4,u,0,2),e.computeWorldVertices(s,0,4,u,4,2)):e.computeWorldVertices(s,6*x+2,8,u,0,2)),this.addCurvePosition(b,u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],h,k,n||w>0&&0==E)}return h}c?(d+=2,u=p.setArraySize(this.world,d),e.computeWorldVertices(s,2,d-4,u,0,2),e.computeWorldVertices(s,0,2,u,d-4,2),u[d-2]=u[0],u[d-1]=u[1]):(f--,d-=4,u=p.setArraySize(this.world,d),e.computeWorldVertices(s,2,d,u,0,2));for(var T=p.setArraySize(this.curves,f),I=0,R=u[0],A=u[1],C=0,V=0,P=0,_=0,F=0,N=0,O=0,L=0,B=0,D=0,X=0,Y=0,U=0,W=0,q=0,j=2;q<f;q++,j+=6)C=u[j],V=u[j+1],P=u[j+2],_=u[j+3],X=2*(O=.1875*(R-2*C+P))+(B=.09375*(3*(C-P)-R+(F=u[j+4]))),Y=2*(L=.1875*(A-2*V+_))+(D=.09375*(3*(V-_)-A+(N=u[j+5]))),U=.75*(C-R)+O+.16666667*B,W=.75*(V-A)+L+.16666667*D,I+=Math.sqrt(U*U+W*W),U+=X,W+=Y,X+=B,Y+=D,I+=Math.sqrt(U*U+W*W),U+=X,W+=Y,I+=Math.sqrt(U*U+W*W),U+=X+B,W+=Y+D,I+=Math.sqrt(U*U+W*W),T[q]=I,R=F,A=N;if(o*=r?I:I/e.lengths[f-1],i)for(var H=1;H<a;H++)l[H]*=I;for(var z=this.segments,G=0,Z=0,Q=0,K=0,J=0;Z<a;Z++,Q+=3){var $=l[Z],tt=o+=$;if(c)(tt%=I)<0&&(tt+=I),K=0;else{if(tt<0){this.addBeforePosition(tt,u,0,h,Q);continue}if(tt>I){this.addAfterPosition(tt-I,u,d-4,h,Q);continue}}for(;;K++){var et=T[K];if(!(tt>et)){if(0==K)tt/=et;else{var at=T[K-1];tt=(tt-at)/(et-at)}break}}if(K!=v){v=K;var nt=6*K;for(R=u[nt],A=u[nt+1],C=u[nt+2],V=u[nt+3],P=u[nt+4],_=u[nt+5],X=2*(O=.03*(R-2*C+P))+(B=.006*(3*(C-P)-R+(F=u[nt+6]))),Y=2*(L=.03*(A-2*V+_))+(D=.006*(3*(V-_)-A+(N=u[nt+7]))),U=.3*(C-R)+O+.16666667*B,W=.3*(V-A)+L+.16666667*D,G=Math.sqrt(U*U+W*W),z[0]=G,nt=1;nt<8;nt++)U+=X,W+=Y,X+=B,Y+=D,G+=Math.sqrt(U*U+W*W),z[nt]=G;U+=X,W+=Y,G+=Math.sqrt(U*U+W*W),z[8]=G,U+=X+B,W+=Y+D,G+=Math.sqrt(U*U+W*W),z[9]=G,J=0}for(tt*=G;;J++){var rt=z[J];if(!(tt>rt)){if(0==J)tt/=rt;else{var it=z[J-1];tt=J+(tt-it)/(rt-it)}break}}this.addCurvePosition(.1*tt,R,A,C,V,P,_,F,N,h,Q,n||Z>0&&0==$)}return h}},{key:"addBeforePosition",value:function(t,e,a,n,r){var i=e[a],s=e[a+1],o=e[a+2]-i,l=e[a+3]-s,h=Math.atan2(l,o);n[r]=i+t*Math.cos(h),n[r+1]=s+t*Math.sin(h),n[r+2]=h}},{key:"addAfterPosition",value:function(t,e,a,n,r){var i=e[a+2],s=e[a+3],o=i-e[a],l=s-e[a+1],h=Math.atan2(l,o);n[r]=i+t*Math.cos(h),n[r+1]=s+t*Math.sin(h),n[r+2]=h}},{key:"addCurvePosition",value:function(t,e,a,n,r,i,s,o,l,h,u,c){if(0==t||isNaN(t))return h[u]=e,h[u+1]=a,void(h[u+2]=Math.atan2(r-a,n-e));var d=t*t,f=d*t,v=1-t,g=v*v,m=g*v,p=v*t,y=3*p,w=v*y,k=y*t,x=e*m+n*w+i*k+o*f,E=a*m+r*w+s*k+l*f;h[u]=x,h[u+1]=E,c&&(h[u+2]=t<.001?Math.atan2(r-a,n-e):Math.atan2(E-(a*g+r*p*2+s*d),x-(e*g+n*p*2+i*d)))}}]),t}();F.NONE=-1,F.BEFORE=-2,F.AFTER=-3,F.epsilon=1e-5;var N=function(t){s(n,V);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).x=0,r.y=0,r.scaleX=1,r.scaleY=1,r.rotation=0,r.width=0,r.height=0,r.color=new g(1,1,1,1),r.path=void 0,r.rendererObject=void 0,r.region=void 0,r.offset=p.newFloatArray(8),r.uvs=p.newFloatArray(8),r.tempColor=new g(1,1,1,1),r}return r(n,[{key:"updateOffset",value:function(){var t=this.width/this.region.originalWidth*this.scaleX,e=this.height/this.region.originalHeight*this.scaleY,a=-this.width/2*this.scaleX+this.region.offsetX*t,r=-this.height/2*this.scaleY+this.region.offsetY*e,i=a+this.region.width*t,s=r+this.region.height*e,o=this.rotation*Math.PI/180,l=Math.cos(o),h=Math.sin(o),u=a*l+this.x,c=a*h,d=r*l+this.y,f=r*h,v=i*l+this.x,g=i*h,m=s*l+this.y,p=s*h,y=this.offset;y[n.OX1]=u-f,y[n.OY1]=d+c,y[n.OX2]=u-p,y[n.OY2]=m+c,y[n.OX3]=v-p,y[n.OY3]=m+g,y[n.OX4]=v-f,y[n.OY4]=d+g}},{key:"setRegion",value:function(t){this.region=t;var e=this.uvs;t.rotate?(e[2]=t.u,e[3]=t.v2,e[4]=t.u,e[5]=t.v,e[6]=t.u2,e[7]=t.v,e[0]=t.u2,e[1]=t.v2):(e[0]=t.u,e[1]=t.v2,e[2]=t.u,e[3]=t.v,e[4]=t.u2,e[5]=t.v,e[6]=t.u2,e[7]=t.v2)}},{key:"computeWorldVertices",value:function(t,e,a,r){var i=this.offset,s=t.worldX,o=t.worldY,l=t.a,h=t.b,u=t.c,c=t.d,d=0,f=0;d=i[n.OX1],f=i[n.OY1],e[a]=d*l+f*h+s,e[a+1]=d*u+f*c+o,a+=r,d=i[n.OX2],f=i[n.OY2],e[a]=d*l+f*h+s,e[a+1]=d*u+f*c+o,a+=r,d=i[n.OX3],f=i[n.OY3],e[a]=d*l+f*h+s,e[a+1]=d*u+f*c+o,a+=r,d=i[n.OX4],f=i[n.OY4],e[a]=d*l+f*h+s,e[a+1]=d*u+f*c+o}},{key:"copy",value:function(){var t=new n(this.name);return t.region=this.region,t.rendererObject=this.rendererObject,t.path=this.path,t.x=this.x,t.y=this.y,t.scaleX=this.scaleX,t.scaleY=this.scaleY,t.rotation=this.rotation,t.width=this.width,t.height=this.height,p.arrayCopy(this.uvs,0,t.uvs,0,8),p.arrayCopy(this.offset,0,t.offset,0,8),t.color.setFromColor(this.color),t}}]),n}();N.OX1=0,N.OY1=1,N.OX2=2,N.OY2=3,N.OX3=4,N.OY3=5,N.OX4=6,N.OY4=7,N.X1=0,N.Y1=1,N.C1R=2,N.C1G=3,N.C1B=4,N.C1A=5,N.U1=6,N.V1=7,N.X2=8,N.Y2=9,N.C2R=10,N.C2G=11,N.C2B=12,N.C2A=13,N.U2=14,N.V2=15,N.X3=16,N.Y3=17,N.C3R=18,N.C3G=19,N.C3B=20,N.C3A=21,N.U3=22,N.V3=23,N.X4=24,N.Y4=25,N.C4R=26,N.C4G=27,N.C4B=28,N.C4A=29,N.U4=30,N.V4=31;var O=function(){function t(e){a(this,t),this._image=void 0,this._image=e}return r(t,[{key:"getImage",value:function(){return this._image}}],[{key:"filterFromString",value:function(t){switch(t.toLowerCase()){case"nearest":return L.Nearest;case"linear":return L.Linear;case"mipmap":return L.MipMap;case"mipmapnearestnearest":return L.MipMapNearestNearest;case"mipmaplinearnearest":return L.MipMapLinearNearest;case"mipmapnearestlinear":return L.MipMapNearestLinear;case"mipmaplinearlinear":return L.MipMapLinearLinear;default:throw new Error("Unknown texture filter ".concat(t))}}},{key:"wrapFromString",value:function(t){switch(t.toLowerCase()){case"mirroredtepeat":return B.MirroredRepeat;case"clamptoedge":return B.ClampToEdge;case"repeat":return B.Repeat;default:throw new Error("Unknown texture wrap ".concat(t))}}}]),t}(),L=function(t){return t[t.Nearest=9728]="Nearest",t[t.Linear=9729]="Linear",t[t.MipMap=9987]="MipMap",t[t.MipMapNearestNearest=9984]="MipMapNearestNearest",t[t.MipMapLinearNearest=9985]="MipMapLinearNearest",t[t.MipMapNearestLinear=9986]="MipMapNearestLinear",t[t.MipMapLinearLinear=9987]="MipMapLinearLinear",t}({}),B=function(t){return t[t.MirroredRepeat=33648]="MirroredRepeat",t[t.ClampToEdge=33071]="ClampToEdge",t[t.Repeat=10497]="Repeat",t}({}),D=r((function t(){a(this,t),this.renderObject=void 0,this.u=0,this.v=0,this.u2=0,this.v2=0,this.width=0,this.height=0,this.rotate=!1,this.offsetX=0,this.offsetY=0,this.originalWidth=0,this.originalHeight=0})),X=function(t){s(n,O);var e=u(n);function n(){return a(this,n),e.apply(this,arguments)}return r(n,[{key:"setFilters",value:function(t,e){}},{key:"setWraps",value:function(t,e){}},{key:"dispose",value:function(){}}]),n}(),Y=function(){function t(e,n){a(this,t),this.pages=new Array,this.regions=new Array,this.load(e,n)}return r(t,[{key:"load",value:function(t,e){if(null==e)throw new Error("textureLoader cannot be null.");for(var a=new U(t),n=new Array(4),r=null;;){var i=a.readLine();if(null==i)break;if(0==(i=i.trim()).length)r=null;else if(r){var s=new q;s.name=i,s.page=r;var o=a.readValue();"true"==o.toLocaleLowerCase()?s.degrees=90:"false"==o.toLocaleLowerCase()?s.degrees=0:s.degrees=parseFloat(o),s.rotate=90==s.degrees,a.readTuple(n);var l=parseInt(n[0]),h=parseInt(n[1]);a.readTuple(n);var u=parseInt(n[0]),c=parseInt(n[1]);s.u=l/r.width,s.v=h/r.height,s.rotate?(s.u2=(l+c)/r.width,s.v2=(h+u)/r.height):(s.u2=(l+u)/r.width,s.v2=(h+c)/r.height),s.x=l,s.y=h,s.width=Math.abs(u),s.height=Math.abs(c),4==a.readTuple(n)&&4==a.readTuple(n)&&a.readTuple(n),s.originalWidth=parseInt(n[0]),s.originalHeight=parseInt(n[1]),a.readTuple(n),s.offsetX=parseInt(n[0]),s.offsetY=parseInt(n[1]),s.index=parseInt(a.readValue()),s.texture=r.texture,this.regions.push(s)}else{(r=new W).name=i,2==a.readTuple(n)&&(r.width=parseInt(n[0]),r.height=parseInt(n[1]),a.readTuple(n)),a.readTuple(n),r.minFilter=O.filterFromString(n[0]),r.magFilter=O.filterFromString(n[1]);var d=a.readValue();r.uWrap=B.ClampToEdge,r.vWrap=B.ClampToEdge,"x"==d?r.uWrap=B.Repeat:"y"==d?r.vWrap=B.Repeat:"xy"==d&&(r.uWrap=r.vWrap=B.Repeat),r.texture=e(i),r.texture.setFilters(r.minFilter,r.magFilter),r.texture.setWraps(r.uWrap,r.vWrap),r.width=r.texture.getImage().width,r.height=r.texture.getImage().height,this.pages.push(r)}}}},{key:"findRegion",value:function(t){for(var e=0;e<this.regions.length;e++)if(this.regions[e].name==t)return this.regions[e];return null}},{key:"dispose",value:function(){for(var t=0;t<this.pages.length;t++)this.pages[t].texture.dispose()}}]),t}(),U=function(){function t(e){a(this,t),this.lines=void 0,this.index=0,this.lines=e.split(/\r\n|\r|\n/)}return r(t,[{key:"readLine",value:function(){return this.index>=this.lines.length?null:this.lines[this.index++]}},{key:"readValue",value:function(){var t=this.readLine(),e=t.indexOf(":");if(-1==e)throw new Error("Invalid line: "+t);return t.substring(e+1).trim()}},{key:"readTuple",value:function(t){var e=this.readLine(),a=e.indexOf(":");if(-1==a)throw new Error("Invalid line: "+e);for(var n=0,r=a+1;n<3;n++){var i=e.indexOf(",",r);if(-1==i)break;t[n]=e.substr(r,i-r).trim(),r=i+1}return t[n]=e.substring(r).trim(),n+1}}]),t}(),W=r((function t(){a(this,t),this.name=void 0,this.minFilter=void 0,this.magFilter=void 0,this.uWrap=void 0,this.vWrap=void 0,this.texture=void 0,this.width=void 0,this.height=void 0})),q=function(t){s(n,D);var e=u(n);function n(){var t;a(this,n);for(var r=arguments.length,i=new Array(r),s=0;s<r;s++)i[s]=arguments[s];return(t=e.call.apply(e,[this].concat(i))).page=void 0,t.name=void 0,t.x=void 0,t.y=void 0,t.index=void 0,t.rotate=void 0,t.degrees=void 0,t.texture=void 0,t}return r(n)}(),j=function(t){s(n,P);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).region=void 0,r.path=void 0,r.regionUVs=void 0,r.uvs=void 0,r.triangles=void 0,r.color=new g(1,1,1,1),r.width=void 0,r.height=void 0,r.hullLength=void 0,r.edges=void 0,r.parentMesh=void 0,r.tempColor=new g(0,0,0,0),r}return r(n,[{key:"updateUVs",value:function(){var t=this.regionUVs;null!=this.uvs&&this.uvs.length==t.length||(this.uvs=p.newFloatArray(t.length));var e=this.uvs,a=this.uvs.length,n=this.region.u,r=this.region.v,i=0,s=0;if(this.region instanceof q){var o=this.region,l=o.texture.getImage().width,h=o.texture.getImage().height;switch(o.degrees){case 90:n-=(o.originalHeight-o.offsetY-o.height)/l,r-=(o.originalWidth-o.offsetX-o.width)/h,i=o.originalHeight/l,s=o.originalWidth/h;for(var u=0;u<a;u+=2)e[u]=n+t[u+1]*i,e[u+1]=r+(1-t[u])*s;return;case 180:n-=(o.originalWidth-o.offsetX-o.width)/l,r-=o.offsetY/h,i=o.originalWidth/l,s=o.originalHeight/h;for(var c=0;c<a;c+=2)e[c]=n+(1-t[c])*i,e[c+1]=r+(1-t[c+1])*s;return;case 270:n-=o.offsetY/l,r-=o.offsetX/h,i=o.originalHeight/l,s=o.originalWidth/h;for(var d=0;d<a;d+=2)e[d]=n+(1-t[d+1])*i,e[d+1]=r+t[d]*s;return}n-=o.offsetX/l,r-=(o.originalHeight-o.offsetY-o.height)/h,i=o.originalWidth/l,s=o.originalHeight/h}else null==this.region?(n=r=0,i=s=1):(i=this.region.u2-n,s=this.region.v2-r);for(var f=0;f<a;f+=2)e[f]=n+t[f]*i,e[f+1]=r+t[f+1]*s}},{key:"getParentMesh",value:function(){return this.parentMesh}},{key:"setParentMesh",value:function(t){this.parentMesh=t,null!=t&&(this.bones=t.bones,this.vertices=t.vertices,this.worldVerticesLength=t.worldVerticesLength,this.regionUVs=t.regionUVs,this.triangles=t.triangles,this.hullLength=t.hullLength,this.worldVerticesLength=t.worldVerticesLength)}},{key:"copy",value:function(){if(null!=this.parentMesh)return this.newLinkedMesh();var t=new n(this.name);return t.region=this.region,t.path=this.path,t.color.setFromColor(this.color),this.copyTo(t),t.regionUVs=new Array(this.regionUVs.length),p.arrayCopy(this.regionUVs,0,t.regionUVs,0,this.regionUVs.length),t.uvs=new Array(this.uvs.length),p.arrayCopy(this.uvs,0,t.uvs,0,this.uvs.length),t.triangles=new Array(this.triangles.length),p.arrayCopy(this.triangles,0,t.triangles,0,this.triangles.length),t.hullLength=this.hullLength,null!=this.edges&&(t.edges=new Array(this.edges.length),p.arrayCopy(this.edges,0,t.edges,0,this.edges.length)),t.width=this.width,t.height=this.height,t}},{key:"newLinkedMesh",value:function(){var t=new n(this.name);return t.region=this.region,t.path=this.path,t.color.setFromColor(this.color),t.deformAttachment=this.deformAttachment,t.setParentMesh(null!=this.parentMesh?this.parentMesh:this),t.updateUVs(),t}}]),n}(),H=function(){function t(e){if(a(this,t),this.data=void 0,this.bones=void 0,this.slots=void 0,this.drawOrder=void 0,this.ikConstraints=void 0,this.transformConstraints=void 0,this.pathConstraints=void 0,this._updateCache=new Array,this.updateCacheReset=new Array,this.skin=void 0,this.color=void 0,this.time=0,this.scaleX=1,this.scaleY=1,this.x=0,this.y=0,null==e)throw new Error("data cannot be null.");this.data=e,this.bones=new Array;for(var n=0;n<e.bones.length;n++){var r=e.bones[n],i=void 0;if(null==r.parent)i=new E(r,this,null);else{var s=this.bones[r.parent.index];i=new E(r,this,s),s.children.push(i)}this.bones.push(i)}this.slots=new Array,this.drawOrder=new Array;for(var o=0;o<e.slots.length;o++){var l=e.slots[o],h=this.bones[l.boneData.index],u=new b(l,h);this.slots.push(u),this.drawOrder.push(u)}this.ikConstraints=new Array;for(var c=0;c<e.ikConstraints.length;c++){var d=e.ikConstraints[c];this.ikConstraints.push(new M(d,this))}this.transformConstraints=new Array;for(var f=0;f<e.transformConstraints.length;f++){var v=e.transformConstraints[f];this.transformConstraints.push(new S(v,this))}this.pathConstraints=new Array;for(var m=0;m<e.pathConstraints.length;m++){var p=e.pathConstraints[m];this.pathConstraints.push(new F(p,this))}this.color=new g(1,1,1,1),this.updateCache()}return r(t,[{key:"updateCache",value:function(){var t=this._updateCache;t.length=0,this.updateCacheReset.length=0;for(var e=this.bones,a=0,n=e.length;a<n;a++){var r=e[a];r.sorted=r.data.skinRequired,r.active=!r.sorted}if(null!=this.skin)for(var i=this.skin.bones,s=0,o=this.skin.bones.length;s<o;s++){var l=this.bones[i[s].index];do{l.sorted=!1,l.active=!0,l=l.parent}while(null!=l)}var h=this.ikConstraints,u=this.transformConstraints,c=this.pathConstraints,d=h.length,f=u.length,v=c.length,g=d+f+v;t:for(var m=0;m<g;m++){for(var p=0;p<d;p++){var y=h[p];if(y.data.order==m){this.sortIkConstraint(y);continue t}}for(var w=0;w<f;w++){var k=u[w];if(k.data.order==m){this.sortTransformConstraint(k);continue t}}for(var x=0;x<v;x++){var E=c[x];if(E.data.order==m){this.sortPathConstraint(E);continue t}}}for(var b=0,M=e.length;b<M;b++)this.sortBone(e[b])}},{key:"sortIkConstraint",value:function(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||null!=this.skin&&p.contains(this.skin.constraints,t.data,!0)),t.active){var e=t.target;this.sortBone(e);var a=t.bones,n=a[0];if(this.sortBone(n),a.length>1){var r=a[a.length-1];this._updateCache.indexOf(r)>-1||this.updateCacheReset.push(r)}this._updateCache.push(t),this.sortReset(n.children),a[a.length-1].sorted=!0}}},{key:"sortPathConstraint",value:function(t){if(t.active=t.target.bone.isActive()&&(!t.data.skinRequired||null!=this.skin&&p.contains(this.skin.constraints,t.data,!0)),t.active){var e=t.target,a=e.data.index,n=e.bone;null!=this.skin&&this.sortPathConstraintAttachment(this.skin,a,n),null!=this.data.defaultSkin&&this.data.defaultSkin!=this.skin&&this.sortPathConstraintAttachment(this.data.defaultSkin,a,n);for(var r=0,i=this.data.skins.length;r<i;r++)this.sortPathConstraintAttachment(this.data.skins[r],a,n);var s=e.getAttachment();s instanceof _&&this.sortPathConstraintAttachmentWith(s,n);for(var o=t.bones,l=o.length,h=0;h<l;h++)this.sortBone(o[h]);this._updateCache.push(t);for(var u=0;u<l;u++)this.sortReset(o[u].children);for(var c=0;c<l;c++)o[c].sorted=!0}}},{key:"sortTransformConstraint",value:function(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||null!=this.skin&&p.contains(this.skin.constraints,t.data,!0)),t.active){this.sortBone(t.target);var e=t.bones,a=e.length;if(t.data.local)for(var n=0;n<a;n++){var r=e[n];this.sortBone(r.parent),this._updateCache.indexOf(r)>-1||this.updateCacheReset.push(r)}else for(var i=0;i<a;i++)this.sortBone(e[i]);this._updateCache.push(t);for(var s=0;s<a;s++)this.sortReset(e[s].children);for(var o=0;o<a;o++)e[o].sorted=!0}}},{key:"sortPathConstraintAttachment",value:function(t,e,a){var n=t.attachments[e];if(n)for(var r in n)this.sortPathConstraintAttachmentWith(n[r],a)}},{key:"sortPathConstraintAttachmentWith",value:function(t,e){if(t instanceof _){var a=t.bones;if(null==a)this.sortBone(e);else for(var n=this.bones,r=0;r<a.length;)for(var i=a[r++],s=r+i;r<s;r++){var o=a[r];this.sortBone(n[o])}}}},{key:"sortBone",value:function(t){if(!t.sorted){var e=t.parent;null!=e&&this.sortBone(e),t.sorted=!0,this._updateCache.push(t)}}},{key:"sortReset",value:function(t){for(var e=0,a=t.length;e<a;e++){var n=t[e];n.active&&(n.sorted&&this.sortReset(n.children),n.sorted=!1)}}},{key:"updateWorldTransform",value:function(){for(var t=this.updateCacheReset,e=0,a=t.length;e<a;e++){var n=t[e];n.ax=n.x,n.ay=n.y,n.arotation=n.rotation,n.ascaleX=n.scaleX,n.ascaleY=n.scaleY,n.ashearX=n.shearX,n.ashearY=n.shearY,n.appliedValid=!0}for(var r=this._updateCache,i=0,s=r.length;i<s;i++)r[i].update()}},{key:"setToSetupPose",value:function(){this.setBonesToSetupPose(),this.setSlotsToSetupPose()}},{key:"setBonesToSetupPose",value:function(){for(var t=this.bones,e=0,a=t.length;e<a;e++)t[e].setToSetupPose();for(var n=this.ikConstraints,r=0,i=n.length;r<i;r++){var s=n[r];s.mix=s.data.mix,s.softness=s.data.softness,s.bendDirection=s.data.bendDirection,s.compress=s.data.compress,s.stretch=s.data.stretch}for(var o=this.transformConstraints,l=0,h=o.length;l<h;l++){var u=o[l],c=u.data;u.rotateMix=c.rotateMix,u.translateMix=c.translateMix,u.scaleMix=c.scaleMix,u.shearMix=c.shearMix}for(var d=this.pathConstraints,f=0,v=d.length;f<v;f++){var g=d[f],m=g.data;g.position=m.position,g.spacing=m.spacing,g.rotateMix=m.rotateMix,g.translateMix=m.translateMix}}},{key:"setSlotsToSetupPose",value:function(){var t=this.slots;p.arrayCopy(t,0,this.drawOrder,0,t.length);for(var e=0,a=t.length;e<a;e++)t[e].setToSetupPose()}},{key:"getRootBone",value:function(){return 0==this.bones.length?null:this.bones[0]}},{key:"findBone",value:function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"findBoneIndex",value:function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,a=0,n=e.length;a<n;a++)if(e[a].data.name==t)return a;return-1}},{key:"findSlot",value:function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"findSlotIndex",value:function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,a=0,n=e.length;a<n;a++)if(e[a].data.name==t)return a;return-1}},{key:"setSkinByName",value:function(t){var e=this.data.findSkin(t);if(null==e)throw new Error("Skin not found: "+t);this.setSkin(e)}},{key:"setSkin",value:function(t){if(t!=this.skin){if(null!=t)if(null!=this.skin)t.attachAll(this,this.skin);else for(var e=this.slots,a=0,n=e.length;a<n;a++){var r=e[a],i=r.data.attachmentName;if(null!=i){var s=t.getAttachment(a,i);null!=s&&r.setAttachment(s)}}this.skin=t,this.updateCache()}}},{key:"getAttachmentByName",value:function(t,e){return this.getAttachment(this.data.findSlotIndex(t),e)}},{key:"getAttachment",value:function(t,e){if(null==e)throw new Error("attachmentName cannot be null.");if(null!=this.skin){var a=this.skin.getAttachment(t,e);if(null!=a)return a}return null!=this.data.defaultSkin?this.data.defaultSkin.getAttachment(t,e):null}},{key:"setAttachment",value:function(t,e){if(null==t)throw new Error("slotName cannot be null.");for(var a=this.slots,n=0,r=a.length;n<r;n++){var i=a[n];if(i.data.name==t){var s=null;if(null!=e&&null==(s=this.getAttachment(n,e)))throw new Error("Attachment not found: "+e+", for slot: "+t);return void i.setAttachment(s)}}throw new Error("Slot not found: "+t)}},{key:"findIkConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"findTransformConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"findPathConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"getBounds",value:function(t,e){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Array(2);if(null==t)throw new Error("offset cannot be null.");if(null==e)throw new Error("size cannot be null.");for(var n=this.drawOrder,r=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,o=Number.NEGATIVE_INFINITY,l=0,h=n.length;l<h;l++){var u=n[l];if(u.bone.active){var c=0,d=null,f=u.getAttachment();if(f instanceof N)c=8,d=p.setArraySize(a,c,0),f.computeWorldVertices(u.bone,d,0,2);else if(f instanceof j){var v=f;c=v.worldVerticesLength,d=p.setArraySize(a,c,0),v.computeWorldVertices(u,0,c,d,0,2)}if(null!=d)for(var g=0,m=d.length;g<m;g+=2){var y=d[g],w=d[g+1];r=Math.min(r,y),i=Math.min(i,w),s=Math.max(s,y),o=Math.max(o,w)}}}t.set(r,i),e.set(s-r,o-i)}},{key:"update",value:function(t){this.time+=t}}]),t}(),z=function(){function t(e,n,r){if(a(this,t),this.name=void 0,this.timelines=void 0,this.timelineIds=void 0,this.duration=void 0,null==e)throw new Error("name cannot be null.");if(null==n)throw new Error("timelines cannot be null.");this.name=e,this.timelines=n,this.timelineIds=[];for(var i=0;i<n.length;i++)this.timelineIds[n[i].getPropertyId()]=!0;this.duration=r}return r(t,[{key:"hasTimeline",value:function(t){return 1==this.timelineIds[t]}},{key:"apply",value:function(t,e,a,n,r,i,s,o){if(null==t)throw new Error("skeleton cannot be null.");n&&0!=this.duration&&(a%=this.duration,e>0&&(e%=this.duration));for(var l=this.timelines,h=0,u=l.length;h<u;h++)l[h].apply(t,e,a,r,i,s,o)}}],[{key:"binarySearch",value:function(t,e){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=0,r=t.length/a-2;if(0==r)return a;for(var i=r>>>1;;){if(t[(i+1)*a]<=e?n=i+1:r=i,n==r)return(n+1)*a;i=n+r>>>1}}},{key:"linearSearch",value:function(t,e,a){for(var n=0,r=t.length-a;n<=r;n+=a)if(t[n]>e)return n;return-1}}]),t}(),G=function(t){return t[t.setup=0]="setup",t[t.first=1]="first",t[t.replace=2]="replace",t[t.add=3]="add",t}({}),Z=function(t){return t[t.mixIn=0]="mixIn",t[t.mixOut=1]="mixOut",t}({}),Q=function(t){return t[t.rotate=0]="rotate",t[t.translate=1]="translate",t[t.scale=2]="scale",t[t.shear=3]="shear",t[t.attachment=4]="attachment",t[t.color=5]="color",t[t.deform=6]="deform",t[t.event=7]="event",t[t.drawOrder=8]="drawOrder",t[t.ikConstraint=9]="ikConstraint",t[t.transformConstraint=10]="transformConstraint",t[t.pathConstraintPosition=11]="pathConstraintPosition",t[t.pathConstraintSpacing=12]="pathConstraintSpacing",t[t.pathConstraintMix=13]="pathConstraintMix",t[t.twoColor=14]="twoColor",t}({}),K=function(){function t(e){if(a(this,t),this.curves=void 0,e<=0)throw new Error("frameCount must be > 0: "+e);this.curves=p.newFloatArray((e-1)*t.BEZIER_SIZE)}return r(t,[{key:"getFrameCount",value:function(){return this.curves.length/t.BEZIER_SIZE+1}},{key:"setLinear",value:function(e){this.curves[e*t.BEZIER_SIZE]=t.LINEAR}},{key:"setStepped",value:function(e){this.curves[e*t.BEZIER_SIZE]=t.STEPPED}},{key:"getCurveType",value:function(e){var a=e*t.BEZIER_SIZE;if(a==this.curves.length)return t.LINEAR;var n=this.curves[a];return n==t.LINEAR?t.LINEAR:n==t.STEPPED?t.STEPPED:t.BEZIER}},{key:"setCurve",value:function(e,a,n,r,i){var s=.03*(2*-a+r),o=.03*(2*-n+i),l=.006*(3*(a-r)+1),h=.006*(3*(n-i)+1),u=2*s+l,c=2*o+h,d=.3*a+s+.16666667*l,f=.3*n+o+.16666667*h,v=e*t.BEZIER_SIZE,g=this.curves;g[v++]=t.BEZIER;for(var m=d,p=f,y=v+t.BEZIER_SIZE-1;v<y;v+=2)g[v]=m,g[v+1]=p,d+=u,f+=c,u+=l,c+=h,m+=d,p+=f}},{key:"getCurvePercent",value:function(e,a){a=m.clamp(a,0,1);var n=this.curves,r=e*t.BEZIER_SIZE,i=n[r];if(i==t.LINEAR)return a;if(i==t.STEPPED)return 0;for(var s=0,o=++r,l=r+t.BEZIER_SIZE-1;r<l;r+=2)if((s=n[r])>=a){var h=void 0,u=void 0;return r==o?(h=0,u=0):(h=n[r-2],u=n[r-1]),u+(n[r+1]-u)*(a-h)/(s-h)}var c=n[r-1];return c+(1-c)*(a-s)/(1-s)}}]),t}();K.LINEAR=0,K.STEPPED=1,K.BEZIER=2,K.BEZIER_SIZE=19;var J=function(t){s(n,K);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).boneIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t<<1),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.rotate<<24)+this.boneIndex}},{key:"setFrame",value:function(t,e,a){t<<=1,this.frames[t]=e,this.frames[t+n.ROTATION]=a}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.bones[this.boneIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return void(h.rotation=h.data.rotation);case G.first:var u=h.data.rotation-h.rotation;h.rotation+=(u-360*(16384-(16384.499999999996-u/360|0)))*i}else if(a>=l[l.length-n.ENTRIES]){var c=l[l.length+n.PREV_ROTATION];switch(s){case G.setup:h.rotation=h.data.rotation+c*i;break;case G.first:case G.replace:c+=h.data.rotation-h.rotation,c-=360*(16384-(16384.499999999996-c/360|0));case G.add:h.rotation+=c*i}}else{var d=z.binarySearch(l,a,n.ENTRIES),f=l[d+n.PREV_ROTATION],v=l[d],g=this.getCurvePercent((d>>1)-1,1-(a-v)/(l[d+n.PREV_TIME]-v)),m=l[d+n.ROTATION]-f;switch(m=f+(m-360*(16384-(16384.499999999996-m/360|0)))*g,s){case G.setup:h.rotation=h.data.rotation+(m-360*(16384-(16384.499999999996-m/360|0)))*i;break;case G.first:case G.replace:m+=h.data.rotation-h.rotation;case G.add:h.rotation+=(m-360*(16384-(16384.499999999996-m/360|0)))*i}}}}]),n}();J.ENTRIES=2,J.PREV_TIME=-2,J.PREV_ROTATION=-1,J.ROTATION=1;var $=function(t){s(n,K);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).boneIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.translate<<24)+this.boneIndex}},{key:"setFrame",value:function(t,e,a,r){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.X]=a,this.frames[t+n.Y]=r}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.bones[this.boneIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return h.x=h.data.x,void(h.y=h.data.y);case G.first:h.x+=(h.data.x-h.x)*i,h.y+=(h.data.y-h.y)*i}else{var u=0,c=0;if(a>=l[l.length-n.ENTRIES])u=l[l.length+n.PREV_X],c=l[l.length+n.PREV_Y];else{var d=z.binarySearch(l,a,n.ENTRIES);u=l[d+n.PREV_X],c=l[d+n.PREV_Y];var f=l[d],v=this.getCurvePercent(d/n.ENTRIES-1,1-(a-f)/(l[d+n.PREV_TIME]-f));u+=(l[d+n.X]-u)*v,c+=(l[d+n.Y]-c)*v}switch(s){case G.setup:h.x=h.data.x+u*i,h.y=h.data.y+c*i;break;case G.first:case G.replace:h.x+=(h.data.x+u-h.x)*i,h.y+=(h.data.y+c-h.y)*i;break;case G.add:h.x+=u*i,h.y+=c*i}}}}]),n}();$.ENTRIES=3,$.PREV_TIME=-3,$.PREV_X=-2,$.PREV_Y=-1,$.X=1,$.Y=2;var tt=function(t){s(n,$);var e=u(n);function n(t){return a(this,n),e.call(this,t)}return r(n,[{key:"getPropertyId",value:function(){return(Q.scale<<24)+this.boneIndex}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.bones[this.boneIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return h.scaleX=h.data.scaleX,void(h.scaleY=h.data.scaleY);case G.first:h.scaleX+=(h.data.scaleX-h.scaleX)*i,h.scaleY+=(h.data.scaleY-h.scaleY)*i}else{var u=0,c=0;if(a>=l[l.length-n.ENTRIES])u=l[l.length+n.PREV_X]*h.data.scaleX,c=l[l.length+n.PREV_Y]*h.data.scaleY;else{var d=z.binarySearch(l,a,n.ENTRIES);u=l[d+n.PREV_X],c=l[d+n.PREV_Y];var f=l[d],v=this.getCurvePercent(d/n.ENTRIES-1,1-(a-f)/(l[d+n.PREV_TIME]-f));u=(u+(l[d+n.X]-u)*v)*h.data.scaleX,c=(c+(l[d+n.Y]-c)*v)*h.data.scaleY}if(1==i)s==G.add?(h.scaleX+=u-h.data.scaleX,h.scaleY+=c-h.data.scaleY):(h.scaleX=u,h.scaleY=c);else{var g=0,p=0;if(o==Z.mixOut)switch(s){case G.setup:g=h.data.scaleX,p=h.data.scaleY,h.scaleX=g+(Math.abs(u)*m.signum(g)-g)*i,h.scaleY=p+(Math.abs(c)*m.signum(p)-p)*i;break;case G.first:case G.replace:g=h.scaleX,p=h.scaleY,h.scaleX=g+(Math.abs(u)*m.signum(g)-g)*i,h.scaleY=p+(Math.abs(c)*m.signum(p)-p)*i;break;case G.add:g=h.scaleX,p=h.scaleY,h.scaleX=g+(Math.abs(u)*m.signum(g)-h.data.scaleX)*i,h.scaleY=p+(Math.abs(c)*m.signum(p)-h.data.scaleY)*i}else switch(s){case G.setup:g=Math.abs(h.data.scaleX)*m.signum(u),p=Math.abs(h.data.scaleY)*m.signum(c),h.scaleX=g+(u-g)*i,h.scaleY=p+(c-p)*i;break;case G.first:case G.replace:g=Math.abs(h.scaleX)*m.signum(u),p=Math.abs(h.scaleY)*m.signum(c),h.scaleX=g+(u-g)*i,h.scaleY=p+(c-p)*i;break;case G.add:g=m.signum(u),p=m.signum(c),h.scaleX=Math.abs(h.scaleX)*g+(u-Math.abs(h.data.scaleX)*g)*i,h.scaleY=Math.abs(h.scaleY)*p+(c-Math.abs(h.data.scaleY)*p)*i}}}}}]),n}(),et=function(t){s(n,$);var e=u(n);function n(t){return a(this,n),e.call(this,t)}return r(n,[{key:"getPropertyId",value:function(){return(Q.shear<<24)+this.boneIndex}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.bones[this.boneIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return h.shearX=h.data.shearX,void(h.shearY=h.data.shearY);case G.first:h.shearX+=(h.data.shearX-h.shearX)*i,h.shearY+=(h.data.shearY-h.shearY)*i}else{var u=0,c=0;if(a>=l[l.length-n.ENTRIES])u=l[l.length+n.PREV_X],c=l[l.length+n.PREV_Y];else{var d=z.binarySearch(l,a,n.ENTRIES);u=l[d+n.PREV_X],c=l[d+n.PREV_Y];var f=l[d],v=this.getCurvePercent(d/n.ENTRIES-1,1-(a-f)/(l[d+n.PREV_TIME]-f));u+=(l[d+n.X]-u)*v,c+=(l[d+n.Y]-c)*v}switch(s){case G.setup:h.shearX=h.data.shearX+u*i,h.shearY=h.data.shearY+c*i;break;case G.first:case G.replace:h.shearX+=(h.data.shearX+u-h.shearX)*i,h.shearY+=(h.data.shearY+c-h.shearY)*i;break;case G.add:h.shearX+=u*i,h.shearY+=c*i}}}}]),n}(),at=function(t){s(n,K);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).slotIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.color<<24)+this.slotIndex}},{key:"setFrame",value:function(t,e,a,r,i,s){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.R]=a,this.frames[t+n.G]=r,this.frames[t+n.B]=i,this.frames[t+n.A]=s}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=t.slots[this.slotIndex];if(l.bone.active){var h=this.frames;if(a<h[0])switch(s){case G.setup:return void l.color.setFromColor(l.data.color);case G.first:var u=l.color,c=l.data.color;u.add((c.r-u.r)*i,(c.g-u.g)*i,(c.b-u.b)*i,(c.a-u.a)*i)}else{var d=0,f=0,v=0,g=0;if(a>=h[h.length-n.ENTRIES]){var m=h.length;d=h[m+n.PREV_R],f=h[m+n.PREV_G],v=h[m+n.PREV_B],g=h[m+n.PREV_A]}else{var p=z.binarySearch(h,a,n.ENTRIES);d=h[p+n.PREV_R],f=h[p+n.PREV_G],v=h[p+n.PREV_B],g=h[p+n.PREV_A];var y=h[p],w=this.getCurvePercent(p/n.ENTRIES-1,1-(a-y)/(h[p+n.PREV_TIME]-y));d+=(h[p+n.R]-d)*w,f+=(h[p+n.G]-f)*w,v+=(h[p+n.B]-v)*w,g+=(h[p+n.A]-g)*w}if(1==i)l.color.set(d,f,v,g);else{var k=l.color;s==G.setup&&k.setFromColor(l.data.color),k.add((d-k.r)*i,(f-k.g)*i,(v-k.b)*i,(g-k.a)*i)}}}}}]),n}();at.ENTRIES=5,at.PREV_TIME=-5,at.PREV_R=-4,at.PREV_G=-3,at.PREV_B=-2,at.PREV_A=-1,at.R=1,at.G=2,at.B=3,at.A=4;var nt=function(t){s(n,K);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).slotIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.twoColor<<24)+this.slotIndex}},{key:"setFrame",value:function(t,e,a,r,i,s,o,l,h){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.R]=a,this.frames[t+n.G]=r,this.frames[t+n.B]=i,this.frames[t+n.A]=s,this.frames[t+n.R2]=o,this.frames[t+n.G2]=l,this.frames[t+n.B2]=h}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=t.slots[this.slotIndex];if(l.bone.active){var h=this.frames;if(a<h[0])switch(s){case G.setup:return l.color.setFromColor(l.data.color),void l.darkColor.setFromColor(l.data.darkColor);case G.first:var u=l.color,c=l.darkColor,d=l.data.color,f=l.data.darkColor;u.add((d.r-u.r)*i,(d.g-u.g)*i,(d.b-u.b)*i,(d.a-u.a)*i),c.add((f.r-c.r)*i,(f.g-c.g)*i,(f.b-c.b)*i,0)}else{var v=0,g=0,m=0,p=0,y=0,w=0,k=0;if(a>=h[h.length-n.ENTRIES]){var x=h.length;v=h[x+n.PREV_R],g=h[x+n.PREV_G],m=h[x+n.PREV_B],p=h[x+n.PREV_A],y=h[x+n.PREV_R2],w=h[x+n.PREV_G2],k=h[x+n.PREV_B2]}else{var E=z.binarySearch(h,a,n.ENTRIES);v=h[E+n.PREV_R],g=h[E+n.PREV_G],m=h[E+n.PREV_B],p=h[E+n.PREV_A],y=h[E+n.PREV_R2],w=h[E+n.PREV_G2],k=h[E+n.PREV_B2];var b=h[E],M=this.getCurvePercent(E/n.ENTRIES-1,1-(a-b)/(h[E+n.PREV_TIME]-b));v+=(h[E+n.R]-v)*M,g+=(h[E+n.G]-g)*M,m+=(h[E+n.B]-m)*M,p+=(h[E+n.A]-p)*M,y+=(h[E+n.R2]-y)*M,w+=(h[E+n.G2]-w)*M,k+=(h[E+n.B2]-k)*M}if(1==i)l.color.set(v,g,m,p),l.darkColor.set(y,w,k,1);else{var S=l.color,T=l.darkColor;s==G.setup&&(S.setFromColor(l.data.color),T.setFromColor(l.data.darkColor)),S.add((v-S.r)*i,(g-S.g)*i,(m-S.b)*i,(p-S.a)*i),T.add((y-T.r)*i,(w-T.g)*i,(k-T.b)*i,0)}}}}}]),n}();nt.ENTRIES=8,nt.PREV_TIME=-8,nt.PREV_R=-7,nt.PREV_G=-6,nt.PREV_B=-5,nt.PREV_A=-4,nt.PREV_R2=-3,nt.PREV_G2=-2,nt.PREV_B2=-1,nt.R=1,nt.G=2,nt.B=3,nt.A=4,nt.R2=5,nt.G2=6,nt.B2=7;var rt=function(){function t(e){a(this,t),this.slotIndex=void 0,this.frames=void 0,this.attachmentNames=void 0,this.frames=p.newFloatArray(e),this.attachmentNames=new Array(e)}return r(t,[{key:"getPropertyId",value:function(){return(Q.attachment<<24)+this.slotIndex}},{key:"getFrameCount",value:function(){return this.frames.length}},{key:"setFrame",value:function(t,e,a){this.frames[t]=e,this.attachmentNames[t]=a}},{key:"apply",value:function(t,e,a,n,r,i,s){var o=t.slots[this.slotIndex];if(o.bone.active)if(s!=Z.mixOut){var l=this.frames;if(a<l[0])i!=G.setup&&i!=G.first||this.setAttachment(t,o,o.data.attachmentName);else{var h=0;h=a>=l[l.length-1]?l.length-1:z.binarySearch(l,a,1)-1;var u=this.attachmentNames[h];t.slots[this.slotIndex].setAttachment(null==u?null:t.getAttachment(this.slotIndex,u))}}else i==G.setup&&this.setAttachment(t,o,o.data.attachmentName)}},{key:"setAttachment",value:function(t,e,a){e.attachment=null==a?null:t.getAttachment(this.slotIndex,a)}}]),t}(),it=null,st=function(t){s(n,K);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).slotIndex=void 0,r.attachment=void 0,r.frames=void 0,r.frameVertices=void 0,r.frames=p.newFloatArray(t),r.frameVertices=new Array(t),null==it&&(it=p.newFloatArray(64)),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.deform<<27)+ +this.attachment.id+this.slotIndex}},{key:"setFrame",value:function(t,e,a){this.frames[t]=e,this.frameVertices[t]=a}},{key:"apply",value:function(t,e,a,n,r,i,s){var o=t.slots[this.slotIndex];if(o.bone.active){var l=o.getAttachment();if(l instanceof P&&l.deformAttachment==this.attachment){var h=o.deform;0==h.length&&(i=G.setup);var u=this.frameVertices,c=u[0].length,d=this.frames;if(a<d[0]){var f=l;switch(i){case G.setup:return void(h.length=0);case G.first:if(1==r){h.length=0;break}var v=p.setArraySize(h,c);if(null==f.bones)for(var g=f.vertices,m=0;m<c;m++)v[m]+=(g[m]-v[m])*r;else{r=1-r;for(m=0;m<c;m++)v[m]*=r}}}else{var y=p.setArraySize(h,c);if(a>=d[d.length-1]){var w=u[d.length-1];if(1==r)if(i==G.add){var k=l;if(null==k.bones)for(var x=k.vertices,E=0;E<c;E++)y[E]+=w[E]-x[E];else for(var b=0;b<c;b++)y[b]+=w[b]}else p.arrayCopy(w,0,y,0,c);else switch(i){case G.setup:var M=l;if(null==M.bones)for(var S=M.vertices,T=0;T<c;T++){var I=S[T];y[T]=I+(w[T]-I)*r}else for(var R=0;R<c;R++)y[R]=w[R]*r;break;case G.first:case G.replace:for(var A=0;A<c;A++)y[A]+=(w[A]-y[A])*r;break;case G.add:var C=l;if(null==C.bones)for(var V=C.vertices,_=0;_<c;_++)y[_]+=(w[_]-V[_])*r;else for(var F=0;F<c;F++)y[F]+=w[F]*r}}else{var N=z.binarySearch(d,a),O=u[N-1],L=u[N],B=d[N],D=this.getCurvePercent(N-1,1-(a-B)/(d[N-1]-B));if(1==r)if(i==G.add){var X=l;if(null==X.bones)for(var Y=X.vertices,U=0;U<c;U++){var W=O[U];y[U]+=W+(L[U]-W)*D-Y[U]}else for(var q=0;q<c;q++){var j=O[q];y[q]+=j+(L[q]-j)*D}}else for(var H=0;H<c;H++){var Z=O[H];y[H]=Z+(L[H]-Z)*D}else switch(i){case G.setup:var Q=l;if(null==Q.bones)for(var K=Q.vertices,J=0;J<c;J++){var $=O[J],tt=K[J];y[J]=tt+($+(L[J]-$)*D-tt)*r}else for(var et=0;et<c;et++){var at=O[et];y[et]=(at+(L[et]-at)*D)*r}break;case G.first:case G.replace:for(var nt=0;nt<c;nt++){var rt=O[nt];y[nt]+=(rt+(L[nt]-rt)*D-y[nt])*r}break;case G.add:var it=l;if(null==it.bones)for(var st=it.vertices,ot=0;ot<c;ot++){var lt=O[ot];y[ot]+=(lt+(L[ot]-lt)*D-st[ot])*r}else for(var ht=0;ht<c;ht++){var ut=O[ht];y[ht]+=(ut+(L[ht]-ut)*D)*r}}}}}}}}]),n}(),ot=function(){function t(e){a(this,t),this.frames=void 0,this.events=void 0,this.frames=p.newFloatArray(e),this.events=new Array(e)}return r(t,[{key:"getPropertyId",value:function(){return Q.event<<24}},{key:"getFrameCount",value:function(){return this.frames.length}},{key:"setFrame",value:function(t,e){this.frames[t]=e.time,this.events[t]=e}},{key:"apply",value:function(t,e,a,n,r,i,s){if(null!=n){var o=this.frames,l=this.frames.length;if(e>a)this.apply(t,e,Number.MAX_VALUE,n,r,i,s),e=-1;else if(e>=o[l-1])return;if(!(a<o[0])){var h=0;if(e<o[0])h=0;else for(var u=o[h=z.binarySearch(o,e)];h>0&&o[h-1]==u;)h--;for(;h<l&&a>=o[h];h++)n.push(this.events[h])}}}}]),t}(),lt=function(){function t(e){a(this,t),this.frames=void 0,this.drawOrders=void 0,this.frames=p.newFloatArray(e),this.drawOrders=new Array(e)}return r(t,[{key:"getPropertyId",value:function(){return Q.drawOrder<<24}},{key:"getFrameCount",value:function(){return this.frames.length}},{key:"setFrame",value:function(t,e,a){this.frames[t]=e,this.drawOrders[t]=a}},{key:"apply",value:function(t,e,a,n,r,i,s){var o=t.drawOrder,l=t.slots;if(s!=Z.mixOut){var h=this.frames;if(a<h[0])i!=G.setup&&i!=G.first||p.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);else{var u=0;u=a>=h[h.length-1]?h.length-1:z.binarySearch(h,a)-1;var c=this.drawOrders[u];if(null==c)p.arrayCopy(l,0,o,0,l.length);else for(var d=0,f=c.length;d<f;d++)o[d]=l[c[d]]}}else i==G.setup&&p.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length)}}]),t}(),ht=function(t){s(n,K);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).ikConstraintIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.ikConstraint<<24)+this.ikConstraintIndex}},{key:"setFrame",value:function(t,e,a,r,i,s,o){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.MIX]=a,this.frames[t+n.SOFTNESS]=r,this.frames[t+n.BEND_DIRECTION]=i,this.frames[t+n.COMPRESS]=s?1:0,this.frames[t+n.STRETCH]=o?1:0}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.ikConstraints[this.ikConstraintIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return h.mix=h.data.mix,h.softness=h.data.softness,h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,void(h.stretch=h.data.stretch);case G.first:h.mix+=(h.data.mix-h.mix)*i,h.softness+=(h.data.softness-h.softness)*i,h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,h.stretch=h.data.stretch}else if(a>=l[l.length-n.ENTRIES])s==G.setup?(h.mix=h.data.mix+(l[l.length+n.PREV_MIX]-h.data.mix)*i,h.softness=h.data.softness+(l[l.length+n.PREV_SOFTNESS]-h.data.softness)*i,o==Z.mixOut?(h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,h.stretch=h.data.stretch):(h.bendDirection=l[l.length+n.PREV_BEND_DIRECTION],h.compress=0!=l[l.length+n.PREV_COMPRESS],h.stretch=0!=l[l.length+n.PREV_STRETCH])):(h.mix+=(l[l.length+n.PREV_MIX]-h.mix)*i,h.softness+=(l[l.length+n.PREV_SOFTNESS]-h.softness)*i,o==Z.mixIn&&(h.bendDirection=l[l.length+n.PREV_BEND_DIRECTION],h.compress=0!=l[l.length+n.PREV_COMPRESS],h.stretch=0!=l[l.length+n.PREV_STRETCH]));else{var u=z.binarySearch(l,a,n.ENTRIES),c=l[u+n.PREV_MIX],d=l[u+n.PREV_SOFTNESS],f=l[u],v=this.getCurvePercent(u/n.ENTRIES-1,1-(a-f)/(l[u+n.PREV_TIME]-f));s==G.setup?(h.mix=h.data.mix+(c+(l[u+n.MIX]-c)*v-h.data.mix)*i,h.softness=h.data.softness+(d+(l[u+n.SOFTNESS]-d)*v-h.data.softness)*i,o==Z.mixOut?(h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,h.stretch=h.data.stretch):(h.bendDirection=l[u+n.PREV_BEND_DIRECTION],h.compress=0!=l[u+n.PREV_COMPRESS],h.stretch=0!=l[u+n.PREV_STRETCH])):(h.mix+=(c+(l[u+n.MIX]-c)*v-h.mix)*i,h.softness+=(d+(l[u+n.SOFTNESS]-d)*v-h.softness)*i,o==Z.mixIn&&(h.bendDirection=l[u+n.PREV_BEND_DIRECTION],h.compress=0!=l[u+n.PREV_COMPRESS],h.stretch=0!=l[u+n.PREV_STRETCH]))}}}]),n}();ht.ENTRIES=6,ht.PREV_TIME=-6,ht.PREV_MIX=-5,ht.PREV_SOFTNESS=-4,ht.PREV_BEND_DIRECTION=-3,ht.PREV_COMPRESS=-2,ht.PREV_STRETCH=-1,ht.MIX=1,ht.SOFTNESS=2,ht.BEND_DIRECTION=3,ht.COMPRESS=4,ht.STRETCH=5;var ut=function(t){s(n,K);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).transformConstraintIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.transformConstraint<<24)+this.transformConstraintIndex}},{key:"setFrame",value:function(t,e,a,r,i,s){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.ROTATE]=a,this.frames[t+n.TRANSLATE]=r,this.frames[t+n.SCALE]=i,this.frames[t+n.SHEAR]=s}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.transformConstraints[this.transformConstraintIndex];if(h.active)if(a<l[0]){var u=h.data;switch(s){case G.setup:return h.rotateMix=u.rotateMix,h.translateMix=u.translateMix,h.scaleMix=u.scaleMix,void(h.shearMix=u.shearMix);case G.first:h.rotateMix+=(u.rotateMix-h.rotateMix)*i,h.translateMix+=(u.translateMix-h.translateMix)*i,h.scaleMix+=(u.scaleMix-h.scaleMix)*i,h.shearMix+=(u.shearMix-h.shearMix)*i}}else{var c=0,d=0,f=0,v=0;if(a>=l[l.length-n.ENTRIES]){var g=l.length;c=l[g+n.PREV_ROTATE],d=l[g+n.PREV_TRANSLATE],f=l[g+n.PREV_SCALE],v=l[g+n.PREV_SHEAR]}else{var m=z.binarySearch(l,a,n.ENTRIES);c=l[m+n.PREV_ROTATE],d=l[m+n.PREV_TRANSLATE],f=l[m+n.PREV_SCALE],v=l[m+n.PREV_SHEAR];var p=l[m],y=this.getCurvePercent(m/n.ENTRIES-1,1-(a-p)/(l[m+n.PREV_TIME]-p));c+=(l[m+n.ROTATE]-c)*y,d+=(l[m+n.TRANSLATE]-d)*y,f+=(l[m+n.SCALE]-f)*y,v+=(l[m+n.SHEAR]-v)*y}if(s==G.setup){var w=h.data;h.rotateMix=w.rotateMix+(c-w.rotateMix)*i,h.translateMix=w.translateMix+(d-w.translateMix)*i,h.scaleMix=w.scaleMix+(f-w.scaleMix)*i,h.shearMix=w.shearMix+(v-w.shearMix)*i}else h.rotateMix+=(c-h.rotateMix)*i,h.translateMix+=(d-h.translateMix)*i,h.scaleMix+=(f-h.scaleMix)*i,h.shearMix+=(v-h.shearMix)*i}}}]),n}();ut.ENTRIES=5,ut.PREV_TIME=-5,ut.PREV_ROTATE=-4,ut.PREV_TRANSLATE=-3,ut.PREV_SCALE=-2,ut.PREV_SHEAR=-1,ut.ROTATE=1,ut.TRANSLATE=2,ut.SCALE=3,ut.SHEAR=4;var ct=function(t){s(n,K);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).pathConstraintIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.pathConstraintPosition<<24)+this.pathConstraintIndex}},{key:"setFrame",value:function(t,e,a){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.VALUE]=a}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return void(h.position=h.data.position);case G.first:h.position+=(h.data.position-h.position)*i}else{var u=0;if(a>=l[l.length-n.ENTRIES])u=l[l.length+n.PREV_VALUE];else{var c=z.binarySearch(l,a,n.ENTRIES);u=l[c+n.PREV_VALUE];var d=l[c],f=this.getCurvePercent(c/n.ENTRIES-1,1-(a-d)/(l[c+n.PREV_TIME]-d));u+=(l[c+n.VALUE]-u)*f}s==G.setup?h.position=h.data.position+(u-h.data.position)*i:h.position+=(u-h.position)*i}}}]),n}();ct.ENTRIES=2,ct.PREV_TIME=-2,ct.PREV_VALUE=-1,ct.VALUE=1;var dt=function(t){s(n,ct);var e=u(n);function n(t){return a(this,n),e.call(this,t)}return r(n,[{key:"getPropertyId",value:function(){return(Q.pathConstraintSpacing<<24)+this.pathConstraintIndex}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return void(h.spacing=h.data.spacing);case G.first:h.spacing+=(h.data.spacing-h.spacing)*i}else{var u=0;if(a>=l[l.length-n.ENTRIES])u=l[l.length+n.PREV_VALUE];else{var c=z.binarySearch(l,a,n.ENTRIES);u=l[c+n.PREV_VALUE];var d=l[c],f=this.getCurvePercent(c/n.ENTRIES-1,1-(a-d)/(l[c+n.PREV_TIME]-d));u+=(l[c+n.VALUE]-u)*f}s==G.setup?h.spacing=h.data.spacing+(u-h.data.spacing)*i:h.spacing+=(u-h.spacing)*i}}}]),n}(),ft=function(t){s(n,K);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).pathConstraintIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.pathConstraintMix<<24)+this.pathConstraintIndex}},{key:"setFrame",value:function(t,e,a,r){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.ROTATE]=a,this.frames[t+n.TRANSLATE]=r}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return h.rotateMix=h.data.rotateMix,void(h.translateMix=h.data.translateMix);case G.first:h.rotateMix+=(h.data.rotateMix-h.rotateMix)*i,h.translateMix+=(h.data.translateMix-h.translateMix)*i}else{var u=0,c=0;if(a>=l[l.length-n.ENTRIES])u=l[l.length+n.PREV_ROTATE],c=l[l.length+n.PREV_TRANSLATE];else{var d=z.binarySearch(l,a,n.ENTRIES);u=l[d+n.PREV_ROTATE],c=l[d+n.PREV_TRANSLATE];var f=l[d],v=this.getCurvePercent(d/n.ENTRIES-1,1-(a-f)/(l[d+n.PREV_TIME]-f));u+=(l[d+n.ROTATE]-u)*v,c+=(l[d+n.TRANSLATE]-c)*v}s==G.setup?(h.rotateMix=h.data.rotateMix+(u-h.data.rotateMix)*i,h.translateMix=h.data.translateMix+(c-h.data.translateMix)*i):(h.rotateMix+=(u-h.rotateMix)*i,h.translateMix+=(c-h.translateMix)*i)}}}]),n}();ft.ENTRIES=3,ft.PREV_TIME=-3,ft.PREV_ROTATE=-2,ft.PREV_TRANSLATE=-1,ft.ROTATE=1,ft.TRANSLATE=2;var vt=function(){function t(e){a(this,t),this.data=void 0,this.tracks=new Array,this.timeScale=1,this.unkeyedState=0,this.events=new Array,this.listeners=new Array,this.queue=new St(this),this.propertyIDs=new v,this.animationsChanged=!1,this.trackEntryPool=new y((function(){return new Mt})),this.data=e}return r(t,[{key:"update",value:function(t){t*=this.timeScale;for(var e=this.tracks,a=0,n=e.length;a<n;a++){var r=e[a];if(null!=r){r.animationLast=r.nextAnimationLast,r.trackLast=r.nextTrackLast;var i=t*r.timeScale;if(r.delay>0){if(r.delay-=i,r.delay>0)continue;i=-r.delay,r.delay=0}var s=r.next;if(null!=s){var o=r.trackLast-s.delay;if(o>=0){for(s.delay=0,s.trackTime+=0==r.timeScale?0:(o/r.timeScale+t)*s.timeScale,r.trackTime+=i,this.setCurrent(a,s,!0);null!=s.mixingFrom;)s.mixTime+=t,s=s.mixingFrom;continue}}else if(r.trackLast>=r.trackEnd&&null==r.mixingFrom){e[a]=null,this.queue.end(r),this.disposeNext(r);continue}if(null!=r.mixingFrom&&this.updateMixingFrom(r,t)){var l=r.mixingFrom;for(r.mixingFrom=null,null!=l&&(l.mixingTo=null);null!=l;)this.queue.end(l),l=l.mixingFrom}r.trackTime+=i}}this.queue.drain()}},{key:"updateMixingFrom",value:function(t,e){var a=t.mixingFrom;if(null==a)return!0;var n=this.updateMixingFrom(a,e);return a.animationLast=a.nextAnimationLast,a.trackLast=a.nextTrackLast,t.mixTime>0&&t.mixTime>=t.mixDuration?(0!=a.totalAlpha&&0!=t.mixDuration||(t.mixingFrom=a.mixingFrom,null!=a.mixingFrom&&(a.mixingFrom.mixingTo=t),t.interruptAlpha=a.interruptAlpha,this.queue.end(a)),n):(a.trackTime+=e*a.timeScale,t.mixTime+=e,!1)}},{key:"apply",value:function(e){if(null==e)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();for(var a=this.events,n=this.tracks,r=!1,i=0,s=n.length;i<s;i++){var o=n[i];if(!(null==o||o.delay>0)){r=!0;var l=0==i?G.first:o.mixBlend,h=o.alpha;null!=o.mixingFrom?h*=this.applyMixingFrom(o,e,l):o.trackTime>=o.trackEnd&&null==o.next&&(h=0);var u=o.animationLast,c=o.getAnimationTime(),d=o.animation.timelines.length,f=o.animation.timelines;if(0==i&&1==h||l==G.add)for(var v=0;v<d;v++){p.webkit602BugfixHelper(h,l);var g=f[v];g instanceof rt?this.applyAttachmentTimeline(g,e,c,l,!0):g.apply(e,u,c,a,h,l,Z.mixIn)}else{var m=o.timelineMode,y=0==o.timelinesRotation.length;y&&p.setArraySize(o.timelinesRotation,d<<1,null);for(var w=o.timelinesRotation,k=0;k<d;k++){var x=f[k],E=m[k]==t.SUBSEQUENT?l:G.setup;x instanceof J?this.applyRotateTimeline(x,e,c,h,E,w,k<<1,y):x instanceof rt?this.applyAttachmentTimeline(x,e,c,l,!0):(p.webkit602BugfixHelper(h,l),x.apply(e,u,c,a,h,E,Z.mixIn))}}this.queueEvents(o,c),a.length=0,o.nextAnimationLast=c,o.nextTrackLast=o.trackTime}}for(var b=this.unkeyedState+t.SETUP,M=e.slots,S=0,T=e.slots.length;S<T;S++){var I=M[S];if(I.attachmentState==b){var R=I.data.attachmentName;I.attachment=null==R?null:e.getAttachment(I.data.index,R)}}return this.unkeyedState+=2,this.queue.drain(),r}},{key:"applyMixingFrom",value:function(e,a,n){var r=e.mixingFrom;null!=r.mixingFrom&&this.applyMixingFrom(r,a,n);var i=0;0==e.mixDuration?(i=1,n==G.first&&(n=G.setup)):((i=e.mixTime/e.mixDuration)>1&&(i=1),n!=G.first&&(n=r.mixBlend));var s=i<r.eventThreshold?this.events:null,o=i<r.attachmentThreshold,l=i<r.drawOrderThreshold,h=r.animationLast,u=r.getAnimationTime(),c=r.animation.timelines.length,d=r.animation.timelines,f=r.alpha*e.interruptAlpha,v=f*(1-i);if(n==G.add)for(var g=0;g<c;g++)d[g].apply(a,h,u,s,v,n,Z.mixOut);else{var m=r.timelineMode,y=r.timelineHoldMix,w=0==r.timelinesRotation.length;w&&p.setArraySize(r.timelinesRotation,c<<1,null);var k=r.timelinesRotation;r.totalAlpha=0;for(var x=0;x<c;x++){var E=d[x],b=Z.mixOut,M=void 0,S=0;switch(m[x]){case t.SUBSEQUENT:if(!l&&E instanceof lt)continue;M=n,S=v;break;case t.FIRST:M=G.setup,S=v;break;case t.HOLD_SUBSEQUENT:M=n,S=f;break;case t.HOLD_FIRST:M=G.setup,S=f;break;default:M=G.setup;var T=y[x];S=f*Math.max(0,1-T.mixTime/T.mixDuration)}r.totalAlpha+=S,E instanceof J?this.applyRotateTimeline(E,a,u,S,M,k,x<<1,w):E instanceof rt?this.applyAttachmentTimeline(E,a,u,M,o):(p.webkit602BugfixHelper(S,n),l&&E instanceof lt&&M==G.setup&&(b=Z.mixIn),E.apply(a,h,u,s,S,M,b))}}return e.mixDuration>0&&this.queueEvents(r,u),this.events.length=0,r.nextAnimationLast=u,r.nextTrackLast=r.trackTime,i}},{key:"applyAttachmentTimeline",value:function(e,a,n,r,i){var s=a.slots[e.slotIndex];if(s.bone.active){var o,l=e.frames;if(n<l[0])r!=G.setup&&r!=G.first||this.setAttachment(a,s,s.data.attachmentName,i);else o=n>=l[l.length-1]?l.length-1:z.binarySearch(l,n)-1,this.setAttachment(a,s,e.attachmentNames[o],i);s.attachmentState<=this.unkeyedState&&(s.attachmentState=this.unkeyedState+t.SETUP)}}},{key:"setAttachment",value:function(e,a,n,r){a.attachment=null==n?null:e.getAttachment(a.data.index,n),r&&(a.attachmentState=this.unkeyedState+t.CURRENT)}},{key:"applyRotateTimeline",value:function(t,e,a,n,r,i,s,o){if(o&&(i[s]=0),1!=n){var l=t,h=l.frames,u=e.bones[l.boneIndex];if(u.active){var c=0,d=0;if(a<h[0])switch(r){case G.setup:u.rotation=u.data.rotation;default:return;case G.first:c=u.rotation,d=u.data.rotation}else if(c=r==G.setup?u.data.rotation:u.rotation,a>=h[h.length-J.ENTRIES])d=u.data.rotation+h[h.length+J.PREV_ROTATION];else{var f=z.binarySearch(h,a,J.ENTRIES),v=h[f+J.PREV_ROTATION],g=h[f],p=l.getCurvePercent((f>>1)-1,1-(a-g)/(h[f+J.PREV_TIME]-g));d=h[f+J.ROTATION]-v,d=v+(d-=360*(16384-(16384.499999999996-d/360|0)))*p+u.data.rotation,d-=360*(16384-(16384.499999999996-d/360|0))}var y=0,w=d-c;if(0==(w-=360*(16384-(16384.499999999996-w/360|0))))y=i[s];else{var k=0,x=0;o?(k=0,x=w):(k=i[s],x=i[s+1]);var E=w>0,b=k>=0;m.signum(x)!=m.signum(w)&&Math.abs(x)<=90&&(Math.abs(k)>180&&(k+=360*m.signum(k)),b=E),y=w+k-k%360,b!=E&&(y+=360*m.signum(k)),i[s]=y}i[s+1]=w,c+=y*n,u.rotation=c-360*(16384-(16384.499999999996-c/360|0))}}else t.apply(e,0,a,null,1,r,Z.mixIn)}},{key:"queueEvents",value:function(t,e){for(var a=t.animationStart,n=t.animationEnd,r=n-a,i=t.trackLast%r,s=this.events,o=0,l=s.length;o<l;o++){var h=s[o];if(h.time<i)break;h.time>n||this.queue.event(t,h)}for((t.loop?0==r||i>t.trackTime%r:e>=n&&t.animationLast<n)&&this.queue.complete(t);o<l;o++){s[o].time<a||this.queue.event(t,s[o])}}},{key:"clearTracks",value:function(){var t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var e=0,a=this.tracks.length;e<a;e++)this.clearTrack(e);this.tracks.length=0,this.queue.drainDisabled=t,this.queue.drain()}},{key:"clearTrack",value:function(t){if(!(t>=this.tracks.length)){var e=this.tracks[t];if(null!=e){this.queue.end(e),this.disposeNext(e);for(var a=e;;){var n=a.mixingFrom;if(null==n)break;this.queue.end(n),a.mixingFrom=null,a.mixingTo=null,a=n}this.tracks[e.trackIndex]=null,this.queue.drain()}}}},{key:"setCurrent",value:function(t,e,a){var n=this.expandToIndex(t);this.tracks[t]=e,null!=n&&(a&&this.queue.interrupt(n),e.mixingFrom=n,n.mixingTo=e,e.mixTime=0,null!=n.mixingFrom&&n.mixDuration>0&&(e.interruptAlpha*=Math.min(1,n.mixTime/n.mixDuration)),n.timelinesRotation.length=0),this.queue.start(e)}},{key:"setAnimation",value:function(t,e,a){var n=this.data.skeletonData.findAnimation(e);if(null==n)throw new Error("Animation not found: "+e);return this.setAnimationWith(t,n,a)}},{key:"setAnimationWith",value:function(t,e,a){if(null==e)throw new Error("animation cannot be null.");var n=!0,r=this.expandToIndex(t);null!=r&&(-1==r.nextTrackLast?(this.tracks[t]=r.mixingFrom,this.queue.interrupt(r),this.queue.end(r),this.disposeNext(r),r=r.mixingFrom,n=!1):this.disposeNext(r));var i=this.trackEntry(t,e,a,r);return this.setCurrent(t,i,n),this.queue.drain(),i}},{key:"addAnimation",value:function(t,e,a,n){var r=this.data.skeletonData.findAnimation(e);if(null==r)throw new Error("Animation not found: "+e);return this.addAnimationWith(t,r,a,n)}},{key:"addAnimationWith",value:function(t,e,a,n){if(null==e)throw new Error("animation cannot be null.");var r=this.expandToIndex(t);if(null!=r)for(;null!=r.next;)r=r.next;var i=this.trackEntry(t,e,a,r);if(null==r)this.setCurrent(t,i,!0),this.queue.drain();else if(r.next=i,n<=0){var s=r.animationEnd-r.animationStart;0!=s?(r.loop?n+=s*(1+(r.trackTime/s|0)):n+=Math.max(s,r.trackTime),n-=this.data.getMix(r.animation,e)):n=r.trackTime}return i.delay=n,i}},{key:"setEmptyAnimation",value:function(e,a){var n=this.setAnimationWith(e,t.emptyAnimation,!1);return n.mixDuration=a,n.trackEnd=a,n}},{key:"addEmptyAnimation",value:function(e,a,n){n<=0&&(n-=a);var r=this.addAnimationWith(e,t.emptyAnimation,!1,n);return r.mixDuration=a,r.trackEnd=a,r}},{key:"setEmptyAnimations",value:function(t){var e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var a=0,n=this.tracks.length;a<n;a++){var r=this.tracks[a];null!=r&&this.setEmptyAnimation(r.trackIndex,t)}this.queue.drainDisabled=e,this.queue.drain()}},{key:"expandToIndex",value:function(t){return t<this.tracks.length?this.tracks[t]:(p.ensureArrayCapacity(this.tracks,t+1,null),this.tracks.length=t+1,null)}},{key:"trackEntry",value:function(t,e,a,n){var r=this.trackEntryPool.obtain();return r.trackIndex=t,r.animation=e,r.loop=a,r.holdPrevious=!1,r.eventThreshold=0,r.attachmentThreshold=0,r.drawOrderThreshold=0,r.animationStart=0,r.animationEnd=e.duration,r.animationLast=-1,r.nextAnimationLast=-1,r.delay=0,r.trackTime=0,r.trackLast=-1,r.nextTrackLast=-1,r.trackEnd=Number.MAX_VALUE,r.timeScale=1,r.alpha=1,r.interruptAlpha=1,r.mixTime=0,r.mixDuration=null==n?0:this.data.getMix(n.animation,e),r.mixBlend=G.replace,r}},{key:"disposeNext",value:function(t){for(var e=t.next;null!=e;)this.queue.dispose(e),e=e.next;t.next=null}},{key:"_animationsChanged",value:function(){this.animationsChanged=!1,this.propertyIDs.clear();for(var t=0,e=this.tracks.length;t<e;t++){var a=this.tracks[t];if(null!=a){for(;null!=a.mixingFrom;)a=a.mixingFrom;do{null!=a.mixingFrom&&a.mixBlend==G.add||this.computeHold(a),a=a.mixingTo}while(null!=a)}}}},{key:"computeHold",value:function(e){var a=e.mixingTo,n=e.animation.timelines,r=e.animation.timelines.length,i=p.setArraySize(e.timelineMode,r);e.timelineHoldMix.length=0;var s=p.setArraySize(e.timelineHoldMix,r),o=this.propertyIDs;if(null!=a&&a.holdPrevious)for(var l=0;l<r;l++)i[l]=o.add(n[l].getPropertyId())?t.HOLD_FIRST:t.HOLD_SUBSEQUENT;else t:for(var h=0;h<r;h++){var u=n[h],c=u.getPropertyId();if(o.add(c))if(null==a||u instanceof rt||u instanceof lt||u instanceof ot||!a.animation.hasTimeline(c))i[h]=t.FIRST;else{for(var d=a.mixingTo;null!=d;d=d.mixingTo)if(!d.animation.hasTimeline(c)){if(e.mixDuration>0){i[h]=t.HOLD_MIX,s[h]=d;continue t}break}i[h]=t.HOLD_FIRST}else i[h]=t.SUBSEQUENT}}},{key:"getCurrent",value:function(t){return t>=this.tracks.length?null:this.tracks[t]}},{key:"addListener",value:function(t){if(null==t)throw new Error("listener cannot be null.");this.listeners.push(t)}},{key:"removeListener",value:function(t){var e=this.listeners.indexOf(t);e>=0&&this.listeners.splice(e,1)}},{key:"clearListeners",value:function(){this.listeners.length=0}},{key:"clearListenerNotifications",value:function(){this.queue.clear()}}]),t}();vt.emptyAnimation=new z("<empty>",[],0),vt.SUBSEQUENT=0,vt.FIRST=1,vt.HOLD_SUBSEQUENT=2,vt.HOLD_FIRST=3,vt.HOLD_MIX=4,vt.SETUP=1,vt.CURRENT=2;var gt,mt,pt,yt,wt,kt,xt,Et,bt,Mt=function(){function t(){a(this,t),this.animation=void 0,this.next=void 0,this.mixingFrom=void 0,this.mixingTo=void 0,this.listener=void 0,this.trackIndex=void 0,this.loop=void 0,this.holdPrevious=void 0,this.eventThreshold=void 0,this.attachmentThreshold=void 0,this.drawOrderThreshold=void 0,this.animationStart=void 0,this.animationEnd=void 0,this.animationLast=void 0,this.nextAnimationLast=void 0,this.delay=void 0,this.trackTime=void 0,this.trackLast=void 0,this.nextTrackLast=void 0,this.trackEnd=void 0,this.timeScale=void 0,this.alpha=void 0,this.mixTime=void 0,this.mixDuration=void 0,this.interruptAlpha=void 0,this.totalAlpha=void 0,this.mixBlend=G.replace,this.timelineMode=new Array,this.timelineHoldMix=new Array,this.timelinesRotation=new Array}return r(t,[{key:"reset",value:function(){this.next=null,this.mixingFrom=null,this.mixingTo=null,this.animation=null,this.listener=null,this.timelineMode.length=0,this.timelineHoldMix.length=0,this.timelinesRotation.length=0}},{key:"getAnimationTime",value:function(){if(this.loop){var t=this.animationEnd-this.animationStart;return 0==t?this.animationStart:this.trackTime%t+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)}},{key:"setAnimationLast",value:function(t){this.animationLast=t,this.nextAnimationLast=t}},{key:"isComplete",value:function(){return this.trackTime>=this.animationEnd-this.animationStart}},{key:"resetRotationDirections",value:function(){this.timelinesRotation.length=0}}]),t}(),St=function(){function t(e){a(this,t),this.objects=[],this.drainDisabled=!1,this.animState=void 0,this.animState=e}return r(t,[{key:"start",value:function(t){this.objects.push(Tt.start),this.objects.push(t),this.animState.animationsChanged=!0}},{key:"interrupt",value:function(t){this.objects.push(Tt.interrupt),this.objects.push(t)}},{key:"end",value:function(t){this.objects.push(Tt.end),this.objects.push(t),this.animState.animationsChanged=!0}},{key:"dispose",value:function(t){this.objects.push(Tt.dispose),this.objects.push(t)}},{key:"complete",value:function(t){this.objects.push(Tt.complete),this.objects.push(t)}},{key:"event",value:function(t){function e(e,a){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t,e){this.objects.push(Tt.event),this.objects.push(t),this.objects.push(e)}))},{key:"drain",value:function(){if(!this.drainDisabled){this.drainDisabled=!0;for(var t=this.objects,e=this.animState.listeners,a=0;a<t.length;a+=2){var n=t[a],r=t[a+1];switch(n){case Tt.start:null!=r.listener&&r.listener.start&&r.listener.start(r);for(var i=0;i<e.length;i++)e[i].start&&e[i].start(r);break;case Tt.interrupt:null!=r.listener&&r.listener.interrupt&&r.listener.interrupt(r);for(var s=0;s<e.length;s++)e[s].interrupt&&e[s].interrupt(r);break;case Tt.end:null!=r.listener&&r.listener.end&&r.listener.end(r);for(var o=0;o<e.length;o++)e[o].end&&e[o].end(r);case Tt.dispose:null!=r.listener&&r.listener.dispose&&r.listener.dispose(r);for(var l=0;l<e.length;l++)e[l].dispose&&e[l].dispose(r);this.animState.trackEntryPool.free(r);break;case Tt.complete:null!=r.listener&&r.listener.complete&&r.listener.complete(r);for(var h=0;h<e.length;h++)e[h].complete&&e[h].complete(r);break;case Tt.event:var u=t[2+a++];null!=r.listener&&r.listener.event&&r.listener.event(r,u);for(var c=0;c<e.length;c++)e[c].event&&e[c].event(r,u)}}this.clear(),this.drainDisabled=!1}}},{key:"clear",value:function(){this.objects.length=0}}]),t}(),Tt=function(t){return t[t.start=0]="start",t[t.interrupt=1]="interrupt",t[t.end=2]="end",t[t.dispose=3]="dispose",t[t.complete=4]="complete",t[t.event=5]="event",t}({}),It=function(){function t(e){if(a(this,t),this.skeletonData=void 0,this.animationToMixTime={},this.defaultMix=0,null==e)throw new Error("skeletonData cannot be null.");this.skeletonData=e}return r(t,[{key:"setMix",value:function(t,e,a){var n=this.skeletonData.findAnimation(t);if(null==n)throw new Error("Animation not found: "+t);var r=this.skeletonData.findAnimation(e);if(null==r)throw new Error("Animation not found: "+e);this.setMixWith(n,r,a)}},{key:"setMixWith",value:function(t,e,a){if(null==t)throw new Error("from cannot be null.");if(null==e)throw new Error("to cannot be null.");var n=t.name+"."+e.name;this.animationToMixTime[n]=a}},{key:"getMix",value:function(t,e){var a=t.name+"."+e.name,n=this.animationToMixTime[a];return void 0===n?this.defaultMix:n}}]),t}(),Rt=function(t){s(n,P);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).endSlot=void 0,r.color=new g(.2275,.2275,.8078,1),r}return r(n,[{key:"copy",value:function(){var t=new n(this.name);return this.copyTo(t),t.endSlot=this.endSlot,t.color.setFromColor(this.color),t}}]),n}(),At=function(){function t(){a(this,t),this.convexPolygons=new Array,this.convexPolygonsIndices=new Array,this.indicesArray=new Array,this.isConcaveArray=new Array,this.triangles=new Array,this.polygonPool=new y((function(){return new Array})),this.polygonIndicesPool=new y((function(){return new Array}))}return r(t,[{key:"triangulate",value:function(e){var a=e,n=e.length>>1,r=this.indicesArray;r.length=0;for(var i=0;i<n;i++)r[i]=i;var s=this.isConcaveArray;s.length=0;for(var o=0,l=n;o<l;++o)s[o]=t.isConcave(o,n,a,r);var h=this.triangles;for(h.length=0;n>3;){for(var u=n-1,c=0,d=1;;){t:if(!s[c]){for(var f=r[u]<<1,v=r[c]<<1,g=r[d]<<1,m=a[f],p=a[f+1],y=a[v],w=a[v+1],k=a[g],x=a[g+1],E=(d+1)%n;E!=u;E=(E+1)%n)if(s[E]){var b=r[E]<<1,M=a[b],S=a[b+1];if(t.positiveArea(k,x,m,p,M,S)&&t.positiveArea(m,p,y,w,M,S)&&t.positiveArea(y,w,k,x,M,S))break t}break}if(0==d){do{if(!s[c])break;c--}while(c>0);break}u=c,c=d,d=(d+1)%n}h.push(r[(n+c-1)%n]),h.push(r[c]),h.push(r[(c+1)%n]),r.splice(c,1),s.splice(c,1);var T=(--n+c-1)%n,I=c==n?0:c;s[T]=t.isConcave(T,n,a,r),s[I]=t.isConcave(I,n,a,r)}return 3==n&&(h.push(r[2]),h.push(r[0]),h.push(r[1])),h}},{key:"decompose",value:function(e,a){var n=e,r=this.convexPolygons;this.polygonPool.freeAll(r),r.length=0;var i=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(i),i.length=0;var s=this.polygonIndicesPool.obtain();s.length=0;var o=this.polygonPool.obtain();o.length=0;for(var l=-1,h=0,u=0,c=a.length;u<c;u+=3){var d=a[u]<<1,f=a[u+1]<<1,v=a[u+2]<<1,g=n[d],m=n[d+1],p=n[f],y=n[f+1],w=n[v],k=n[v+1],x=!1;if(l==d){var E=o.length-4,b=t.winding(o[E],o[E+1],o[E+2],o[E+3],w,k),M=t.winding(w,k,o[0],o[1],o[2],o[3]);b==h&&M==h&&(o.push(w),o.push(k),s.push(v),x=!0)}x||(o.length>0?(r.push(o),i.push(s)):(this.polygonPool.free(o),this.polygonIndicesPool.free(s)),(o=this.polygonPool.obtain()).length=0,o.push(g),o.push(m),o.push(p),o.push(y),o.push(w),o.push(k),(s=this.polygonIndicesPool.obtain()).length=0,s.push(d),s.push(f),s.push(v),h=t.winding(g,m,p,y,w,k),l=d)}o.length>0&&(r.push(o),i.push(s));for(var S=0,T=r.length;S<T;S++)if(0!=(s=i[S]).length)for(var I=s[0],R=s[s.length-1],A=(o=r[S]).length-4,C=o[A],V=o[A+1],P=o[A+2],_=o[A+3],F=o[0],N=o[1],O=o[2],L=o[3],B=t.winding(C,V,P,_,F,N),D=0;D<T;D++)if(D!=S){var X=i[D];if(3==X.length){var Y=X[0],U=X[1],W=X[2],q=r[D],j=q[q.length-2],H=q[q.length-1];if(Y==I&&U==R){var z=t.winding(C,V,P,_,j,H),G=t.winding(j,H,F,N,O,L);z==B&&G==B&&(q.length=0,X.length=0,o.push(j),o.push(H),s.push(W),C=P,V=_,P=j,_=H,D=0)}}}for(var Z=r.length-1;Z>=0;Z--)0==(o=r[Z]).length&&(r.splice(Z,1),this.polygonPool.free(o),s=i[Z],i.splice(Z,1),this.polygonIndicesPool.free(s));return r}}],[{key:"isConcave",value:function(t,e,a,n){var r=n[(e+t-1)%e]<<1,i=n[t]<<1,s=n[(t+1)%e]<<1;return!this.positiveArea(a[r],a[r+1],a[i],a[i+1],a[s],a[s+1])}},{key:"positiveArea",value:function(t,e,a,n,r,i){return t*(i-n)+a*(e-i)+r*(n-e)>=0}},{key:"winding",value:function(t,e,a,n,r,i){var s=a-t,o=n-e;return r*o-i*s+s*e-t*o>=0?1:-1}}]),t}(),Ct=function(){function t(){a(this,t),this.triangulator=new At,this.clippingPolygon=new Array,this.clipOutput=new Array,this.clippedVertices=new Array,this.clippedTriangles=new Array,this.scratch=new Array,this.clipAttachment=void 0,this.clippingPolygons=void 0}return r(t,[{key:"clipStart",value:function(e,a){if(null!=this.clipAttachment)return 0;this.clipAttachment=a;var n=a.worldVerticesLength,r=p.setArraySize(this.clippingPolygon,n);a.computeWorldVertices(e,0,n,r,0,2);var i=this.clippingPolygon;t.makeClockwise(i);for(var s=this.clippingPolygons=this.triangulator.decompose(i,this.triangulator.triangulate(i)),o=0,l=s.length;o<l;o++){var h=s[o];t.makeClockwise(h),h.push(h[0]),h.push(h[1])}return s.length}},{key:"clipEndWithSlot",value:function(t){null!=this.clipAttachment&&this.clipAttachment.endSlot==t.data&&this.clipEnd()}},{key:"clipEnd",value:function(){null!=this.clipAttachment&&(this.clipAttachment=null,this.clippingPolygons=null,this.clippedVertices.length=0,this.clippedTriangles.length=0,this.clippingPolygon.length=0)}},{key:"isClipping",value:function(){return null!=this.clipAttachment}},{key:"clipTriangles",value:function(t,e,a,n,r,i,s,o){var l=this.clipOutput,h=this.clippedVertices,u=this.clippedTriangles,c=this.clippingPolygons,d=this.clippingPolygons.length,f=o?12:8,v=0;h.length=0,u.length=0;t:for(var g=0;g<n;g+=3)for(var m=a[g]<<1,y=t[m],w=t[m+1],k=r[m],x=r[m+1],E=t[m=a[g+1]<<1],b=t[m+1],M=r[m],S=r[m+1],T=t[m=a[g+2]<<1],I=t[m+1],R=r[m],A=r[m+1],C=0;C<d;C++){var V=h.length;if(!this.clip(y,w,E,b,T,I,c[C],l)){var P=p.setArraySize(h,V+3*f);P[V]=y,P[V+1]=w,P[V+2]=i.r,P[V+3]=i.g,P[V+4]=i.b,P[V+5]=i.a,o?(P[V+6]=k,P[V+7]=x,P[V+8]=s.r,P[V+9]=s.g,P[V+10]=s.b,P[V+11]=s.a,P[V+12]=E,P[V+13]=b,P[V+14]=i.r,P[V+15]=i.g,P[V+16]=i.b,P[V+17]=i.a,P[V+18]=M,P[V+19]=S,P[V+20]=s.r,P[V+21]=s.g,P[V+22]=s.b,P[V+23]=s.a,P[V+24]=T,P[V+25]=I,P[V+26]=i.r,P[V+27]=i.g,P[V+28]=i.b,P[V+29]=i.a,P[V+30]=R,P[V+31]=A,P[V+32]=s.r,P[V+33]=s.g,P[V+34]=s.b,P[V+35]=s.a):(P[V+6]=k,P[V+7]=x,P[V+8]=E,P[V+9]=b,P[V+10]=i.r,P[V+11]=i.g,P[V+12]=i.b,P[V+13]=i.a,P[V+14]=M,P[V+15]=S,P[V+16]=T,P[V+17]=I,P[V+18]=i.r,P[V+19]=i.g,P[V+20]=i.b,P[V+21]=i.a,P[V+22]=R,P[V+23]=A),V=u.length;var _=p.setArraySize(u,V+3);_[V]=v,_[V+1]=v+1,_[V+2]=v+2,v+=3;continue t}var F=l.length;if(0!=F){for(var N=b-I,O=T-E,L=y-T,B=I-w,D=1/(N*L+O*(w-I)),X=F>>1,Y=this.clipOutput,U=p.setArraySize(h,V+X*f),W=0;W<F;W+=2){var q=Y[W],j=Y[W+1];U[V]=q,U[V+1]=j,U[V+2]=i.r,U[V+3]=i.g,U[V+4]=i.b,U[V+5]=i.a;var H=q-T,z=j-I,G=(N*H+O*z)*D,Z=(B*H+L*z)*D,Q=1-G-Z;U[V+6]=k*G+M*Z+R*Q,U[V+7]=x*G+S*Z+A*Q,o&&(U[V+8]=s.r,U[V+9]=s.g,U[V+10]=s.b,U[V+11]=s.a),V+=f}V=u.length;var K=p.setArraySize(u,V+3*(X-2));X--;for(var J=1;J<X;J++)K[V]=v,K[V+1]=v+J,K[V+2]=v+J+1,V+=3;v+=X+1}}}},{key:"clip",value:function(t,e,a,n,r,i,s,o){var l=o,h=!1,u=null;s.length%4>=2?(u=o,o=this.scratch):u=this.scratch,u.length=0,u.push(t),u.push(e),u.push(a),u.push(n),u.push(r),u.push(i),u.push(t),u.push(e),o.length=0;for(var c=s,d=s.length-4,f=0;;f+=2){for(var v=c[f],g=c[f+1],m=c[f+2],p=c[f+3],y=v-m,w=g-p,k=u,x=u.length-2,E=o.length,b=0;b<x;b+=2){var M=k[b],S=k[b+1],T=k[b+2],I=k[b+3],R=y*(I-p)-w*(T-m)>0;if(y*(S-p)-w*(M-m)>0){if(R){o.push(T),o.push(I);continue}var A=I-S,C=T-M,V=A*(m-v)-C*(p-g);if(Math.abs(V)>1e-6){var P=(C*(g-S)-A*(v-M))/V;o.push(v+(m-v)*P),o.push(g+(p-g)*P)}else o.push(v),o.push(g)}else if(R){var _=I-S,F=T-M,N=_*(m-v)-F*(p-g);if(Math.abs(N)>1e-6){var O=(F*(g-S)-_*(v-M))/N;o.push(v+(m-v)*O),o.push(g+(p-g)*O)}else o.push(v),o.push(g);o.push(T),o.push(I)}h=!0}if(E==o.length)return l.length=0,!0;if(o.push(o[0]),o.push(o[1]),f==d)break;var L=o;(o=u).length=0,u=L}if(l!=o){l.length=0;for(var B=0,D=o.length-2;B<D;B++)l[B]=o[B]}else l.length=l.length-2;return h}}],[{key:"makeClockwise",value:function(t){for(var e=t,a=t.length,n=e[a-2]*e[1]-e[0]*e[a-1],r=0,i=0,s=0,o=0,l=a-3;o<l;o+=2)r=e[o],i=e[o+1],s=e[o+2],n+=r*e[o+3]-s*i;if(!(n<0))for(var h=0,u=a-2,c=a>>1;h<c;h+=2){var d=e[h],f=e[h+1],v=u-h;e[h]=e[v],e[h+1]=e[v+1],e[v]=d,e[v+1]=f}}}]),t}(),Vt=function(){function e(){a(this,e),this._mesh=void 0,this._indexBuffer=void 0,this._vertexBuffer=void 0}return r(e,[{key:"mesh",get:function(){return this._mesh}},{key:"indexBuffer",get:function(){return this._indexBuffer}},{key:"vertexBuffer",get:function(){return this._vertexBuffer}},{key:"initialize",value:function(e,a){var n=this._mesh=new t.BufferMesh(e),r=[new t.VertexElement("POSITION",0,t.VertexElementFormat.Vector3,0),new t.VertexElement("COLOR_0",12,t.VertexElementFormat.Vector4,0),new t.VertexElement("TEXCOORD_0",28,t.VertexElementFormat.Vector2,0)],i=4*Pt.VERTEX_STRIDE,s=i*a,o=new t.Buffer(e,t.BufferBindFlag.VertexBuffer,s,t.BufferUsage.Dynamic),l=new t.Buffer(e,t.BufferBindFlag.IndexBuffer,2*a,t.BufferUsage.Dynamic);this._indexBuffer=l,this._vertexBuffer=o,n.setVertexBufferBinding(o,i),n.setIndexBufferBinding(l,t.IndexFormat.UInt16),n.setVertexElements(r),n.addSubMesh(0,a)}},{key:"changeBuffer",value:function(e,a){var n=4*Pt.VERTEX_STRIDE,r=n*a,i=new t.Buffer(e,t.BufferBindFlag.VertexBuffer,r,t.BufferUsage.Dynamic),s=new t.Buffer(e,t.BufferBindFlag.IndexBuffer,2*a,t.BufferUsage.Dynamic),o=this._mesh;this._indexBuffer=s,this._vertexBuffer=i,o.setVertexBufferBinding(i,n),o.setIndexBufferBinding(s,t.IndexFormat.UInt16)}}]),e}(),Pt=function(){function e(t,n){a(this,e),this._setting=void 0,this._engine=void 0,this._entity=void 0,this._clipper=new Ct,this._spineMesh=new Vt,this._vertexCount=void 0,this._vertices=void 0,this._verticesWithZ=void 0,this._indices=void 0,this._needResize=!1,this._meshRenderer=void 0,this._subMeshItems=[],this.separateSlots=[],this._engine=t,this._entity=n}return r(e,[{key:"mesh",get:function(){return this._spineMesh.mesh}},{key:"subMeshItems",get:function(){return this._subMeshItems}},{key:"initialize",value:function(a,n){if(a){var r=this._entity.getComponent(t.MeshRenderer);if(r){this._meshRenderer=r,n&&(this._setting=n);for(var i=a.defaultSkin.attachments,s=0,o=e.QUAD_TRIANGLES.length,l=0,h=i.length;l<h;l++){var u=i[l];for(var c in u){var d=u[c];if(d)if(d instanceof N)s+=o;else{if(!(d instanceof j))continue;s+=d.triangles.length}}}this._vertexCount=s,this._prepareBufferData(this._vertexCount);var f=this._spineMesh;f.initialize(this._engine,this._vertexCount),r.mesh=f.mesh}else console.warn("You need add MeshRenderer component to entity first")}}},{key:"buildMesh",value:function(a){var n=this._setting||{},r=n.useClipping,i=void 0===r||r,s=n.zSpacing,o=void 0===s?.01:s,l=0,h=0;this._subMeshItems.length=0;for(var u,c,d=this._meshRenderer,f=a.drawOrder,v=f.length,g=this._clipper,m=this._spineMesh,p=m.mesh,y=this._subMeshItems,w=this._vertices,k=0,x=0,E=0;E<v;E+=1){var b=f[E];if(b.bone.active){var M=b.getAttachment(),S=null,T=null,I=o*E,R=0,A=g.isClipping()?2:e.VERTEX_SIZE;if(M instanceof N){var C=M;S=C.color,w=this._vertices,R=4*A,C.computeWorldVertices(b.bone,w,0,A),u=e.QUAD_TRIANGLES,c=C.uvs,T=C.region.renderObject.texture}else if(M instanceof j){var V=M;S=V.color,w=this._vertices,(R=(V.worldVerticesLength>>1)*A)>w.length&&(w=this._vertices=new Float32Array(R)),V.computeWorldVertices(b,0,V.worldVerticesLength,w,0,A),u=V.triangles,c=V.uvs,T=V.region.renderObject.texture}else if(M instanceof Rt){if(i){var P=M;g.clipStart(b,P);continue}}else if(i){g.clipEndWithSlot(b);continue}if(null!=T){var _=void 0,F=void 0,O=void 0,L=void 0,B=b.bone.skeleton.color,D=b.color,X=B.a*D.a*S.a,Y=e.tempColor;if(Y.set(B.r*D.r*S.r,B.g*D.g*S.g,B.b*D.b*S.b,X),g.isClipping()){g.clipTriangles(w,R,u,u.length,c,Y,null,!1);var U=g.clippedVertices,W=g.clippedTriangles;_=U,F=U.length,O=W,L=W.length}else{for(var q=w,H=2,z=0,G=R;H<G;H+=A,z+=2)q[H]=Y.r,q[H+1]=Y.g,q[H+2]=Y.b,q[H+3]=Y.a,q[H+4]=c[z],q[H+5]=c[z+1];_=w,F=R,O=u,L=u.length}for(var Z=l/e.VERTEX_STRIDE,Q=this._verticesWithZ,K=l,J=0;J<F;)Q[K++]=_[J++],Q[K++]=_[J++],Q[K++]=I,Q[K++]=_[J++],Q[K++]=_[J++],Q[K++]=_[J++],Q[K++]=_[J++],Q[K++]=_[J++],Q[K++]=_[J++];l=K;var $=this._indices;for(K=h,J=0;J<L;K++,J++)$[K]=O[J]+Z;var tt=b.data.name;if(this.separateSlots.includes(tt)){var et=new t.SubMesh(h,L);if(y.push({name:tt,subMesh:et}),x>0){var at=new t.SubMesh(k,x);y.push({name:"default",subMesh:at}),x=0}k=h+L}else x+=L;h+=L;for(var nt=d.getMaterials(),rt=nt.length,it=0;it<rt;it+=1){var st=nt[it];st.shaderData.getTexture("u_cusTomTexture")||st.shaderData.setTexture("u_cusTomTexture",T.texture)}}g.clipEndWithSlot(b)}else g.clipEndWithSlot(b)}if(g.clipEnd(),x>0){var ot=new t.SubMesh(k,x);y.push({name:"default",subMesh:ot}),x=0}if(y.sort((function(t,e){return t.subMesh.start-e.subMesh.start})),h>0&&h!==this._vertexCount&&h>this._vertexCount)return this._vertexCount=h,this._prepareBufferData(this._vertexCount),void(this._needResize=!0);p.clearSubMesh();for(var lt=y.length,ht=0;ht<lt;ht+=1)p.addSubMesh(y[ht].subMesh);this._needResize&&(m.vertexBuffer.resize(this._verticesWithZ.byteLength),m.indexBuffer.resize(this._indices.byteLength),this._needResize=!1),m.vertexBuffer.setData(this._verticesWithZ),m.indexBuffer.setData(this._indices)}},{key:"addSeparateSlot",value:function(t){this.separateSlots.push(t)}},{key:"_prepareBufferData",value:function(t){this._vertices=new Float32Array(t*e.VERTEX_SIZE),this._verticesWithZ=new Float32Array(t*e.VERTEX_STRIDE),this._indices=new Uint16Array(t)}}]),e}();Pt.QUAD_TRIANGLES=[0,1,2,2,3,0],Pt.VERTEX_SIZE=8,Pt.VERTEX_STRIDE=9,Pt.tempColor=new g;var _t=(gt=function(n){s(l,t.Script);var o=u(l);function l(t){var e;return a(this,l),d(e=o.call(this,t),"_skeletonData",mt,h(e)),d(e,"_skeleton",pt,h(e)),d(e,"_state",yt,h(e)),d(e,"_tempOffset",wt,h(e)),d(e,"_tempSize",kt,h(e)),d(e,"_tempArray",xt,h(e)),d(e,"_meshGenerator",Et,h(e)),d(e,"setting",bt,h(e)),e.autoUpdate=!0,e.autoUpdateBounds=!1,e._meshGenerator=new Pt(e.engine,t),e}return r(l,[{key:"skeletonData",get:function(){return this._skeletonData}},{key:"skeleton",get:function(){return this._skeleton}},{key:"state",get:function(){return this._state}},{key:"mesh",get:function(){return this._meshGenerator.mesh}},{key:"scale",set:function(t){this._skeleton&&(this._skeleton.scaleX=t,this._skeleton.scaleY=t)}},{key:"setSkeletonData",value:function(t,e){t||console.error("SkeletonData is undefined"),this.setting=e,this._skeletonData=t,this._skeleton=new H(t);var a=new It(t);this._state=new vt(a),this._meshGenerator.initialize(t,this.setting)}},{key:"addSeparateSlot",value:function(e){this.skeleton||console.error("Skeleton not found!");var a=this.entity.getComponent(t.MeshRenderer);if(a||console.warn("You need add MeshRenderer component to entity first"),this.skeleton.findSlot(e)){this._meshGenerator.addSeparateSlot(e);var n=this.engine._spriteDefaultMaterial.clone(),r=this.engine._spriteDefaultMaterial.clone(),i=a.materialCount;a.setMaterial(i,n),a.setMaterial(i+1,r)}else console.warn("Slot: ".concat(e," not find."))}},{key:"hackSeparateSlotTexture",value:function(e,a){this._meshGenerator.buildMesh(this._skeleton);var n=this._meshGenerator,r=n.separateSlots,i=n.subMeshItems;if(0!==r.length)if(r.includes(e)){var s=this.entity.getComponent(t.MeshRenderer),o=i.findIndex((function(t){return t.name===e}));s.getMaterial(o).shaderData.setTexture("u_cusTomTexture",a)}else console.warn("Slot ".concat(e," is not separated. You should use addSeparateSlot to separate it"));else console.warn("You need add separate slot")}},{key:"onUpdate",value:function(t){this.autoUpdate&&this.updateState(.001*t)}},{key:"updateState",value:function(t){if(this._skeleton&&this.state){var e=this._state,a=this._skeleton;e.update(t),e.apply(a),a.updateWorldTransform(),this.updateGeometry()}}},{key:"updateGeometry",value:function(){this._skeleton&&(this._meshGenerator.buildMesh(this._skeleton),this.autoUpdateBounds&&this.updateBounds())}},{key:"updateBounds",value:function(){var e,a=this.entity.getComponent(t.MeshRenderer).bounds,n=this._tempOffset,r=this._tempSize,i=this._tempArray,s=(null===(e=this.setting)||void 0===e?void 0:e.zSpacing)||.01,o=this._skeleton;o.getBounds(n,r,i);var l=o.drawOrder;a.min.set(n.x,n.y,0),a.max.set(n.x+r.x,n.y+r.y,l.length*s)}},{key:"_cloneTo",value:function(t){t.setSkeletonData(this.skeletonData);var a=function(t){for(var a=1;a<arguments.length;a++){var n=null!=arguments[a]?arguments[a]:{};a%2?e(Object(n),!0).forEach((function(e){i(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):e(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({},this.setting);t.setting=a}},{key:"_disposeCurrentSkeleton",value:function(){this._skeletonData=null,this._skeleton=null,this._state=null}},{key:"onDestroy",value:function(){this._disposeCurrentSkeleton(),this._meshGenerator=null,this.setting=null}}]),l}(),mt=f(gt.prototype,"_skeletonData",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),pt=f(gt.prototype,"_skeleton",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),yt=f(gt.prototype,"_state",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),wt=f(gt.prototype,"_tempOffset",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new w}}),kt=f(gt.prototype,"_tempSize",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new w}}),xt=f(gt.prototype,"_tempArray",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[0,0]}}),Et=f(gt.prototype,"_meshGenerator",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),bt=f(gt.prototype,"setting",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),gt),Ft=function(){function t(e,n){a(this,t),this.pathPrefix=void 0,this.textureLoader=void 0,this.assets={},this.errors={},this.toLoad=0,this.loaded=0,this.rawDataUris={},this.onLoadComplete=void 0,this.pathPrefix=e||"",this.textureLoader=n}return r(t,[{key:"downloadText",value:function(t,e,a){var n=new XMLHttpRequest;n.overrideMimeType("text/html"),this.rawDataUris[t]&&(t=this.rawDataUris[t]),n.open("GET",t,!0),n.onload=function(){200==n.status?e(n.responseText):a(n.status,n.responseText)},n.onerror=function(){a(n.status,n.responseText)},n.send()}},{key:"downloadBinary",value:function(t,e,a){var n=new XMLHttpRequest;this.rawDataUris[t]&&(t=this.rawDataUris[t]),n.open("GET",t,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status?e(new Uint8Array(n.response)):a(n.status,n.responseText)},n.onerror=function(){a(n.status,n.responseText)},n.send()}},{key:"setRawDataURI",value:function(t,e){this.rawDataUris[this.pathPrefix+t]=e}},{key:"loadBinary",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;t=this.pathPrefix+t,this.toLoad++,this.downloadBinary(t,(function(n){e.assets[t]=n,a&&a(t,n),e.onLoad(),e.loaded++}),(function(a,r){e.errors[t]="Couldn't load binary ".concat(t,": status ").concat(status,", ").concat(r),n&&n(t,"Couldn't load binary ".concat(t,": status ").concat(status,", ").concat(r)),e.onLoad(),e.loaded++}))}},{key:"loadText",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;t=this.pathPrefix+t,this.toLoad++,this.downloadText(t,(function(n){e.assets[t]=n,a&&a(t,n),e.onLoad(),e.loaded++}),(function(a,r){e.errors[t]="Couldn't load text ".concat(t,": status ").concat(status,", ").concat(r),n&&n(t,"Couldn't load text ".concat(t,": status ").concat(status,", ").concat(r)),e.onLoad(),e.loaded++}))}},{key:"loadImage",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t=this.pathPrefix+t;this.toLoad++;var i=new Image;i.crossOrigin="anonymous",i.onload=function(n){e.assets[r]=i,e.onLoad(),e.loaded++,a&&a(t,i)},i.onerror=function(a){e.errors[t]="Couldn't load image ".concat(t),e.onLoad(),e.loaded++,n&&n(t,"Couldn't load image ".concat(t))},this.rawDataUris[t]&&(t=this.rawDataUris[t]),i.src=t}},{key:"loadTexture",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t=this.pathPrefix+t;this.toLoad++;var i=new Image;i.crossOrigin="anonymous",i.onload=function(n){var s=e.textureLoader(i);e.assets[r]=s,e.onLoad(),e.loaded++,a&&a(t,s)},i.onerror=function(a){e.errors[t]="Couldn't load image ".concat(t),e.onLoad(),e.loaded++,n&&n(t,"Couldn't load image ".concat(t))},this.rawDataUris[t]&&(t=this.rawDataUris[t]),i.src=t}},{key:"loadTextureAtlas",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t.lastIndexOf("/")>=0?t.substring(0,t.lastIndexOf("/")):"";t=this.pathPrefix+t,this.toLoad++,this.downloadText(t,(function(i){var s={count:0},o=new Array;try{new Y(i,(function(t){o.push(""==r?t:r+"/"+t);var e=document.createElement("img");return e.width=16,e.height=16,new X(e)}))}catch(a){var l=a;return e.errors[t]="Couldn't load texture atlas ".concat(t,": ").concat(l.message),n&&n(t,"Couldn't load texture atlas ".concat(t,": ").concat(l.message)),e.onLoad(),void e.loaded++}for(var h=function(){var l=c[u],h=!1;e.loadTexture(l,(function(l,u){if(s.count++,s.count==o.length)if(h)e.errors[t]="Couldn't load texture atlas page ".concat(l,"} of atlas ").concat(t),n&&n(t,"Couldn't load texture atlas page ".concat(l," of atlas ").concat(t)),e.onLoad(),e.loaded++;else try{var c=new Y(i,(function(t){return e.get(""==r?t:r+"/"+t)}));e.assets[t]=c,a&&a(t,c),e.onLoad(),e.loaded++}catch(a){var d=a;e.errors[t]="Couldn't load texture atlas ".concat(t,": ").concat(d.message),n&&n(t,"Couldn't load texture atlas ".concat(t,": ").concat(d.message)),e.onLoad(),e.loaded++}}),(function(a,r){h=!0,s.count++,s.count==o.length&&(e.errors[t]="Couldn't load texture atlas page ".concat(a,"} of atlas ").concat(t),n&&n(t,"Couldn't load texture atlas page ".concat(a," of atlas ").concat(t)),e.onLoad(),e.loaded++)}))},u=0,c=o;u<c.length;u++)h()}),(function(a,r){e.errors[t]="Couldn't load texture atlas ".concat(t,": status ").concat(status,", ").concat(r),n&&n(t,"Couldn't load texture atlas ".concat(t,": status ").concat(status,", ").concat(r)),e.onLoad(),e.loaded++}))}},{key:"get",value:function(t){return t=this.pathPrefix+t,this.assets[t]}},{key:"remove",value:function(t){t=this.pathPrefix+t;var e=this.assets[t];e.dispose&&e.dispose(),this.assets[t]=null}},{key:"removeAll",value:function(){for(var t in this.assets){var e=this.assets[t];e.dispose&&e.dispose()}this.assets={}}},{key:"isLoadingComplete",value:function(){return 0==this.toLoad}},{key:"onLoad",value:function(){this.toLoad--,0===this.toLoad&&this.onLoadComplete()}},{key:"getToLoad",value:function(){return this.toLoad}},{key:"getLoaded",value:function(){return this.loaded}},{key:"dispose",value:function(){this.removeAll()}},{key:"hasErrors",value:function(){return Object.keys(this.errors).length>0}},{key:"getErrors",value:function(){return this.errors}}]),t}(),Nt=function(t){s(n,P);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).color=new g(1,1,1,1),r}return r(n,[{key:"copy",value:function(){var t=new n(this.name);return this.copyTo(t),t.color.setFromColor(this.color),t}}]),n}(),Ot=function(t){s(n,P);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).x=void 0,r.y=void 0,r.rotation=void 0,r.color=new g(.38,.94,0,1),r.name=t,r}return r(n,[{key:"computeWorldPosition",value:function(t,e){return e.x=this.x*t.a+this.y*t.b+t.worldX,e.y=this.x*t.c+this.y*t.d+t.worldY,e}},{key:"computeWorldRotation",value:function(t){var e=m.cosDeg(this.rotation),a=m.sinDeg(this.rotation),n=e*t.a+a*t.b,r=e*t.c+a*t.d;return Math.atan2(r,n)*m.radDeg}},{key:"copy",value:function(){var t=new n(this.name);return t.x=this.x,t.y=this.y,t.rotation=this.rotation,t.color.setFromColor(this.color),t}}]),n}(),Lt=function(){function t(e){a(this,t),this.atlas=void 0,this.atlas=e}return r(t,[{key:"newRegionAttachment",value:function(t,e,a){var n=this.atlas.findRegion(a);if(null==n)throw new Error("Region not found in atlas: "+a+" (region attachment: "+e+")");n.renderObject=n;var r=new N(e);return r.setRegion(n),r}},{key:"newMeshAttachment",value:function(t,e,a){var n=this.atlas.findRegion(a);if(null==n)throw new Error("Region not found in atlas: "+a+" (mesh attachment: "+e+")");n.renderObject=n;var r=new j(e);return r.region=n,r}},{key:"newBoundingBoxAttachment",value:function(t,e){return new Nt(e)}},{key:"newPathAttachment",value:function(t,e){return new _(e)}},{key:"newPointAttachment",value:function(t,e){return new Ot(e)}},{key:"newClippingAttachment",value:function(t,e){return new Rt(e)}}]),t}(),Bt=function(){function t(){a(this,t),this.name=void 0,this.bones=new Array,this.slots=new Array,this.skins=new Array,this.defaultSkin=void 0,this.events=new Array,this.animations=new Array,this.ikConstraints=new Array,this.transformConstraints=new Array,this.pathConstraints=new Array,this.x=void 0,this.y=void 0,this.width=void 0,this.height=void 0,this.version=void 0,this.hash=void 0,this.fps=0,this.imagesPath=void 0,this.audioPath=void 0}return r(t,[{key:"findBone",value:function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findBoneIndex",value:function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,a=0,n=e.length;a<n;a++)if(e[a].name==t)return a;return-1}},{key:"findSlot",value:function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findSlotIndex",value:function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,a=0,n=e.length;a<n;a++)if(e[a].name==t)return a;return-1}},{key:"findSkin",value:function(t){if(null==t)throw new Error("skinName cannot be null.");for(var e=this.skins,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findEvent",value:function(t){if(null==t)throw new Error("eventDataName cannot be null.");for(var e=this.events,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findAnimation",value:function(t){if(null==t)throw new Error("animationName cannot be null.");for(var e=this.animations,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findIkConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findTransformConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findPathConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findPathConstraintIndex",value:function(t){if(null==t)throw new Error("pathConstraintName cannot be null.");for(var e=this.pathConstraints,a=0,n=e.length;a<n;a++)if(e[a].name==t)return a;return-1}}]),t}(),Dt=r((function t(e,n,r){if(a(this,t),this.index=void 0,this.name=void 0,this.boneData=void 0,this.color=new g(1,1,1,1),this.darkColor=void 0,this.attachmentName=void 0,this.blendMode=void 0,e<0)throw new Error("index must be >= 0.");if(null==n)throw new Error("name cannot be null.");if(null==r)throw new Error("boneData cannot be null.");this.index=e,this.name=n,this.boneData=r})),Xt=function(t){s(n,T);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t,0,!1)).bones=new Array,r.target=void 0,r.bendDirection=1,r.compress=!1,r.stretch=!1,r.uniform=!1,r.mix=1,r.softness=0,r}return r(n)}(),Yt=function(t){s(n,T);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t,0,!1)).bones=new Array,r.target=void 0,r.rotateMix=0,r.translateMix=0,r.scaleMix=0,r.shearMix=0,r.offsetRotation=0,r.offsetX=0,r.offsetY=0,r.offsetScaleX=0,r.offsetScaleY=0,r.offsetShearY=0,r.relative=!1,r.local=!1,r}return r(n)}(),Ut=r((function t(e,n,r){a(this,t),this.slotIndex=e,this.name=n,this.attachment=r})),Wt=function(){function t(e){if(a(this,t),this.name=void 0,this.attachments=new Array,this.bones=Array(),this.constraints=new Array,null==e)throw new Error("name cannot be null.");this.name=e}return r(t,[{key:"setAttachment",value:function(t,e,a){if(null==a)throw new Error("attachment cannot be null.");var n=this.attachments;t>=n.length&&(n.length=t+1),n[t]||(n[t]={}),n[t][e]=a}},{key:"addSkin",value:function(t){for(var e=0;e<t.bones.length;e++){for(var a=t.bones[e],n=!1,r=0;r<this.bones.length;r++)if(this.bones[r]==a){n=!0;break}n||this.bones.push(a)}for(var i=0;i<t.constraints.length;i++){for(var s=t.constraints[i],o=!1,l=0;l<this.constraints.length;l++)if(this.constraints[l]==s){o=!0;break}o||this.constraints.push(s)}for(var h=t.getAttachments(),u=0;u<h.length;u++){var c=h[u];this.setAttachment(c.slotIndex,c.name,c.attachment)}}},{key:"copySkin",value:function(t){for(var e=0;e<t.bones.length;e++){for(var a=t.bones[e],n=!1,r=0;r<this.bones.length;r++)if(this.bones[r]==a){n=!0;break}n||this.bones.push(a)}for(var i=0;i<t.constraints.length;i++){for(var s=t.constraints[i],o=!1,l=0;l<this.constraints.length;l++)if(this.constraints[l]==s){o=!0;break}o||this.constraints.push(s)}for(var h=t.getAttachments(),u=0;u<h.length;u++){var c=h[u];null!=c.attachment&&(c.attachment instanceof j?(c.attachment=c.attachment.newLinkedMesh(),this.setAttachment(c.slotIndex,c.name,c.attachment)):(c.attachment=c.attachment.copy(),this.setAttachment(c.slotIndex,c.name,c.attachment)))}}},{key:"getAttachment",value:function(t,e){var a=this.attachments[t];return a?a[e]:null}},{key:"removeAttachment",value:function(t,e){var a=this.attachments[t];a&&(a[e]=null)}},{key:"getAttachments",value:function(){for(var t=new Array,e=0;e<this.attachments.length;e++){var a=this.attachments[e];if(a)for(var n in a){var r=a[n];r&&t.push(new Ut(e,n,r))}}return t}},{key:"getAttachmentsForSlot",value:function(t,e){var a=this.attachments[t];if(a)for(var n in a){var r=a[n];r&&e.push(new Ut(t,n,r))}}},{key:"clear",value:function(){this.attachments.length=0,this.bones.length=0,this.constraints.length=0}},{key:"attachAll",value:function(t,e){for(var a=0,n=0;n<t.slots.length;n++){var r=t.slots[n],i=r.getAttachment();if(i&&a<e.attachments.length){var s=e.attachments[a];for(var o in s){if(i==s[o]){var l=this.getAttachment(a,o);null!=l&&r.setAttachment(l);break}}}a++}}}]),t}(),qt=r((function t(e){a(this,t),this.name=void 0,this.intValue=void 0,this.floatValue=void 0,this.stringValue=void 0,this.audioPath=void 0,this.volume=void 0,this.balance=void 0,this.name=e})),jt=function(t){return t[t.Normal=0]="Normal",t[t.Additive=1]="Additive",t[t.Multiply=2]="Multiply",t[t.Screen=3]="Screen",t}({}),Ht=r((function t(e,n){if(a(this,t),this.data=void 0,this.intValue=void 0,this.floatValue=void 0,this.stringValue=void 0,this.time=void 0,this.volume=void 0,this.balance=void 0,null==n)throw new Error("data cannot be null.");this.time=e,this.data=n})),zt=function(){function t(e){a(this,t),this.attachmentLoader=void 0,this.scale=1,this.linkedMeshes=new Array,this.attachmentLoader=e}return r(t,[{key:"readSkeletonData",value:function(e){var a=this.scale,n=new Bt,r="string"==typeof e?JSON.parse(e):e,i=r.skeleton;if(null!=i){if(n.hash=i.hash,n.version=i.spine,"3.8.75"==n.version)throw new Error("Unsupported skeleton data, please export with a newer version of Spine.");n.x=i.x,n.y=i.y,n.width=i.width,n.height=i.height,n.fps=i.fps,n.imagesPath=i.images}if(r.bones)for(var s=0;s<r.bones.length;s++){var o=r.bones[s],l=null,h=this.getValue(o,"parent",null);if(null!=h&&null==(l=n.findBone(h)))throw new Error("Parent bone not found: "+h);var u=new k(n.bones.length,o.name,l);u.length=this.getValue(o,"length",0)*a,u.x=this.getValue(o,"x",0)*a,u.y=this.getValue(o,"y",0)*a,u.rotation=this.getValue(o,"rotation",0),u.scaleX=this.getValue(o,"scaleX",1),u.scaleY=this.getValue(o,"scaleY",1),u.shearX=this.getValue(o,"shearX",0),u.shearY=this.getValue(o,"shearY",0),u.transformMode=t.transformModeFromString(this.getValue(o,"transform","normal")),u.skinRequired=this.getValue(o,"skin",!1),n.bones.push(u)}if(r.slots)for(var c=0;c<r.slots.length;c++){var d=r.slots[c],f=d.name,v=d.bone,m=n.findBone(v);if(null==m)throw new Error("Slot bone not found: "+v);var p=new Dt(n.slots.length,f,m),y=this.getValue(d,"color",null);null!=y&&p.color.setFromString(y);var w=this.getValue(d,"dark",null);null!=w&&(p.darkColor=new g(1,1,1,1),p.darkColor.setFromString(w)),p.attachmentName=this.getValue(d,"attachment",null),p.blendMode=t.blendModeFromString(this.getValue(d,"blend","normal")),n.slots.push(p)}if(r.ik)for(var x=0;x<r.ik.length;x++){var E=r.ik[x],b=new Xt(E.name);b.order=this.getValue(E,"order",0),b.skinRequired=this.getValue(E,"skin",!1);for(var M=0;M<E.bones.length;M++){var S=E.bones[M],T=n.findBone(S);if(null==T)throw new Error("IK bone not found: "+S);b.bones.push(T)}var C=E.target;if(b.target=n.findBone(C),null==b.target)throw new Error("IK target bone not found: "+C);b.mix=this.getValue(E,"mix",1),b.softness=this.getValue(E,"softness",0)*a,b.bendDirection=this.getValue(E,"bendPositive",!0)?1:-1,b.compress=this.getValue(E,"compress",!1),b.stretch=this.getValue(E,"stretch",!1),b.uniform=this.getValue(E,"uniform",!1),n.ikConstraints.push(b)}if(r.transform)for(var V=0;V<r.transform.length;V++){var P=r.transform[V],_=new Yt(P.name);_.order=this.getValue(P,"order",0),_.skinRequired=this.getValue(P,"skin",!1);for(var F=0;F<P.bones.length;F++){var N=P.bones[F],O=n.findBone(N);if(null==O)throw new Error("Transform constraint bone not found: "+N);_.bones.push(O)}var L=P.target;if(_.target=n.findBone(L),null==_.target)throw new Error("Transform constraint target bone not found: "+L);_.local=this.getValue(P,"local",!1),_.relative=this.getValue(P,"relative",!1),_.offsetRotation=this.getValue(P,"rotation",0),_.offsetX=this.getValue(P,"x",0)*a,_.offsetY=this.getValue(P,"y",0)*a,_.offsetScaleX=this.getValue(P,"scaleX",0),_.offsetScaleY=this.getValue(P,"scaleY",0),_.offsetShearY=this.getValue(P,"shearY",0),_.rotateMix=this.getValue(P,"rotateMix",1),_.translateMix=this.getValue(P,"translateMix",1),_.scaleMix=this.getValue(P,"scaleMix",1),_.shearMix=this.getValue(P,"shearMix",1),n.transformConstraints.push(_)}if(r.path)for(var B=0;B<r.path.length;B++){var D=r.path[B],X=new I(D.name);X.order=this.getValue(D,"order",0),X.skinRequired=this.getValue(D,"skin",!1);for(var Y=0;Y<D.bones.length;Y++){var U=D.bones[Y],W=n.findBone(U);if(null==W)throw new Error("Transform constraint bone not found: "+U);X.bones.push(W)}var q=D.target;if(X.target=n.findSlot(q),null==X.target)throw new Error("Path target slot not found: "+q);X.positionMode=t.positionModeFromString(this.getValue(D,"positionMode","percent")),X.spacingMode=t.spacingModeFromString(this.getValue(D,"spacingMode","length")),X.rotateMode=t.rotateModeFromString(this.getValue(D,"rotateMode","tangent")),X.offsetRotation=this.getValue(D,"rotation",0),X.position=this.getValue(D,"position",0),X.positionMode==R.Fixed&&(X.position*=a),X.spacing=this.getValue(D,"spacing",0),X.spacingMode!=A.Length&&X.spacingMode!=A.Fixed||(X.spacing*=a),X.rotateMix=this.getValue(D,"rotateMix",1),X.translateMix=this.getValue(D,"translateMix",1),n.pathConstraints.push(X)}if(r.skins)for(var j=0;j<r.skins.length;j++){var H=r.skins[j],z=new Wt(H.name);if(H.bones)for(var G=0;G<H.bones.length;G++){var Z=n.findBone(H.bones[G]);if(null==Z)throw new Error("Skin bone not found: "+H.bones[j]);z.bones.push(Z)}if(H.ik)for(var Q=0;Q<H.ik.length;Q++){var K=n.findIkConstraint(H.ik[Q]);if(null==K)throw new Error("Skin IK constraint not found: "+H.ik[j]);z.constraints.push(K)}if(H.transform)for(var J=0;J<H.transform.length;J++){var $=n.findTransformConstraint(H.transform[J]);if(null==$)throw new Error("Skin transform constraint not found: "+H.transform[j]);z.constraints.push($)}if(H.path)for(var tt=0;tt<H.path.length;tt++){var et=n.findPathConstraint(H.path[tt]);if(null==et)throw new Error("Skin path constraint not found: "+H.path[j]);z.constraints.push(et)}for(var at in H.attachments){var nt=n.findSlot(at);if(null==nt)throw new Error("Slot not found: "+at);var rt=H.attachments[at];for(var it in rt){var st=this.readAttachment(rt[it],z,nt.index,it,n);null!=st&&z.setAttachment(nt.index,it,st)}}n.skins.push(z),"default"==z.name&&(n.defaultSkin=z)}for(var ot=0,lt=this.linkedMeshes.length;ot<lt;ot++){var ht=this.linkedMeshes[ot],ut=null==ht.skin?n.defaultSkin:n.findSkin(ht.skin);if(null==ut)throw new Error("Skin not found: "+ht.skin);var ct=ut.getAttachment(ht.slotIndex,ht.parent);if(null==ct)throw new Error("Parent mesh not found: "+ht.parent);ht.mesh.deformAttachment=ht.inheritDeform?ct:ht.mesh,ht.mesh.setParentMesh(ct),ht.mesh.updateUVs()}if(this.linkedMeshes.length=0,r.events)for(var dt in r.events){var ft=r.events[dt],vt=new qt(dt);vt.intValue=this.getValue(ft,"int",0),vt.floatValue=this.getValue(ft,"float",0),vt.stringValue=this.getValue(ft,"string",""),vt.audioPath=this.getValue(ft,"audio",null),null!=vt.audioPath&&(vt.volume=this.getValue(ft,"volume",1),vt.balance=this.getValue(ft,"balance",0)),n.events.push(vt)}if(r.animations)for(var gt in r.animations){var mt=r.animations[gt];this.readAnimation(mt,gt,n)}return n}},{key:"readAttachment",value:function(t,e,a,n,r){var i=this.scale;switch(n=this.getValue(t,"name",n),this.getValue(t,"type","region")){case"region":var s=this.getValue(t,"path",n),o=this.attachmentLoader.newRegionAttachment(e,n,s);if(null==o)return null;o.path=s,o.x=this.getValue(t,"x",0)*i,o.y=this.getValue(t,"y",0)*i,o.scaleX=this.getValue(t,"scaleX",1),o.scaleY=this.getValue(t,"scaleY",1),o.rotation=this.getValue(t,"rotation",0),o.width=t.width*i,o.height=t.height*i;var l=this.getValue(t,"color",null);return null!=l&&o.color.setFromString(l),o.updateOffset(),o;case"boundingbox":var h=this.attachmentLoader.newBoundingBoxAttachment(e,n);if(null==h)return null;this.readVertices(t,h,t.vertexCount<<1);var u=this.getValue(t,"color",null);return null!=u&&h.color.setFromString(u),h;case"mesh":case"linkedmesh":var c=this.getValue(t,"path",n),d=this.attachmentLoader.newMeshAttachment(e,n,c);if(null==d)return null;d.path=c;var f=this.getValue(t,"color",null);null!=f&&d.color.setFromString(f),d.width=this.getValue(t,"width",0)*i,d.height=this.getValue(t,"height",0)*i;var v=this.getValue(t,"parent",null);if(null!=v)return this.linkedMeshes.push(new Gt(d,this.getValue(t,"skin",null),a,v,this.getValue(t,"deform",!0))),d;var g=t.uvs;return this.readVertices(t,d,g.length),d.triangles=t.triangles,d.regionUVs=g,d.updateUVs(),d.edges=this.getValue(t,"edges",null),d.hullLength=2*this.getValue(t,"hull",0),d;case"path":var m=this.attachmentLoader.newPathAttachment(e,n);if(null==m)return null;m.closed=this.getValue(t,"closed",!1),m.constantSpeed=this.getValue(t,"constantSpeed",!0);var y=t.vertexCount;this.readVertices(t,m,y<<1);for(var w=p.newArray(y/3,0),k=0;k<t.lengths.length;k++)w[k]=t.lengths[k]*i;m.lengths=w;var x=this.getValue(t,"color",null);return null!=x&&m.color.setFromString(x),m;case"point":var E=this.attachmentLoader.newPointAttachment(e,n);if(null==E)return null;E.x=this.getValue(t,"x",0)*i,E.y=this.getValue(t,"y",0)*i,E.rotation=this.getValue(t,"rotation",0);var b=this.getValue(t,"color",null);return null!=b&&E.color.setFromString(b),E;case"clipping":var M=this.attachmentLoader.newClippingAttachment(e,n);if(null==M)return null;var S=this.getValue(t,"end",null);if(null!=S){var T=r.findSlot(S);if(null==T)throw new Error("Clipping end slot not found: "+S);M.endSlot=T}var I=t.vertexCount;this.readVertices(t,M,I<<1);var R=this.getValue(t,"color",null);return null!=R&&M.color.setFromString(R),M}return null}},{key:"readVertices",value:function(t,e,a){var n=this.scale;e.worldVerticesLength=a;var r=t.vertices;if(a!=r.length){for(var i=new Array,s=new Array,o=0,l=r.length;o<l;){var h=r[o++];s.push(h);for(var u=o+4*h;o<u;o+=4)s.push(r[o]),i.push(r[o+1]*n),i.push(r[o+2]*n),i.push(r[o+3])}e.bones=s,e.vertices=p.toFloatArray(i)}else{var c=p.toFloatArray(r);if(1!=n)for(var d=0,f=r.length;d<f;d++)c[d]*=n;e.vertices=c}}},{key:"readAnimation",value:function(t,e,a){var n=this.scale,r=new Array,i=0;if(t.slots)for(var s in t.slots){var o=t.slots[s],l=a.findSlotIndex(s);if(-1==l)throw new Error("Slot not found: "+s);for(var h in o){var u=o[h];if("attachment"==h){var c=new rt(u.length);c.slotIndex=l;for(var d=0,f=0;f<u.length;f++){var v=u[f];c.setFrame(d++,this.getValue(v,"time",0),v.name)}r.push(c),i=Math.max(i,c.frames[c.getFrameCount()-1])}else if("color"==h){var m=new at(u.length);m.slotIndex=l;for(var y=0,w=0;w<u.length;w++){var k=u[w],x=new g;x.setFromString(k.color),m.setFrame(y,this.getValue(k,"time",0),x.r,x.g,x.b,x.a),this.readCurve(k,m,y),y++}r.push(m),i=Math.max(i,m.frames[(m.getFrameCount()-1)*at.ENTRIES])}else{if("twoColor"!=h)throw new Error("Invalid timeline type for a slot: "+h+" ("+s+")");var E=new nt(u.length);E.slotIndex=l;for(var b=0,M=0;M<u.length;M++){var S=u[M],T=new g,I=new g;T.setFromString(S.light),I.setFromString(S.dark),E.setFrame(b,this.getValue(S,"time",0),T.r,T.g,T.b,T.a,I.r,I.g,I.b),this.readCurve(S,E,b),b++}r.push(E),i=Math.max(i,E.frames[(E.getFrameCount()-1)*nt.ENTRIES])}}}if(t.bones)for(var C in t.bones){var V=t.bones[C],P=a.findBoneIndex(C);if(-1==P)throw new Error("Bone not found: "+C);for(var _ in V){var F=V[_];if("rotate"===_){var N=new J(F.length);N.boneIndex=P;for(var O=0,L=0;L<F.length;L++){var B=F[L];N.setFrame(O,this.getValue(B,"time",0),this.getValue(B,"angle",0)),this.readCurve(B,N,O),O++}r.push(N),i=Math.max(i,N.frames[(N.getFrameCount()-1)*J.ENTRIES])}else{if("translate"!==_&&"scale"!==_&&"shear"!==_)throw new Error("Invalid timeline type for a bone: "+_+" ("+C+")");var D=null,X=1,Y=0;"scale"===_?(D=new tt(F.length),Y=1):"shear"===_?D=new et(F.length):(D=new $(F.length),X=n),D.boneIndex=P;for(var U=0,W=0;W<F.length;W++){var q=F[W],j=this.getValue(q,"x",Y),H=this.getValue(q,"y",Y);D.setFrame(U,this.getValue(q,"time",0),j*X,H*X),this.readCurve(q,D,U),U++}r.push(D),i=Math.max(i,D.frames[(D.getFrameCount()-1)*$.ENTRIES])}}}if(t.ik)for(var G in t.ik){var Z=t.ik[G],Q=a.findIkConstraint(G),K=new ht(Z.length);K.ikConstraintIndex=a.ikConstraints.indexOf(Q);for(var it=0,vt=0;vt<Z.length;vt++){var gt=Z[vt];K.setFrame(it,this.getValue(gt,"time",0),this.getValue(gt,"mix",1),this.getValue(gt,"softness",0)*n,this.getValue(gt,"bendPositive",!0)?1:-1,this.getValue(gt,"compress",!1),this.getValue(gt,"stretch",!1)),this.readCurve(gt,K,it),it++}r.push(K),i=Math.max(i,K.frames[(K.getFrameCount()-1)*ht.ENTRIES])}if(t.transform)for(var mt in t.transform){var pt=t.transform[mt],yt=a.findTransformConstraint(mt),wt=new ut(pt.length);wt.transformConstraintIndex=a.transformConstraints.indexOf(yt);for(var kt=0,xt=0;xt<pt.length;xt++){var Et=pt[xt];wt.setFrame(kt,this.getValue(Et,"time",0),this.getValue(Et,"rotateMix",1),this.getValue(Et,"translateMix",1),this.getValue(Et,"scaleMix",1),this.getValue(Et,"shearMix",1)),this.readCurve(Et,wt,kt),kt++}r.push(wt),i=Math.max(i,wt.frames[(wt.getFrameCount()-1)*ut.ENTRIES])}if(t.path)for(var bt in t.path){var Mt=t.path[bt],St=a.findPathConstraintIndex(bt);if(-1==St)throw new Error("Path constraint not found: "+bt);var Tt=a.pathConstraints[St];for(var It in Mt){var Rt=Mt[It];if("position"===It||"spacing"===It){var At=null,Ct=1;"spacing"===It?(At=new dt(Rt.length),Tt.spacingMode!=A.Length&&Tt.spacingMode!=A.Fixed||(Ct=n)):(At=new ct(Rt.length),Tt.positionMode==R.Fixed&&(Ct=n)),At.pathConstraintIndex=St;for(var Vt=0,Pt=0;Pt<Rt.length;Pt++){var _t=Rt[Pt];At.setFrame(Vt,this.getValue(_t,"time",0),this.getValue(_t,It,0)*Ct),this.readCurve(_t,At,Vt),Vt++}r.push(At),i=Math.max(i,At.frames[(At.getFrameCount()-1)*ct.ENTRIES])}else if("mix"===It){var Ft=new ft(Rt.length);Ft.pathConstraintIndex=St;for(var Nt=0,Ot=0;Ot<Rt.length;Ot++){var Lt=Rt[Ot];Ft.setFrame(Nt,this.getValue(Lt,"time",0),this.getValue(Lt,"rotateMix",1),this.getValue(Lt,"translateMix",1)),this.readCurve(Lt,Ft,Nt),Nt++}r.push(Ft),i=Math.max(i,Ft.frames[(Ft.getFrameCount()-1)*ft.ENTRIES])}}}if(t.deform)for(var Bt in t.deform){var Dt=t.deform[Bt],Xt=a.findSkin(Bt);if(null==Xt)throw new Error("Skin not found: "+Bt);for(var Yt in Dt){var Ut=Dt[Yt],Wt=a.findSlotIndex(Yt);if(-1==Wt)throw new Error("Slot not found: "+Ut.name);for(var qt in Ut){var jt=Ut[qt],zt=Xt.getAttachment(Wt,qt);if(null==zt)throw new Error("Deform attachment not found: "+jt.name);var Gt=null!=zt.bones,Zt=zt.vertices,Qt=Gt?Zt.length/3*2:Zt.length,Kt=new st(jt.length);Kt.slotIndex=Wt,Kt.attachment=zt;for(var Jt=0,$t=0;$t<jt.length;$t++){var te=jt[$t],ee=void 0,ae=this.getValue(te,"vertices",null);if(null==ae)ee=Gt?p.newFloatArray(Qt):Zt;else{ee=p.newFloatArray(Qt);var ne=this.getValue(te,"offset",0);if(p.arrayCopy(ae,0,ee,ne,ae.length),1!=n)for(var re=ne,ie=re+ae.length;re<ie;re++)ee[re]*=n;if(!Gt)for(var se=0;se<Qt;se++)ee[se]+=Zt[se]}Kt.setFrame(Jt,this.getValue(te,"time",0),ee),this.readCurve(te,Kt,Jt),Jt++}r.push(Kt),i=Math.max(i,Kt.frames[Kt.getFrameCount()-1])}}}var oe=t.drawOrder;if(null==oe&&(oe=t.draworder),null!=oe){for(var le=new lt(oe.length),he=a.slots.length,ue=0,ce=0;ce<oe.length;ce++){var de=oe[ce],fe=null,ve=this.getValue(de,"offsets",null);if(null!=ve){fe=p.newArray(he,-1);for(var ge=p.newArray(he-ve.length,0),me=0,pe=0,ye=0;ye<ve.length;ye++){var we=ve[ye],ke=a.findSlotIndex(we.slot);if(-1==ke)throw new Error("Slot not found: "+we.slot);for(;me!=ke;)ge[pe++]=me++;fe[me+we.offset]=me++}for(;me<he;)ge[pe++]=me++;for(var xe=he-1;xe>=0;xe--)-1==fe[xe]&&(fe[xe]=ge[--pe])}le.setFrame(ue++,this.getValue(de,"time",0),fe)}r.push(le),i=Math.max(i,le.frames[le.getFrameCount()-1])}if(t.events){for(var Ee=new ot(t.events.length),be=0,Me=0;Me<t.events.length;Me++){var Se=t.events[Me],Te=a.findEvent(Se.name);if(null==Te)throw new Error("Event not found: "+Se.name);var Ie=new Ht(p.toSinglePrecision(this.getValue(Se,"time",0)),Te);Ie.intValue=this.getValue(Se,"int",Te.intValue),Ie.floatValue=this.getValue(Se,"float",Te.floatValue),Ie.stringValue=this.getValue(Se,"string",Te.stringValue),null!=Ie.data.audioPath&&(Ie.volume=this.getValue(Se,"volume",1),Ie.balance=this.getValue(Se,"balance",0)),Ee.setFrame(be++,Ie)}r.push(Ee),i=Math.max(i,Ee.frames[Ee.getFrameCount()-1])}if(isNaN(i))throw new Error("Error while parsing animation, duration is NaN");a.animations.push(new z(e,r,i))}},{key:"readCurve",value:function(t,e,a){if(t.hasOwnProperty("curve"))if("stepped"==t.curve)e.setStepped(a);else{var n=t.curve;e.setCurve(a,n,this.getValue(t,"c2",0),this.getValue(t,"c3",1),this.getValue(t,"c4",1))}}},{key:"getValue",value:function(t,e,a){return void 0!==t[e]?t[e]:a}}],[{key:"blendModeFromString",value:function(t){if("normal"==(t=t.toLowerCase()))return jt.Normal;if("additive"==t)return jt.Additive;if("multiply"==t)return jt.Multiply;if("screen"==t)return jt.Screen;throw new Error("Unknown blend mode: ".concat(t))}},{key:"positionModeFromString",value:function(t){if("fixed"==(t=t.toLowerCase()))return R.Fixed;if("percent"==t)return R.Percent;throw new Error("Unknown position mode: ".concat(t))}},{key:"spacingModeFromString",value:function(t){if("length"==(t=t.toLowerCase()))return A.Length;if("fixed"==t)return A.Fixed;if("percent"==t)return A.Percent;throw new Error("Unknown position mode: ".concat(t))}},{key:"rotateModeFromString",value:function(t){if("tangent"==(t=t.toLowerCase()))return C.Tangent;if("chain"==t)return C.Chain;if("chainscale"==t)return C.ChainScale;throw new Error("Unknown rotate mode: ".concat(t))}},{key:"transformModeFromString",value:function(t){if("normal"==(t=t.toLowerCase()))return x.Normal;if("onlytranslation"==t)return x.OnlyTranslation;if("norotationorreflection"==t)return x.NoRotationOrReflection;if("noscale"==t)return x.NoScale;if("noscaleorreflection"==t)return x.NoScaleOrReflection;throw new Error("Unknown transform mode: ".concat(t))}}]),t}(),Gt=r((function t(e,n,r,i,s){a(this,t),this.parent=void 0,this.skin=void 0,this.slotIndex=void 0,this.mesh=void 0,this.inheritDeform=void 0,this.mesh=e,this.skin=n,this.slotIndex=r,this.parent=i,this.inheritDeform=s})),Zt=function(t){return t[t.Region=0]="Region",t[t.BoundingBox=1]="BoundingBox",t[t.Mesh=2]="Mesh",t[t.LinkedMesh=3]="LinkedMesh",t[t.Path=4]="Path",t[t.Point=5]="Point",t[t.Clipping=6]="Clipping",t}({}),Qt=function(){function t(e){a(this,t),this.scale=1,this.attachmentLoader=void 0,this.linkedMeshes=new Array,this.attachmentLoader=e}return r(t,[{key:"readSkeletonData",value:function(e){var a=this.scale,n=new Bt;n.name="";var r=new Kt(e);if(n.hash=r.readString(),n.version=r.readString(),"3.8.75"==n.version)throw new Error("Unsupported skeleton data, please export with a newer version of Spine.");n.x=r.readFloat(),n.y=r.readFloat(),n.width=r.readFloat(),n.height=r.readFloat();var i=r.readBoolean();i&&(n.fps=r.readFloat(),n.imagesPath=r.readString(),n.audioPath=r.readString());var s=0;s=r.readInt(!0);for(var o=0;o<s;o++)r.strings.push(r.readString());s=r.readInt(!0);for(var l=0;l<s;l++){var h=r.readString(),u=0==l?null:n.bones[r.readInt(!0)],c=new k(l,h,u);c.rotation=r.readFloat(),c.x=r.readFloat()*a,c.y=r.readFloat()*a,c.scaleX=r.readFloat(),c.scaleY=r.readFloat(),c.shearX=r.readFloat(),c.shearY=r.readFloat(),c.length=r.readFloat()*a,c.transformMode=t.TransformModeValues[r.readInt(!0)],c.skinRequired=r.readBoolean(),i&&g.rgba8888ToColor(c.color,r.readInt32()),n.bones.push(c)}s=r.readInt(!0);for(var d=0;d<s;d++){var f=r.readString(),v=n.bones[r.readInt(!0)],m=new Dt(d,f,v);g.rgba8888ToColor(m.color,r.readInt32());var y=r.readInt32();-1!=y&&g.rgb888ToColor(m.darkColor=new g,y),m.attachmentName=r.readStringRef(),m.blendMode=t.BlendModeValues[r.readInt(!0)],n.slots.push(m)}s=r.readInt(!0);for(var w,x=0;x<s;x++){var E=new Xt(r.readString());E.order=r.readInt(!0),E.skinRequired=r.readBoolean(),w=r.readInt(!0);for(var b=0;b<w;b++)E.bones.push(n.bones[r.readInt(!0)]);E.target=n.bones[r.readInt(!0)],E.mix=r.readFloat(),E.softness=r.readFloat()*a,E.bendDirection=r.readByte(),E.compress=r.readBoolean(),E.stretch=r.readBoolean(),E.uniform=r.readBoolean(),n.ikConstraints.push(E)}s=r.readInt(!0);for(var M,S=0;S<s;S++){var T=new Yt(r.readString());T.order=r.readInt(!0),T.skinRequired=r.readBoolean(),M=r.readInt(!0);for(var C=0;C<M;C++)T.bones.push(n.bones[r.readInt(!0)]);T.target=n.bones[r.readInt(!0)],T.local=r.readBoolean(),T.relative=r.readBoolean(),T.offsetRotation=r.readFloat(),T.offsetX=r.readFloat()*a,T.offsetY=r.readFloat()*a,T.offsetScaleX=r.readFloat(),T.offsetScaleY=r.readFloat(),T.offsetShearY=r.readFloat(),T.rotateMix=r.readFloat(),T.translateMix=r.readFloat(),T.scaleMix=r.readFloat(),T.shearMix=r.readFloat(),n.transformConstraints.push(T)}s=r.readInt(!0);for(var V,P=0;P<s;P++){var _=new I(r.readString());_.order=r.readInt(!0),_.skinRequired=r.readBoolean(),V=r.readInt(!0);for(var F=0;F<V;F++)_.bones.push(n.bones[r.readInt(!0)]);_.target=n.slots[r.readInt(!0)],_.positionMode=t.PositionModeValues[r.readInt(!0)],_.spacingMode=t.SpacingModeValues[r.readInt(!0)],_.rotateMode=t.RotateModeValues[r.readInt(!0)],_.offsetRotation=r.readFloat(),_.position=r.readFloat(),_.positionMode==R.Fixed&&(_.position*=a),_.spacing=r.readFloat(),_.spacingMode!=A.Length&&_.spacingMode!=A.Fixed||(_.spacing*=a),_.rotateMix=r.readFloat(),_.translateMix=r.readFloat(),n.pathConstraints.push(_)}var N=this.readSkin(r,n,!0,i);null!=N&&(n.defaultSkin=N,n.skins.push(N));var O=n.skins.length;for(p.setArraySize(n.skins,s=O+r.readInt(!0));O<s;O++)n.skins[O]=this.readSkin(r,n,!1,i);s=this.linkedMeshes.length;for(var L=0;L<s;L++){var B=this.linkedMeshes[L],D=null==B.skin?n.defaultSkin:n.findSkin(B.skin);if(null==D)throw new Error("Skin not found: "+B.skin);var X=D.getAttachment(B.slotIndex,B.parent);if(null==X)throw new Error("Parent mesh not found: "+B.parent);B.mesh.deformAttachment=B.inheritDeform?X:B.mesh,B.mesh.setParentMesh(X),B.mesh.updateUVs()}this.linkedMeshes.length=0,s=r.readInt(!0);for(var Y=0;Y<s;Y++){var U=new qt(r.readStringRef());U.intValue=r.readInt(!1),U.floatValue=r.readFloat(),U.stringValue=r.readString(),U.audioPath=r.readString(),null!=U.audioPath&&(U.volume=r.readFloat(),U.balance=r.readFloat()),n.events.push(U)}s=r.readInt(!0);for(var W=0;W<s;W++)n.animations.push(this.readAnimation(r,r.readString(),n));return n}},{key:"readSkin",value:function(t,e,a,n){var r=null,i=0;if(a){if(0==(i=t.readInt(!0)))return null;r=new Wt("default")}else{(r=new Wt(t.readStringRef())).bones.length=t.readInt(!0);for(var s=0,o=r.bones.length;s<o;s++)r.bones[s]=e.bones[t.readInt(!0)];for(var l=0,h=t.readInt(!0);l<h;l++)r.constraints.push(e.ikConstraints[t.readInt(!0)]);for(var u=0,c=t.readInt(!0);u<c;u++)r.constraints.push(e.transformConstraints[t.readInt(!0)]);for(var d=0,f=t.readInt(!0);d<f;d++)r.constraints.push(e.pathConstraints[t.readInt(!0)]);i=t.readInt(!0)}for(var v=0;v<i;v++)for(var g=t.readInt(!0),m=0,p=t.readInt(!0);m<p;m++){var y=t.readStringRef(),w=this.readAttachment(t,e,r,g,y,n);null!=w&&r.setAttachment(g,y,w)}return r}},{key:"readAttachment",value:function(e,a,n,r,i,s){var o=this.scale,l=e.readStringRef();null==l&&(l=i);var h=e.readByte();switch(t.AttachmentTypeValues[h]){case Zt.Region:var u=e.readStringRef(),c=e.readFloat(),d=e.readFloat(),f=e.readFloat(),v=e.readFloat(),m=e.readFloat(),y=e.readFloat(),w=e.readFloat(),k=e.readInt32();null==u&&(u=l);var x=this.attachmentLoader.newRegionAttachment(n,l,u);return null==x?null:(x.path=u,x.x=d*o,x.y=f*o,x.scaleX=v,x.scaleY=m,x.rotation=c,x.width=y*o,x.height=w*o,g.rgba8888ToColor(x.color,k),x.updateOffset(),x);case Zt.BoundingBox:var E=e.readInt(!0),b=this.readVertices(e,E),M=s?e.readInt32():0,S=this.attachmentLoader.newBoundingBoxAttachment(n,l);return null==S?null:(S.worldVerticesLength=E<<1,S.vertices=b.vertices,S.bones=b.bones,s&&g.rgba8888ToColor(S.color,M),S);case Zt.Mesh:var T=e.readStringRef(),I=e.readInt32(),R=e.readInt(!0),A=this.readFloatArray(e,R<<1,1),C=this.readShortArray(e),V=this.readVertices(e,R),P=e.readInt(!0),_=null,F=0,N=0;s&&(_=this.readShortArray(e),F=e.readFloat(),N=e.readFloat()),null==T&&(T=l);var O=this.attachmentLoader.newMeshAttachment(n,l,T);return null==O?null:(O.path=T,g.rgba8888ToColor(O.color,I),O.bones=V.bones,O.vertices=V.vertices,O.worldVerticesLength=R<<1,O.triangles=C,O.regionUVs=A,O.updateUVs(),O.hullLength=P<<1,s&&(O.edges=_,O.width=F*o,O.height=N*o),O);case Zt.LinkedMesh:var L=e.readStringRef(),B=e.readInt32(),D=e.readStringRef(),X=e.readStringRef(),Y=e.readBoolean(),U=0,W=0;s&&(U=e.readFloat(),W=e.readFloat()),null==L&&(L=l);var q=this.attachmentLoader.newMeshAttachment(n,l,L);return null==q?null:(q.path=L,g.rgba8888ToColor(q.color,B),s&&(q.width=U*o,q.height=W*o),this.linkedMeshes.push(new Jt(q,D,r,X,Y)),q);case Zt.Path:for(var j=e.readBoolean(),H=e.readBoolean(),z=e.readInt(!0),G=this.readVertices(e,z),Z=p.newArray(z/3,0),Q=0,K=Z.length;Q<K;Q++)Z[Q]=e.readFloat()*o;var J=s?e.readInt32():0,$=this.attachmentLoader.newPathAttachment(n,l);return null==$?null:($.closed=j,$.constantSpeed=H,$.worldVerticesLength=z<<1,$.vertices=G.vertices,$.bones=G.bones,$.lengths=Z,s&&g.rgba8888ToColor($.color,J),$);case Zt.Point:var tt=e.readFloat(),et=e.readFloat(),at=e.readFloat(),nt=s?e.readInt32():0,rt=this.attachmentLoader.newPointAttachment(n,l);return null==rt?null:(rt.x=et*o,rt.y=at*o,rt.rotation=tt,s&&g.rgba8888ToColor(rt.color,nt),rt);case Zt.Clipping:var it=e.readInt(!0),st=e.readInt(!0),ot=this.readVertices(e,st),lt=s?e.readInt32():0,ht=this.attachmentLoader.newClippingAttachment(n,l);return null==ht?null:(ht.endSlot=a.slots[it],ht.worldVerticesLength=st<<1,ht.vertices=ot.vertices,ht.bones=ot.bones,s&&g.rgba8888ToColor(ht.color,lt),ht)}return null}},{key:"readVertices",value:function(t,e){var a=e<<1,n=new $t,r=this.scale;if(!t.readBoolean())return n.vertices=this.readFloatArray(t,a,r),n;for(var i=new Array,s=new Array,o=0;o<e;o++){var l=t.readInt(!0);s.push(l);for(var h=0;h<l;h++)s.push(t.readInt(!0)),i.push(t.readFloat()*r),i.push(t.readFloat()*r),i.push(t.readFloat())}return n.vertices=p.toFloatArray(i),n.bones=s,n}},{key:"readFloatArray",value:function(t,e,a){var n=new Array(e);if(1==a)for(var r=0;r<e;r++)n[r]=t.readFloat();else for(var i=0;i<e;i++)n[i]=t.readFloat()*a;return n}},{key:"readShortArray",value:function(t){for(var e=t.readInt(!0),a=new Array(e),n=0;n<e;n++)a[n]=t.readShort();return a}},{key:"readAnimation",value:function(e,a,n){for(var r=new Array,i=this.scale,s=0,o=new g,l=new g,h=0,u=e.readInt(!0);h<u;h++)for(var c=e.readInt(!0),d=0,f=e.readInt(!0);d<f;d++){var v=e.readByte(),m=e.readInt(!0);switch(v){case t.SLOT_ATTACHMENT:var y=new rt(m);y.slotIndex=c;for(var w=0;w<m;w++)y.setFrame(w,e.readFloat(),e.readStringRef());r.push(y),s=Math.max(s,y.frames[m-1]);break;case t.SLOT_COLOR:var k=new at(m);k.slotIndex=c;for(var x=0;x<m;x++){var E=e.readFloat();g.rgba8888ToColor(o,e.readInt32()),k.setFrame(x,E,o.r,o.g,o.b,o.a),x<m-1&&this.readCurve(e,x,k)}r.push(k),s=Math.max(s,k.frames[(m-1)*at.ENTRIES]);break;case t.SLOT_TWO_COLOR:var b=new nt(m);b.slotIndex=c;for(var M=0;M<m;M++){var S=e.readFloat();g.rgba8888ToColor(o,e.readInt32()),g.rgb888ToColor(l,e.readInt32()),b.setFrame(M,S,o.r,o.g,o.b,o.a,l.r,l.g,l.b),M<m-1&&this.readCurve(e,M,b)}r.push(b),s=Math.max(s,b.frames[(m-1)*nt.ENTRIES])}}for(var T=0,I=e.readInt(!0);T<I;T++)for(var C=e.readInt(!0),V=0,P=e.readInt(!0);V<P;V++){var _=e.readByte(),F=e.readInt(!0);switch(_){case t.BONE_ROTATE:var N=new J(F);N.boneIndex=C;for(var O=0;O<F;O++)N.setFrame(O,e.readFloat(),e.readFloat()),O<F-1&&this.readCurve(e,O,N);r.push(N),s=Math.max(s,N.frames[(F-1)*J.ENTRIES]);break;case t.BONE_TRANSLATE:case t.BONE_SCALE:case t.BONE_SHEAR:var L=void 0,B=1;_==t.BONE_SCALE?L=new tt(F):_==t.BONE_SHEAR?L=new et(F):(L=new $(F),B=i),L.boneIndex=C;for(var D=0;D<F;D++)L.setFrame(D,e.readFloat(),e.readFloat()*B,e.readFloat()*B),D<F-1&&this.readCurve(e,D,L);r.push(L),s=Math.max(s,L.frames[(F-1)*$.ENTRIES])}}for(var X=0,Y=e.readInt(!0);X<Y;X++){var U=e.readInt(!0),W=e.readInt(!0),q=new ht(W);q.ikConstraintIndex=U;for(var j=0;j<W;j++)q.setFrame(j,e.readFloat(),e.readFloat(),e.readFloat()*i,e.readByte(),e.readBoolean(),e.readBoolean()),j<W-1&&this.readCurve(e,j,q);r.push(q),s=Math.max(s,q.frames[(W-1)*ht.ENTRIES])}for(var H=0,G=e.readInt(!0);H<G;H++){var Z=e.readInt(!0),Q=e.readInt(!0),K=new ut(Q);K.transformConstraintIndex=Z;for(var it=0;it<Q;it++)K.setFrame(it,e.readFloat(),e.readFloat(),e.readFloat(),e.readFloat(),e.readFloat()),it<Q-1&&this.readCurve(e,it,K);r.push(K),s=Math.max(s,K.frames[(Q-1)*ut.ENTRIES])}for(var vt=0,gt=e.readInt(!0);vt<gt;vt++)for(var mt=e.readInt(!0),pt=n.pathConstraints[mt],yt=0,wt=e.readInt(!0);yt<wt;yt++){var kt=e.readByte(),xt=e.readInt(!0);switch(kt){case t.PATH_POSITION:case t.PATH_SPACING:var Et=void 0,bt=1;kt==t.PATH_SPACING?(Et=new dt(xt),pt.spacingMode!=A.Length&&pt.spacingMode!=A.Fixed||(bt=i)):(Et=new ct(xt),pt.positionMode==R.Fixed&&(bt=i)),Et.pathConstraintIndex=mt;for(var Mt=0;Mt<xt;Mt++)Et.setFrame(Mt,e.readFloat(),e.readFloat()*bt),Mt<xt-1&&this.readCurve(e,Mt,Et);r.push(Et),s=Math.max(s,Et.frames[(xt-1)*ct.ENTRIES]);break;case t.PATH_MIX:var St=new ft(xt);St.pathConstraintIndex=mt;for(var Tt=0;Tt<xt;Tt++)St.setFrame(Tt,e.readFloat(),e.readFloat(),e.readFloat()),Tt<xt-1&&this.readCurve(e,Tt,St);r.push(St),s=Math.max(s,St.frames[(xt-1)*ft.ENTRIES])}}for(var It=0,Rt=e.readInt(!0);It<Rt;It++)for(var At=n.skins[e.readInt(!0)],Ct=0,Vt=e.readInt(!0);Ct<Vt;Ct++)for(var Pt=e.readInt(!0),_t=0,Ft=e.readInt(!0);_t<Ft;_t++){var Nt=At.getAttachment(Pt,e.readStringRef()),Ot=null!=Nt.bones,Lt=Nt.vertices,Bt=Ot?Lt.length/3*2:Lt.length,Dt=e.readInt(!0),Xt=new st(Dt);Xt.slotIndex=Pt,Xt.attachment=Nt;for(var Yt=0;Yt<Dt;Yt++){var Ut=e.readFloat(),Wt=void 0,qt=e.readInt(!0);if(0==qt)Wt=Ot?p.newFloatArray(Bt):Lt;else{Wt=p.newFloatArray(Bt);var jt=e.readInt(!0);if(qt+=jt,1==i)for(var zt=jt;zt<qt;zt++)Wt[zt]=e.readFloat();else for(var Gt=jt;Gt<qt;Gt++)Wt[Gt]=e.readFloat()*i;if(!Ot)for(var Zt=0,Qt=Wt.length;Zt<Qt;Zt++)Wt[Zt]+=Lt[Zt]}Xt.setFrame(Yt,Ut,Wt),Yt<Dt-1&&this.readCurve(e,Yt,Xt)}r.push(Xt),s=Math.max(s,Xt.frames[Dt-1])}var Kt=e.readInt(!0);if(Kt>0){for(var Jt=new lt(Kt),$t=n.slots.length,te=0;te<Kt;te++){for(var ee=e.readFloat(),ae=e.readInt(!0),ne=p.newArray($t,0),re=$t-1;re>=0;re--)ne[re]=-1;for(var ie=p.newArray($t-ae,0),se=0,oe=0,le=0;le<ae;le++){for(var he=e.readInt(!0);se!=he;)ie[oe++]=se++;ne[se+e.readInt(!0)]=se++}for(;se<$t;)ie[oe++]=se++;for(var ue=$t-1;ue>=0;ue--)-1==ne[ue]&&(ne[ue]=ie[--oe]);Jt.setFrame(te,ee,ne)}r.push(Jt),s=Math.max(s,Jt.frames[Kt-1])}var ce=e.readInt(!0);if(ce>0){for(var de=new ot(ce),fe=0;fe<ce;fe++){var ve=e.readFloat(),ge=n.events[e.readInt(!0)],me=new Ht(ve,ge);me.intValue=e.readInt(!1),me.floatValue=e.readFloat(),me.stringValue=e.readBoolean()?e.readString():ge.stringValue,null!=me.data.audioPath&&(me.volume=e.readFloat(),me.balance=e.readFloat()),de.setFrame(fe,me)}r.push(de),s=Math.max(s,de.frames[ce-1])}return new z(a,r,s)}},{key:"readCurve",value:function(e,a,n){switch(e.readByte()){case t.CURVE_STEPPED:n.setStepped(a);break;case t.CURVE_BEZIER:this.setCurve(n,a,e.readFloat(),e.readFloat(),e.readFloat(),e.readFloat())}}},{key:"setCurve",value:function(t,e,a,n,r,i){t.setCurve(e,a,n,r,i)}}]),t}();Qt.AttachmentTypeValues=[0,1,2,3,4,5,6],Qt.TransformModeValues=[x.Normal,x.OnlyTranslation,x.NoRotationOrReflection,x.NoScale,x.NoScaleOrReflection],Qt.PositionModeValues=[R.Fixed,R.Percent],Qt.SpacingModeValues=[A.Length,A.Fixed,A.Percent],Qt.RotateModeValues=[C.Tangent,C.Chain,C.ChainScale],Qt.BlendModeValues=[jt.Normal,jt.Additive,jt.Multiply,jt.Screen],Qt.BONE_ROTATE=0,Qt.BONE_TRANSLATE=1,Qt.BONE_SCALE=2,Qt.BONE_SHEAR=3,Qt.SLOT_ATTACHMENT=0,Qt.SLOT_COLOR=1,Qt.SLOT_TWO_COLOR=2,Qt.PATH_POSITION=0,Qt.PATH_SPACING=1,Qt.PATH_MIX=2,Qt.CURVE_LINEAR=0,Qt.CURVE_STEPPED=1,Qt.CURVE_BEZIER=2;var Kt=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Array,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new DataView(e.buffer);a(this,t),this.strings=n,this.index=r,this.buffer=i}return r(t,[{key:"readByte",value:function(){return this.buffer.getInt8(this.index++)}},{key:"readShort",value:function(){var t=this.buffer.getInt16(this.index);return this.index+=2,t}},{key:"readInt32",value:function(){var t=this.buffer.getInt32(this.index);return this.index+=4,t}},{key:"readInt",value:function(t){var e=this.readByte(),a=127&e;return 0!=(128&e)&&(a|=(127&(e=this.readByte()))<<7,0!=(128&e)&&(a|=(127&(e=this.readByte()))<<14,0!=(128&e)&&(a|=(127&(e=this.readByte()))<<21,0!=(128&e)&&(a|=(127&(e=this.readByte()))<<28)))),t?a:a>>>1^-(1&a)}},{key:"readStringRef",value:function(){var t=this.readInt(!0);return 0==t?null:this.strings[t-1]}},{key:"readString",value:function(){var t=this.readInt(!0);switch(t){case 0:return null;case 1:return""}t--;for(var e="",a=0;a<t;){var n=this.readByte();switch(n>>4){case 12:case 13:e+=String.fromCharCode((31&n)<<6|63&this.readByte()),a+=2;break;case 14:e+=String.fromCharCode((15&n)<<12|(63&this.readByte())<<6|63&this.readByte()),a+=3;break;default:e+=String.fromCharCode(n),a++}}return e}},{key:"readFloat",value:function(){var t=this.buffer.getFloat32(this.index);return this.index+=4,t}},{key:"readBoolean",value:function(){return 0!=this.readByte()}}]),t}(),Jt=r((function t(e,n,r,i,s){a(this,t),this.parent=void 0,this.skin=void 0,this.slotIndex=void 0,this.mesh=void 0,this.inheritDeform=void 0,this.mesh=e,this.skin=n,this.slotIndex=r,this.parent=i,this.inheritDeform=s})),$t=r((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;a(this,t),this.bones=e,this.vertices=n}));t.resourceLoader("spine",["json","bin"])(function(e){s(i,t.Loader);var n=u(i);function i(){return a(this,i),n.apply(this,arguments)}return r(i,[{key:"load",value:function(e,a){var n=this;return new t.AssetPromise((function(r,i){var s,o=a.engine;"spine"!==e.type&&i("Asset type must be spine."),!e.urls&&e.url&&n.checkUrl(e.url)&&(s=n.getResouceFromUrl(e.url)),e.urls&&n.checkUrls(e.urls)&&(s=n.getResouceFromUrls(e.urls));var l,h=!1;l=new Ft(null,(function(t){return n.createAdaptiveTexture(t,o)}));var u=s,c=u.skeletonFile,d=u.atlasFile,f=u.textureFile;l.onLoadComplete=function(){var e;if(h)e=l.get(d);else{var a=l.get(d);e=new Y(a,n.textureAssetPicker.bind(n,l,f))}var i=new Lt(e),s=(n.isBinFile(c)?new Qt(i):new zt(i)).readSkeletonData(l.get(c)),u=new t.Entity(o),v=u.addComponent(t.MeshRenderer);v.shaderData.enableMacro("USE_MODEL_MATRIX"),v.shaderData.enableMacro("USE_CUSTOM_TEXTURE");var g=o._spriteDefaultMaterial.clone();v.setMaterial(g),u.addComponent(_t).setSkeletonData(s),r(u)};var v=n.isBinFile(c);c&&d&&f?(v?l.loadBinary(c):l.loadText(c),l.loadText(d),l.loadTexture(f)):c&&d&&!f?(h=!0,v?l.loadBinary(c):l.loadText(c),l.loadTextureAtlas(d)):i("Resouce param error")}))}},{key:"textureAssetPicker",value:function(t,e){return t.get(e)}},{key:"createAdaptiveTexture",value:function(t,e){return new te(t,e)}},{key:"isBinFile",value:function(t){return"bin"===this.getExtFromUrl(t)}},{key:"checkUrl",value:function(t){var e=this.getExtFromUrl(t);return"json"===e||"bin"===e||(console.error("When use url as params, url must be json or bin file"),!1)}},{key:"getResouceFromUrl",value:function(t){var e=t,a=t,n=a.indexOf("?");return n>0&&(a=a.substr(0,n)),{skeletonFile:e,atlasFile:a=a.substr(0,a.lastIndexOf("."))+".atlas"}}},{key:"checkUrls",value:function(t){if(t.length<2)return console.error("When use urls as params, urls should at least contain: json/bin and atlas"),!1;if(t.length>3)return console.error("Spine runtime dont support multiple texture now"),!1;var e=this.getResouceFromUrls(t),a=e.skeletonFile,n=e.atlasFile;return e.textureFile,!(!a||!n)||(console.error("Lack ".concat(a?"":"skeletonFile").concat(n?" atlasFile":"")),!1)}},{key:"getResouceFromUrls",value:function(t){for(var e,a,n,r=0;r<t.length;r+=1){var i=t[r],s=this.getExtFromUrl(i);"json"!==s&&"bin"!==s||(e=i),"atlas"===s&&(a=i);["png","jpg","webp","jpeg"].includes(s)&&(n=i)}return{skeletonFile:e,atlasFile:a,textureFile:n}}},{key:"getExtFromUrl",value:function(t){return t.split(/[#?]/)[0].split(".").pop().trim()}}]),i}());var te=function(e){s(i,O);var n=u(i);function i(e,r){var s;return a(this,i),(s=n.call(this,e)).texture=void 0,s.texture=new t.Texture2D(r,e.width,e.height),s.texture.setImageSource(e),s.texture.generateMipmaps(),s}return r(i,[{key:"setFilters",value:function(e,a){e===WebGLRenderingContext.NEAREST?this.texture.filterMode=t.TextureFilterMode.Point:a===WebGLRenderingContext.LINEAR_MIPMAP_LINEAR?this.texture.filterMode=t.TextureFilterMode.Trilinear:this.texture.filterMode=t.TextureFilterMode.Bilinear}},{key:"setWraps",value:function(t,e){this.texture.wrapModeU=t,this.texture.wrapModeV=e}},{key:"dispose",value:function(){}}]),i}();t.resourceLoader("antg_spine",["json","bin"])(function(e){s(i,t.Loader);var n=u(i);function i(){return a(this,i),n.apply(this,arguments)}return r(i,[{key:"load",value:function(e,a){var n=this;return new t.AssetPromise((function(r,i){var s=a.engine;if(e.url)if(n.checkUrl(e.url)){var o,l,h,u,c,d=e.url;u=new Ft(null,(function(t){return n.createAdaptiveTexture(t,s)})),(c=d,new Promise((function(t,e){var a=new XMLHttpRequest;a.responseType="json",a.open("GET",c,!0),a.onload=function(){200==a.status?t(a.response):e("status:".concat(a.status,", ").concat(a.responseText))},a.onerror=function(){e("status:".concat(a.status,", ").concat(a.responseText))},a.send()}))).then((function(t){if(h=t,t._ext){var e=t._ext,a=e.atlas,n=e.images,r=n[Object.keys(n)[0]];o=a,l=r,u.loadText(a),u.loadTexture(r)}else i("AntG spine json must have ext data")})).catch((function(){i("Resouce json load fail")})),u.onLoadComplete=function(){var e,a=u.get(o);e=new Y(a,n.textureAssetPicker.bind(n,u,l));var i=new Lt(e),c=new zt(i).readSkeletonData(h),d=new t.Entity(s),f=d.addComponent(t.MeshRenderer);f.shaderData.enableMacro("USE_MODEL_MATRIX"),f.shaderData.enableMacro("USE_CUSTOM_TEXTURE");var v=s._spriteDefaultMaterial.clone();f.setMaterial(v),d.addComponent(_t).setSkeletonData(c),r(d)}}else i("AntG asset must be a json url.");else i("AntG asset must be a json url.")}))}},{key:"textureAssetPicker",value:function(t,e){return t.get(e)}},{key:"createAdaptiveTexture",value:function(t,e){return new ee(t,e)}},{key:"checkUrl",value:function(t){return"json"===this.getExtFromUrl(t)||(console.error("When use url as params, url must be a json file"),!1)}},{key:"getExtFromUrl",value:function(t){return t.split(/[#?]/)[0].split(".").pop().trim()}}]),i}());var ee=function(e){s(i,O);var n=u(i);function i(e,r){var s;return a(this,i),(s=n.call(this,e)).texture=void 0,s.texture=new t.Texture2D(r,e.width,e.height),s.texture.setImageSource(e),s.texture.generateMipmaps(),s}return r(i,[{key:"setFilters",value:function(e,a){e===WebGLRenderingContext.NEAREST?this.texture.filterMode=t.TextureFilterMode.Point:a===WebGLRenderingContext.LINEAR_MIPMAP_LINEAR?this.texture.filterMode=t.TextureFilterMode.Trilinear:this.texture.filterMode=t.TextureFilterMode.Bilinear}},{key:"setWraps",value:function(t,e){this.texture.wrapModeU=t,this.texture.wrapModeV=e}},{key:"dispose",value:function(){}}]),i}();exports.AssetManager=Ft,exports.AtlasAttachmentLoader=Lt,exports.SkeletonBinary=Qt,exports.SkeletonJson=zt,exports.SpineAnimation=_t,exports.Texture=O,exports.TextureAtlas=Y,exports.version="0.9.1";
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("@galacean/engine");function e(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var a=0;a<e.length;a++){var n=e[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,c(n.key),n)}}function r(t,e,a){return e&&n(t.prototype,e),a&&n(t,a),Object.defineProperty(t,"prototype",{writable:!1}),t}function i(t,e,a){return(e=c(e))in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function s(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&l(t,e)}function o(t){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},o(t)}function l(t,e){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},l(t,e)}function h(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function u(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var a,n=o(t);if(e){var r=o(this).constructor;a=Reflect.construct(n,arguments,r)}else a=n.apply(this,arguments);return function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return h(t)}(this,a)}}function c(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var a=t[Symbol.toPrimitive];if(void 0!==a){var n=a.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}function d(t,e,a,n){a&&Object.defineProperty(t,e,{enumerable:a.enumerable,configurable:a.configurable,writable:a.writable,value:a.initializer?a.initializer.call(n):void 0})}function f(t,e,a,n,r){var i={};return Object.keys(n).forEach((function(t){i[t]=n[t]})),i.enumerable=!!i.enumerable,i.configurable=!!i.configurable,("value"in i||i.initializer)&&(i.writable=!0),i=a.slice().reverse().reduce((function(a,n){return n(t,e,a)||a}),i),r&&void 0!==i.initializer&&(i.value=i.initializer?i.initializer.call(r):void 0,i.initializer=void 0),void 0===i.initializer&&(Object.defineProperty(t,e,i),i=null),i}var v=function(){function t(){a(this,t),this.array=new Array}return r(t,[{key:"add",value:function(t){var e=this.contains(t);return this.array[0|t]=0|t,!e}},{key:"contains",value:function(t){return null!=this.array[0|t]}},{key:"remove",value:function(t){this.array[0|t]=void 0}},{key:"clear",value:function(){this.array.length=0}}]),t}(),g=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;a(this,t),this.r=e,this.g=n,this.b=r,this.a=i}return r(t,[{key:"set",value:function(t,e,a,n){return this.r=t,this.g=e,this.b=a,this.a=n,this.clamp(),this}},{key:"setFromColor",value:function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this}},{key:"setFromString",value:function(t){return t="#"==t.charAt(0)?t.substr(1):t,this.r=parseInt(t.substr(0,2),16)/255,this.g=parseInt(t.substr(2,2),16)/255,this.b=parseInt(t.substr(4,2),16)/255,this.a=(8!=t.length?255:parseInt(t.substr(6,2),16))/255,this}},{key:"add",value:function(t,e,a,n){return this.r+=t,this.g+=e,this.b+=a,this.a+=n,this.clamp(),this}},{key:"clamp",value:function(){return this.r<0?this.r=0:this.r>1&&(this.r=1),this.g<0?this.g=0:this.g>1&&(this.g=1),this.b<0?this.b=0:this.b>1&&(this.b=1),this.a<0?this.a=0:this.a>1&&(this.a=1),this}}],[{key:"rgba8888ToColor",value:function(t,e){t.r=((4278190080&e)>>>24)/255,t.g=((16711680&e)>>>16)/255,t.b=((65280&e)>>>8)/255,t.a=(255&e)/255}},{key:"rgb888ToColor",value:function(t,e){t.r=((16711680&e)>>>16)/255,t.g=((65280&e)>>>8)/255,t.b=(255&e)/255}}]),t}();g.WHITE=new g(1,1,1,1),g.RED=new g(1,0,0,1),g.GREEN=new g(0,1,0,1),g.BLUE=new g(0,0,1,1),g.MAGENTA=new g(1,0,1,1);var m=function(){function t(){a(this,t)}return r(t,null,[{key:"clamp",value:function(t,e,a){return t<e?e:t>a?a:t}},{key:"cosDeg",value:function(e){return Math.cos(e*t.degRad)}},{key:"sinDeg",value:function(e){return Math.sin(e*t.degRad)}},{key:"signum",value:function(t){return t>0?1:t<0?-1:0}},{key:"toInt",value:function(t){return t>0?Math.floor(t):Math.ceil(t)}},{key:"cbrt",value:function(t){var e=Math.pow(Math.abs(t),1/3);return t<0?-e:e}},{key:"randomTriangular",value:function(e,a){return t.randomTriangularWith(e,a,.5*(e+a))}},{key:"randomTriangularWith",value:function(t,e,a){var n=Math.random(),r=e-t;return n<=(a-t)/r?t+Math.sqrt(n*r*(a-t)):e-Math.sqrt((1-n)*r*(e-a))}}]),t}();m.PI=3.1415927,m.PI2=2*m.PI,m.radiansToDegrees=180/m.PI,m.radDeg=m.radiansToDegrees,m.degreesToRadians=m.PI/180,m.degRad=m.degreesToRadians;var p=function(){function t(){a(this,t)}return r(t,null,[{key:"arrayCopy",value:function(t,e,a,n,r){for(var i=e,s=n;i<e+r;i++,s++)a[s]=t[i]}},{key:"setArraySize",value:function(t,e){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=t.length;if(n==e)return t;if(t.length=e,n<e)for(var r=n;r<e;r++)t[r]=a;return t}},{key:"ensureArrayCapacity",value:function(e,a){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return e.length>=a?e:t.setArraySize(e,a,n)}},{key:"newArray",value:function(t,e){for(var a=new Array(t),n=0;n<t;n++)a[n]=e;return a}},{key:"newFloatArray",value:function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Float32Array(e);for(var a=new Array(e),n=0;n<a.length;n++)a[n]=0;return a}},{key:"newShortArray",value:function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Int16Array(e);for(var a=new Array(e),n=0;n<a.length;n++)a[n]=0;return a}},{key:"toFloatArray",value:function(e){return t.SUPPORTS_TYPED_ARRAYS?new Float32Array(e):e}},{key:"toSinglePrecision",value:function(e){return t.SUPPORTS_TYPED_ARRAYS?Math.fround(e):e}},{key:"webkit602BugfixHelper",value:function(t,e){}},{key:"contains",value:function(t,e){for(var a=0;a<t.length;a++)if(t[a]==e)return!0;return!1}}]),t}();p.SUPPORTS_TYPED_ARRAYS="undefined"!=typeof Float32Array;var y=function(){function t(e){a(this,t),this.items=new Array,this.instantiator=void 0,this.instantiator=e}return r(t,[{key:"obtain",value:function(){return this.items.length>0?this.items.pop():this.instantiator()}},{key:"free",value:function(t){t.reset&&t.reset(),this.items.push(t)}},{key:"freeAll",value:function(t){for(var e=0;e<t.length;e++)this.free(t[e])}},{key:"clear",value:function(){this.items.length=0}}]),t}(),w=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;a(this,t),this.x=e,this.y=n}return r(t,[{key:"set",value:function(t,e){return this.x=t,this.y=e,this}},{key:"length",value:function(){var t=this.x,e=this.y;return Math.sqrt(t*t+e*e)}},{key:"normalize",value:function(){var t=this.length();return 0!=t&&(this.x/=t,this.y/=t),this}}]),t}(),k=r((function t(e,n,r){if(a(this,t),this.index=void 0,this.name=void 0,this.parent=void 0,this.length=void 0,this.x=0,this.y=0,this.rotation=0,this.scaleX=1,this.scaleY=1,this.shearX=0,this.shearY=0,this.transformMode=x.Normal,this.skinRequired=!1,this.color=new g,e<0)throw new Error("index must be >= 0.");if(null==n)throw new Error("name cannot be null.");this.index=e,this.name=n,this.parent=r})),x=function(t){return t[t.Normal=0]="Normal",t[t.OnlyTranslation=1]="OnlyTranslation",t[t.NoRotationOrReflection=2]="NoRotationOrReflection",t[t.NoScale=3]="NoScale",t[t.NoScaleOrReflection=4]="NoScaleOrReflection",t}({}),E=function(){function t(e,n,r){if(a(this,t),this.data=void 0,this.skeleton=void 0,this.parent=void 0,this.children=new Array,this.x=0,this.y=0,this.rotation=0,this.scaleX=0,this.scaleY=0,this.shearX=0,this.shearY=0,this.ax=0,this.ay=0,this.arotation=0,this.ascaleX=0,this.ascaleY=0,this.ashearX=0,this.ashearY=0,this.appliedValid=!1,this.a=0,this.b=0,this.c=0,this.d=0,this.worldY=0,this.worldX=0,this.sorted=!1,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==n)throw new Error("skeleton cannot be null.");this.data=e,this.skeleton=n,this.parent=r,this.setToSetupPose()}return r(t,[{key:"isActive",value:function(){return this.active}},{key:"update",value:function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)}},{key:"updateWorldTransform",value:function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)}},{key:"updateWorldTransformWith",value:function(t,e,a,n,r,i,s){this.ax=t,this.ay=e,this.arotation=a,this.ascaleX=n,this.ascaleY=r,this.ashearX=i,this.ashearY=s,this.appliedValid=!0;var o=this.parent;if(null==o){var l=this.skeleton,h=a+90+s,u=l.scaleX,c=l.scaleY;return this.a=m.cosDeg(a+i)*n*u,this.b=m.cosDeg(h)*r*u,this.c=m.sinDeg(a+i)*n*c,this.d=m.sinDeg(h)*r*c,this.worldX=t*u+l.x,void(this.worldY=e*c+l.y)}var d=o.a,f=o.b,v=o.c,g=o.d;switch(this.worldX=d*t+f*e+o.worldX,this.worldY=v*t+g*e+o.worldY,this.data.transformMode){case x.Normal:var p=a+90+s,y=m.cosDeg(a+i)*n,w=m.cosDeg(p)*r,k=m.sinDeg(a+i)*n,E=m.sinDeg(p)*r;return this.a=d*y+f*k,this.b=d*w+f*E,this.c=v*y+g*k,void(this.d=v*w+g*E);case x.OnlyTranslation:var b=a+90+s;this.a=m.cosDeg(a+i)*n,this.b=m.cosDeg(b)*r,this.c=m.sinDeg(a+i)*n,this.d=m.sinDeg(b)*r;break;case x.NoRotationOrReflection:var M=d*d+v*v,S=0;M>1e-4?(M=Math.abs(d*g-f*v)/M,d/=this.skeleton.scaleX,f=(v/=this.skeleton.scaleY)*M,g=d*M,S=Math.atan2(v,d)*m.radDeg):(d=0,v=0,S=90-Math.atan2(g,f)*m.radDeg);var T=a+i-S,I=a+s-S+90,R=m.cosDeg(T)*n,A=m.cosDeg(I)*r,C=m.sinDeg(T)*n,V=m.sinDeg(I)*r;this.a=d*R-f*C,this.b=d*A-f*V,this.c=v*R+g*C,this.d=v*A+g*V;break;case x.NoScale:case x.NoScaleOrReflection:var P=m.cosDeg(a),_=m.sinDeg(a),F=(d*P+f*_)/this.skeleton.scaleX,N=(v*P+g*_)/this.skeleton.scaleY,O=Math.sqrt(F*F+N*N);O>1e-5&&(O=1/O),F*=O,N*=O,O=Math.sqrt(F*F+N*N),this.data.transformMode==x.NoScale&&d*g-f*v<0!=(this.skeleton.scaleX<0!=this.skeleton.scaleY<0)&&(O=-O);var L=Math.PI/2+Math.atan2(N,F),B=Math.cos(L)*O,D=Math.sin(L)*O,X=m.cosDeg(i)*n,Y=m.cosDeg(90+s)*r,U=m.sinDeg(i)*n,W=m.sinDeg(90+s)*r;this.a=F*X+B*U,this.b=F*Y+B*W,this.c=N*X+D*U,this.d=N*Y+D*W}this.a*=this.skeleton.scaleX,this.b*=this.skeleton.scaleX,this.c*=this.skeleton.scaleY,this.d*=this.skeleton.scaleY}},{key:"setToSetupPose",value:function(){var t=this.data;this.x=t.x,this.y=t.y,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this.shearX=t.shearX,this.shearY=t.shearY}},{key:"getWorldRotationX",value:function(){return Math.atan2(this.c,this.a)*m.radDeg}},{key:"getWorldRotationY",value:function(){return Math.atan2(this.d,this.b)*m.radDeg}},{key:"getWorldScaleX",value:function(){return Math.sqrt(this.a*this.a+this.c*this.c)}},{key:"getWorldScaleY",value:function(){return Math.sqrt(this.b*this.b+this.d*this.d)}},{key:"updateAppliedTransform",value:function(){this.appliedValid=!0;var t=this.parent;if(null==t)return this.ax=this.worldX,this.ay=this.worldY,this.arotation=Math.atan2(this.c,this.a)*m.radDeg,this.ascaleX=Math.sqrt(this.a*this.a+this.c*this.c),this.ascaleY=Math.sqrt(this.b*this.b+this.d*this.d),this.ashearX=0,void(this.ashearY=Math.atan2(this.a*this.b+this.c*this.d,this.a*this.d-this.b*this.c)*m.radDeg);var e=t.a,a=t.b,n=t.c,r=t.d,i=1/(e*r-a*n),s=this.worldX-t.worldX,o=this.worldY-t.worldY;this.ax=s*r*i-o*a*i,this.ay=o*e*i-s*n*i;var l=i*r,h=i*e,u=i*a,c=i*n,d=l*this.a-u*this.c,f=l*this.b-u*this.d,v=h*this.c-c*this.a,g=h*this.d-c*this.b;if(this.ashearX=0,this.ascaleX=Math.sqrt(d*d+v*v),this.ascaleX>1e-4){var p=d*g-f*v;this.ascaleY=p/this.ascaleX,this.ashearY=Math.atan2(d*f+v*g,p)*m.radDeg,this.arotation=Math.atan2(v,d)*m.radDeg}else this.ascaleX=0,this.ascaleY=Math.sqrt(f*f+g*g),this.ashearY=0,this.arotation=90-Math.atan2(g,f)*m.radDeg}},{key:"worldToLocal",value:function(t){var e=this.a,a=this.b,n=this.c,r=this.d,i=1/(e*r-a*n),s=t.x-this.worldX,o=t.y-this.worldY;return t.x=s*r*i-o*a*i,t.y=o*e*i-s*n*i,t}},{key:"localToWorld",value:function(t){var e=t.x,a=t.y;return t.x=e*this.a+a*this.b+this.worldX,t.y=e*this.c+a*this.d+this.worldY,t}},{key:"worldToLocalRotation",value:function(t){var e=m.sinDeg(t),a=m.cosDeg(t);return Math.atan2(this.a*e-this.c*a,this.d*a-this.b*e)*m.radDeg+this.rotation-this.shearX}},{key:"localToWorldRotation",value:function(t){t-=this.rotation-this.shearX;var e=m.sinDeg(t),a=m.cosDeg(t);return Math.atan2(a*this.c+e*this.d,a*this.a+e*this.b)*m.radDeg}},{key:"rotateWorld",value:function(t){var e=this.a,a=this.b,n=this.c,r=this.d,i=m.cosDeg(t),s=m.sinDeg(t);this.a=i*e-s*n,this.b=i*a-s*r,this.c=s*e+i*n,this.d=s*a+i*r,this.appliedValid=!1}}]),t}(),b=function(){function t(e,n){if(a(this,t),this.data=void 0,this.bone=void 0,this.color=void 0,this.darkColor=void 0,this.attachment=void 0,this.attachmentTime=void 0,this.attachmentState=void 0,this.deform=new Array,null==e)throw new Error("data cannot be null.");if(null==n)throw new Error("bone cannot be null.");this.data=e,this.bone=n,this.color=new g,this.darkColor=null==e.darkColor?null:new g,this.setToSetupPose()}return r(t,[{key:"getSkeleton",value:function(){return this.bone.skeleton}},{key:"getAttachment",value:function(){return this.attachment}},{key:"setAttachment",value:function(t){this.attachment!=t&&(this.attachment=t,this.attachmentTime=this.bone.skeleton.time,this.deform.length=0)}},{key:"setAttachmentTime",value:function(t){this.attachmentTime=this.bone.skeleton.time-t}},{key:"getAttachmentTime",value:function(){return this.bone.skeleton.time-this.attachmentTime}},{key:"setToSetupPose",value:function(){this.color.setFromColor(this.data.color),null!=this.darkColor&&this.darkColor.setFromColor(this.data.darkColor),null==this.data.attachmentName?this.attachment=null:(this.attachment=null,this.setAttachment(this.bone.skeleton.getAttachment(this.data.index,this.data.attachmentName)))}}]),t}(),M=function(){function t(e,n){if(a(this,t),this.data=void 0,this.bones=void 0,this.target=void 0,this.bendDirection=0,this.compress=!1,this.stretch=!1,this.mix=1,this.softness=0,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==n)throw new Error("skeleton cannot be null.");this.data=e,this.mix=e.mix,this.softness=e.softness,this.bendDirection=e.bendDirection,this.compress=e.compress,this.stretch=e.stretch,this.bones=new Array;for(var r=0;r<e.bones.length;r++)this.bones.push(n.findBone(e.bones[r].name));this.target=n.findBone(e.target.name)}return r(t,[{key:"isActive",value:function(){return this.active}},{key:"apply",value:function(){this.update()}},{key:"update",value:function(){var t=this.target,e=this.bones;switch(e.length){case 1:this.apply1(e[0],t.worldX,t.worldY,this.compress,this.stretch,this.data.uniform,this.mix);break;case 2:this.apply2(e[0],e[1],t.worldX,t.worldY,this.bendDirection,this.stretch,this.softness,this.mix)}}},{key:"apply1",value:function(t,e,a,n,r,i,s){t.appliedValid||t.updateAppliedTransform();var o=t.parent,l=o.a,h=o.b,u=o.c,c=o.d,d=-t.ashearX-t.arotation,f=0,v=0;switch(t.data.transformMode){case x.OnlyTranslation:f=e-t.worldX,v=a-t.worldY;break;case x.NoRotationOrReflection:var g=Math.abs(l*c-h*u)/(l*l+u*u),p=l/t.skeleton.scaleX,y=u/t.skeleton.scaleY;h=-y*g*t.skeleton.scaleX,c=p*g*t.skeleton.scaleY,d+=Math.atan2(y,p)*m.radDeg;default:var w=e-o.worldX,k=a-o.worldY,E=l*c-h*u;f=(w*c-k*h)/E-t.ax,v=(k*l-w*u)/E-t.ay}d+=Math.atan2(v,f)*m.radDeg,t.ascaleX<0&&(d+=180),d>180?d-=360:d<-180&&(d+=360);var b=t.ascaleX,M=t.ascaleY;if(n||r){switch(t.data.transformMode){case x.NoScale:case x.NoScaleOrReflection:f=e-t.worldX,v=a-t.worldY}var S=t.data.length*b,T=Math.sqrt(f*f+v*v);if(n&&T<S||r&&T>S&&S>1e-4){var I=(T/S-1)*s+1;b*=I,i&&(M*=I)}}t.updateWorldTransformWith(t.ax,t.ay,t.arotation+d*s,b,M,t.ashearX,t.ashearY)}},{key:"apply2",value:function(t,e,a,n,r,i,s,o){if(0!=o){t.appliedValid||t.updateAppliedTransform(),e.appliedValid||e.updateAppliedTransform();var l=t.ax,h=t.ay,u=t.ascaleX,c=u,d=t.ascaleY,f=e.ascaleX,v=0,g=0,p=0;u<0?(u=-u,v=180,p=-1):(v=0,p=1),d<0&&(d=-d,p=-p),f<0?(f=-f,g=180):g=0;var y=e.ax,w=0,k=0,x=0,E=t.a,b=t.b,M=t.c,S=t.d,T=Math.abs(u-d)<=1e-4;T?(k=E*y+b*(w=e.ay)+t.worldX,x=M*y+S*w+t.worldY):(w=0,k=E*y+t.worldX,x=M*y+t.worldY);var I=t.parent;E=I.a,b=I.b,M=I.c;var R,A,C=1/(E*(S=I.d)-b*M),V=k-I.worldX,P=x-I.worldY,_=(V*S-P*b)*C-l,F=(P*E-V*M)*C-h,N=Math.sqrt(_*_+F*F),O=e.data.length*f;if(N<1e-4)return this.apply1(t,a,n,!1,i,!1,o),void e.updateWorldTransformWith(y,w,0,e.ascaleX,e.ascaleY,e.ashearX,e.ashearY);var L=((V=a-I.worldX)*S-(P=n-I.worldY)*b)*C-l,B=(P*E-V*M)*C-h,D=L*L+B*B;if(0!=s){s*=u*(f+1)/2;var X=Math.sqrt(D),Y=X-N-O*u+s;if(Y>0){var U=Math.min(1,Y/(2*s))-1;D=(L-=(U=(Y-s*(1-U*U))/X)*L)*L+(B-=U*B)*B}}t:if(T){var W=(D-N*N-(O*=u)*O)/(2*N*O);W<-1?W=-1:W>1&&(W=1,i&&(c*=(Math.sqrt(D)/(N+O)-1)*o+1)),A=Math.acos(W)*r,E=N+O*W,b=O*Math.sin(A),R=Math.atan2(B*E-L*b,L*E+B*b)}else{var q=(E=u*O)*E,j=(b=d*O)*b,H=Math.atan2(B,L),z=-2*j*N,G=j-q;if((S=z*z-4*G*(M=j*N*N+q*D-q*j))>=0){var Z=Math.sqrt(S);z<0&&(Z=-Z);var Q=(Z=-(z+Z)/2)/G,J=M/Z,K=Math.abs(Q)<Math.abs(J)?Q:J;if(K*K<=D){P=Math.sqrt(D-K*K)*r,R=H-Math.atan2(P,K),A=Math.atan2(P/d,(K-N)/u);break t}}var $=m.PI,tt=N-E,et=tt*tt,at=0,nt=0,rt=N+E,it=rt*rt,st=0;(M=-E*N/(q-j))>=-1&&M<=1&&(M=Math.acos(M),(S=(V=E*Math.cos(M)+N)*V+(P=b*Math.sin(M))*P)<et&&($=M,et=S,tt=V,at=P),S>it&&(nt=M,it=S,rt=V,st=P)),D<=(et+it)/2?(R=H-Math.atan2(at*r,tt),A=$*r):(R=H-Math.atan2(st*r,rt),A=nt*r)}var ot=Math.atan2(w,y)*p,lt=t.arotation;(R=(R-ot)*m.radDeg+v-lt)>180?R-=360:R<-180&&(R+=360),t.updateWorldTransformWith(l,h,lt+R*o,c,t.ascaleY,0,0),lt=e.arotation,(A=((A+ot)*m.radDeg-e.ashearX)*p+g-lt)>180?A-=360:A<-180&&(A+=360),e.updateWorldTransformWith(y,w,lt+A*o,e.ascaleX,e.ascaleY,e.ashearX,e.ashearY)}else e.updateWorldTransform()}}]),t}(),S=function(){function t(e,n){if(a(this,t),this.data=void 0,this.bones=void 0,this.target=void 0,this.rotateMix=0,this.translateMix=0,this.scaleMix=0,this.shearMix=0,this.temp=new w,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==n)throw new Error("skeleton cannot be null.");this.data=e,this.rotateMix=e.rotateMix,this.translateMix=e.translateMix,this.scaleMix=e.scaleMix,this.shearMix=e.shearMix,this.bones=new Array;for(var r=0;r<e.bones.length;r++)this.bones.push(n.findBone(e.bones[r].name));this.target=n.findBone(e.target.name)}return r(t,[{key:"isActive",value:function(){return this.active}},{key:"apply",value:function(){this.update()}},{key:"update",value:function(){this.data.local?this.data.relative?this.applyRelativeLocal():this.applyAbsoluteLocal():this.data.relative?this.applyRelativeWorld():this.applyAbsoluteWorld()}},{key:"applyAbsoluteWorld",value:function(){for(var t=this.rotateMix,e=this.translateMix,a=this.scaleMix,n=this.shearMix,r=this.target,i=r.a,s=r.b,o=r.c,l=r.d,h=i*l-s*o>0?m.degRad:-m.degRad,u=this.data.offsetRotation*h,c=this.data.offsetShearY*h,d=this.bones,f=0,v=d.length;f<v;f++){var g=d[f],p=!1;if(0!=t){var y=g.a,w=g.b,k=g.c,x=g.d,E=Math.atan2(o,i)-Math.atan2(k,y)+u;E>m.PI?E-=m.PI2:E<-m.PI&&(E+=m.PI2),E*=t;var b=Math.cos(E),M=Math.sin(E);g.a=b*y-M*k,g.b=b*w-M*x,g.c=M*y+b*k,g.d=M*w+b*x,p=!0}if(0!=e){var S=this.temp;r.localToWorld(S.set(this.data.offsetX,this.data.offsetY)),g.worldX+=(S.x-g.worldX)*e,g.worldY+=(S.y-g.worldY)*e,p=!0}if(a>0){var T=Math.sqrt(g.a*g.a+g.c*g.c),I=Math.sqrt(i*i+o*o);T>1e-5&&(T=(T+(I-T+this.data.offsetScaleX)*a)/T),g.a*=T,g.c*=T,T=Math.sqrt(g.b*g.b+g.d*g.d),I=Math.sqrt(s*s+l*l),T>1e-5&&(T=(T+(I-T+this.data.offsetScaleY)*a)/T),g.b*=T,g.d*=T,p=!0}if(n>0){var R=g.b,A=g.d,C=Math.atan2(A,R),V=Math.atan2(l,s)-Math.atan2(o,i)-(C-Math.atan2(g.c,g.a));V>m.PI?V-=m.PI2:V<-m.PI&&(V+=m.PI2),V=C+(V+c)*n;var P=Math.sqrt(R*R+A*A);g.b=Math.cos(V)*P,g.d=Math.sin(V)*P,p=!0}p&&(g.appliedValid=!1)}}},{key:"applyRelativeWorld",value:function(){for(var t=this.rotateMix,e=this.translateMix,a=this.scaleMix,n=this.shearMix,r=this.target,i=r.a,s=r.b,o=r.c,l=r.d,h=i*l-s*o>0?m.degRad:-m.degRad,u=this.data.offsetRotation*h,c=this.data.offsetShearY*h,d=this.bones,f=0,v=d.length;f<v;f++){var g=d[f],p=!1;if(0!=t){var y=g.a,w=g.b,k=g.c,x=g.d,E=Math.atan2(o,i)+u;E>m.PI?E-=m.PI2:E<-m.PI&&(E+=m.PI2),E*=t;var b=Math.cos(E),M=Math.sin(E);g.a=b*y-M*k,g.b=b*w-M*x,g.c=M*y+b*k,g.d=M*w+b*x,p=!0}if(0!=e){var S=this.temp;r.localToWorld(S.set(this.data.offsetX,this.data.offsetY)),g.worldX+=S.x*e,g.worldY+=S.y*e,p=!0}if(a>0){var T=(Math.sqrt(i*i+o*o)-1+this.data.offsetScaleX)*a+1;g.a*=T,g.c*=T,T=(Math.sqrt(s*s+l*l)-1+this.data.offsetScaleY)*a+1,g.b*=T,g.d*=T,p=!0}if(n>0){var I=Math.atan2(l,s)-Math.atan2(o,i);I>m.PI?I-=m.PI2:I<-m.PI&&(I+=m.PI2);var R=g.b,A=g.d;I=Math.atan2(A,R)+(I-m.PI/2+c)*n;var C=Math.sqrt(R*R+A*A);g.b=Math.cos(I)*C,g.d=Math.sin(I)*C,p=!0}p&&(g.appliedValid=!1)}}},{key:"applyAbsoluteLocal",value:function(){var t=this.rotateMix,e=this.translateMix,a=this.scaleMix,n=this.shearMix,r=this.target;r.appliedValid||r.updateAppliedTransform();for(var i=this.bones,s=0,o=i.length;s<o;s++){var l=i[s];l.appliedValid||l.updateAppliedTransform();var h=l.arotation;if(0!=t){var u=r.arotation-h+this.data.offsetRotation;h+=(u-=360*(16384-(16384.499999999996-u/360|0)))*t}var c=l.ax,d=l.ay;0!=e&&(c+=(r.ax-c+this.data.offsetX)*e,d+=(r.ay-d+this.data.offsetY)*e);var f=l.ascaleX,v=l.ascaleY;0!=a&&(f>1e-5&&(f=(f+(r.ascaleX-f+this.data.offsetScaleX)*a)/f),v>1e-5&&(v=(v+(r.ascaleY-v+this.data.offsetScaleY)*a)/v));var g=l.ashearY;if(0!=n){var m=r.ashearY-g+this.data.offsetShearY;m-=360*(16384-(16384.499999999996-m/360|0)),l.shearY+=m*n}l.updateWorldTransformWith(c,d,h,f,v,l.ashearX,g)}}},{key:"applyRelativeLocal",value:function(){var t=this.rotateMix,e=this.translateMix,a=this.scaleMix,n=this.shearMix,r=this.target;r.appliedValid||r.updateAppliedTransform();for(var i=this.bones,s=0,o=i.length;s<o;s++){var l=i[s];l.appliedValid||l.updateAppliedTransform();var h=l.arotation;0!=t&&(h+=(r.arotation+this.data.offsetRotation)*t);var u=l.ax,c=l.ay;0!=e&&(u+=(r.ax+this.data.offsetX)*e,c+=(r.ay+this.data.offsetY)*e);var d=l.ascaleX,f=l.ascaleY;0!=a&&(d>1e-5&&(d*=(r.ascaleX-1+this.data.offsetScaleX)*a+1),f>1e-5&&(f*=(r.ascaleY-1+this.data.offsetScaleY)*a+1));var v=l.ashearY;0!=n&&(v+=(r.ashearY+this.data.offsetShearY)*n),l.updateWorldTransformWith(u,c,h,d,f,l.ashearX,v)}}}]),t}(),T=r((function t(e,n,r){a(this,t),this.name=e,this.order=n,this.skinRequired=r})),I=function(t){s(n,T);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t,0,!1)).bones=new Array,r.target=void 0,r.positionMode=void 0,r.spacingMode=void 0,r.rotateMode=void 0,r.offsetRotation=void 0,r.position=void 0,r.spacing=void 0,r.rotateMix=void 0,r.translateMix=void 0,r}return r(n)}(),R=function(t){return t[t.Fixed=0]="Fixed",t[t.Percent=1]="Percent",t}({}),A=function(t){return t[t.Length=0]="Length",t[t.Fixed=1]="Fixed",t[t.Percent=2]="Percent",t}({}),C=function(t){return t[t.Tangent=0]="Tangent",t[t.Chain=1]="Chain",t[t.ChainScale=2]="ChainScale",t}({}),V=r((function t(e){if(a(this,t),this.name=void 0,null==e)throw new Error("name cannot be null.");this.name=e})),P=function(t){s(n,V);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).id=(65535&n.nextID++)<<11,r.bones=void 0,r.vertices=void 0,r.worldVerticesLength=0,r.deformAttachment=h(r),r}return r(n,[{key:"computeWorldVertices",value:function(t,e,a,n,r,i){a=r+(a>>1)*i;var s=t.bone.skeleton,o=t.deform,l=this.vertices,h=this.bones;if(null!=h){for(var u=0,c=0,d=0;d<e;d+=2){var f=h[u];u+=f+1,c+=f}var v=s.bones;if(0==o.length)for(var g=r,m=3*c;g<a;g+=i){var p=0,y=0,w=h[u++];for(w+=u;u<w;u++,m+=3){var k=v[h[u]],x=l[m],E=l[m+1],b=l[m+2];p+=(x*k.a+E*k.b+k.worldX)*b,y+=(x*k.c+E*k.d+k.worldY)*b}n[g]=p,n[g+1]=y}else for(var M=o,S=r,T=3*c,I=c<<1;S<a;S+=i){var R=0,A=0,C=h[u++];for(C+=u;u<C;u++,T+=3,I+=2){var V=v[h[u]],P=l[T]+M[I],_=l[T+1]+M[I+1],F=l[T+2];R+=(P*V.a+_*V.b+V.worldX)*F,A+=(P*V.c+_*V.d+V.worldY)*F}n[S]=R,n[S+1]=A}}else{o.length>0&&(l=o);for(var N=t.bone,O=N.worldX,L=N.worldY,B=N.a,D=N.b,X=N.c,Y=N.d,U=e,W=r;W<a;U+=2,W+=i){var q=l[U],j=l[U+1];n[W]=q*B+j*D+O,n[W+1]=q*X+j*Y+L}}}},{key:"copyTo",value:function(t){null!=this.bones?(t.bones=new Array(this.bones.length),p.arrayCopy(this.bones,0,t.bones,0,this.bones.length)):t.bones=null,null!=this.vertices?(t.vertices=p.newFloatArray(this.vertices.length),p.arrayCopy(this.vertices,0,t.vertices,0,this.vertices.length)):t.vertices=null,t.worldVerticesLength=this.worldVerticesLength,t.deformAttachment=this.deformAttachment}}]),n}();P.nextID=0;var _=function(t){s(n,P);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).lengths=void 0,r.closed=!1,r.constantSpeed=!1,r.color=new g(1,1,1,1),r}return r(n,[{key:"copy",value:function(){var t=new n(this.name);return this.copyTo(t),t.lengths=new Array(this.lengths.length),p.arrayCopy(this.lengths,0,t.lengths,0,this.lengths.length),t.closed=closed,t.constantSpeed=this.constantSpeed,t.color.setFromColor(this.color),t}}]),n}(),F=function(){function t(e,n){if(a(this,t),this.data=void 0,this.bones=void 0,this.target=void 0,this.position=0,this.spacing=0,this.rotateMix=0,this.translateMix=0,this.spaces=new Array,this.positions=new Array,this.world=new Array,this.curves=new Array,this.lengths=new Array,this.segments=new Array,this.active=!1,null==e)throw new Error("data cannot be null.");if(null==n)throw new Error("skeleton cannot be null.");this.data=e,this.bones=new Array;for(var r=0,i=e.bones.length;r<i;r++)this.bones.push(n.findBone(e.bones[r].name));this.target=n.findSlot(e.target.name),this.position=e.position,this.spacing=e.spacing,this.rotateMix=e.rotateMix,this.translateMix=e.translateMix}return r(t,[{key:"isActive",value:function(){return this.active}},{key:"apply",value:function(){this.update()}},{key:"update",value:function(){var e=this.target.getAttachment();if(e instanceof _){var a=this.rotateMix,n=this.translateMix,r=a>0;if(n>0||r){var i=this.data,s=i.spacingMode==A.Percent,o=i.rotateMode,l=o==C.Tangent,h=o==C.ChainScale,u=this.bones.length,c=l?u:u+1,d=this.bones,f=p.setArraySize(this.spaces,c),v=null,g=this.spacing;if(h||!s){h&&(v=p.setArraySize(this.lengths,u));for(var y=i.spacingMode==A.Length,w=0,k=c-1;w<k;){var x=d[w],E=x.data.length;if(E<t.epsilon)h&&(v[w]=0),f[++w]=0;else if(s){if(h){var b=E*x.a,M=E*x.c,S=Math.sqrt(b*b+M*M);v[w]=S}f[++w]=g}else{var T=E*x.a,I=E*x.c,V=Math.sqrt(T*T+I*I);h&&(v[w]=V),f[++w]=(y?E+g:g)*V/E}}}else for(var P=1;P<c;P++)f[P]=g;var F=this.computeWorldPositions(e,c,l,i.positionMode==R.Percent,s),N=F[0],O=F[1],L=i.offsetRotation,B=!1;if(0==L)B=o==C.Chain;else{B=!1;var D=this.target.bone;L*=D.a*D.d-D.b*D.c>0?m.degRad:-m.degRad}for(var X=0,Y=3;X<u;X++,Y+=3){var U=d[X];U.worldX+=(N-U.worldX)*n,U.worldY+=(O-U.worldY)*n;var W=F[Y],q=F[Y+1],j=W-N,H=q-O;if(h){var z=v[X];if(0!=z){var G=(Math.sqrt(j*j+H*H)/z-1)*a+1;U.a*=G,U.c*=G}}if(N=W,O=q,r){var Z=U.a,Q=U.b,J=U.c,K=U.d,$=0,tt=0,et=0;if($=l?F[Y-1]:0==f[X+1]?F[Y+2]:Math.atan2(H,j),$-=Math.atan2(J,Z),B){tt=Math.cos($),et=Math.sin($);var at=U.data.length;N+=(at*(tt*Z-et*J)-j)*a,O+=(at*(et*Z+tt*J)-H)*a}else $+=L;$>m.PI?$-=m.PI2:$<-m.PI&&($+=m.PI2),$*=a,tt=Math.cos($),et=Math.sin($),U.a=tt*Z-et*J,U.b=tt*Q-et*K,U.c=et*Z+tt*J,U.d=et*Q+tt*K}U.appliedValid=!1}}}}},{key:"computeWorldPositions",value:function(e,a,n,r,i){var s=this.target,o=this.position,l=this.spaces,h=p.setArraySize(this.positions,3*a+2),u=null,c=e.closed,d=e.worldVerticesLength,f=d/6,v=t.NONE;if(!e.constantSpeed){var g=e.lengths,m=g[f-=c?1:2];if(r&&(o*=m),i)for(var y=1;y<a;y++)l[y]*=m;u=p.setArraySize(this.world,8);for(var w=0,k=0,x=0;w<a;w++,k+=3){var E=l[w],b=o+=E;if(c)(b%=m)<0&&(b+=m),x=0;else{if(b<0){v!=t.BEFORE&&(v=t.BEFORE,e.computeWorldVertices(s,2,4,u,0,2)),this.addBeforePosition(b,u,0,h,k);continue}if(b>m){v!=t.AFTER&&(v=t.AFTER,e.computeWorldVertices(s,d-6,4,u,0,2)),this.addAfterPosition(b-m,u,0,h,k);continue}}for(;;x++){var M=g[x];if(!(b>M)){if(0==x)b/=M;else{var S=g[x-1];b=(b-S)/(M-S)}break}}x!=v&&(v=x,c&&x==f?(e.computeWorldVertices(s,d-4,4,u,0,2),e.computeWorldVertices(s,0,4,u,4,2)):e.computeWorldVertices(s,6*x+2,8,u,0,2)),this.addCurvePosition(b,u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],h,k,n||w>0&&0==E)}return h}c?(d+=2,u=p.setArraySize(this.world,d),e.computeWorldVertices(s,2,d-4,u,0,2),e.computeWorldVertices(s,0,2,u,d-4,2),u[d-2]=u[0],u[d-1]=u[1]):(f--,d-=4,u=p.setArraySize(this.world,d),e.computeWorldVertices(s,2,d,u,0,2));for(var T=p.setArraySize(this.curves,f),I=0,R=u[0],A=u[1],C=0,V=0,P=0,_=0,F=0,N=0,O=0,L=0,B=0,D=0,X=0,Y=0,U=0,W=0,q=0,j=2;q<f;q++,j+=6)C=u[j],V=u[j+1],P=u[j+2],_=u[j+3],X=2*(O=.1875*(R-2*C+P))+(B=.09375*(3*(C-P)-R+(F=u[j+4]))),Y=2*(L=.1875*(A-2*V+_))+(D=.09375*(3*(V-_)-A+(N=u[j+5]))),U=.75*(C-R)+O+.16666667*B,W=.75*(V-A)+L+.16666667*D,I+=Math.sqrt(U*U+W*W),U+=X,W+=Y,X+=B,Y+=D,I+=Math.sqrt(U*U+W*W),U+=X,W+=Y,I+=Math.sqrt(U*U+W*W),U+=X+B,W+=Y+D,I+=Math.sqrt(U*U+W*W),T[q]=I,R=F,A=N;if(o*=r?I:I/e.lengths[f-1],i)for(var H=1;H<a;H++)l[H]*=I;for(var z=this.segments,G=0,Z=0,Q=0,J=0,K=0;Z<a;Z++,Q+=3){var $=l[Z],tt=o+=$;if(c)(tt%=I)<0&&(tt+=I),J=0;else{if(tt<0){this.addBeforePosition(tt,u,0,h,Q);continue}if(tt>I){this.addAfterPosition(tt-I,u,d-4,h,Q);continue}}for(;;J++){var et=T[J];if(!(tt>et)){if(0==J)tt/=et;else{var at=T[J-1];tt=(tt-at)/(et-at)}break}}if(J!=v){v=J;var nt=6*J;for(R=u[nt],A=u[nt+1],C=u[nt+2],V=u[nt+3],P=u[nt+4],_=u[nt+5],X=2*(O=.03*(R-2*C+P))+(B=.006*(3*(C-P)-R+(F=u[nt+6]))),Y=2*(L=.03*(A-2*V+_))+(D=.006*(3*(V-_)-A+(N=u[nt+7]))),U=.3*(C-R)+O+.16666667*B,W=.3*(V-A)+L+.16666667*D,G=Math.sqrt(U*U+W*W),z[0]=G,nt=1;nt<8;nt++)U+=X,W+=Y,X+=B,Y+=D,G+=Math.sqrt(U*U+W*W),z[nt]=G;U+=X,W+=Y,G+=Math.sqrt(U*U+W*W),z[8]=G,U+=X+B,W+=Y+D,G+=Math.sqrt(U*U+W*W),z[9]=G,K=0}for(tt*=G;;K++){var rt=z[K];if(!(tt>rt)){if(0==K)tt/=rt;else{var it=z[K-1];tt=K+(tt-it)/(rt-it)}break}}this.addCurvePosition(.1*tt,R,A,C,V,P,_,F,N,h,Q,n||Z>0&&0==$)}return h}},{key:"addBeforePosition",value:function(t,e,a,n,r){var i=e[a],s=e[a+1],o=e[a+2]-i,l=e[a+3]-s,h=Math.atan2(l,o);n[r]=i+t*Math.cos(h),n[r+1]=s+t*Math.sin(h),n[r+2]=h}},{key:"addAfterPosition",value:function(t,e,a,n,r){var i=e[a+2],s=e[a+3],o=i-e[a],l=s-e[a+1],h=Math.atan2(l,o);n[r]=i+t*Math.cos(h),n[r+1]=s+t*Math.sin(h),n[r+2]=h}},{key:"addCurvePosition",value:function(t,e,a,n,r,i,s,o,l,h,u,c){if(0==t||isNaN(t))return h[u]=e,h[u+1]=a,void(h[u+2]=Math.atan2(r-a,n-e));var d=t*t,f=d*t,v=1-t,g=v*v,m=g*v,p=v*t,y=3*p,w=v*y,k=y*t,x=e*m+n*w+i*k+o*f,E=a*m+r*w+s*k+l*f;h[u]=x,h[u+1]=E,c&&(h[u+2]=t<.001?Math.atan2(r-a,n-e):Math.atan2(E-(a*g+r*p*2+s*d),x-(e*g+n*p*2+i*d)))}}]),t}();F.NONE=-1,F.BEFORE=-2,F.AFTER=-3,F.epsilon=1e-5;var N=function(t){s(n,V);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).x=0,r.y=0,r.scaleX=1,r.scaleY=1,r.rotation=0,r.width=0,r.height=0,r.color=new g(1,1,1,1),r.path=void 0,r.rendererObject=void 0,r.region=void 0,r.offset=p.newFloatArray(8),r.uvs=p.newFloatArray(8),r.tempColor=new g(1,1,1,1),r}return r(n,[{key:"updateOffset",value:function(){var t=this.width/this.region.originalWidth*this.scaleX,e=this.height/this.region.originalHeight*this.scaleY,a=-this.width/2*this.scaleX+this.region.offsetX*t,r=-this.height/2*this.scaleY+this.region.offsetY*e,i=a+this.region.width*t,s=r+this.region.height*e,o=this.rotation*Math.PI/180,l=Math.cos(o),h=Math.sin(o),u=a*l+this.x,c=a*h,d=r*l+this.y,f=r*h,v=i*l+this.x,g=i*h,m=s*l+this.y,p=s*h,y=this.offset;y[n.OX1]=u-f,y[n.OY1]=d+c,y[n.OX2]=u-p,y[n.OY2]=m+c,y[n.OX3]=v-p,y[n.OY3]=m+g,y[n.OX4]=v-f,y[n.OY4]=d+g}},{key:"setRegion",value:function(t){this.region=t;var e=this.uvs;t.rotate?(e[2]=t.u,e[3]=t.v2,e[4]=t.u,e[5]=t.v,e[6]=t.u2,e[7]=t.v,e[0]=t.u2,e[1]=t.v2):(e[0]=t.u,e[1]=t.v2,e[2]=t.u,e[3]=t.v,e[4]=t.u2,e[5]=t.v,e[6]=t.u2,e[7]=t.v2)}},{key:"computeWorldVertices",value:function(t,e,a,r){var i=this.offset,s=t.worldX,o=t.worldY,l=t.a,h=t.b,u=t.c,c=t.d,d=0,f=0;d=i[n.OX1],f=i[n.OY1],e[a]=d*l+f*h+s,e[a+1]=d*u+f*c+o,a+=r,d=i[n.OX2],f=i[n.OY2],e[a]=d*l+f*h+s,e[a+1]=d*u+f*c+o,a+=r,d=i[n.OX3],f=i[n.OY3],e[a]=d*l+f*h+s,e[a+1]=d*u+f*c+o,a+=r,d=i[n.OX4],f=i[n.OY4],e[a]=d*l+f*h+s,e[a+1]=d*u+f*c+o}},{key:"copy",value:function(){var t=new n(this.name);return t.region=this.region,t.rendererObject=this.rendererObject,t.path=this.path,t.x=this.x,t.y=this.y,t.scaleX=this.scaleX,t.scaleY=this.scaleY,t.rotation=this.rotation,t.width=this.width,t.height=this.height,p.arrayCopy(this.uvs,0,t.uvs,0,8),p.arrayCopy(this.offset,0,t.offset,0,8),t.color.setFromColor(this.color),t}}]),n}();N.OX1=0,N.OY1=1,N.OX2=2,N.OY2=3,N.OX3=4,N.OY3=5,N.OX4=6,N.OY4=7,N.X1=0,N.Y1=1,N.C1R=2,N.C1G=3,N.C1B=4,N.C1A=5,N.U1=6,N.V1=7,N.X2=8,N.Y2=9,N.C2R=10,N.C2G=11,N.C2B=12,N.C2A=13,N.U2=14,N.V2=15,N.X3=16,N.Y3=17,N.C3R=18,N.C3G=19,N.C3B=20,N.C3A=21,N.U3=22,N.V3=23,N.X4=24,N.Y4=25,N.C4R=26,N.C4G=27,N.C4B=28,N.C4A=29,N.U4=30,N.V4=31;var O=function(){function t(e){a(this,t),this._image=void 0,this._image=e}return r(t,[{key:"getImage",value:function(){return this._image}}],[{key:"filterFromString",value:function(t){switch(t.toLowerCase()){case"nearest":return L.Nearest;case"linear":return L.Linear;case"mipmap":return L.MipMap;case"mipmapnearestnearest":return L.MipMapNearestNearest;case"mipmaplinearnearest":return L.MipMapLinearNearest;case"mipmapnearestlinear":return L.MipMapNearestLinear;case"mipmaplinearlinear":return L.MipMapLinearLinear;default:throw new Error("Unknown texture filter ".concat(t))}}},{key:"wrapFromString",value:function(t){switch(t.toLowerCase()){case"mirroredtepeat":return B.MirroredRepeat;case"clamptoedge":return B.ClampToEdge;case"repeat":return B.Repeat;default:throw new Error("Unknown texture wrap ".concat(t))}}}]),t}(),L=function(t){return t[t.Nearest=9728]="Nearest",t[t.Linear=9729]="Linear",t[t.MipMap=9987]="MipMap",t[t.MipMapNearestNearest=9984]="MipMapNearestNearest",t[t.MipMapLinearNearest=9985]="MipMapLinearNearest",t[t.MipMapNearestLinear=9986]="MipMapNearestLinear",t[t.MipMapLinearLinear=9987]="MipMapLinearLinear",t}({}),B=function(t){return t[t.MirroredRepeat=33648]="MirroredRepeat",t[t.ClampToEdge=33071]="ClampToEdge",t[t.Repeat=10497]="Repeat",t}({}),D=r((function t(){a(this,t),this.renderObject=void 0,this.u=0,this.v=0,this.u2=0,this.v2=0,this.width=0,this.height=0,this.rotate=!1,this.offsetX=0,this.offsetY=0,this.originalWidth=0,this.originalHeight=0})),X=function(t){s(n,O);var e=u(n);function n(){return a(this,n),e.apply(this,arguments)}return r(n,[{key:"setFilters",value:function(t,e){}},{key:"setWraps",value:function(t,e){}},{key:"dispose",value:function(){}}]),n}(),Y=function(){function t(e,n){a(this,t),this.pages=new Array,this.regions=new Array,this.load(e,n)}return r(t,[{key:"load",value:function(t,e){if(null==e)throw new Error("textureLoader cannot be null.");for(var a=new U(t),n=new Array(4),r=null;;){var i=a.readLine();if(null==i)break;if(0==(i=i.trim()).length)r=null;else if(r){var s=new q;s.name=i,s.page=r;var o=a.readValue();"true"==o.toLocaleLowerCase()?s.degrees=90:"false"==o.toLocaleLowerCase()?s.degrees=0:s.degrees=parseFloat(o),s.rotate=90==s.degrees,a.readTuple(n);var l=parseInt(n[0]),h=parseInt(n[1]);a.readTuple(n);var u=parseInt(n[0]),c=parseInt(n[1]);s.u=l/r.width,s.v=h/r.height,s.rotate?(s.u2=(l+c)/r.width,s.v2=(h+u)/r.height):(s.u2=(l+u)/r.width,s.v2=(h+c)/r.height),s.x=l,s.y=h,s.width=Math.abs(u),s.height=Math.abs(c),4==a.readTuple(n)&&4==a.readTuple(n)&&a.readTuple(n),s.originalWidth=parseInt(n[0]),s.originalHeight=parseInt(n[1]),a.readTuple(n),s.offsetX=parseInt(n[0]),s.offsetY=parseInt(n[1]),s.index=parseInt(a.readValue()),s.texture=r.texture,this.regions.push(s)}else{(r=new W).name=i,2==a.readTuple(n)&&(r.width=parseInt(n[0]),r.height=parseInt(n[1]),a.readTuple(n)),a.readTuple(n),r.minFilter=O.filterFromString(n[0]),r.magFilter=O.filterFromString(n[1]);var d=a.readValue();r.uWrap=B.ClampToEdge,r.vWrap=B.ClampToEdge,"x"==d?r.uWrap=B.Repeat:"y"==d?r.vWrap=B.Repeat:"xy"==d&&(r.uWrap=r.vWrap=B.Repeat),r.texture=e(i),r.texture.setFilters(r.minFilter,r.magFilter),r.texture.setWraps(r.uWrap,r.vWrap),r.width=r.texture.getImage().width,r.height=r.texture.getImage().height,this.pages.push(r)}}}},{key:"findRegion",value:function(t){for(var e=0;e<this.regions.length;e++)if(this.regions[e].name==t)return this.regions[e];return null}},{key:"dispose",value:function(){for(var t=0;t<this.pages.length;t++)this.pages[t].texture.dispose()}}]),t}(),U=function(){function t(e){a(this,t),this.lines=void 0,this.index=0,this.lines=e.split(/\r\n|\r|\n/)}return r(t,[{key:"readLine",value:function(){return this.index>=this.lines.length?null:this.lines[this.index++]}},{key:"readValue",value:function(){var t=this.readLine(),e=t.indexOf(":");if(-1==e)throw new Error("Invalid line: "+t);return t.substring(e+1).trim()}},{key:"readTuple",value:function(t){var e=this.readLine(),a=e.indexOf(":");if(-1==a)throw new Error("Invalid line: "+e);for(var n=0,r=a+1;n<3;n++){var i=e.indexOf(",",r);if(-1==i)break;t[n]=e.substr(r,i-r).trim(),r=i+1}return t[n]=e.substring(r).trim(),n+1}}]),t}(),W=r((function t(){a(this,t),this.name=void 0,this.minFilter=void 0,this.magFilter=void 0,this.uWrap=void 0,this.vWrap=void 0,this.texture=void 0,this.width=void 0,this.height=void 0})),q=function(t){s(n,D);var e=u(n);function n(){var t;a(this,n);for(var r=arguments.length,i=new Array(r),s=0;s<r;s++)i[s]=arguments[s];return(t=e.call.apply(e,[this].concat(i))).page=void 0,t.name=void 0,t.x=void 0,t.y=void 0,t.index=void 0,t.rotate=void 0,t.degrees=void 0,t.texture=void 0,t}return r(n)}(),j=function(t){s(n,P);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).region=void 0,r.path=void 0,r.regionUVs=void 0,r.uvs=void 0,r.triangles=void 0,r.color=new g(1,1,1,1),r.width=void 0,r.height=void 0,r.hullLength=void 0,r.edges=void 0,r.parentMesh=void 0,r.tempColor=new g(0,0,0,0),r}return r(n,[{key:"updateUVs",value:function(){var t=this.regionUVs;null!=this.uvs&&this.uvs.length==t.length||(this.uvs=p.newFloatArray(t.length));var e=this.uvs,a=this.uvs.length,n=this.region.u,r=this.region.v,i=0,s=0;if(this.region instanceof q){var o=this.region,l=o.texture.getImage().width,h=o.texture.getImage().height;switch(o.degrees){case 90:n-=(o.originalHeight-o.offsetY-o.height)/l,r-=(o.originalWidth-o.offsetX-o.width)/h,i=o.originalHeight/l,s=o.originalWidth/h;for(var u=0;u<a;u+=2)e[u]=n+t[u+1]*i,e[u+1]=r+(1-t[u])*s;return;case 180:n-=(o.originalWidth-o.offsetX-o.width)/l,r-=o.offsetY/h,i=o.originalWidth/l,s=o.originalHeight/h;for(var c=0;c<a;c+=2)e[c]=n+(1-t[c])*i,e[c+1]=r+(1-t[c+1])*s;return;case 270:n-=o.offsetY/l,r-=o.offsetX/h,i=o.originalHeight/l,s=o.originalWidth/h;for(var d=0;d<a;d+=2)e[d]=n+(1-t[d+1])*i,e[d+1]=r+t[d]*s;return}n-=o.offsetX/l,r-=(o.originalHeight-o.offsetY-o.height)/h,i=o.originalWidth/l,s=o.originalHeight/h}else null==this.region?(n=r=0,i=s=1):(i=this.region.u2-n,s=this.region.v2-r);for(var f=0;f<a;f+=2)e[f]=n+t[f]*i,e[f+1]=r+t[f+1]*s}},{key:"getParentMesh",value:function(){return this.parentMesh}},{key:"setParentMesh",value:function(t){this.parentMesh=t,null!=t&&(this.bones=t.bones,this.vertices=t.vertices,this.worldVerticesLength=t.worldVerticesLength,this.regionUVs=t.regionUVs,this.triangles=t.triangles,this.hullLength=t.hullLength,this.worldVerticesLength=t.worldVerticesLength)}},{key:"copy",value:function(){if(null!=this.parentMesh)return this.newLinkedMesh();var t=new n(this.name);return t.region=this.region,t.path=this.path,t.color.setFromColor(this.color),this.copyTo(t),t.regionUVs=new Array(this.regionUVs.length),p.arrayCopy(this.regionUVs,0,t.regionUVs,0,this.regionUVs.length),t.uvs=new Array(this.uvs.length),p.arrayCopy(this.uvs,0,t.uvs,0,this.uvs.length),t.triangles=new Array(this.triangles.length),p.arrayCopy(this.triangles,0,t.triangles,0,this.triangles.length),t.hullLength=this.hullLength,null!=this.edges&&(t.edges=new Array(this.edges.length),p.arrayCopy(this.edges,0,t.edges,0,this.edges.length)),t.width=this.width,t.height=this.height,t}},{key:"newLinkedMesh",value:function(){var t=new n(this.name);return t.region=this.region,t.path=this.path,t.color.setFromColor(this.color),t.deformAttachment=this.deformAttachment,t.setParentMesh(null!=this.parentMesh?this.parentMesh:this),t.updateUVs(),t}}]),n}(),H=function(){function t(e){if(a(this,t),this.data=void 0,this.bones=void 0,this.slots=void 0,this.drawOrder=void 0,this.ikConstraints=void 0,this.transformConstraints=void 0,this.pathConstraints=void 0,this._updateCache=new Array,this.updateCacheReset=new Array,this.skin=void 0,this.color=void 0,this.time=0,this.scaleX=1,this.scaleY=1,this.x=0,this.y=0,null==e)throw new Error("data cannot be null.");this.data=e,this.bones=new Array;for(var n=0;n<e.bones.length;n++){var r=e.bones[n],i=void 0;if(null==r.parent)i=new E(r,this,null);else{var s=this.bones[r.parent.index];i=new E(r,this,s),s.children.push(i)}this.bones.push(i)}this.slots=new Array,this.drawOrder=new Array;for(var o=0;o<e.slots.length;o++){var l=e.slots[o],h=this.bones[l.boneData.index],u=new b(l,h);this.slots.push(u),this.drawOrder.push(u)}this.ikConstraints=new Array;for(var c=0;c<e.ikConstraints.length;c++){var d=e.ikConstraints[c];this.ikConstraints.push(new M(d,this))}this.transformConstraints=new Array;for(var f=0;f<e.transformConstraints.length;f++){var v=e.transformConstraints[f];this.transformConstraints.push(new S(v,this))}this.pathConstraints=new Array;for(var m=0;m<e.pathConstraints.length;m++){var p=e.pathConstraints[m];this.pathConstraints.push(new F(p,this))}this.color=new g(1,1,1,1),this.updateCache()}return r(t,[{key:"updateCache",value:function(){var t=this._updateCache;t.length=0,this.updateCacheReset.length=0;for(var e=this.bones,a=0,n=e.length;a<n;a++){var r=e[a];r.sorted=r.data.skinRequired,r.active=!r.sorted}if(null!=this.skin)for(var i=this.skin.bones,s=0,o=this.skin.bones.length;s<o;s++){var l=this.bones[i[s].index];do{l.sorted=!1,l.active=!0,l=l.parent}while(null!=l)}var h=this.ikConstraints,u=this.transformConstraints,c=this.pathConstraints,d=h.length,f=u.length,v=c.length,g=d+f+v;t:for(var m=0;m<g;m++){for(var p=0;p<d;p++){var y=h[p];if(y.data.order==m){this.sortIkConstraint(y);continue t}}for(var w=0;w<f;w++){var k=u[w];if(k.data.order==m){this.sortTransformConstraint(k);continue t}}for(var x=0;x<v;x++){var E=c[x];if(E.data.order==m){this.sortPathConstraint(E);continue t}}}for(var b=0,M=e.length;b<M;b++)this.sortBone(e[b])}},{key:"sortIkConstraint",value:function(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||null!=this.skin&&p.contains(this.skin.constraints,t.data,!0)),t.active){var e=t.target;this.sortBone(e);var a=t.bones,n=a[0];if(this.sortBone(n),a.length>1){var r=a[a.length-1];this._updateCache.indexOf(r)>-1||this.updateCacheReset.push(r)}this._updateCache.push(t),this.sortReset(n.children),a[a.length-1].sorted=!0}}},{key:"sortPathConstraint",value:function(t){if(t.active=t.target.bone.isActive()&&(!t.data.skinRequired||null!=this.skin&&p.contains(this.skin.constraints,t.data,!0)),t.active){var e=t.target,a=e.data.index,n=e.bone;null!=this.skin&&this.sortPathConstraintAttachment(this.skin,a,n),null!=this.data.defaultSkin&&this.data.defaultSkin!=this.skin&&this.sortPathConstraintAttachment(this.data.defaultSkin,a,n);for(var r=0,i=this.data.skins.length;r<i;r++)this.sortPathConstraintAttachment(this.data.skins[r],a,n);var s=e.getAttachment();s instanceof _&&this.sortPathConstraintAttachmentWith(s,n);for(var o=t.bones,l=o.length,h=0;h<l;h++)this.sortBone(o[h]);this._updateCache.push(t);for(var u=0;u<l;u++)this.sortReset(o[u].children);for(var c=0;c<l;c++)o[c].sorted=!0}}},{key:"sortTransformConstraint",value:function(t){if(t.active=t.target.isActive()&&(!t.data.skinRequired||null!=this.skin&&p.contains(this.skin.constraints,t.data,!0)),t.active){this.sortBone(t.target);var e=t.bones,a=e.length;if(t.data.local)for(var n=0;n<a;n++){var r=e[n];this.sortBone(r.parent),this._updateCache.indexOf(r)>-1||this.updateCacheReset.push(r)}else for(var i=0;i<a;i++)this.sortBone(e[i]);this._updateCache.push(t);for(var s=0;s<a;s++)this.sortReset(e[s].children);for(var o=0;o<a;o++)e[o].sorted=!0}}},{key:"sortPathConstraintAttachment",value:function(t,e,a){var n=t.attachments[e];if(n)for(var r in n)this.sortPathConstraintAttachmentWith(n[r],a)}},{key:"sortPathConstraintAttachmentWith",value:function(t,e){if(t instanceof _){var a=t.bones;if(null==a)this.sortBone(e);else for(var n=this.bones,r=0;r<a.length;)for(var i=a[r++],s=r+i;r<s;r++){var o=a[r];this.sortBone(n[o])}}}},{key:"sortBone",value:function(t){if(!t.sorted){var e=t.parent;null!=e&&this.sortBone(e),t.sorted=!0,this._updateCache.push(t)}}},{key:"sortReset",value:function(t){for(var e=0,a=t.length;e<a;e++){var n=t[e];n.active&&(n.sorted&&this.sortReset(n.children),n.sorted=!1)}}},{key:"updateWorldTransform",value:function(){for(var t=this.updateCacheReset,e=0,a=t.length;e<a;e++){var n=t[e];n.ax=n.x,n.ay=n.y,n.arotation=n.rotation,n.ascaleX=n.scaleX,n.ascaleY=n.scaleY,n.ashearX=n.shearX,n.ashearY=n.shearY,n.appliedValid=!0}for(var r=this._updateCache,i=0,s=r.length;i<s;i++)r[i].update()}},{key:"setToSetupPose",value:function(){this.setBonesToSetupPose(),this.setSlotsToSetupPose()}},{key:"setBonesToSetupPose",value:function(){for(var t=this.bones,e=0,a=t.length;e<a;e++)t[e].setToSetupPose();for(var n=this.ikConstraints,r=0,i=n.length;r<i;r++){var s=n[r];s.mix=s.data.mix,s.softness=s.data.softness,s.bendDirection=s.data.bendDirection,s.compress=s.data.compress,s.stretch=s.data.stretch}for(var o=this.transformConstraints,l=0,h=o.length;l<h;l++){var u=o[l],c=u.data;u.rotateMix=c.rotateMix,u.translateMix=c.translateMix,u.scaleMix=c.scaleMix,u.shearMix=c.shearMix}for(var d=this.pathConstraints,f=0,v=d.length;f<v;f++){var g=d[f],m=g.data;g.position=m.position,g.spacing=m.spacing,g.rotateMix=m.rotateMix,g.translateMix=m.translateMix}}},{key:"setSlotsToSetupPose",value:function(){var t=this.slots;p.arrayCopy(t,0,this.drawOrder,0,t.length);for(var e=0,a=t.length;e<a;e++)t[e].setToSetupPose()}},{key:"getRootBone",value:function(){return 0==this.bones.length?null:this.bones[0]}},{key:"findBone",value:function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"findBoneIndex",value:function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,a=0,n=e.length;a<n;a++)if(e[a].data.name==t)return a;return-1}},{key:"findSlot",value:function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"findSlotIndex",value:function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,a=0,n=e.length;a<n;a++)if(e[a].data.name==t)return a;return-1}},{key:"setSkinByName",value:function(t){var e=this.data.findSkin(t);if(null==e)throw new Error("Skin not found: "+t);this.setSkin(e)}},{key:"setSkin",value:function(t){if(t!=this.skin){if(null!=t)if(null!=this.skin)t.attachAll(this,this.skin);else for(var e=this.slots,a=0,n=e.length;a<n;a++){var r=e[a],i=r.data.attachmentName;if(null!=i){var s=t.getAttachment(a,i);null!=s&&r.setAttachment(s)}}this.skin=t,this.updateCache()}}},{key:"getAttachmentByName",value:function(t,e){return this.getAttachment(this.data.findSlotIndex(t),e)}},{key:"getAttachment",value:function(t,e){if(null==e)throw new Error("attachmentName cannot be null.");if(null!=this.skin){var a=this.skin.getAttachment(t,e);if(null!=a)return a}return null!=this.data.defaultSkin?this.data.defaultSkin.getAttachment(t,e):null}},{key:"setAttachment",value:function(t,e){if(null==t)throw new Error("slotName cannot be null.");for(var a=this.slots,n=0,r=a.length;n<r;n++){var i=a[n];if(i.data.name==t){var s=null;if(null!=e&&null==(s=this.getAttachment(n,e)))throw new Error("Attachment not found: "+e+", for slot: "+t);return void i.setAttachment(s)}}throw new Error("Slot not found: "+t)}},{key:"findIkConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"findTransformConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"findPathConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.data.name==t)return r}return null}},{key:"getBounds",value:function(t,e){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Array(2);if(null==t)throw new Error("offset cannot be null.");if(null==e)throw new Error("size cannot be null.");for(var n=this.drawOrder,r=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY,o=Number.NEGATIVE_INFINITY,l=0,h=n.length;l<h;l++){var u=n[l];if(u.bone.active){var c=0,d=null,f=u.getAttachment();if(f instanceof N)c=8,d=p.setArraySize(a,c,0),f.computeWorldVertices(u.bone,d,0,2);else if(f instanceof j){var v=f;c=v.worldVerticesLength,d=p.setArraySize(a,c,0),v.computeWorldVertices(u,0,c,d,0,2)}if(null!=d)for(var g=0,m=d.length;g<m;g+=2){var y=d[g],w=d[g+1];r=Math.min(r,y),i=Math.min(i,w),s=Math.max(s,y),o=Math.max(o,w)}}}t.set(r,i),e.set(s-r,o-i)}},{key:"update",value:function(t){this.time+=t}}]),t}(),z=function(){function t(e,n,r){if(a(this,t),this.name=void 0,this.timelines=void 0,this.timelineIds=void 0,this.duration=void 0,null==e)throw new Error("name cannot be null.");if(null==n)throw new Error("timelines cannot be null.");this.name=e,this.timelines=n,this.timelineIds=[];for(var i=0;i<n.length;i++)this.timelineIds[n[i].getPropertyId()]=!0;this.duration=r}return r(t,[{key:"hasTimeline",value:function(t){return 1==this.timelineIds[t]}},{key:"apply",value:function(t,e,a,n,r,i,s,o){if(null==t)throw new Error("skeleton cannot be null.");n&&0!=this.duration&&(a%=this.duration,e>0&&(e%=this.duration));for(var l=this.timelines,h=0,u=l.length;h<u;h++)l[h].apply(t,e,a,r,i,s,o)}}],[{key:"binarySearch",value:function(t,e){var a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=0,r=t.length/a-2;if(0==r)return a;for(var i=r>>>1;;){if(t[(i+1)*a]<=e?n=i+1:r=i,n==r)return(n+1)*a;i=n+r>>>1}}},{key:"linearSearch",value:function(t,e,a){for(var n=0,r=t.length-a;n<=r;n+=a)if(t[n]>e)return n;return-1}}]),t}(),G=function(t){return t[t.setup=0]="setup",t[t.first=1]="first",t[t.replace=2]="replace",t[t.add=3]="add",t}({}),Z=function(t){return t[t.mixIn=0]="mixIn",t[t.mixOut=1]="mixOut",t}({}),Q=function(t){return t[t.rotate=0]="rotate",t[t.translate=1]="translate",t[t.scale=2]="scale",t[t.shear=3]="shear",t[t.attachment=4]="attachment",t[t.color=5]="color",t[t.deform=6]="deform",t[t.event=7]="event",t[t.drawOrder=8]="drawOrder",t[t.ikConstraint=9]="ikConstraint",t[t.transformConstraint=10]="transformConstraint",t[t.pathConstraintPosition=11]="pathConstraintPosition",t[t.pathConstraintSpacing=12]="pathConstraintSpacing",t[t.pathConstraintMix=13]="pathConstraintMix",t[t.twoColor=14]="twoColor",t}({}),J=function(){function t(e){if(a(this,t),this.curves=void 0,e<=0)throw new Error("frameCount must be > 0: "+e);this.curves=p.newFloatArray((e-1)*t.BEZIER_SIZE)}return r(t,[{key:"getFrameCount",value:function(){return this.curves.length/t.BEZIER_SIZE+1}},{key:"setLinear",value:function(e){this.curves[e*t.BEZIER_SIZE]=t.LINEAR}},{key:"setStepped",value:function(e){this.curves[e*t.BEZIER_SIZE]=t.STEPPED}},{key:"getCurveType",value:function(e){var a=e*t.BEZIER_SIZE;if(a==this.curves.length)return t.LINEAR;var n=this.curves[a];return n==t.LINEAR?t.LINEAR:n==t.STEPPED?t.STEPPED:t.BEZIER}},{key:"setCurve",value:function(e,a,n,r,i){var s=.03*(2*-a+r),o=.03*(2*-n+i),l=.006*(3*(a-r)+1),h=.006*(3*(n-i)+1),u=2*s+l,c=2*o+h,d=.3*a+s+.16666667*l,f=.3*n+o+.16666667*h,v=e*t.BEZIER_SIZE,g=this.curves;g[v++]=t.BEZIER;for(var m=d,p=f,y=v+t.BEZIER_SIZE-1;v<y;v+=2)g[v]=m,g[v+1]=p,d+=u,f+=c,u+=l,c+=h,m+=d,p+=f}},{key:"getCurvePercent",value:function(e,a){a=m.clamp(a,0,1);var n=this.curves,r=e*t.BEZIER_SIZE,i=n[r];if(i==t.LINEAR)return a;if(i==t.STEPPED)return 0;for(var s=0,o=++r,l=r+t.BEZIER_SIZE-1;r<l;r+=2)if((s=n[r])>=a){var h=void 0,u=void 0;return r==o?(h=0,u=0):(h=n[r-2],u=n[r-1]),u+(n[r+1]-u)*(a-h)/(s-h)}var c=n[r-1];return c+(1-c)*(a-s)/(1-s)}}]),t}();J.LINEAR=0,J.STEPPED=1,J.BEZIER=2,J.BEZIER_SIZE=19;var K=function(t){s(n,J);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).boneIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t<<1),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.rotate<<24)+this.boneIndex}},{key:"setFrame",value:function(t,e,a){t<<=1,this.frames[t]=e,this.frames[t+n.ROTATION]=a}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.bones[this.boneIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return void(h.rotation=h.data.rotation);case G.first:var u=h.data.rotation-h.rotation;h.rotation+=(u-360*(16384-(16384.499999999996-u/360|0)))*i}else if(a>=l[l.length-n.ENTRIES]){var c=l[l.length+n.PREV_ROTATION];switch(s){case G.setup:h.rotation=h.data.rotation+c*i;break;case G.first:case G.replace:c+=h.data.rotation-h.rotation,c-=360*(16384-(16384.499999999996-c/360|0));case G.add:h.rotation+=c*i}}else{var d=z.binarySearch(l,a,n.ENTRIES),f=l[d+n.PREV_ROTATION],v=l[d],g=this.getCurvePercent((d>>1)-1,1-(a-v)/(l[d+n.PREV_TIME]-v)),m=l[d+n.ROTATION]-f;switch(m=f+(m-360*(16384-(16384.499999999996-m/360|0)))*g,s){case G.setup:h.rotation=h.data.rotation+(m-360*(16384-(16384.499999999996-m/360|0)))*i;break;case G.first:case G.replace:m+=h.data.rotation-h.rotation;case G.add:h.rotation+=(m-360*(16384-(16384.499999999996-m/360|0)))*i}}}}]),n}();K.ENTRIES=2,K.PREV_TIME=-2,K.PREV_ROTATION=-1,K.ROTATION=1;var $=function(t){s(n,J);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).boneIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.translate<<24)+this.boneIndex}},{key:"setFrame",value:function(t,e,a,r){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.X]=a,this.frames[t+n.Y]=r}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.bones[this.boneIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return h.x=h.data.x,void(h.y=h.data.y);case G.first:h.x+=(h.data.x-h.x)*i,h.y+=(h.data.y-h.y)*i}else{var u=0,c=0;if(a>=l[l.length-n.ENTRIES])u=l[l.length+n.PREV_X],c=l[l.length+n.PREV_Y];else{var d=z.binarySearch(l,a,n.ENTRIES);u=l[d+n.PREV_X],c=l[d+n.PREV_Y];var f=l[d],v=this.getCurvePercent(d/n.ENTRIES-1,1-(a-f)/(l[d+n.PREV_TIME]-f));u+=(l[d+n.X]-u)*v,c+=(l[d+n.Y]-c)*v}switch(s){case G.setup:h.x=h.data.x+u*i,h.y=h.data.y+c*i;break;case G.first:case G.replace:h.x+=(h.data.x+u-h.x)*i,h.y+=(h.data.y+c-h.y)*i;break;case G.add:h.x+=u*i,h.y+=c*i}}}}]),n}();$.ENTRIES=3,$.PREV_TIME=-3,$.PREV_X=-2,$.PREV_Y=-1,$.X=1,$.Y=2;var tt=function(t){s(n,$);var e=u(n);function n(t){return a(this,n),e.call(this,t)}return r(n,[{key:"getPropertyId",value:function(){return(Q.scale<<24)+this.boneIndex}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.bones[this.boneIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return h.scaleX=h.data.scaleX,void(h.scaleY=h.data.scaleY);case G.first:h.scaleX+=(h.data.scaleX-h.scaleX)*i,h.scaleY+=(h.data.scaleY-h.scaleY)*i}else{var u=0,c=0;if(a>=l[l.length-n.ENTRIES])u=l[l.length+n.PREV_X]*h.data.scaleX,c=l[l.length+n.PREV_Y]*h.data.scaleY;else{var d=z.binarySearch(l,a,n.ENTRIES);u=l[d+n.PREV_X],c=l[d+n.PREV_Y];var f=l[d],v=this.getCurvePercent(d/n.ENTRIES-1,1-(a-f)/(l[d+n.PREV_TIME]-f));u=(u+(l[d+n.X]-u)*v)*h.data.scaleX,c=(c+(l[d+n.Y]-c)*v)*h.data.scaleY}if(1==i)s==G.add?(h.scaleX+=u-h.data.scaleX,h.scaleY+=c-h.data.scaleY):(h.scaleX=u,h.scaleY=c);else{var g=0,p=0;if(o==Z.mixOut)switch(s){case G.setup:g=h.data.scaleX,p=h.data.scaleY,h.scaleX=g+(Math.abs(u)*m.signum(g)-g)*i,h.scaleY=p+(Math.abs(c)*m.signum(p)-p)*i;break;case G.first:case G.replace:g=h.scaleX,p=h.scaleY,h.scaleX=g+(Math.abs(u)*m.signum(g)-g)*i,h.scaleY=p+(Math.abs(c)*m.signum(p)-p)*i;break;case G.add:g=h.scaleX,p=h.scaleY,h.scaleX=g+(Math.abs(u)*m.signum(g)-h.data.scaleX)*i,h.scaleY=p+(Math.abs(c)*m.signum(p)-h.data.scaleY)*i}else switch(s){case G.setup:g=Math.abs(h.data.scaleX)*m.signum(u),p=Math.abs(h.data.scaleY)*m.signum(c),h.scaleX=g+(u-g)*i,h.scaleY=p+(c-p)*i;break;case G.first:case G.replace:g=Math.abs(h.scaleX)*m.signum(u),p=Math.abs(h.scaleY)*m.signum(c),h.scaleX=g+(u-g)*i,h.scaleY=p+(c-p)*i;break;case G.add:g=m.signum(u),p=m.signum(c),h.scaleX=Math.abs(h.scaleX)*g+(u-Math.abs(h.data.scaleX)*g)*i,h.scaleY=Math.abs(h.scaleY)*p+(c-Math.abs(h.data.scaleY)*p)*i}}}}}]),n}(),et=function(t){s(n,$);var e=u(n);function n(t){return a(this,n),e.call(this,t)}return r(n,[{key:"getPropertyId",value:function(){return(Q.shear<<24)+this.boneIndex}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.bones[this.boneIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return h.shearX=h.data.shearX,void(h.shearY=h.data.shearY);case G.first:h.shearX+=(h.data.shearX-h.shearX)*i,h.shearY+=(h.data.shearY-h.shearY)*i}else{var u=0,c=0;if(a>=l[l.length-n.ENTRIES])u=l[l.length+n.PREV_X],c=l[l.length+n.PREV_Y];else{var d=z.binarySearch(l,a,n.ENTRIES);u=l[d+n.PREV_X],c=l[d+n.PREV_Y];var f=l[d],v=this.getCurvePercent(d/n.ENTRIES-1,1-(a-f)/(l[d+n.PREV_TIME]-f));u+=(l[d+n.X]-u)*v,c+=(l[d+n.Y]-c)*v}switch(s){case G.setup:h.shearX=h.data.shearX+u*i,h.shearY=h.data.shearY+c*i;break;case G.first:case G.replace:h.shearX+=(h.data.shearX+u-h.shearX)*i,h.shearY+=(h.data.shearY+c-h.shearY)*i;break;case G.add:h.shearX+=u*i,h.shearY+=c*i}}}}]),n}(),at=function(t){s(n,J);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).slotIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.color<<24)+this.slotIndex}},{key:"setFrame",value:function(t,e,a,r,i,s){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.R]=a,this.frames[t+n.G]=r,this.frames[t+n.B]=i,this.frames[t+n.A]=s}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=t.slots[this.slotIndex];if(l.bone.active){var h=this.frames;if(a<h[0])switch(s){case G.setup:return void l.color.setFromColor(l.data.color);case G.first:var u=l.color,c=l.data.color;u.add((c.r-u.r)*i,(c.g-u.g)*i,(c.b-u.b)*i,(c.a-u.a)*i)}else{var d=0,f=0,v=0,g=0;if(a>=h[h.length-n.ENTRIES]){var m=h.length;d=h[m+n.PREV_R],f=h[m+n.PREV_G],v=h[m+n.PREV_B],g=h[m+n.PREV_A]}else{var p=z.binarySearch(h,a,n.ENTRIES);d=h[p+n.PREV_R],f=h[p+n.PREV_G],v=h[p+n.PREV_B],g=h[p+n.PREV_A];var y=h[p],w=this.getCurvePercent(p/n.ENTRIES-1,1-(a-y)/(h[p+n.PREV_TIME]-y));d+=(h[p+n.R]-d)*w,f+=(h[p+n.G]-f)*w,v+=(h[p+n.B]-v)*w,g+=(h[p+n.A]-g)*w}if(1==i)l.color.set(d,f,v,g);else{var k=l.color;s==G.setup&&k.setFromColor(l.data.color),k.add((d-k.r)*i,(f-k.g)*i,(v-k.b)*i,(g-k.a)*i)}}}}}]),n}();at.ENTRIES=5,at.PREV_TIME=-5,at.PREV_R=-4,at.PREV_G=-3,at.PREV_B=-2,at.PREV_A=-1,at.R=1,at.G=2,at.B=3,at.A=4;var nt=function(t){s(n,J);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).slotIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.twoColor<<24)+this.slotIndex}},{key:"setFrame",value:function(t,e,a,r,i,s,o,l,h){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.R]=a,this.frames[t+n.G]=r,this.frames[t+n.B]=i,this.frames[t+n.A]=s,this.frames[t+n.R2]=o,this.frames[t+n.G2]=l,this.frames[t+n.B2]=h}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=t.slots[this.slotIndex];if(l.bone.active){var h=this.frames;if(a<h[0])switch(s){case G.setup:return l.color.setFromColor(l.data.color),void l.darkColor.setFromColor(l.data.darkColor);case G.first:var u=l.color,c=l.darkColor,d=l.data.color,f=l.data.darkColor;u.add((d.r-u.r)*i,(d.g-u.g)*i,(d.b-u.b)*i,(d.a-u.a)*i),c.add((f.r-c.r)*i,(f.g-c.g)*i,(f.b-c.b)*i,0)}else{var v=0,g=0,m=0,p=0,y=0,w=0,k=0;if(a>=h[h.length-n.ENTRIES]){var x=h.length;v=h[x+n.PREV_R],g=h[x+n.PREV_G],m=h[x+n.PREV_B],p=h[x+n.PREV_A],y=h[x+n.PREV_R2],w=h[x+n.PREV_G2],k=h[x+n.PREV_B2]}else{var E=z.binarySearch(h,a,n.ENTRIES);v=h[E+n.PREV_R],g=h[E+n.PREV_G],m=h[E+n.PREV_B],p=h[E+n.PREV_A],y=h[E+n.PREV_R2],w=h[E+n.PREV_G2],k=h[E+n.PREV_B2];var b=h[E],M=this.getCurvePercent(E/n.ENTRIES-1,1-(a-b)/(h[E+n.PREV_TIME]-b));v+=(h[E+n.R]-v)*M,g+=(h[E+n.G]-g)*M,m+=(h[E+n.B]-m)*M,p+=(h[E+n.A]-p)*M,y+=(h[E+n.R2]-y)*M,w+=(h[E+n.G2]-w)*M,k+=(h[E+n.B2]-k)*M}if(1==i)l.color.set(v,g,m,p),l.darkColor.set(y,w,k,1);else{var S=l.color,T=l.darkColor;s==G.setup&&(S.setFromColor(l.data.color),T.setFromColor(l.data.darkColor)),S.add((v-S.r)*i,(g-S.g)*i,(m-S.b)*i,(p-S.a)*i),T.add((y-T.r)*i,(w-T.g)*i,(k-T.b)*i,0)}}}}}]),n}();nt.ENTRIES=8,nt.PREV_TIME=-8,nt.PREV_R=-7,nt.PREV_G=-6,nt.PREV_B=-5,nt.PREV_A=-4,nt.PREV_R2=-3,nt.PREV_G2=-2,nt.PREV_B2=-1,nt.R=1,nt.G=2,nt.B=3,nt.A=4,nt.R2=5,nt.G2=6,nt.B2=7;var rt=function(){function t(e){a(this,t),this.slotIndex=void 0,this.frames=void 0,this.attachmentNames=void 0,this.frames=p.newFloatArray(e),this.attachmentNames=new Array(e)}return r(t,[{key:"getPropertyId",value:function(){return(Q.attachment<<24)+this.slotIndex}},{key:"getFrameCount",value:function(){return this.frames.length}},{key:"setFrame",value:function(t,e,a){this.frames[t]=e,this.attachmentNames[t]=a}},{key:"apply",value:function(t,e,a,n,r,i,s){var o=t.slots[this.slotIndex];if(o.bone.active)if(s!=Z.mixOut){var l=this.frames;if(a<l[0])i!=G.setup&&i!=G.first||this.setAttachment(t,o,o.data.attachmentName);else{var h=0;h=a>=l[l.length-1]?l.length-1:z.binarySearch(l,a,1)-1;var u=this.attachmentNames[h];t.slots[this.slotIndex].setAttachment(null==u?null:t.getAttachment(this.slotIndex,u))}}else i==G.setup&&this.setAttachment(t,o,o.data.attachmentName)}},{key:"setAttachment",value:function(t,e,a){e.attachment=null==a?null:t.getAttachment(this.slotIndex,a)}}]),t}(),it=null,st=function(t){s(n,J);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).slotIndex=void 0,r.attachment=void 0,r.frames=void 0,r.frameVertices=void 0,r.frames=p.newFloatArray(t),r.frameVertices=new Array(t),null==it&&(it=p.newFloatArray(64)),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.deform<<27)+ +this.attachment.id+this.slotIndex}},{key:"setFrame",value:function(t,e,a){this.frames[t]=e,this.frameVertices[t]=a}},{key:"apply",value:function(t,e,a,n,r,i,s){var o=t.slots[this.slotIndex];if(o.bone.active){var l=o.getAttachment();if(l instanceof P&&l.deformAttachment==this.attachment){var h=o.deform;0==h.length&&(i=G.setup);var u=this.frameVertices,c=u[0].length,d=this.frames;if(a<d[0]){var f=l;switch(i){case G.setup:return void(h.length=0);case G.first:if(1==r){h.length=0;break}var v=p.setArraySize(h,c);if(null==f.bones)for(var g=f.vertices,m=0;m<c;m++)v[m]+=(g[m]-v[m])*r;else{r=1-r;for(m=0;m<c;m++)v[m]*=r}}}else{var y=p.setArraySize(h,c);if(a>=d[d.length-1]){var w=u[d.length-1];if(1==r)if(i==G.add){var k=l;if(null==k.bones)for(var x=k.vertices,E=0;E<c;E++)y[E]+=w[E]-x[E];else for(var b=0;b<c;b++)y[b]+=w[b]}else p.arrayCopy(w,0,y,0,c);else switch(i){case G.setup:var M=l;if(null==M.bones)for(var S=M.vertices,T=0;T<c;T++){var I=S[T];y[T]=I+(w[T]-I)*r}else for(var R=0;R<c;R++)y[R]=w[R]*r;break;case G.first:case G.replace:for(var A=0;A<c;A++)y[A]+=(w[A]-y[A])*r;break;case G.add:var C=l;if(null==C.bones)for(var V=C.vertices,_=0;_<c;_++)y[_]+=(w[_]-V[_])*r;else for(var F=0;F<c;F++)y[F]+=w[F]*r}}else{var N=z.binarySearch(d,a),O=u[N-1],L=u[N],B=d[N],D=this.getCurvePercent(N-1,1-(a-B)/(d[N-1]-B));if(1==r)if(i==G.add){var X=l;if(null==X.bones)for(var Y=X.vertices,U=0;U<c;U++){var W=O[U];y[U]+=W+(L[U]-W)*D-Y[U]}else for(var q=0;q<c;q++){var j=O[q];y[q]+=j+(L[q]-j)*D}}else for(var H=0;H<c;H++){var Z=O[H];y[H]=Z+(L[H]-Z)*D}else switch(i){case G.setup:var Q=l;if(null==Q.bones)for(var J=Q.vertices,K=0;K<c;K++){var $=O[K],tt=J[K];y[K]=tt+($+(L[K]-$)*D-tt)*r}else for(var et=0;et<c;et++){var at=O[et];y[et]=(at+(L[et]-at)*D)*r}break;case G.first:case G.replace:for(var nt=0;nt<c;nt++){var rt=O[nt];y[nt]+=(rt+(L[nt]-rt)*D-y[nt])*r}break;case G.add:var it=l;if(null==it.bones)for(var st=it.vertices,ot=0;ot<c;ot++){var lt=O[ot];y[ot]+=(lt+(L[ot]-lt)*D-st[ot])*r}else for(var ht=0;ht<c;ht++){var ut=O[ht];y[ht]+=(ut+(L[ht]-ut)*D)*r}}}}}}}}]),n}(),ot=function(){function t(e){a(this,t),this.frames=void 0,this.events=void 0,this.frames=p.newFloatArray(e),this.events=new Array(e)}return r(t,[{key:"getPropertyId",value:function(){return Q.event<<24}},{key:"getFrameCount",value:function(){return this.frames.length}},{key:"setFrame",value:function(t,e){this.frames[t]=e.time,this.events[t]=e}},{key:"apply",value:function(t,e,a,n,r,i,s){if(null!=n){var o=this.frames,l=this.frames.length;if(e>a)this.apply(t,e,Number.MAX_VALUE,n,r,i,s),e=-1;else if(e>=o[l-1])return;if(!(a<o[0])){var h=0;if(e<o[0])h=0;else for(var u=o[h=z.binarySearch(o,e)];h>0&&o[h-1]==u;)h--;for(;h<l&&a>=o[h];h++)n.push(this.events[h])}}}}]),t}(),lt=function(){function t(e){a(this,t),this.frames=void 0,this.drawOrders=void 0,this.frames=p.newFloatArray(e),this.drawOrders=new Array(e)}return r(t,[{key:"getPropertyId",value:function(){return Q.drawOrder<<24}},{key:"getFrameCount",value:function(){return this.frames.length}},{key:"setFrame",value:function(t,e,a){this.frames[t]=e,this.drawOrders[t]=a}},{key:"apply",value:function(t,e,a,n,r,i,s){var o=t.drawOrder,l=t.slots;if(s!=Z.mixOut){var h=this.frames;if(a<h[0])i!=G.setup&&i!=G.first||p.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length);else{var u=0;u=a>=h[h.length-1]?h.length-1:z.binarySearch(h,a)-1;var c=this.drawOrders[u];if(null==c)p.arrayCopy(l,0,o,0,l.length);else for(var d=0,f=c.length;d<f;d++)o[d]=l[c[d]]}}else i==G.setup&&p.arrayCopy(t.slots,0,t.drawOrder,0,t.slots.length)}}]),t}(),ht=function(t){s(n,J);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).ikConstraintIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.ikConstraint<<24)+this.ikConstraintIndex}},{key:"setFrame",value:function(t,e,a,r,i,s,o){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.MIX]=a,this.frames[t+n.SOFTNESS]=r,this.frames[t+n.BEND_DIRECTION]=i,this.frames[t+n.COMPRESS]=s?1:0,this.frames[t+n.STRETCH]=o?1:0}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.ikConstraints[this.ikConstraintIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return h.mix=h.data.mix,h.softness=h.data.softness,h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,void(h.stretch=h.data.stretch);case G.first:h.mix+=(h.data.mix-h.mix)*i,h.softness+=(h.data.softness-h.softness)*i,h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,h.stretch=h.data.stretch}else if(a>=l[l.length-n.ENTRIES])s==G.setup?(h.mix=h.data.mix+(l[l.length+n.PREV_MIX]-h.data.mix)*i,h.softness=h.data.softness+(l[l.length+n.PREV_SOFTNESS]-h.data.softness)*i,o==Z.mixOut?(h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,h.stretch=h.data.stretch):(h.bendDirection=l[l.length+n.PREV_BEND_DIRECTION],h.compress=0!=l[l.length+n.PREV_COMPRESS],h.stretch=0!=l[l.length+n.PREV_STRETCH])):(h.mix+=(l[l.length+n.PREV_MIX]-h.mix)*i,h.softness+=(l[l.length+n.PREV_SOFTNESS]-h.softness)*i,o==Z.mixIn&&(h.bendDirection=l[l.length+n.PREV_BEND_DIRECTION],h.compress=0!=l[l.length+n.PREV_COMPRESS],h.stretch=0!=l[l.length+n.PREV_STRETCH]));else{var u=z.binarySearch(l,a,n.ENTRIES),c=l[u+n.PREV_MIX],d=l[u+n.PREV_SOFTNESS],f=l[u],v=this.getCurvePercent(u/n.ENTRIES-1,1-(a-f)/(l[u+n.PREV_TIME]-f));s==G.setup?(h.mix=h.data.mix+(c+(l[u+n.MIX]-c)*v-h.data.mix)*i,h.softness=h.data.softness+(d+(l[u+n.SOFTNESS]-d)*v-h.data.softness)*i,o==Z.mixOut?(h.bendDirection=h.data.bendDirection,h.compress=h.data.compress,h.stretch=h.data.stretch):(h.bendDirection=l[u+n.PREV_BEND_DIRECTION],h.compress=0!=l[u+n.PREV_COMPRESS],h.stretch=0!=l[u+n.PREV_STRETCH])):(h.mix+=(c+(l[u+n.MIX]-c)*v-h.mix)*i,h.softness+=(d+(l[u+n.SOFTNESS]-d)*v-h.softness)*i,o==Z.mixIn&&(h.bendDirection=l[u+n.PREV_BEND_DIRECTION],h.compress=0!=l[u+n.PREV_COMPRESS],h.stretch=0!=l[u+n.PREV_STRETCH]))}}}]),n}();ht.ENTRIES=6,ht.PREV_TIME=-6,ht.PREV_MIX=-5,ht.PREV_SOFTNESS=-4,ht.PREV_BEND_DIRECTION=-3,ht.PREV_COMPRESS=-2,ht.PREV_STRETCH=-1,ht.MIX=1,ht.SOFTNESS=2,ht.BEND_DIRECTION=3,ht.COMPRESS=4,ht.STRETCH=5;var ut=function(t){s(n,J);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).transformConstraintIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.transformConstraint<<24)+this.transformConstraintIndex}},{key:"setFrame",value:function(t,e,a,r,i,s){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.ROTATE]=a,this.frames[t+n.TRANSLATE]=r,this.frames[t+n.SCALE]=i,this.frames[t+n.SHEAR]=s}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.transformConstraints[this.transformConstraintIndex];if(h.active)if(a<l[0]){var u=h.data;switch(s){case G.setup:return h.rotateMix=u.rotateMix,h.translateMix=u.translateMix,h.scaleMix=u.scaleMix,void(h.shearMix=u.shearMix);case G.first:h.rotateMix+=(u.rotateMix-h.rotateMix)*i,h.translateMix+=(u.translateMix-h.translateMix)*i,h.scaleMix+=(u.scaleMix-h.scaleMix)*i,h.shearMix+=(u.shearMix-h.shearMix)*i}}else{var c=0,d=0,f=0,v=0;if(a>=l[l.length-n.ENTRIES]){var g=l.length;c=l[g+n.PREV_ROTATE],d=l[g+n.PREV_TRANSLATE],f=l[g+n.PREV_SCALE],v=l[g+n.PREV_SHEAR]}else{var m=z.binarySearch(l,a,n.ENTRIES);c=l[m+n.PREV_ROTATE],d=l[m+n.PREV_TRANSLATE],f=l[m+n.PREV_SCALE],v=l[m+n.PREV_SHEAR];var p=l[m],y=this.getCurvePercent(m/n.ENTRIES-1,1-(a-p)/(l[m+n.PREV_TIME]-p));c+=(l[m+n.ROTATE]-c)*y,d+=(l[m+n.TRANSLATE]-d)*y,f+=(l[m+n.SCALE]-f)*y,v+=(l[m+n.SHEAR]-v)*y}if(s==G.setup){var w=h.data;h.rotateMix=w.rotateMix+(c-w.rotateMix)*i,h.translateMix=w.translateMix+(d-w.translateMix)*i,h.scaleMix=w.scaleMix+(f-w.scaleMix)*i,h.shearMix=w.shearMix+(v-w.shearMix)*i}else h.rotateMix+=(c-h.rotateMix)*i,h.translateMix+=(d-h.translateMix)*i,h.scaleMix+=(f-h.scaleMix)*i,h.shearMix+=(v-h.shearMix)*i}}}]),n}();ut.ENTRIES=5,ut.PREV_TIME=-5,ut.PREV_ROTATE=-4,ut.PREV_TRANSLATE=-3,ut.PREV_SCALE=-2,ut.PREV_SHEAR=-1,ut.ROTATE=1,ut.TRANSLATE=2,ut.SCALE=3,ut.SHEAR=4;var ct=function(t){s(n,J);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).pathConstraintIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.pathConstraintPosition<<24)+this.pathConstraintIndex}},{key:"setFrame",value:function(t,e,a){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.VALUE]=a}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return void(h.position=h.data.position);case G.first:h.position+=(h.data.position-h.position)*i}else{var u=0;if(a>=l[l.length-n.ENTRIES])u=l[l.length+n.PREV_VALUE];else{var c=z.binarySearch(l,a,n.ENTRIES);u=l[c+n.PREV_VALUE];var d=l[c],f=this.getCurvePercent(c/n.ENTRIES-1,1-(a-d)/(l[c+n.PREV_TIME]-d));u+=(l[c+n.VALUE]-u)*f}s==G.setup?h.position=h.data.position+(u-h.data.position)*i:h.position+=(u-h.position)*i}}}]),n}();ct.ENTRIES=2,ct.PREV_TIME=-2,ct.PREV_VALUE=-1,ct.VALUE=1;var dt=function(t){s(n,ct);var e=u(n);function n(t){return a(this,n),e.call(this,t)}return r(n,[{key:"getPropertyId",value:function(){return(Q.pathConstraintSpacing<<24)+this.pathConstraintIndex}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return void(h.spacing=h.data.spacing);case G.first:h.spacing+=(h.data.spacing-h.spacing)*i}else{var u=0;if(a>=l[l.length-n.ENTRIES])u=l[l.length+n.PREV_VALUE];else{var c=z.binarySearch(l,a,n.ENTRIES);u=l[c+n.PREV_VALUE];var d=l[c],f=this.getCurvePercent(c/n.ENTRIES-1,1-(a-d)/(l[c+n.PREV_TIME]-d));u+=(l[c+n.VALUE]-u)*f}s==G.setup?h.spacing=h.data.spacing+(u-h.data.spacing)*i:h.spacing+=(u-h.spacing)*i}}}]),n}(),ft=function(t){s(n,J);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).pathConstraintIndex=void 0,r.frames=void 0,r.frames=p.newFloatArray(t*n.ENTRIES),r}return r(n,[{key:"getPropertyId",value:function(){return(Q.pathConstraintMix<<24)+this.pathConstraintIndex}},{key:"setFrame",value:function(t,e,a,r){t*=n.ENTRIES,this.frames[t]=e,this.frames[t+n.ROTATE]=a,this.frames[t+n.TRANSLATE]=r}},{key:"apply",value:function(t,e,a,r,i,s,o){var l=this.frames,h=t.pathConstraints[this.pathConstraintIndex];if(h.active)if(a<l[0])switch(s){case G.setup:return h.rotateMix=h.data.rotateMix,void(h.translateMix=h.data.translateMix);case G.first:h.rotateMix+=(h.data.rotateMix-h.rotateMix)*i,h.translateMix+=(h.data.translateMix-h.translateMix)*i}else{var u=0,c=0;if(a>=l[l.length-n.ENTRIES])u=l[l.length+n.PREV_ROTATE],c=l[l.length+n.PREV_TRANSLATE];else{var d=z.binarySearch(l,a,n.ENTRIES);u=l[d+n.PREV_ROTATE],c=l[d+n.PREV_TRANSLATE];var f=l[d],v=this.getCurvePercent(d/n.ENTRIES-1,1-(a-f)/(l[d+n.PREV_TIME]-f));u+=(l[d+n.ROTATE]-u)*v,c+=(l[d+n.TRANSLATE]-c)*v}s==G.setup?(h.rotateMix=h.data.rotateMix+(u-h.data.rotateMix)*i,h.translateMix=h.data.translateMix+(c-h.data.translateMix)*i):(h.rotateMix+=(u-h.rotateMix)*i,h.translateMix+=(c-h.translateMix)*i)}}}]),n}();ft.ENTRIES=3,ft.PREV_TIME=-3,ft.PREV_ROTATE=-2,ft.PREV_TRANSLATE=-1,ft.ROTATE=1,ft.TRANSLATE=2;var vt=function(){function t(e){a(this,t),this.data=void 0,this.tracks=new Array,this.timeScale=1,this.unkeyedState=0,this.events=new Array,this.listeners=new Array,this.queue=new St(this),this.propertyIDs=new v,this.animationsChanged=!1,this.trackEntryPool=new y((function(){return new Mt})),this.data=e}return r(t,[{key:"update",value:function(t){t*=this.timeScale;for(var e=this.tracks,a=0,n=e.length;a<n;a++){var r=e[a];if(null!=r){r.animationLast=r.nextAnimationLast,r.trackLast=r.nextTrackLast;var i=t*r.timeScale;if(r.delay>0){if(r.delay-=i,r.delay>0)continue;i=-r.delay,r.delay=0}var s=r.next;if(null!=s){var o=r.trackLast-s.delay;if(o>=0){for(s.delay=0,s.trackTime+=0==r.timeScale?0:(o/r.timeScale+t)*s.timeScale,r.trackTime+=i,this.setCurrent(a,s,!0);null!=s.mixingFrom;)s.mixTime+=t,s=s.mixingFrom;continue}}else if(r.trackLast>=r.trackEnd&&null==r.mixingFrom){e[a]=null,this.queue.end(r),this.disposeNext(r);continue}if(null!=r.mixingFrom&&this.updateMixingFrom(r,t)){var l=r.mixingFrom;for(r.mixingFrom=null,null!=l&&(l.mixingTo=null);null!=l;)this.queue.end(l),l=l.mixingFrom}r.trackTime+=i}}this.queue.drain()}},{key:"updateMixingFrom",value:function(t,e){var a=t.mixingFrom;if(null==a)return!0;var n=this.updateMixingFrom(a,e);return a.animationLast=a.nextAnimationLast,a.trackLast=a.nextTrackLast,t.mixTime>0&&t.mixTime>=t.mixDuration?(0!=a.totalAlpha&&0!=t.mixDuration||(t.mixingFrom=a.mixingFrom,null!=a.mixingFrom&&(a.mixingFrom.mixingTo=t),t.interruptAlpha=a.interruptAlpha,this.queue.end(a)),n):(a.trackTime+=e*a.timeScale,t.mixTime+=e,!1)}},{key:"apply",value:function(e){if(null==e)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();for(var a=this.events,n=this.tracks,r=!1,i=0,s=n.length;i<s;i++){var o=n[i];if(!(null==o||o.delay>0)){r=!0;var l=0==i?G.first:o.mixBlend,h=o.alpha;null!=o.mixingFrom?h*=this.applyMixingFrom(o,e,l):o.trackTime>=o.trackEnd&&null==o.next&&(h=0);var u=o.animationLast,c=o.getAnimationTime(),d=o.animation.timelines.length,f=o.animation.timelines;if(0==i&&1==h||l==G.add)for(var v=0;v<d;v++){p.webkit602BugfixHelper(h,l);var g=f[v];g instanceof rt?this.applyAttachmentTimeline(g,e,c,l,!0):g.apply(e,u,c,a,h,l,Z.mixIn)}else{var m=o.timelineMode,y=0==o.timelinesRotation.length;y&&p.setArraySize(o.timelinesRotation,d<<1,null);for(var w=o.timelinesRotation,k=0;k<d;k++){var x=f[k],E=m[k]==t.SUBSEQUENT?l:G.setup;x instanceof K?this.applyRotateTimeline(x,e,c,h,E,w,k<<1,y):x instanceof rt?this.applyAttachmentTimeline(x,e,c,l,!0):(p.webkit602BugfixHelper(h,l),x.apply(e,u,c,a,h,E,Z.mixIn))}}this.queueEvents(o,c),a.length=0,o.nextAnimationLast=c,o.nextTrackLast=o.trackTime}}for(var b=this.unkeyedState+t.SETUP,M=e.slots,S=0,T=e.slots.length;S<T;S++){var I=M[S];if(I.attachmentState==b){var R=I.data.attachmentName;I.attachment=null==R?null:e.getAttachment(I.data.index,R)}}return this.unkeyedState+=2,this.queue.drain(),r}},{key:"applyMixingFrom",value:function(e,a,n){var r=e.mixingFrom;null!=r.mixingFrom&&this.applyMixingFrom(r,a,n);var i=0;0==e.mixDuration?(i=1,n==G.first&&(n=G.setup)):((i=e.mixTime/e.mixDuration)>1&&(i=1),n!=G.first&&(n=r.mixBlend));var s=i<r.eventThreshold?this.events:null,o=i<r.attachmentThreshold,l=i<r.drawOrderThreshold,h=r.animationLast,u=r.getAnimationTime(),c=r.animation.timelines.length,d=r.animation.timelines,f=r.alpha*e.interruptAlpha,v=f*(1-i);if(n==G.add)for(var g=0;g<c;g++)d[g].apply(a,h,u,s,v,n,Z.mixOut);else{var m=r.timelineMode,y=r.timelineHoldMix,w=0==r.timelinesRotation.length;w&&p.setArraySize(r.timelinesRotation,c<<1,null);var k=r.timelinesRotation;r.totalAlpha=0;for(var x=0;x<c;x++){var E=d[x],b=Z.mixOut,M=void 0,S=0;switch(m[x]){case t.SUBSEQUENT:if(!l&&E instanceof lt)continue;M=n,S=v;break;case t.FIRST:M=G.setup,S=v;break;case t.HOLD_SUBSEQUENT:M=n,S=f;break;case t.HOLD_FIRST:M=G.setup,S=f;break;default:M=G.setup;var T=y[x];S=f*Math.max(0,1-T.mixTime/T.mixDuration)}r.totalAlpha+=S,E instanceof K?this.applyRotateTimeline(E,a,u,S,M,k,x<<1,w):E instanceof rt?this.applyAttachmentTimeline(E,a,u,M,o):(p.webkit602BugfixHelper(S,n),l&&E instanceof lt&&M==G.setup&&(b=Z.mixIn),E.apply(a,h,u,s,S,M,b))}}return e.mixDuration>0&&this.queueEvents(r,u),this.events.length=0,r.nextAnimationLast=u,r.nextTrackLast=r.trackTime,i}},{key:"applyAttachmentTimeline",value:function(e,a,n,r,i){var s=a.slots[e.slotIndex];if(s.bone.active){var o,l=e.frames;if(n<l[0])r!=G.setup&&r!=G.first||this.setAttachment(a,s,s.data.attachmentName,i);else o=n>=l[l.length-1]?l.length-1:z.binarySearch(l,n)-1,this.setAttachment(a,s,e.attachmentNames[o],i);s.attachmentState<=this.unkeyedState&&(s.attachmentState=this.unkeyedState+t.SETUP)}}},{key:"setAttachment",value:function(e,a,n,r){a.attachment=null==n?null:e.getAttachment(a.data.index,n),r&&(a.attachmentState=this.unkeyedState+t.CURRENT)}},{key:"applyRotateTimeline",value:function(t,e,a,n,r,i,s,o){if(o&&(i[s]=0),1!=n){var l=t,h=l.frames,u=e.bones[l.boneIndex];if(u.active){var c=0,d=0;if(a<h[0])switch(r){case G.setup:u.rotation=u.data.rotation;default:return;case G.first:c=u.rotation,d=u.data.rotation}else if(c=r==G.setup?u.data.rotation:u.rotation,a>=h[h.length-K.ENTRIES])d=u.data.rotation+h[h.length+K.PREV_ROTATION];else{var f=z.binarySearch(h,a,K.ENTRIES),v=h[f+K.PREV_ROTATION],g=h[f],p=l.getCurvePercent((f>>1)-1,1-(a-g)/(h[f+K.PREV_TIME]-g));d=h[f+K.ROTATION]-v,d=v+(d-=360*(16384-(16384.499999999996-d/360|0)))*p+u.data.rotation,d-=360*(16384-(16384.499999999996-d/360|0))}var y=0,w=d-c;if(0==(w-=360*(16384-(16384.499999999996-w/360|0))))y=i[s];else{var k=0,x=0;o?(k=0,x=w):(k=i[s],x=i[s+1]);var E=w>0,b=k>=0;m.signum(x)!=m.signum(w)&&Math.abs(x)<=90&&(Math.abs(k)>180&&(k+=360*m.signum(k)),b=E),y=w+k-k%360,b!=E&&(y+=360*m.signum(k)),i[s]=y}i[s+1]=w,c+=y*n,u.rotation=c-360*(16384-(16384.499999999996-c/360|0))}}else t.apply(e,0,a,null,1,r,Z.mixIn)}},{key:"queueEvents",value:function(t,e){for(var a=t.animationStart,n=t.animationEnd,r=n-a,i=t.trackLast%r,s=this.events,o=0,l=s.length;o<l;o++){var h=s[o];if(h.time<i)break;h.time>n||this.queue.event(t,h)}for((t.loop?0==r||i>t.trackTime%r:e>=n&&t.animationLast<n)&&this.queue.complete(t);o<l;o++){s[o].time<a||this.queue.event(t,s[o])}}},{key:"clearTracks",value:function(){var t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var e=0,a=this.tracks.length;e<a;e++)this.clearTrack(e);this.tracks.length=0,this.queue.drainDisabled=t,this.queue.drain()}},{key:"clearTrack",value:function(t){if(!(t>=this.tracks.length)){var e=this.tracks[t];if(null!=e){this.queue.end(e),this.disposeNext(e);for(var a=e;;){var n=a.mixingFrom;if(null==n)break;this.queue.end(n),a.mixingFrom=null,a.mixingTo=null,a=n}this.tracks[e.trackIndex]=null,this.queue.drain()}}}},{key:"setCurrent",value:function(t,e,a){var n=this.expandToIndex(t);this.tracks[t]=e,null!=n&&(a&&this.queue.interrupt(n),e.mixingFrom=n,n.mixingTo=e,e.mixTime=0,null!=n.mixingFrom&&n.mixDuration>0&&(e.interruptAlpha*=Math.min(1,n.mixTime/n.mixDuration)),n.timelinesRotation.length=0),this.queue.start(e)}},{key:"setAnimation",value:function(t,e,a){var n=this.data.skeletonData.findAnimation(e);if(null==n)throw new Error("Animation not found: "+e);return this.setAnimationWith(t,n,a)}},{key:"setAnimationWith",value:function(t,e,a){if(null==e)throw new Error("animation cannot be null.");var n=!0,r=this.expandToIndex(t);null!=r&&(-1==r.nextTrackLast?(this.tracks[t]=r.mixingFrom,this.queue.interrupt(r),this.queue.end(r),this.disposeNext(r),r=r.mixingFrom,n=!1):this.disposeNext(r));var i=this.trackEntry(t,e,a,r);return this.setCurrent(t,i,n),this.queue.drain(),i}},{key:"addAnimation",value:function(t,e,a,n){var r=this.data.skeletonData.findAnimation(e);if(null==r)throw new Error("Animation not found: "+e);return this.addAnimationWith(t,r,a,n)}},{key:"addAnimationWith",value:function(t,e,a,n){if(null==e)throw new Error("animation cannot be null.");var r=this.expandToIndex(t);if(null!=r)for(;null!=r.next;)r=r.next;var i=this.trackEntry(t,e,a,r);if(null==r)this.setCurrent(t,i,!0),this.queue.drain();else if(r.next=i,n<=0){var s=r.animationEnd-r.animationStart;0!=s?(r.loop?n+=s*(1+(r.trackTime/s|0)):n+=Math.max(s,r.trackTime),n-=this.data.getMix(r.animation,e)):n=r.trackTime}return i.delay=n,i}},{key:"setEmptyAnimation",value:function(e,a){var n=this.setAnimationWith(e,t.emptyAnimation,!1);return n.mixDuration=a,n.trackEnd=a,n}},{key:"addEmptyAnimation",value:function(e,a,n){n<=0&&(n-=a);var r=this.addAnimationWith(e,t.emptyAnimation,!1,n);return r.mixDuration=a,r.trackEnd=a,r}},{key:"setEmptyAnimations",value:function(t){var e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var a=0,n=this.tracks.length;a<n;a++){var r=this.tracks[a];null!=r&&this.setEmptyAnimation(r.trackIndex,t)}this.queue.drainDisabled=e,this.queue.drain()}},{key:"expandToIndex",value:function(t){return t<this.tracks.length?this.tracks[t]:(p.ensureArrayCapacity(this.tracks,t+1,null),this.tracks.length=t+1,null)}},{key:"trackEntry",value:function(t,e,a,n){var r=this.trackEntryPool.obtain();return r.trackIndex=t,r.animation=e,r.loop=a,r.holdPrevious=!1,r.eventThreshold=0,r.attachmentThreshold=0,r.drawOrderThreshold=0,r.animationStart=0,r.animationEnd=e.duration,r.animationLast=-1,r.nextAnimationLast=-1,r.delay=0,r.trackTime=0,r.trackLast=-1,r.nextTrackLast=-1,r.trackEnd=Number.MAX_VALUE,r.timeScale=1,r.alpha=1,r.interruptAlpha=1,r.mixTime=0,r.mixDuration=null==n?0:this.data.getMix(n.animation,e),r.mixBlend=G.replace,r}},{key:"disposeNext",value:function(t){for(var e=t.next;null!=e;)this.queue.dispose(e),e=e.next;t.next=null}},{key:"_animationsChanged",value:function(){this.animationsChanged=!1,this.propertyIDs.clear();for(var t=0,e=this.tracks.length;t<e;t++){var a=this.tracks[t];if(null!=a){for(;null!=a.mixingFrom;)a=a.mixingFrom;do{null!=a.mixingFrom&&a.mixBlend==G.add||this.computeHold(a),a=a.mixingTo}while(null!=a)}}}},{key:"computeHold",value:function(e){var a=e.mixingTo,n=e.animation.timelines,r=e.animation.timelines.length,i=p.setArraySize(e.timelineMode,r);e.timelineHoldMix.length=0;var s=p.setArraySize(e.timelineHoldMix,r),o=this.propertyIDs;if(null!=a&&a.holdPrevious)for(var l=0;l<r;l++)i[l]=o.add(n[l].getPropertyId())?t.HOLD_FIRST:t.HOLD_SUBSEQUENT;else t:for(var h=0;h<r;h++){var u=n[h],c=u.getPropertyId();if(o.add(c))if(null==a||u instanceof rt||u instanceof lt||u instanceof ot||!a.animation.hasTimeline(c))i[h]=t.FIRST;else{for(var d=a.mixingTo;null!=d;d=d.mixingTo)if(!d.animation.hasTimeline(c)){if(e.mixDuration>0){i[h]=t.HOLD_MIX,s[h]=d;continue t}break}i[h]=t.HOLD_FIRST}else i[h]=t.SUBSEQUENT}}},{key:"getCurrent",value:function(t){return t>=this.tracks.length?null:this.tracks[t]}},{key:"addListener",value:function(t){if(null==t)throw new Error("listener cannot be null.");this.listeners.push(t)}},{key:"removeListener",value:function(t){var e=this.listeners.indexOf(t);e>=0&&this.listeners.splice(e,1)}},{key:"clearListeners",value:function(){this.listeners.length=0}},{key:"clearListenerNotifications",value:function(){this.queue.clear()}}]),t}();vt.emptyAnimation=new z("<empty>",[],0),vt.SUBSEQUENT=0,vt.FIRST=1,vt.HOLD_SUBSEQUENT=2,vt.HOLD_FIRST=3,vt.HOLD_MIX=4,vt.SETUP=1,vt.CURRENT=2;var gt,mt,pt,yt,wt,kt,xt,Et,bt,Mt=function(){function t(){a(this,t),this.animation=void 0,this.next=void 0,this.mixingFrom=void 0,this.mixingTo=void 0,this.listener=void 0,this.trackIndex=void 0,this.loop=void 0,this.holdPrevious=void 0,this.eventThreshold=void 0,this.attachmentThreshold=void 0,this.drawOrderThreshold=void 0,this.animationStart=void 0,this.animationEnd=void 0,this.animationLast=void 0,this.nextAnimationLast=void 0,this.delay=void 0,this.trackTime=void 0,this.trackLast=void 0,this.nextTrackLast=void 0,this.trackEnd=void 0,this.timeScale=void 0,this.alpha=void 0,this.mixTime=void 0,this.mixDuration=void 0,this.interruptAlpha=void 0,this.totalAlpha=void 0,this.mixBlend=G.replace,this.timelineMode=new Array,this.timelineHoldMix=new Array,this.timelinesRotation=new Array}return r(t,[{key:"reset",value:function(){this.next=null,this.mixingFrom=null,this.mixingTo=null,this.animation=null,this.listener=null,this.timelineMode.length=0,this.timelineHoldMix.length=0,this.timelinesRotation.length=0}},{key:"getAnimationTime",value:function(){if(this.loop){var t=this.animationEnd-this.animationStart;return 0==t?this.animationStart:this.trackTime%t+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)}},{key:"setAnimationLast",value:function(t){this.animationLast=t,this.nextAnimationLast=t}},{key:"isComplete",value:function(){return this.trackTime>=this.animationEnd-this.animationStart}},{key:"resetRotationDirections",value:function(){this.timelinesRotation.length=0}}]),t}(),St=function(){function t(e){a(this,t),this.objects=[],this.drainDisabled=!1,this.animState=void 0,this.animState=e}return r(t,[{key:"start",value:function(t){this.objects.push(Tt.start),this.objects.push(t),this.animState.animationsChanged=!0}},{key:"interrupt",value:function(t){this.objects.push(Tt.interrupt),this.objects.push(t)}},{key:"end",value:function(t){this.objects.push(Tt.end),this.objects.push(t),this.animState.animationsChanged=!0}},{key:"dispose",value:function(t){this.objects.push(Tt.dispose),this.objects.push(t)}},{key:"complete",value:function(t){this.objects.push(Tt.complete),this.objects.push(t)}},{key:"event",value:function(t){function e(e,a){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t,e){this.objects.push(Tt.event),this.objects.push(t),this.objects.push(e)}))},{key:"drain",value:function(){if(!this.drainDisabled){this.drainDisabled=!0;for(var t=this.objects,e=this.animState.listeners,a=0;a<t.length;a+=2){var n=t[a],r=t[a+1];switch(n){case Tt.start:null!=r.listener&&r.listener.start&&r.listener.start(r);for(var i=0;i<e.length;i++)e[i].start&&e[i].start(r);break;case Tt.interrupt:null!=r.listener&&r.listener.interrupt&&r.listener.interrupt(r);for(var s=0;s<e.length;s++)e[s].interrupt&&e[s].interrupt(r);break;case Tt.end:null!=r.listener&&r.listener.end&&r.listener.end(r);for(var o=0;o<e.length;o++)e[o].end&&e[o].end(r);case Tt.dispose:null!=r.listener&&r.listener.dispose&&r.listener.dispose(r);for(var l=0;l<e.length;l++)e[l].dispose&&e[l].dispose(r);this.animState.trackEntryPool.free(r);break;case Tt.complete:null!=r.listener&&r.listener.complete&&r.listener.complete(r);for(var h=0;h<e.length;h++)e[h].complete&&e[h].complete(r);break;case Tt.event:var u=t[2+a++];null!=r.listener&&r.listener.event&&r.listener.event(r,u);for(var c=0;c<e.length;c++)e[c].event&&e[c].event(r,u)}}this.clear(),this.drainDisabled=!1}}},{key:"clear",value:function(){this.objects.length=0}}]),t}(),Tt=function(t){return t[t.start=0]="start",t[t.interrupt=1]="interrupt",t[t.end=2]="end",t[t.dispose=3]="dispose",t[t.complete=4]="complete",t[t.event=5]="event",t}({}),It=function(){function t(e){if(a(this,t),this.skeletonData=void 0,this.animationToMixTime={},this.defaultMix=0,null==e)throw new Error("skeletonData cannot be null.");this.skeletonData=e}return r(t,[{key:"setMix",value:function(t,e,a){var n=this.skeletonData.findAnimation(t);if(null==n)throw new Error("Animation not found: "+t);var r=this.skeletonData.findAnimation(e);if(null==r)throw new Error("Animation not found: "+e);this.setMixWith(n,r,a)}},{key:"setMixWith",value:function(t,e,a){if(null==t)throw new Error("from cannot be null.");if(null==e)throw new Error("to cannot be null.");var n=t.name+"."+e.name;this.animationToMixTime[n]=a}},{key:"getMix",value:function(t,e){var a=t.name+"."+e.name,n=this.animationToMixTime[a];return void 0===n?this.defaultMix:n}}]),t}(),Rt=function(t){s(n,P);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).endSlot=void 0,r.color=new g(.2275,.2275,.8078,1),r}return r(n,[{key:"copy",value:function(){var t=new n(this.name);return this.copyTo(t),t.endSlot=this.endSlot,t.color.setFromColor(this.color),t}}]),n}(),At=function(){function t(){a(this,t),this.convexPolygons=new Array,this.convexPolygonsIndices=new Array,this.indicesArray=new Array,this.isConcaveArray=new Array,this.triangles=new Array,this.polygonPool=new y((function(){return new Array})),this.polygonIndicesPool=new y((function(){return new Array}))}return r(t,[{key:"triangulate",value:function(e){var a=e,n=e.length>>1,r=this.indicesArray;r.length=0;for(var i=0;i<n;i++)r[i]=i;var s=this.isConcaveArray;s.length=0;for(var o=0,l=n;o<l;++o)s[o]=t.isConcave(o,n,a,r);var h=this.triangles;for(h.length=0;n>3;){for(var u=n-1,c=0,d=1;;){t:if(!s[c]){for(var f=r[u]<<1,v=r[c]<<1,g=r[d]<<1,m=a[f],p=a[f+1],y=a[v],w=a[v+1],k=a[g],x=a[g+1],E=(d+1)%n;E!=u;E=(E+1)%n)if(s[E]){var b=r[E]<<1,M=a[b],S=a[b+1];if(t.positiveArea(k,x,m,p,M,S)&&t.positiveArea(m,p,y,w,M,S)&&t.positiveArea(y,w,k,x,M,S))break t}break}if(0==d){do{if(!s[c])break;c--}while(c>0);break}u=c,c=d,d=(d+1)%n}h.push(r[(n+c-1)%n]),h.push(r[c]),h.push(r[(c+1)%n]),r.splice(c,1),s.splice(c,1);var T=(--n+c-1)%n,I=c==n?0:c;s[T]=t.isConcave(T,n,a,r),s[I]=t.isConcave(I,n,a,r)}return 3==n&&(h.push(r[2]),h.push(r[0]),h.push(r[1])),h}},{key:"decompose",value:function(e,a){var n=e,r=this.convexPolygons;this.polygonPool.freeAll(r),r.length=0;var i=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(i),i.length=0;var s=this.polygonIndicesPool.obtain();s.length=0;var o=this.polygonPool.obtain();o.length=0;for(var l=-1,h=0,u=0,c=a.length;u<c;u+=3){var d=a[u]<<1,f=a[u+1]<<1,v=a[u+2]<<1,g=n[d],m=n[d+1],p=n[f],y=n[f+1],w=n[v],k=n[v+1],x=!1;if(l==d){var E=o.length-4,b=t.winding(o[E],o[E+1],o[E+2],o[E+3],w,k),M=t.winding(w,k,o[0],o[1],o[2],o[3]);b==h&&M==h&&(o.push(w),o.push(k),s.push(v),x=!0)}x||(o.length>0?(r.push(o),i.push(s)):(this.polygonPool.free(o),this.polygonIndicesPool.free(s)),(o=this.polygonPool.obtain()).length=0,o.push(g),o.push(m),o.push(p),o.push(y),o.push(w),o.push(k),(s=this.polygonIndicesPool.obtain()).length=0,s.push(d),s.push(f),s.push(v),h=t.winding(g,m,p,y,w,k),l=d)}o.length>0&&(r.push(o),i.push(s));for(var S=0,T=r.length;S<T;S++)if(0!=(s=i[S]).length)for(var I=s[0],R=s[s.length-1],A=(o=r[S]).length-4,C=o[A],V=o[A+1],P=o[A+2],_=o[A+3],F=o[0],N=o[1],O=o[2],L=o[3],B=t.winding(C,V,P,_,F,N),D=0;D<T;D++)if(D!=S){var X=i[D];if(3==X.length){var Y=X[0],U=X[1],W=X[2],q=r[D],j=q[q.length-2],H=q[q.length-1];if(Y==I&&U==R){var z=t.winding(C,V,P,_,j,H),G=t.winding(j,H,F,N,O,L);z==B&&G==B&&(q.length=0,X.length=0,o.push(j),o.push(H),s.push(W),C=P,V=_,P=j,_=H,D=0)}}}for(var Z=r.length-1;Z>=0;Z--)0==(o=r[Z]).length&&(r.splice(Z,1),this.polygonPool.free(o),s=i[Z],i.splice(Z,1),this.polygonIndicesPool.free(s));return r}}],[{key:"isConcave",value:function(t,e,a,n){var r=n[(e+t-1)%e]<<1,i=n[t]<<1,s=n[(t+1)%e]<<1;return!this.positiveArea(a[r],a[r+1],a[i],a[i+1],a[s],a[s+1])}},{key:"positiveArea",value:function(t,e,a,n,r,i){return t*(i-n)+a*(e-i)+r*(n-e)>=0}},{key:"winding",value:function(t,e,a,n,r,i){var s=a-t,o=n-e;return r*o-i*s+s*e-t*o>=0?1:-1}}]),t}(),Ct=function(){function t(){a(this,t),this.triangulator=new At,this.clippingPolygon=new Array,this.clipOutput=new Array,this.clippedVertices=new Array,this.clippedTriangles=new Array,this.scratch=new Array,this.clipAttachment=void 0,this.clippingPolygons=void 0}return r(t,[{key:"clipStart",value:function(e,a){if(null!=this.clipAttachment)return 0;this.clipAttachment=a;var n=a.worldVerticesLength,r=p.setArraySize(this.clippingPolygon,n);a.computeWorldVertices(e,0,n,r,0,2);var i=this.clippingPolygon;t.makeClockwise(i);for(var s=this.clippingPolygons=this.triangulator.decompose(i,this.triangulator.triangulate(i)),o=0,l=s.length;o<l;o++){var h=s[o];t.makeClockwise(h),h.push(h[0]),h.push(h[1])}return s.length}},{key:"clipEndWithSlot",value:function(t){null!=this.clipAttachment&&this.clipAttachment.endSlot==t.data&&this.clipEnd()}},{key:"clipEnd",value:function(){null!=this.clipAttachment&&(this.clipAttachment=null,this.clippingPolygons=null,this.clippedVertices.length=0,this.clippedTriangles.length=0,this.clippingPolygon.length=0)}},{key:"isClipping",value:function(){return null!=this.clipAttachment}},{key:"clipTriangles",value:function(t,e,a,n,r,i,s,o){var l=this.clipOutput,h=this.clippedVertices,u=this.clippedTriangles,c=this.clippingPolygons,d=this.clippingPolygons.length,f=o?12:8,v=0;h.length=0,u.length=0;t:for(var g=0;g<n;g+=3)for(var m=a[g]<<1,y=t[m],w=t[m+1],k=r[m],x=r[m+1],E=t[m=a[g+1]<<1],b=t[m+1],M=r[m],S=r[m+1],T=t[m=a[g+2]<<1],I=t[m+1],R=r[m],A=r[m+1],C=0;C<d;C++){var V=h.length;if(!this.clip(y,w,E,b,T,I,c[C],l)){var P=p.setArraySize(h,V+3*f);P[V]=y,P[V+1]=w,P[V+2]=i.r,P[V+3]=i.g,P[V+4]=i.b,P[V+5]=i.a,o?(P[V+6]=k,P[V+7]=x,P[V+8]=s.r,P[V+9]=s.g,P[V+10]=s.b,P[V+11]=s.a,P[V+12]=E,P[V+13]=b,P[V+14]=i.r,P[V+15]=i.g,P[V+16]=i.b,P[V+17]=i.a,P[V+18]=M,P[V+19]=S,P[V+20]=s.r,P[V+21]=s.g,P[V+22]=s.b,P[V+23]=s.a,P[V+24]=T,P[V+25]=I,P[V+26]=i.r,P[V+27]=i.g,P[V+28]=i.b,P[V+29]=i.a,P[V+30]=R,P[V+31]=A,P[V+32]=s.r,P[V+33]=s.g,P[V+34]=s.b,P[V+35]=s.a):(P[V+6]=k,P[V+7]=x,P[V+8]=E,P[V+9]=b,P[V+10]=i.r,P[V+11]=i.g,P[V+12]=i.b,P[V+13]=i.a,P[V+14]=M,P[V+15]=S,P[V+16]=T,P[V+17]=I,P[V+18]=i.r,P[V+19]=i.g,P[V+20]=i.b,P[V+21]=i.a,P[V+22]=R,P[V+23]=A),V=u.length;var _=p.setArraySize(u,V+3);_[V]=v,_[V+1]=v+1,_[V+2]=v+2,v+=3;continue t}var F=l.length;if(0!=F){for(var N=b-I,O=T-E,L=y-T,B=I-w,D=1/(N*L+O*(w-I)),X=F>>1,Y=this.clipOutput,U=p.setArraySize(h,V+X*f),W=0;W<F;W+=2){var q=Y[W],j=Y[W+1];U[V]=q,U[V+1]=j,U[V+2]=i.r,U[V+3]=i.g,U[V+4]=i.b,U[V+5]=i.a;var H=q-T,z=j-I,G=(N*H+O*z)*D,Z=(B*H+L*z)*D,Q=1-G-Z;U[V+6]=k*G+M*Z+R*Q,U[V+7]=x*G+S*Z+A*Q,o&&(U[V+8]=s.r,U[V+9]=s.g,U[V+10]=s.b,U[V+11]=s.a),V+=f}V=u.length;var J=p.setArraySize(u,V+3*(X-2));X--;for(var K=1;K<X;K++)J[V]=v,J[V+1]=v+K,J[V+2]=v+K+1,V+=3;v+=X+1}}}},{key:"clip",value:function(t,e,a,n,r,i,s,o){var l=o,h=!1,u=null;s.length%4>=2?(u=o,o=this.scratch):u=this.scratch,u.length=0,u.push(t),u.push(e),u.push(a),u.push(n),u.push(r),u.push(i),u.push(t),u.push(e),o.length=0;for(var c=s,d=s.length-4,f=0;;f+=2){for(var v=c[f],g=c[f+1],m=c[f+2],p=c[f+3],y=v-m,w=g-p,k=u,x=u.length-2,E=o.length,b=0;b<x;b+=2){var M=k[b],S=k[b+1],T=k[b+2],I=k[b+3],R=y*(I-p)-w*(T-m)>0;if(y*(S-p)-w*(M-m)>0){if(R){o.push(T),o.push(I);continue}var A=I-S,C=T-M,V=A*(m-v)-C*(p-g);if(Math.abs(V)>1e-6){var P=(C*(g-S)-A*(v-M))/V;o.push(v+(m-v)*P),o.push(g+(p-g)*P)}else o.push(v),o.push(g)}else if(R){var _=I-S,F=T-M,N=_*(m-v)-F*(p-g);if(Math.abs(N)>1e-6){var O=(F*(g-S)-_*(v-M))/N;o.push(v+(m-v)*O),o.push(g+(p-g)*O)}else o.push(v),o.push(g);o.push(T),o.push(I)}h=!0}if(E==o.length)return l.length=0,!0;if(o.push(o[0]),o.push(o[1]),f==d)break;var L=o;(o=u).length=0,u=L}if(l!=o){l.length=0;for(var B=0,D=o.length-2;B<D;B++)l[B]=o[B]}else l.length=l.length-2;return h}}],[{key:"makeClockwise",value:function(t){for(var e=t,a=t.length,n=e[a-2]*e[1]-e[0]*e[a-1],r=0,i=0,s=0,o=0,l=a-3;o<l;o+=2)r=e[o],i=e[o+1],s=e[o+2],n+=r*e[o+3]-s*i;if(!(n<0))for(var h=0,u=a-2,c=a>>1;h<c;h+=2){var d=e[h],f=e[h+1],v=u-h;e[h]=e[v],e[h+1]=e[v+1],e[v]=d,e[v+1]=f}}}]),t}(),Vt=function(){function e(){a(this,e),this._mesh=void 0,this._indexBuffer=void 0,this._vertexBuffer=void 0}return r(e,[{key:"mesh",get:function(){return this._mesh}},{key:"indexBuffer",get:function(){return this._indexBuffer}},{key:"vertexBuffer",get:function(){return this._vertexBuffer}},{key:"initialize",value:function(e,a){var n=this._mesh=new t.BufferMesh(e),r=[new t.VertexElement("POSITION",0,t.VertexElementFormat.Vector3,0),new t.VertexElement("COLOR_0",12,t.VertexElementFormat.Vector4,0),new t.VertexElement("TEXCOORD_0",28,t.VertexElementFormat.Vector2,0)],i=4*Pt.VERTEX_STRIDE,s=i*a,o=new t.Buffer(e,t.BufferBindFlag.VertexBuffer,s,t.BufferUsage.Dynamic),l=new t.Buffer(e,t.BufferBindFlag.IndexBuffer,2*a,t.BufferUsage.Dynamic);this._indexBuffer=l,this._vertexBuffer=o,n.setVertexBufferBinding(o,i),n.setIndexBufferBinding(l,t.IndexFormat.UInt16),n.setVertexElements(r),n.addSubMesh(0,a)}},{key:"changeBuffer",value:function(e,a){var n=4*Pt.VERTEX_STRIDE,r=n*a,i=new t.Buffer(e,t.BufferBindFlag.VertexBuffer,r,t.BufferUsage.Dynamic),s=new t.Buffer(e,t.BufferBindFlag.IndexBuffer,2*a,t.BufferUsage.Dynamic),o=this._mesh;this._indexBuffer=s,this._vertexBuffer=i,o.setVertexBufferBinding(i,n),o.setIndexBufferBinding(s,t.IndexFormat.UInt16)}}]),e}(),Pt=function(){function e(t,n){a(this,e),this._setting=void 0,this._engine=void 0,this._entity=void 0,this._clipper=new Ct,this._spineMesh=new Vt,this._vertexCount=void 0,this._vertices=void 0,this._verticesWithZ=void 0,this._indices=void 0,this._needResize=!1,this._meshRenderer=void 0,this._subMeshItems=[],this.separateSlots=[],this._engine=t,this._entity=n}return r(e,[{key:"mesh",get:function(){return this._spineMesh.mesh}},{key:"subMeshItems",get:function(){return this._subMeshItems}},{key:"initialize",value:function(a,n){if(a){var r=this._entity.getComponent(t.MeshRenderer);if(r){this._meshRenderer=r,n&&(this._setting=n);for(var i=a.defaultSkin.attachments,s=0,o=e.QUAD_TRIANGLES.length,l=0,h=i.length;l<h;l++){var u=i[l];for(var c in u){var d=u[c];if(d)if(d instanceof N)s+=o;else{if(!(d instanceof j))continue;s+=d.triangles.length}}}this._vertexCount=s,this._prepareBufferData(this._vertexCount);var f=this._spineMesh;f.initialize(this._engine,this._vertexCount),r.mesh=f.mesh}else console.warn("You need add MeshRenderer component to entity first")}}},{key:"buildMesh",value:function(a){var n=this._setting||{},r=n.useClipping,i=void 0===r||r,s=n.zSpacing,o=void 0===s?.01:s,l=0,h=0;this._subMeshItems.length=0;for(var u,c,d=this._meshRenderer,f=a.drawOrder,v=f.length,g=this._clipper,m=this._spineMesh,p=m.mesh,y=this._subMeshItems,w=this._vertices,k=0,x=0,E=0;E<v;E+=1){var b=f[E];if(b.bone.active){var M=b.getAttachment(),S=null,T=null,I=o*E,R=0,A=g.isClipping()?2:e.VERTEX_SIZE;if(M instanceof N){var C=M;S=C.color,w=this._vertices,R=4*A,C.computeWorldVertices(b.bone,w,0,A),u=e.QUAD_TRIANGLES,c=C.uvs,T=C.region.renderObject.texture}else if(M instanceof j){var V=M;S=V.color,w=this._vertices,(R=(V.worldVerticesLength>>1)*A)>w.length&&(w=this._vertices=new Float32Array(R)),V.computeWorldVertices(b,0,V.worldVerticesLength,w,0,A),u=V.triangles,c=V.uvs,T=V.region.renderObject.texture}else if(M instanceof Rt){if(i){var P=M;g.clipStart(b,P);continue}}else if(i){g.clipEndWithSlot(b);continue}if(null!=T){var _=void 0,F=void 0,O=void 0,L=void 0,B=b.bone.skeleton.color,D=b.color,X=B.a*D.a*S.a,Y=e.tempColor;if(Y.set(B.r*D.r*S.r,B.g*D.g*S.g,B.b*D.b*S.b,X),g.isClipping()){g.clipTriangles(w,R,u,u.length,c,Y,null,!1);var U=g.clippedVertices,W=g.clippedTriangles;_=U,F=U.length,O=W,L=W.length}else{for(var q=w,H=2,z=0,G=R;H<G;H+=A,z+=2)q[H]=Y.r,q[H+1]=Y.g,q[H+2]=Y.b,q[H+3]=Y.a,q[H+4]=c[z],q[H+5]=c[z+1];_=w,F=R,O=u,L=u.length}for(var Z=l/e.VERTEX_STRIDE,Q=this._verticesWithZ,J=l,K=0;K<F;)Q[J++]=_[K++],Q[J++]=_[K++],Q[J++]=I,Q[J++]=_[K++],Q[J++]=_[K++],Q[J++]=_[K++],Q[J++]=_[K++],Q[J++]=_[K++],Q[J++]=_[K++];l=J;var $=this._indices;for(J=h,K=0;K<L;J++,K++)$[J]=O[K]+Z;var tt=b.data.name;if(this.separateSlots.includes(tt)){var et=new t.SubMesh(h,L);if(y.push({name:tt,subMesh:et}),x>0){var at=new t.SubMesh(k,x);y.push({name:"default",subMesh:at}),x=0}k=h+L}else x+=L;h+=L;for(var nt=d.getMaterials(),rt=nt.length,it=0;it<rt;it+=1){var st=nt[it];st.shaderData.getTexture("renderer_SpriteTexture")||st.shaderData.setTexture("renderer_SpriteTexture",T.texture)}}g.clipEndWithSlot(b)}else g.clipEndWithSlot(b)}if(g.clipEnd(),x>0){var ot=new t.SubMesh(k,x);y.push({name:"default",subMesh:ot}),x=0}if(y.sort((function(t,e){return t.subMesh.start-e.subMesh.start})),h>0&&h!==this._vertexCount&&h>this._vertexCount)return this._vertexCount=h,this._prepareBufferData(this._vertexCount),void(this._needResize=!0);p.clearSubMesh();for(var lt=y.length,ht=0;ht<lt;ht+=1)p.addSubMesh(y[ht].subMesh);this._needResize&&(m.vertexBuffer.resize(this._verticesWithZ.byteLength),m.indexBuffer.resize(this._indices.byteLength),this._needResize=!1),m.vertexBuffer.setData(this._verticesWithZ),m.indexBuffer.setData(this._indices)}},{key:"addSeparateSlot",value:function(t){this.separateSlots.push(t)}},{key:"_prepareBufferData",value:function(t){this._vertices=new Float32Array(t*e.VERTEX_SIZE),this._verticesWithZ=new Float32Array(t*e.VERTEX_STRIDE),this._indices=new Uint16Array(t)}}]),e}();Pt.QUAD_TRIANGLES=[0,1,2,2,3,0],Pt.VERTEX_SIZE=8,Pt.VERTEX_STRIDE=9,Pt.tempColor=new g;var _t=(gt=function(n){s(l,t.Script);var o=u(l);function l(t){var e;return a(this,l),d(e=o.call(this,t),"_skeletonData",mt,h(e)),d(e,"_skeleton",pt,h(e)),d(e,"_state",yt,h(e)),d(e,"_tempOffset",wt,h(e)),d(e,"_tempSize",kt,h(e)),d(e,"_tempArray",xt,h(e)),d(e,"_meshGenerator",Et,h(e)),d(e,"setting",bt,h(e)),e.autoUpdate=!0,e.autoUpdateBounds=!1,e._meshGenerator=new Pt(e.engine,t),e}return r(l,[{key:"skeletonData",get:function(){return this._skeletonData}},{key:"skeleton",get:function(){return this._skeleton}},{key:"state",get:function(){return this._state}},{key:"mesh",get:function(){return this._meshGenerator.mesh}},{key:"scale",set:function(t){this._skeleton&&(this._skeleton.scaleX=t,this._skeleton.scaleY=t)}},{key:"setSkeletonData",value:function(t,e){t||console.error("SkeletonData is undefined"),this.setting=e,this._skeletonData=t,this._skeleton=new H(t);var a=new It(t);this._state=new vt(a),this._meshGenerator.initialize(t,this.setting)}},{key:"addSeparateSlot",value:function(e){this.skeleton||console.error("Skeleton not found!");var a=this.entity.getComponent(t.MeshRenderer);if(a||console.warn("You need add MeshRenderer component to entity first"),this.skeleton.findSlot(e)){this._meshGenerator.addSeparateSlot(e);var n=this.engine._spriteDefaultMaterial.clone(),r=this.engine._spriteDefaultMaterial.clone(),i=a.materialCount;a.setMaterial(i,n),a.setMaterial(i+1,r)}else console.warn("Slot: ".concat(e," not find."))}},{key:"hackSeparateSlotTexture",value:function(e,a){this._meshGenerator.buildMesh(this._skeleton);var n=this._meshGenerator,r=n.separateSlots,i=n.subMeshItems;if(0!==r.length)if(r.includes(e)){var s=this.entity.getComponent(t.MeshRenderer),o=i.findIndex((function(t){return t.name===e}));s.getMaterial(o).shaderData.setTexture("renderer_SpriteTexture",a)}else console.warn("Slot ".concat(e," is not separated. You should use addSeparateSlot to separate it"));else console.warn("You need add separate slot")}},{key:"onUpdate",value:function(t){this.autoUpdate&&this.updateState(t)}},{key:"updateState",value:function(t){if(this._skeleton&&this.state){var e=this._state,a=this._skeleton;e.update(t),e.apply(a),a.updateWorldTransform(),this.updateGeometry()}}},{key:"updateGeometry",value:function(){this._skeleton&&(this._meshGenerator.buildMesh(this._skeleton),this.autoUpdateBounds&&this.updateBounds())}},{key:"updateBounds",value:function(){var e,a=this.entity.getComponent(t.MeshRenderer).bounds,n=this._tempOffset,r=this._tempSize,i=this._tempArray,s=(null===(e=this.setting)||void 0===e?void 0:e.zSpacing)||.01,o=this._skeleton;o.getBounds(n,r,i);var l=o.drawOrder;a.min.set(n.x,n.y,0),a.max.set(n.x+r.x,n.y+r.y,l.length*s)}},{key:"_cloneTo",value:function(t){t.setSkeletonData(this.skeletonData);var a=function(t){for(var a=1;a<arguments.length;a++){var n=null!=arguments[a]?arguments[a]:{};a%2?e(Object(n),!0).forEach((function(e){i(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):e(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}({},this.setting);t.setting=a}},{key:"_disposeCurrentSkeleton",value:function(){this._skeletonData=null,this._skeleton=null,this._state=null}},{key:"onDestroy",value:function(){this._disposeCurrentSkeleton(),this._meshGenerator=null,this.setting=null}}]),l}(),mt=f(gt.prototype,"_skeletonData",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),pt=f(gt.prototype,"_skeleton",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),yt=f(gt.prototype,"_state",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),wt=f(gt.prototype,"_tempOffset",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new w}}),kt=f(gt.prototype,"_tempSize",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new w}}),xt=f(gt.prototype,"_tempArray",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[0,0]}}),Et=f(gt.prototype,"_meshGenerator",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),bt=f(gt.prototype,"setting",[t.ignoreClone],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),gt),Ft=function(){function e(t,n){a(this,e),this.pathPrefix=void 0,this.textureLoader=void 0,this.assets={},this.errors={},this.toLoad=0,this.loaded=0,this.rawDataUris={},this.onLoadComplete=void 0,this.pathPrefix=t||"",this.textureLoader=n}return r(e,[{key:"downloadText",value:function(e,a,n){t.request(e).then((function(t){a(t)})).catch((function(t){n(t)}))}},{key:"downloadBinary",value:function(t,e,a){var n=new XMLHttpRequest;this.rawDataUris[t]&&(t=this.rawDataUris[t]),n.open("GET",t,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status?e(new Uint8Array(n.response)):a(n.status,n.responseText)},n.onerror=function(){a(n.status,n.responseText)},n.send()}},{key:"setRawDataURI",value:function(t,e){this.rawDataUris[this.pathPrefix+t]=e}},{key:"loadBinary",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;t=this.pathPrefix+t,this.toLoad++,this.downloadBinary(t,(function(n){e.assets[t]=n,a&&a(t,n),e.onLoad(),e.loaded++}),(function(a,r){e.errors[t]="Couldn't load binary ".concat(t,": status ").concat(status,", ").concat(r),n&&n(t,"Couldn't load binary ".concat(t,": status ").concat(status,", ").concat(r)),e.onLoad(),e.loaded++}))}},{key:"loadText",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t=this.pathPrefix+t,this.toLoad++,this.downloadText(t,(function(n){e.assets[t]=n,a&&a(t,n),e.onLoad(),e.loaded++}),(function(a){e.errors[t]="Couldn't load text ".concat(t,": ").concat(JSON.stringify(a)),a&&a(t,"Couldn't load text ".concat(t,": ").concat(JSON.stringify(a))),e.onLoad(),e.loaded++}))}},{key:"loadImage",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t=this.pathPrefix+t;this.toLoad++;var i=new Image;i.crossOrigin="anonymous",i.onload=function(n){e.assets[r]=i,e.onLoad(),e.loaded++,a&&a(t,i)},i.onerror=function(a){e.errors[t]="Couldn't load image ".concat(t),e.onLoad(),e.loaded++,n&&n(t,"Couldn't load image ".concat(t))},this.rawDataUris[t]&&(t=this.rawDataUris[t]),i.src=t}},{key:"loadTexture",value:function(e){var a=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=e=this.pathPrefix+e;this.toLoad++,this.rawDataUris[e]&&(e=this.rawDataUris[e]),t.request(e).then((function(t){var r=a.textureLoader(t);a.assets[i]=r,a.onLoad(),a.loaded++,n&&n(e,r)})).catch((function(t){r(e,t)}))}},{key:"loadTextureAtlas",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=t.lastIndexOf("/")>=0?t.substring(0,t.lastIndexOf("/")):"";t=this.pathPrefix+t,this.toLoad++,this.downloadText(t,(function(i){var s={count:0},o=new Array;try{new Y(i,(function(t){o.push(""==r?t:r+"/"+t);var e=document.createElement("img");return e.width=16,e.height=16,new X(e)}))}catch(a){var l=a;return e.errors[t]="Couldn't load texture atlas ".concat(t,": ").concat(l.message),n&&n(t,"Couldn't load texture atlas ".concat(t,": ").concat(l.message)),e.onLoad(),void e.loaded++}for(var h=function(){var l=c[u],h=!1;e.loadTexture(l,(function(l,u){if(s.count++,s.count==o.length)if(h)e.errors[t]="Couldn't load texture atlas page ".concat(l,"} of atlas ").concat(t),n&&n(t,"Couldn't load texture atlas page ".concat(l," of atlas ").concat(t)),e.onLoad(),e.loaded++;else try{var c=new Y(i,(function(t){return e.get(""==r?t:r+"/"+t)}));e.assets[t]=c,a&&a(t,c),e.onLoad(),e.loaded++}catch(a){var d=a;e.errors[t]="Couldn't load texture atlas ".concat(t,": ").concat(d.message),n&&n(t,"Couldn't load texture atlas ".concat(t,": ").concat(d.message)),e.onLoad(),e.loaded++}}),(function(a,r){h=!0,s.count++,s.count==o.length&&(e.errors[t]="Couldn't load texture atlas page ".concat(a,"} of atlas ").concat(t),n&&n(t,"Couldn't load texture atlas page ".concat(a," of atlas ").concat(t)),e.onLoad(),e.loaded++)}))},u=0,c=o;u<c.length;u++)h()}),(function(a){e.errors[t]="Couldn't load texture atlas ".concat(t,": ").concat(JSON.stringify(a)),a&&a(t,"Couldn't load texture atlas ".concat(t,": ").concat(JSON.stringify(a))),e.onLoad(),e.loaded++}))}},{key:"get",value:function(t){return t=this.pathPrefix+t,this.assets[t]}},{key:"remove",value:function(t){t=this.pathPrefix+t;var e=this.assets[t];e.dispose&&e.dispose(),this.assets[t]=null}},{key:"removeAll",value:function(){for(var t in this.assets){var e=this.assets[t];e.dispose&&e.dispose()}this.assets={}}},{key:"isLoadingComplete",value:function(){return 0==this.toLoad}},{key:"onLoad",value:function(){this.toLoad--,0===this.toLoad&&this.onLoadComplete()}},{key:"getToLoad",value:function(){return this.toLoad}},{key:"getLoaded",value:function(){return this.loaded}},{key:"dispose",value:function(){this.removeAll()}},{key:"hasErrors",value:function(){return Object.keys(this.errors).length>0}},{key:"getErrors",value:function(){return this.errors}}]),e}(),Nt=function(t){s(n,P);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).color=new g(1,1,1,1),r}return r(n,[{key:"copy",value:function(){var t=new n(this.name);return this.copyTo(t),t.color.setFromColor(this.color),t}}]),n}(),Ot=function(t){s(n,P);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t)).x=void 0,r.y=void 0,r.rotation=void 0,r.color=new g(.38,.94,0,1),r.name=t,r}return r(n,[{key:"computeWorldPosition",value:function(t,e){return e.x=this.x*t.a+this.y*t.b+t.worldX,e.y=this.x*t.c+this.y*t.d+t.worldY,e}},{key:"computeWorldRotation",value:function(t){var e=m.cosDeg(this.rotation),a=m.sinDeg(this.rotation),n=e*t.a+a*t.b,r=e*t.c+a*t.d;return Math.atan2(r,n)*m.radDeg}},{key:"copy",value:function(){var t=new n(this.name);return t.x=this.x,t.y=this.y,t.rotation=this.rotation,t.color.setFromColor(this.color),t}}]),n}(),Lt=function(){function t(e){a(this,t),this.atlas=void 0,this.atlas=e}return r(t,[{key:"newRegionAttachment",value:function(t,e,a){var n=this.atlas.findRegion(a);if(null==n)throw new Error("Region not found in atlas: "+a+" (region attachment: "+e+")");n.renderObject=n;var r=new N(e);return r.setRegion(n),r}},{key:"newMeshAttachment",value:function(t,e,a){var n=this.atlas.findRegion(a);if(null==n)throw new Error("Region not found in atlas: "+a+" (mesh attachment: "+e+")");n.renderObject=n;var r=new j(e);return r.region=n,r}},{key:"newBoundingBoxAttachment",value:function(t,e){return new Nt(e)}},{key:"newPathAttachment",value:function(t,e){return new _(e)}},{key:"newPointAttachment",value:function(t,e){return new Ot(e)}},{key:"newClippingAttachment",value:function(t,e){return new Rt(e)}}]),t}(),Bt=function(){function t(){a(this,t),this.name=void 0,this.bones=new Array,this.slots=new Array,this.skins=new Array,this.defaultSkin=void 0,this.events=new Array,this.animations=new Array,this.ikConstraints=new Array,this.transformConstraints=new Array,this.pathConstraints=new Array,this.x=void 0,this.y=void 0,this.width=void 0,this.height=void 0,this.version=void 0,this.hash=void 0,this.fps=0,this.imagesPath=void 0,this.audioPath=void 0}return r(t,[{key:"findBone",value:function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findBoneIndex",value:function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,a=0,n=e.length;a<n;a++)if(e[a].name==t)return a;return-1}},{key:"findSlot",value:function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findSlotIndex",value:function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,a=0,n=e.length;a<n;a++)if(e[a].name==t)return a;return-1}},{key:"findSkin",value:function(t){if(null==t)throw new Error("skinName cannot be null.");for(var e=this.skins,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findEvent",value:function(t){if(null==t)throw new Error("eventDataName cannot be null.");for(var e=this.events,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findAnimation",value:function(t){if(null==t)throw new Error("animationName cannot be null.");for(var e=this.animations,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findIkConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findTransformConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findPathConstraint",value:function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,a=0,n=e.length;a<n;a++){var r=e[a];if(r.name==t)return r}return null}},{key:"findPathConstraintIndex",value:function(t){if(null==t)throw new Error("pathConstraintName cannot be null.");for(var e=this.pathConstraints,a=0,n=e.length;a<n;a++)if(e[a].name==t)return a;return-1}}]),t}(),Dt=r((function t(e,n,r){if(a(this,t),this.index=void 0,this.name=void 0,this.boneData=void 0,this.color=new g(1,1,1,1),this.darkColor=void 0,this.attachmentName=void 0,this.blendMode=void 0,e<0)throw new Error("index must be >= 0.");if(null==n)throw new Error("name cannot be null.");if(null==r)throw new Error("boneData cannot be null.");this.index=e,this.name=n,this.boneData=r})),Xt=function(t){s(n,T);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t,0,!1)).bones=new Array,r.target=void 0,r.bendDirection=1,r.compress=!1,r.stretch=!1,r.uniform=!1,r.mix=1,r.softness=0,r}return r(n)}(),Yt=function(t){s(n,T);var e=u(n);function n(t){var r;return a(this,n),(r=e.call(this,t,0,!1)).bones=new Array,r.target=void 0,r.rotateMix=0,r.translateMix=0,r.scaleMix=0,r.shearMix=0,r.offsetRotation=0,r.offsetX=0,r.offsetY=0,r.offsetScaleX=0,r.offsetScaleY=0,r.offsetShearY=0,r.relative=!1,r.local=!1,r}return r(n)}(),Ut=r((function t(e,n,r){a(this,t),this.slotIndex=e,this.name=n,this.attachment=r})),Wt=function(){function t(e){if(a(this,t),this.name=void 0,this.attachments=new Array,this.bones=Array(),this.constraints=new Array,null==e)throw new Error("name cannot be null.");this.name=e}return r(t,[{key:"setAttachment",value:function(t,e,a){if(null==a)throw new Error("attachment cannot be null.");var n=this.attachments;t>=n.length&&(n.length=t+1),n[t]||(n[t]={}),n[t][e]=a}},{key:"addSkin",value:function(t){for(var e=0;e<t.bones.length;e++){for(var a=t.bones[e],n=!1,r=0;r<this.bones.length;r++)if(this.bones[r]==a){n=!0;break}n||this.bones.push(a)}for(var i=0;i<t.constraints.length;i++){for(var s=t.constraints[i],o=!1,l=0;l<this.constraints.length;l++)if(this.constraints[l]==s){o=!0;break}o||this.constraints.push(s)}for(var h=t.getAttachments(),u=0;u<h.length;u++){var c=h[u];this.setAttachment(c.slotIndex,c.name,c.attachment)}}},{key:"copySkin",value:function(t){for(var e=0;e<t.bones.length;e++){for(var a=t.bones[e],n=!1,r=0;r<this.bones.length;r++)if(this.bones[r]==a){n=!0;break}n||this.bones.push(a)}for(var i=0;i<t.constraints.length;i++){for(var s=t.constraints[i],o=!1,l=0;l<this.constraints.length;l++)if(this.constraints[l]==s){o=!0;break}o||this.constraints.push(s)}for(var h=t.getAttachments(),u=0;u<h.length;u++){var c=h[u];null!=c.attachment&&(c.attachment instanceof j?(c.attachment=c.attachment.newLinkedMesh(),this.setAttachment(c.slotIndex,c.name,c.attachment)):(c.attachment=c.attachment.copy(),this.setAttachment(c.slotIndex,c.name,c.attachment)))}}},{key:"getAttachment",value:function(t,e){var a=this.attachments[t];return a?a[e]:null}},{key:"removeAttachment",value:function(t,e){var a=this.attachments[t];a&&(a[e]=null)}},{key:"getAttachments",value:function(){for(var t=new Array,e=0;e<this.attachments.length;e++){var a=this.attachments[e];if(a)for(var n in a){var r=a[n];r&&t.push(new Ut(e,n,r))}}return t}},{key:"getAttachmentsForSlot",value:function(t,e){var a=this.attachments[t];if(a)for(var n in a){var r=a[n];r&&e.push(new Ut(t,n,r))}}},{key:"clear",value:function(){this.attachments.length=0,this.bones.length=0,this.constraints.length=0}},{key:"attachAll",value:function(t,e){for(var a=0,n=0;n<t.slots.length;n++){var r=t.slots[n],i=r.getAttachment();if(i&&a<e.attachments.length){var s=e.attachments[a];for(var o in s){if(i==s[o]){var l=this.getAttachment(a,o);null!=l&&r.setAttachment(l);break}}}a++}}}]),t}(),qt=r((function t(e){a(this,t),this.name=void 0,this.intValue=void 0,this.floatValue=void 0,this.stringValue=void 0,this.audioPath=void 0,this.volume=void 0,this.balance=void 0,this.name=e})),jt=function(t){return t[t.Normal=0]="Normal",t[t.Additive=1]="Additive",t[t.Multiply=2]="Multiply",t[t.Screen=3]="Screen",t}({}),Ht=r((function t(e,n){if(a(this,t),this.data=void 0,this.intValue=void 0,this.floatValue=void 0,this.stringValue=void 0,this.time=void 0,this.volume=void 0,this.balance=void 0,null==n)throw new Error("data cannot be null.");this.time=e,this.data=n})),zt=function(){function t(e){a(this,t),this.attachmentLoader=void 0,this.scale=1,this.linkedMeshes=new Array,this.attachmentLoader=e}return r(t,[{key:"readSkeletonData",value:function(e){var a=this.scale,n=new Bt,r="string"==typeof e?JSON.parse(e):e,i=r.skeleton;if(null!=i){if(n.hash=i.hash,n.version=i.spine,"3.8.75"==n.version)throw new Error("Unsupported skeleton data, please export with a newer version of Spine.");n.x=i.x,n.y=i.y,n.width=i.width,n.height=i.height,n.fps=i.fps,n.imagesPath=i.images}if(r.bones)for(var s=0;s<r.bones.length;s++){var o=r.bones[s],l=null,h=this.getValue(o,"parent",null);if(null!=h&&null==(l=n.findBone(h)))throw new Error("Parent bone not found: "+h);var u=new k(n.bones.length,o.name,l);u.length=this.getValue(o,"length",0)*a,u.x=this.getValue(o,"x",0)*a,u.y=this.getValue(o,"y",0)*a,u.rotation=this.getValue(o,"rotation",0),u.scaleX=this.getValue(o,"scaleX",1),u.scaleY=this.getValue(o,"scaleY",1),u.shearX=this.getValue(o,"shearX",0),u.shearY=this.getValue(o,"shearY",0),u.transformMode=t.transformModeFromString(this.getValue(o,"transform","normal")),u.skinRequired=this.getValue(o,"skin",!1),n.bones.push(u)}if(r.slots)for(var c=0;c<r.slots.length;c++){var d=r.slots[c],f=d.name,v=d.bone,m=n.findBone(v);if(null==m)throw new Error("Slot bone not found: "+v);var p=new Dt(n.slots.length,f,m),y=this.getValue(d,"color",null);null!=y&&p.color.setFromString(y);var w=this.getValue(d,"dark",null);null!=w&&(p.darkColor=new g(1,1,1,1),p.darkColor.setFromString(w)),p.attachmentName=this.getValue(d,"attachment",null),p.blendMode=t.blendModeFromString(this.getValue(d,"blend","normal")),n.slots.push(p)}if(r.ik)for(var x=0;x<r.ik.length;x++){var E=r.ik[x],b=new Xt(E.name);b.order=this.getValue(E,"order",0),b.skinRequired=this.getValue(E,"skin",!1);for(var M=0;M<E.bones.length;M++){var S=E.bones[M],T=n.findBone(S);if(null==T)throw new Error("IK bone not found: "+S);b.bones.push(T)}var C=E.target;if(b.target=n.findBone(C),null==b.target)throw new Error("IK target bone not found: "+C);b.mix=this.getValue(E,"mix",1),b.softness=this.getValue(E,"softness",0)*a,b.bendDirection=this.getValue(E,"bendPositive",!0)?1:-1,b.compress=this.getValue(E,"compress",!1),b.stretch=this.getValue(E,"stretch",!1),b.uniform=this.getValue(E,"uniform",!1),n.ikConstraints.push(b)}if(r.transform)for(var V=0;V<r.transform.length;V++){var P=r.transform[V],_=new Yt(P.name);_.order=this.getValue(P,"order",0),_.skinRequired=this.getValue(P,"skin",!1);for(var F=0;F<P.bones.length;F++){var N=P.bones[F],O=n.findBone(N);if(null==O)throw new Error("Transform constraint bone not found: "+N);_.bones.push(O)}var L=P.target;if(_.target=n.findBone(L),null==_.target)throw new Error("Transform constraint target bone not found: "+L);_.local=this.getValue(P,"local",!1),_.relative=this.getValue(P,"relative",!1),_.offsetRotation=this.getValue(P,"rotation",0),_.offsetX=this.getValue(P,"x",0)*a,_.offsetY=this.getValue(P,"y",0)*a,_.offsetScaleX=this.getValue(P,"scaleX",0),_.offsetScaleY=this.getValue(P,"scaleY",0),_.offsetShearY=this.getValue(P,"shearY",0),_.rotateMix=this.getValue(P,"rotateMix",1),_.translateMix=this.getValue(P,"translateMix",1),_.scaleMix=this.getValue(P,"scaleMix",1),_.shearMix=this.getValue(P,"shearMix",1),n.transformConstraints.push(_)}if(r.path)for(var B=0;B<r.path.length;B++){var D=r.path[B],X=new I(D.name);X.order=this.getValue(D,"order",0),X.skinRequired=this.getValue(D,"skin",!1);for(var Y=0;Y<D.bones.length;Y++){var U=D.bones[Y],W=n.findBone(U);if(null==W)throw new Error("Transform constraint bone not found: "+U);X.bones.push(W)}var q=D.target;if(X.target=n.findSlot(q),null==X.target)throw new Error("Path target slot not found: "+q);X.positionMode=t.positionModeFromString(this.getValue(D,"positionMode","percent")),X.spacingMode=t.spacingModeFromString(this.getValue(D,"spacingMode","length")),X.rotateMode=t.rotateModeFromString(this.getValue(D,"rotateMode","tangent")),X.offsetRotation=this.getValue(D,"rotation",0),X.position=this.getValue(D,"position",0),X.positionMode==R.Fixed&&(X.position*=a),X.spacing=this.getValue(D,"spacing",0),X.spacingMode!=A.Length&&X.spacingMode!=A.Fixed||(X.spacing*=a),X.rotateMix=this.getValue(D,"rotateMix",1),X.translateMix=this.getValue(D,"translateMix",1),n.pathConstraints.push(X)}if(r.skins)for(var j=0;j<r.skins.length;j++){var H=r.skins[j],z=new Wt(H.name);if(H.bones)for(var G=0;G<H.bones.length;G++){var Z=n.findBone(H.bones[G]);if(null==Z)throw new Error("Skin bone not found: "+H.bones[j]);z.bones.push(Z)}if(H.ik)for(var Q=0;Q<H.ik.length;Q++){var J=n.findIkConstraint(H.ik[Q]);if(null==J)throw new Error("Skin IK constraint not found: "+H.ik[j]);z.constraints.push(J)}if(H.transform)for(var K=0;K<H.transform.length;K++){var $=n.findTransformConstraint(H.transform[K]);if(null==$)throw new Error("Skin transform constraint not found: "+H.transform[j]);z.constraints.push($)}if(H.path)for(var tt=0;tt<H.path.length;tt++){var et=n.findPathConstraint(H.path[tt]);if(null==et)throw new Error("Skin path constraint not found: "+H.path[j]);z.constraints.push(et)}for(var at in H.attachments){var nt=n.findSlot(at);if(null==nt)throw new Error("Slot not found: "+at);var rt=H.attachments[at];for(var it in rt){var st=this.readAttachment(rt[it],z,nt.index,it,n);null!=st&&z.setAttachment(nt.index,it,st)}}n.skins.push(z),"default"==z.name&&(n.defaultSkin=z)}for(var ot=0,lt=this.linkedMeshes.length;ot<lt;ot++){var ht=this.linkedMeshes[ot],ut=null==ht.skin?n.defaultSkin:n.findSkin(ht.skin);if(null==ut)throw new Error("Skin not found: "+ht.skin);var ct=ut.getAttachment(ht.slotIndex,ht.parent);if(null==ct)throw new Error("Parent mesh not found: "+ht.parent);ht.mesh.deformAttachment=ht.inheritDeform?ct:ht.mesh,ht.mesh.setParentMesh(ct),ht.mesh.updateUVs()}if(this.linkedMeshes.length=0,r.events)for(var dt in r.events){var ft=r.events[dt],vt=new qt(dt);vt.intValue=this.getValue(ft,"int",0),vt.floatValue=this.getValue(ft,"float",0),vt.stringValue=this.getValue(ft,"string",""),vt.audioPath=this.getValue(ft,"audio",null),null!=vt.audioPath&&(vt.volume=this.getValue(ft,"volume",1),vt.balance=this.getValue(ft,"balance",0)),n.events.push(vt)}if(r.animations)for(var gt in r.animations){var mt=r.animations[gt];this.readAnimation(mt,gt,n)}return n}},{key:"readAttachment",value:function(t,e,a,n,r){var i=this.scale;switch(n=this.getValue(t,"name",n),this.getValue(t,"type","region")){case"region":var s=this.getValue(t,"path",n),o=this.attachmentLoader.newRegionAttachment(e,n,s);if(null==o)return null;o.path=s,o.x=this.getValue(t,"x",0)*i,o.y=this.getValue(t,"y",0)*i,o.scaleX=this.getValue(t,"scaleX",1),o.scaleY=this.getValue(t,"scaleY",1),o.rotation=this.getValue(t,"rotation",0),o.width=t.width*i,o.height=t.height*i;var l=this.getValue(t,"color",null);return null!=l&&o.color.setFromString(l),o.updateOffset(),o;case"boundingbox":var h=this.attachmentLoader.newBoundingBoxAttachment(e,n);if(null==h)return null;this.readVertices(t,h,t.vertexCount<<1);var u=this.getValue(t,"color",null);return null!=u&&h.color.setFromString(u),h;case"mesh":case"linkedmesh":var c=this.getValue(t,"path",n),d=this.attachmentLoader.newMeshAttachment(e,n,c);if(null==d)return null;d.path=c;var f=this.getValue(t,"color",null);null!=f&&d.color.setFromString(f),d.width=this.getValue(t,"width",0)*i,d.height=this.getValue(t,"height",0)*i;var v=this.getValue(t,"parent",null);if(null!=v)return this.linkedMeshes.push(new Gt(d,this.getValue(t,"skin",null),a,v,this.getValue(t,"deform",!0))),d;var g=t.uvs;return this.readVertices(t,d,g.length),d.triangles=t.triangles,d.regionUVs=g,d.updateUVs(),d.edges=this.getValue(t,"edges",null),d.hullLength=2*this.getValue(t,"hull",0),d;case"path":var m=this.attachmentLoader.newPathAttachment(e,n);if(null==m)return null;m.closed=this.getValue(t,"closed",!1),m.constantSpeed=this.getValue(t,"constantSpeed",!0);var y=t.vertexCount;this.readVertices(t,m,y<<1);for(var w=p.newArray(y/3,0),k=0;k<t.lengths.length;k++)w[k]=t.lengths[k]*i;m.lengths=w;var x=this.getValue(t,"color",null);return null!=x&&m.color.setFromString(x),m;case"point":var E=this.attachmentLoader.newPointAttachment(e,n);if(null==E)return null;E.x=this.getValue(t,"x",0)*i,E.y=this.getValue(t,"y",0)*i,E.rotation=this.getValue(t,"rotation",0);var b=this.getValue(t,"color",null);return null!=b&&E.color.setFromString(b),E;case"clipping":var M=this.attachmentLoader.newClippingAttachment(e,n);if(null==M)return null;var S=this.getValue(t,"end",null);if(null!=S){var T=r.findSlot(S);if(null==T)throw new Error("Clipping end slot not found: "+S);M.endSlot=T}var I=t.vertexCount;this.readVertices(t,M,I<<1);var R=this.getValue(t,"color",null);return null!=R&&M.color.setFromString(R),M}return null}},{key:"readVertices",value:function(t,e,a){var n=this.scale;e.worldVerticesLength=a;var r=t.vertices;if(a!=r.length){for(var i=new Array,s=new Array,o=0,l=r.length;o<l;){var h=r[o++];s.push(h);for(var u=o+4*h;o<u;o+=4)s.push(r[o]),i.push(r[o+1]*n),i.push(r[o+2]*n),i.push(r[o+3])}e.bones=s,e.vertices=p.toFloatArray(i)}else{var c=p.toFloatArray(r);if(1!=n)for(var d=0,f=r.length;d<f;d++)c[d]*=n;e.vertices=c}}},{key:"readAnimation",value:function(t,e,a){var n=this.scale,r=new Array,i=0;if(t.slots)for(var s in t.slots){var o=t.slots[s],l=a.findSlotIndex(s);if(-1==l)throw new Error("Slot not found: "+s);for(var h in o){var u=o[h];if("attachment"==h){var c=new rt(u.length);c.slotIndex=l;for(var d=0,f=0;f<u.length;f++){var v=u[f];c.setFrame(d++,this.getValue(v,"time",0),v.name)}r.push(c),i=Math.max(i,c.frames[c.getFrameCount()-1])}else if("color"==h){var m=new at(u.length);m.slotIndex=l;for(var y=0,w=0;w<u.length;w++){var k=u[w],x=new g;x.setFromString(k.color),m.setFrame(y,this.getValue(k,"time",0),x.r,x.g,x.b,x.a),this.readCurve(k,m,y),y++}r.push(m),i=Math.max(i,m.frames[(m.getFrameCount()-1)*at.ENTRIES])}else{if("twoColor"!=h)throw new Error("Invalid timeline type for a slot: "+h+" ("+s+")");var E=new nt(u.length);E.slotIndex=l;for(var b=0,M=0;M<u.length;M++){var S=u[M],T=new g,I=new g;T.setFromString(S.light),I.setFromString(S.dark),E.setFrame(b,this.getValue(S,"time",0),T.r,T.g,T.b,T.a,I.r,I.g,I.b),this.readCurve(S,E,b),b++}r.push(E),i=Math.max(i,E.frames[(E.getFrameCount()-1)*nt.ENTRIES])}}}if(t.bones)for(var C in t.bones){var V=t.bones[C],P=a.findBoneIndex(C);if(-1==P)throw new Error("Bone not found: "+C);for(var _ in V){var F=V[_];if("rotate"===_){var N=new K(F.length);N.boneIndex=P;for(var O=0,L=0;L<F.length;L++){var B=F[L];N.setFrame(O,this.getValue(B,"time",0),this.getValue(B,"angle",0)),this.readCurve(B,N,O),O++}r.push(N),i=Math.max(i,N.frames[(N.getFrameCount()-1)*K.ENTRIES])}else{if("translate"!==_&&"scale"!==_&&"shear"!==_)throw new Error("Invalid timeline type for a bone: "+_+" ("+C+")");var D=null,X=1,Y=0;"scale"===_?(D=new tt(F.length),Y=1):"shear"===_?D=new et(F.length):(D=new $(F.length),X=n),D.boneIndex=P;for(var U=0,W=0;W<F.length;W++){var q=F[W],j=this.getValue(q,"x",Y),H=this.getValue(q,"y",Y);D.setFrame(U,this.getValue(q,"time",0),j*X,H*X),this.readCurve(q,D,U),U++}r.push(D),i=Math.max(i,D.frames[(D.getFrameCount()-1)*$.ENTRIES])}}}if(t.ik)for(var G in t.ik){var Z=t.ik[G],Q=a.findIkConstraint(G),J=new ht(Z.length);J.ikConstraintIndex=a.ikConstraints.indexOf(Q);for(var it=0,vt=0;vt<Z.length;vt++){var gt=Z[vt];J.setFrame(it,this.getValue(gt,"time",0),this.getValue(gt,"mix",1),this.getValue(gt,"softness",0)*n,this.getValue(gt,"bendPositive",!0)?1:-1,this.getValue(gt,"compress",!1),this.getValue(gt,"stretch",!1)),this.readCurve(gt,J,it),it++}r.push(J),i=Math.max(i,J.frames[(J.getFrameCount()-1)*ht.ENTRIES])}if(t.transform)for(var mt in t.transform){var pt=t.transform[mt],yt=a.findTransformConstraint(mt),wt=new ut(pt.length);wt.transformConstraintIndex=a.transformConstraints.indexOf(yt);for(var kt=0,xt=0;xt<pt.length;xt++){var Et=pt[xt];wt.setFrame(kt,this.getValue(Et,"time",0),this.getValue(Et,"rotateMix",1),this.getValue(Et,"translateMix",1),this.getValue(Et,"scaleMix",1),this.getValue(Et,"shearMix",1)),this.readCurve(Et,wt,kt),kt++}r.push(wt),i=Math.max(i,wt.frames[(wt.getFrameCount()-1)*ut.ENTRIES])}if(t.path)for(var bt in t.path){var Mt=t.path[bt],St=a.findPathConstraintIndex(bt);if(-1==St)throw new Error("Path constraint not found: "+bt);var Tt=a.pathConstraints[St];for(var It in Mt){var Rt=Mt[It];if("position"===It||"spacing"===It){var At=null,Ct=1;"spacing"===It?(At=new dt(Rt.length),Tt.spacingMode!=A.Length&&Tt.spacingMode!=A.Fixed||(Ct=n)):(At=new ct(Rt.length),Tt.positionMode==R.Fixed&&(Ct=n)),At.pathConstraintIndex=St;for(var Vt=0,Pt=0;Pt<Rt.length;Pt++){var _t=Rt[Pt];At.setFrame(Vt,this.getValue(_t,"time",0),this.getValue(_t,It,0)*Ct),this.readCurve(_t,At,Vt),Vt++}r.push(At),i=Math.max(i,At.frames[(At.getFrameCount()-1)*ct.ENTRIES])}else if("mix"===It){var Ft=new ft(Rt.length);Ft.pathConstraintIndex=St;for(var Nt=0,Ot=0;Ot<Rt.length;Ot++){var Lt=Rt[Ot];Ft.setFrame(Nt,this.getValue(Lt,"time",0),this.getValue(Lt,"rotateMix",1),this.getValue(Lt,"translateMix",1)),this.readCurve(Lt,Ft,Nt),Nt++}r.push(Ft),i=Math.max(i,Ft.frames[(Ft.getFrameCount()-1)*ft.ENTRIES])}}}if(t.deform)for(var Bt in t.deform){var Dt=t.deform[Bt],Xt=a.findSkin(Bt);if(null==Xt)throw new Error("Skin not found: "+Bt);for(var Yt in Dt){var Ut=Dt[Yt],Wt=a.findSlotIndex(Yt);if(-1==Wt)throw new Error("Slot not found: "+Ut.name);for(var qt in Ut){var jt=Ut[qt],zt=Xt.getAttachment(Wt,qt);if(null==zt)throw new Error("Deform attachment not found: "+jt.name);var Gt=null!=zt.bones,Zt=zt.vertices,Qt=Gt?Zt.length/3*2:Zt.length,Jt=new st(jt.length);Jt.slotIndex=Wt,Jt.attachment=zt;for(var Kt=0,$t=0;$t<jt.length;$t++){var te=jt[$t],ee=void 0,ae=this.getValue(te,"vertices",null);if(null==ae)ee=Gt?p.newFloatArray(Qt):Zt;else{ee=p.newFloatArray(Qt);var ne=this.getValue(te,"offset",0);if(p.arrayCopy(ae,0,ee,ne,ae.length),1!=n)for(var re=ne,ie=re+ae.length;re<ie;re++)ee[re]*=n;if(!Gt)for(var se=0;se<Qt;se++)ee[se]+=Zt[se]}Jt.setFrame(Kt,this.getValue(te,"time",0),ee),this.readCurve(te,Jt,Kt),Kt++}r.push(Jt),i=Math.max(i,Jt.frames[Jt.getFrameCount()-1])}}}var oe=t.drawOrder;if(null==oe&&(oe=t.draworder),null!=oe){for(var le=new lt(oe.length),he=a.slots.length,ue=0,ce=0;ce<oe.length;ce++){var de=oe[ce],fe=null,ve=this.getValue(de,"offsets",null);if(null!=ve){fe=p.newArray(he,-1);for(var ge=p.newArray(he-ve.length,0),me=0,pe=0,ye=0;ye<ve.length;ye++){var we=ve[ye],ke=a.findSlotIndex(we.slot);if(-1==ke)throw new Error("Slot not found: "+we.slot);for(;me!=ke;)ge[pe++]=me++;fe[me+we.offset]=me++}for(;me<he;)ge[pe++]=me++;for(var xe=he-1;xe>=0;xe--)-1==fe[xe]&&(fe[xe]=ge[--pe])}le.setFrame(ue++,this.getValue(de,"time",0),fe)}r.push(le),i=Math.max(i,le.frames[le.getFrameCount()-1])}if(t.events){for(var Ee=new ot(t.events.length),be=0,Me=0;Me<t.events.length;Me++){var Se=t.events[Me],Te=a.findEvent(Se.name);if(null==Te)throw new Error("Event not found: "+Se.name);var Ie=new Ht(p.toSinglePrecision(this.getValue(Se,"time",0)),Te);Ie.intValue=this.getValue(Se,"int",Te.intValue),Ie.floatValue=this.getValue(Se,"float",Te.floatValue),Ie.stringValue=this.getValue(Se,"string",Te.stringValue),null!=Ie.data.audioPath&&(Ie.volume=this.getValue(Se,"volume",1),Ie.balance=this.getValue(Se,"balance",0)),Ee.setFrame(be++,Ie)}r.push(Ee),i=Math.max(i,Ee.frames[Ee.getFrameCount()-1])}if(isNaN(i))throw new Error("Error while parsing animation, duration is NaN");a.animations.push(new z(e,r,i))}},{key:"readCurve",value:function(t,e,a){if(t.hasOwnProperty("curve"))if("stepped"==t.curve)e.setStepped(a);else{var n=t.curve;e.setCurve(a,n,this.getValue(t,"c2",0),this.getValue(t,"c3",1),this.getValue(t,"c4",1))}}},{key:"getValue",value:function(t,e,a){return void 0!==t[e]?t[e]:a}}],[{key:"blendModeFromString",value:function(t){if("normal"==(t=t.toLowerCase()))return jt.Normal;if("additive"==t)return jt.Additive;if("multiply"==t)return jt.Multiply;if("screen"==t)return jt.Screen;throw new Error("Unknown blend mode: ".concat(t))}},{key:"positionModeFromString",value:function(t){if("fixed"==(t=t.toLowerCase()))return R.Fixed;if("percent"==t)return R.Percent;throw new Error("Unknown position mode: ".concat(t))}},{key:"spacingModeFromString",value:function(t){if("length"==(t=t.toLowerCase()))return A.Length;if("fixed"==t)return A.Fixed;if("percent"==t)return A.Percent;throw new Error("Unknown position mode: ".concat(t))}},{key:"rotateModeFromString",value:function(t){if("tangent"==(t=t.toLowerCase()))return C.Tangent;if("chain"==t)return C.Chain;if("chainscale"==t)return C.ChainScale;throw new Error("Unknown rotate mode: ".concat(t))}},{key:"transformModeFromString",value:function(t){if("normal"==(t=t.toLowerCase()))return x.Normal;if("onlytranslation"==t)return x.OnlyTranslation;if("norotationorreflection"==t)return x.NoRotationOrReflection;if("noscale"==t)return x.NoScale;if("noscaleorreflection"==t)return x.NoScaleOrReflection;throw new Error("Unknown transform mode: ".concat(t))}}]),t}(),Gt=r((function t(e,n,r,i,s){a(this,t),this.parent=void 0,this.skin=void 0,this.slotIndex=void 0,this.mesh=void 0,this.inheritDeform=void 0,this.mesh=e,this.skin=n,this.slotIndex=r,this.parent=i,this.inheritDeform=s})),Zt=function(t){return t[t.Region=0]="Region",t[t.BoundingBox=1]="BoundingBox",t[t.Mesh=2]="Mesh",t[t.LinkedMesh=3]="LinkedMesh",t[t.Path=4]="Path",t[t.Point=5]="Point",t[t.Clipping=6]="Clipping",t}({}),Qt=function(){function t(e){a(this,t),this.scale=1,this.attachmentLoader=void 0,this.linkedMeshes=new Array,this.attachmentLoader=e}return r(t,[{key:"readSkeletonData",value:function(e){var a=this.scale,n=new Bt;n.name="";var r=new Jt(e);if(n.hash=r.readString(),n.version=r.readString(),"3.8.75"==n.version)throw new Error("Unsupported skeleton data, please export with a newer version of Spine.");n.x=r.readFloat(),n.y=r.readFloat(),n.width=r.readFloat(),n.height=r.readFloat();var i=r.readBoolean();i&&(n.fps=r.readFloat(),n.imagesPath=r.readString(),n.audioPath=r.readString());var s=0;s=r.readInt(!0);for(var o=0;o<s;o++)r.strings.push(r.readString());s=r.readInt(!0);for(var l=0;l<s;l++){var h=r.readString(),u=0==l?null:n.bones[r.readInt(!0)],c=new k(l,h,u);c.rotation=r.readFloat(),c.x=r.readFloat()*a,c.y=r.readFloat()*a,c.scaleX=r.readFloat(),c.scaleY=r.readFloat(),c.shearX=r.readFloat(),c.shearY=r.readFloat(),c.length=r.readFloat()*a,c.transformMode=t.TransformModeValues[r.readInt(!0)],c.skinRequired=r.readBoolean(),i&&g.rgba8888ToColor(c.color,r.readInt32()),n.bones.push(c)}s=r.readInt(!0);for(var d=0;d<s;d++){var f=r.readString(),v=n.bones[r.readInt(!0)],m=new Dt(d,f,v);g.rgba8888ToColor(m.color,r.readInt32());var y=r.readInt32();-1!=y&&g.rgb888ToColor(m.darkColor=new g,y),m.attachmentName=r.readStringRef(),m.blendMode=t.BlendModeValues[r.readInt(!0)],n.slots.push(m)}s=r.readInt(!0);for(var w,x=0;x<s;x++){var E=new Xt(r.readString());E.order=r.readInt(!0),E.skinRequired=r.readBoolean(),w=r.readInt(!0);for(var b=0;b<w;b++)E.bones.push(n.bones[r.readInt(!0)]);E.target=n.bones[r.readInt(!0)],E.mix=r.readFloat(),E.softness=r.readFloat()*a,E.bendDirection=r.readByte(),E.compress=r.readBoolean(),E.stretch=r.readBoolean(),E.uniform=r.readBoolean(),n.ikConstraints.push(E)}s=r.readInt(!0);for(var M,S=0;S<s;S++){var T=new Yt(r.readString());T.order=r.readInt(!0),T.skinRequired=r.readBoolean(),M=r.readInt(!0);for(var C=0;C<M;C++)T.bones.push(n.bones[r.readInt(!0)]);T.target=n.bones[r.readInt(!0)],T.local=r.readBoolean(),T.relative=r.readBoolean(),T.offsetRotation=r.readFloat(),T.offsetX=r.readFloat()*a,T.offsetY=r.readFloat()*a,T.offsetScaleX=r.readFloat(),T.offsetScaleY=r.readFloat(),T.offsetShearY=r.readFloat(),T.rotateMix=r.readFloat(),T.translateMix=r.readFloat(),T.scaleMix=r.readFloat(),T.shearMix=r.readFloat(),n.transformConstraints.push(T)}s=r.readInt(!0);for(var V,P=0;P<s;P++){var _=new I(r.readString());_.order=r.readInt(!0),_.skinRequired=r.readBoolean(),V=r.readInt(!0);for(var F=0;F<V;F++)_.bones.push(n.bones[r.readInt(!0)]);_.target=n.slots[r.readInt(!0)],_.positionMode=t.PositionModeValues[r.readInt(!0)],_.spacingMode=t.SpacingModeValues[r.readInt(!0)],_.rotateMode=t.RotateModeValues[r.readInt(!0)],_.offsetRotation=r.readFloat(),_.position=r.readFloat(),_.positionMode==R.Fixed&&(_.position*=a),_.spacing=r.readFloat(),_.spacingMode!=A.Length&&_.spacingMode!=A.Fixed||(_.spacing*=a),_.rotateMix=r.readFloat(),_.translateMix=r.readFloat(),n.pathConstraints.push(_)}var N=this.readSkin(r,n,!0,i);null!=N&&(n.defaultSkin=N,n.skins.push(N));var O=n.skins.length;for(p.setArraySize(n.skins,s=O+r.readInt(!0));O<s;O++)n.skins[O]=this.readSkin(r,n,!1,i);s=this.linkedMeshes.length;for(var L=0;L<s;L++){var B=this.linkedMeshes[L],D=null==B.skin?n.defaultSkin:n.findSkin(B.skin);if(null==D)throw new Error("Skin not found: "+B.skin);var X=D.getAttachment(B.slotIndex,B.parent);if(null==X)throw new Error("Parent mesh not found: "+B.parent);B.mesh.deformAttachment=B.inheritDeform?X:B.mesh,B.mesh.setParentMesh(X),B.mesh.updateUVs()}this.linkedMeshes.length=0,s=r.readInt(!0);for(var Y=0;Y<s;Y++){var U=new qt(r.readStringRef());U.intValue=r.readInt(!1),U.floatValue=r.readFloat(),U.stringValue=r.readString(),U.audioPath=r.readString(),null!=U.audioPath&&(U.volume=r.readFloat(),U.balance=r.readFloat()),n.events.push(U)}s=r.readInt(!0);for(var W=0;W<s;W++)n.animations.push(this.readAnimation(r,r.readString(),n));return n}},{key:"readSkin",value:function(t,e,a,n){var r=null,i=0;if(a){if(0==(i=t.readInt(!0)))return null;r=new Wt("default")}else{(r=new Wt(t.readStringRef())).bones.length=t.readInt(!0);for(var s=0,o=r.bones.length;s<o;s++)r.bones[s]=e.bones[t.readInt(!0)];for(var l=0,h=t.readInt(!0);l<h;l++)r.constraints.push(e.ikConstraints[t.readInt(!0)]);for(var u=0,c=t.readInt(!0);u<c;u++)r.constraints.push(e.transformConstraints[t.readInt(!0)]);for(var d=0,f=t.readInt(!0);d<f;d++)r.constraints.push(e.pathConstraints[t.readInt(!0)]);i=t.readInt(!0)}for(var v=0;v<i;v++)for(var g=t.readInt(!0),m=0,p=t.readInt(!0);m<p;m++){var y=t.readStringRef(),w=this.readAttachment(t,e,r,g,y,n);null!=w&&r.setAttachment(g,y,w)}return r}},{key:"readAttachment",value:function(e,a,n,r,i,s){var o=this.scale,l=e.readStringRef();null==l&&(l=i);var h=e.readByte();switch(t.AttachmentTypeValues[h]){case Zt.Region:var u=e.readStringRef(),c=e.readFloat(),d=e.readFloat(),f=e.readFloat(),v=e.readFloat(),m=e.readFloat(),y=e.readFloat(),w=e.readFloat(),k=e.readInt32();null==u&&(u=l);var x=this.attachmentLoader.newRegionAttachment(n,l,u);return null==x?null:(x.path=u,x.x=d*o,x.y=f*o,x.scaleX=v,x.scaleY=m,x.rotation=c,x.width=y*o,x.height=w*o,g.rgba8888ToColor(x.color,k),x.updateOffset(),x);case Zt.BoundingBox:var E=e.readInt(!0),b=this.readVertices(e,E),M=s?e.readInt32():0,S=this.attachmentLoader.newBoundingBoxAttachment(n,l);return null==S?null:(S.worldVerticesLength=E<<1,S.vertices=b.vertices,S.bones=b.bones,s&&g.rgba8888ToColor(S.color,M),S);case Zt.Mesh:var T=e.readStringRef(),I=e.readInt32(),R=e.readInt(!0),A=this.readFloatArray(e,R<<1,1),C=this.readShortArray(e),V=this.readVertices(e,R),P=e.readInt(!0),_=null,F=0,N=0;s&&(_=this.readShortArray(e),F=e.readFloat(),N=e.readFloat()),null==T&&(T=l);var O=this.attachmentLoader.newMeshAttachment(n,l,T);return null==O?null:(O.path=T,g.rgba8888ToColor(O.color,I),O.bones=V.bones,O.vertices=V.vertices,O.worldVerticesLength=R<<1,O.triangles=C,O.regionUVs=A,O.updateUVs(),O.hullLength=P<<1,s&&(O.edges=_,O.width=F*o,O.height=N*o),O);case Zt.LinkedMesh:var L=e.readStringRef(),B=e.readInt32(),D=e.readStringRef(),X=e.readStringRef(),Y=e.readBoolean(),U=0,W=0;s&&(U=e.readFloat(),W=e.readFloat()),null==L&&(L=l);var q=this.attachmentLoader.newMeshAttachment(n,l,L);return null==q?null:(q.path=L,g.rgba8888ToColor(q.color,B),s&&(q.width=U*o,q.height=W*o),this.linkedMeshes.push(new Kt(q,D,r,X,Y)),q);case Zt.Path:for(var j=e.readBoolean(),H=e.readBoolean(),z=e.readInt(!0),G=this.readVertices(e,z),Z=p.newArray(z/3,0),Q=0,J=Z.length;Q<J;Q++)Z[Q]=e.readFloat()*o;var K=s?e.readInt32():0,$=this.attachmentLoader.newPathAttachment(n,l);return null==$?null:($.closed=j,$.constantSpeed=H,$.worldVerticesLength=z<<1,$.vertices=G.vertices,$.bones=G.bones,$.lengths=Z,s&&g.rgba8888ToColor($.color,K),$);case Zt.Point:var tt=e.readFloat(),et=e.readFloat(),at=e.readFloat(),nt=s?e.readInt32():0,rt=this.attachmentLoader.newPointAttachment(n,l);return null==rt?null:(rt.x=et*o,rt.y=at*o,rt.rotation=tt,s&&g.rgba8888ToColor(rt.color,nt),rt);case Zt.Clipping:var it=e.readInt(!0),st=e.readInt(!0),ot=this.readVertices(e,st),lt=s?e.readInt32():0,ht=this.attachmentLoader.newClippingAttachment(n,l);return null==ht?null:(ht.endSlot=a.slots[it],ht.worldVerticesLength=st<<1,ht.vertices=ot.vertices,ht.bones=ot.bones,s&&g.rgba8888ToColor(ht.color,lt),ht)}return null}},{key:"readVertices",value:function(t,e){var a=e<<1,n=new $t,r=this.scale;if(!t.readBoolean())return n.vertices=this.readFloatArray(t,a,r),n;for(var i=new Array,s=new Array,o=0;o<e;o++){var l=t.readInt(!0);s.push(l);for(var h=0;h<l;h++)s.push(t.readInt(!0)),i.push(t.readFloat()*r),i.push(t.readFloat()*r),i.push(t.readFloat())}return n.vertices=p.toFloatArray(i),n.bones=s,n}},{key:"readFloatArray",value:function(t,e,a){var n=new Array(e);if(1==a)for(var r=0;r<e;r++)n[r]=t.readFloat();else for(var i=0;i<e;i++)n[i]=t.readFloat()*a;return n}},{key:"readShortArray",value:function(t){for(var e=t.readInt(!0),a=new Array(e),n=0;n<e;n++)a[n]=t.readShort();return a}},{key:"readAnimation",value:function(e,a,n){for(var r=new Array,i=this.scale,s=0,o=new g,l=new g,h=0,u=e.readInt(!0);h<u;h++)for(var c=e.readInt(!0),d=0,f=e.readInt(!0);d<f;d++){var v=e.readByte(),m=e.readInt(!0);switch(v){case t.SLOT_ATTACHMENT:var y=new rt(m);y.slotIndex=c;for(var w=0;w<m;w++)y.setFrame(w,e.readFloat(),e.readStringRef());r.push(y),s=Math.max(s,y.frames[m-1]);break;case t.SLOT_COLOR:var k=new at(m);k.slotIndex=c;for(var x=0;x<m;x++){var E=e.readFloat();g.rgba8888ToColor(o,e.readInt32()),k.setFrame(x,E,o.r,o.g,o.b,o.a),x<m-1&&this.readCurve(e,x,k)}r.push(k),s=Math.max(s,k.frames[(m-1)*at.ENTRIES]);break;case t.SLOT_TWO_COLOR:var b=new nt(m);b.slotIndex=c;for(var M=0;M<m;M++){var S=e.readFloat();g.rgba8888ToColor(o,e.readInt32()),g.rgb888ToColor(l,e.readInt32()),b.setFrame(M,S,o.r,o.g,o.b,o.a,l.r,l.g,l.b),M<m-1&&this.readCurve(e,M,b)}r.push(b),s=Math.max(s,b.frames[(m-1)*nt.ENTRIES])}}for(var T=0,I=e.readInt(!0);T<I;T++)for(var C=e.readInt(!0),V=0,P=e.readInt(!0);V<P;V++){var _=e.readByte(),F=e.readInt(!0);switch(_){case t.BONE_ROTATE:var N=new K(F);N.boneIndex=C;for(var O=0;O<F;O++)N.setFrame(O,e.readFloat(),e.readFloat()),O<F-1&&this.readCurve(e,O,N);r.push(N),s=Math.max(s,N.frames[(F-1)*K.ENTRIES]);break;case t.BONE_TRANSLATE:case t.BONE_SCALE:case t.BONE_SHEAR:var L=void 0,B=1;_==t.BONE_SCALE?L=new tt(F):_==t.BONE_SHEAR?L=new et(F):(L=new $(F),B=i),L.boneIndex=C;for(var D=0;D<F;D++)L.setFrame(D,e.readFloat(),e.readFloat()*B,e.readFloat()*B),D<F-1&&this.readCurve(e,D,L);r.push(L),s=Math.max(s,L.frames[(F-1)*$.ENTRIES])}}for(var X=0,Y=e.readInt(!0);X<Y;X++){var U=e.readInt(!0),W=e.readInt(!0),q=new ht(W);q.ikConstraintIndex=U;for(var j=0;j<W;j++)q.setFrame(j,e.readFloat(),e.readFloat(),e.readFloat()*i,e.readByte(),e.readBoolean(),e.readBoolean()),j<W-1&&this.readCurve(e,j,q);r.push(q),s=Math.max(s,q.frames[(W-1)*ht.ENTRIES])}for(var H=0,G=e.readInt(!0);H<G;H++){var Z=e.readInt(!0),Q=e.readInt(!0),J=new ut(Q);J.transformConstraintIndex=Z;for(var it=0;it<Q;it++)J.setFrame(it,e.readFloat(),e.readFloat(),e.readFloat(),e.readFloat(),e.readFloat()),it<Q-1&&this.readCurve(e,it,J);r.push(J),s=Math.max(s,J.frames[(Q-1)*ut.ENTRIES])}for(var vt=0,gt=e.readInt(!0);vt<gt;vt++)for(var mt=e.readInt(!0),pt=n.pathConstraints[mt],yt=0,wt=e.readInt(!0);yt<wt;yt++){var kt=e.readByte(),xt=e.readInt(!0);switch(kt){case t.PATH_POSITION:case t.PATH_SPACING:var Et=void 0,bt=1;kt==t.PATH_SPACING?(Et=new dt(xt),pt.spacingMode!=A.Length&&pt.spacingMode!=A.Fixed||(bt=i)):(Et=new ct(xt),pt.positionMode==R.Fixed&&(bt=i)),Et.pathConstraintIndex=mt;for(var Mt=0;Mt<xt;Mt++)Et.setFrame(Mt,e.readFloat(),e.readFloat()*bt),Mt<xt-1&&this.readCurve(e,Mt,Et);r.push(Et),s=Math.max(s,Et.frames[(xt-1)*ct.ENTRIES]);break;case t.PATH_MIX:var St=new ft(xt);St.pathConstraintIndex=mt;for(var Tt=0;Tt<xt;Tt++)St.setFrame(Tt,e.readFloat(),e.readFloat(),e.readFloat()),Tt<xt-1&&this.readCurve(e,Tt,St);r.push(St),s=Math.max(s,St.frames[(xt-1)*ft.ENTRIES])}}for(var It=0,Rt=e.readInt(!0);It<Rt;It++)for(var At=n.skins[e.readInt(!0)],Ct=0,Vt=e.readInt(!0);Ct<Vt;Ct++)for(var Pt=e.readInt(!0),_t=0,Ft=e.readInt(!0);_t<Ft;_t++){var Nt=At.getAttachment(Pt,e.readStringRef()),Ot=null!=Nt.bones,Lt=Nt.vertices,Bt=Ot?Lt.length/3*2:Lt.length,Dt=e.readInt(!0),Xt=new st(Dt);Xt.slotIndex=Pt,Xt.attachment=Nt;for(var Yt=0;Yt<Dt;Yt++){var Ut=e.readFloat(),Wt=void 0,qt=e.readInt(!0);if(0==qt)Wt=Ot?p.newFloatArray(Bt):Lt;else{Wt=p.newFloatArray(Bt);var jt=e.readInt(!0);if(qt+=jt,1==i)for(var zt=jt;zt<qt;zt++)Wt[zt]=e.readFloat();else for(var Gt=jt;Gt<qt;Gt++)Wt[Gt]=e.readFloat()*i;if(!Ot)for(var Zt=0,Qt=Wt.length;Zt<Qt;Zt++)Wt[Zt]+=Lt[Zt]}Xt.setFrame(Yt,Ut,Wt),Yt<Dt-1&&this.readCurve(e,Yt,Xt)}r.push(Xt),s=Math.max(s,Xt.frames[Dt-1])}var Jt=e.readInt(!0);if(Jt>0){for(var Kt=new lt(Jt),$t=n.slots.length,te=0;te<Jt;te++){for(var ee=e.readFloat(),ae=e.readInt(!0),ne=p.newArray($t,0),re=$t-1;re>=0;re--)ne[re]=-1;for(var ie=p.newArray($t-ae,0),se=0,oe=0,le=0;le<ae;le++){for(var he=e.readInt(!0);se!=he;)ie[oe++]=se++;ne[se+e.readInt(!0)]=se++}for(;se<$t;)ie[oe++]=se++;for(var ue=$t-1;ue>=0;ue--)-1==ne[ue]&&(ne[ue]=ie[--oe]);Kt.setFrame(te,ee,ne)}r.push(Kt),s=Math.max(s,Kt.frames[Jt-1])}var ce=e.readInt(!0);if(ce>0){for(var de=new ot(ce),fe=0;fe<ce;fe++){var ve=e.readFloat(),ge=n.events[e.readInt(!0)],me=new Ht(ve,ge);me.intValue=e.readInt(!1),me.floatValue=e.readFloat(),me.stringValue=e.readBoolean()?e.readString():ge.stringValue,null!=me.data.audioPath&&(me.volume=e.readFloat(),me.balance=e.readFloat()),de.setFrame(fe,me)}r.push(de),s=Math.max(s,de.frames[ce-1])}return new z(a,r,s)}},{key:"readCurve",value:function(e,a,n){switch(e.readByte()){case t.CURVE_STEPPED:n.setStepped(a);break;case t.CURVE_BEZIER:this.setCurve(n,a,e.readFloat(),e.readFloat(),e.readFloat(),e.readFloat())}}},{key:"setCurve",value:function(t,e,a,n,r,i){t.setCurve(e,a,n,r,i)}}]),t}();Qt.AttachmentTypeValues=[0,1,2,3,4,5,6],Qt.TransformModeValues=[x.Normal,x.OnlyTranslation,x.NoRotationOrReflection,x.NoScale,x.NoScaleOrReflection],Qt.PositionModeValues=[R.Fixed,R.Percent],Qt.SpacingModeValues=[A.Length,A.Fixed,A.Percent],Qt.RotateModeValues=[C.Tangent,C.Chain,C.ChainScale],Qt.BlendModeValues=[jt.Normal,jt.Additive,jt.Multiply,jt.Screen],Qt.BONE_ROTATE=0,Qt.BONE_TRANSLATE=1,Qt.BONE_SCALE=2,Qt.BONE_SHEAR=3,Qt.SLOT_ATTACHMENT=0,Qt.SLOT_COLOR=1,Qt.SLOT_TWO_COLOR=2,Qt.PATH_POSITION=0,Qt.PATH_SPACING=1,Qt.PATH_MIX=2,Qt.CURVE_LINEAR=0,Qt.CURVE_STEPPED=1,Qt.CURVE_BEZIER=2;var Jt=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Array,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:new DataView(e.buffer);a(this,t),this.strings=n,this.index=r,this.buffer=i}return r(t,[{key:"readByte",value:function(){return this.buffer.getInt8(this.index++)}},{key:"readShort",value:function(){var t=this.buffer.getInt16(this.index);return this.index+=2,t}},{key:"readInt32",value:function(){var t=this.buffer.getInt32(this.index);return this.index+=4,t}},{key:"readInt",value:function(t){var e=this.readByte(),a=127&e;return 0!=(128&e)&&(a|=(127&(e=this.readByte()))<<7,0!=(128&e)&&(a|=(127&(e=this.readByte()))<<14,0!=(128&e)&&(a|=(127&(e=this.readByte()))<<21,0!=(128&e)&&(a|=(127&(e=this.readByte()))<<28)))),t?a:a>>>1^-(1&a)}},{key:"readStringRef",value:function(){var t=this.readInt(!0);return 0==t?null:this.strings[t-1]}},{key:"readString",value:function(){var t=this.readInt(!0);switch(t){case 0:return null;case 1:return""}t--;for(var e="",a=0;a<t;){var n=this.readByte();switch(n>>4){case 12:case 13:e+=String.fromCharCode((31&n)<<6|63&this.readByte()),a+=2;break;case 14:e+=String.fromCharCode((15&n)<<12|(63&this.readByte())<<6|63&this.readByte()),a+=3;break;default:e+=String.fromCharCode(n),a++}}return e}},{key:"readFloat",value:function(){var t=this.buffer.getFloat32(this.index);return this.index+=4,t}},{key:"readBoolean",value:function(){return 0!=this.readByte()}}]),t}(),Kt=r((function t(e,n,r,i,s){a(this,t),this.parent=void 0,this.skin=void 0,this.slotIndex=void 0,this.mesh=void 0,this.inheritDeform=void 0,this.mesh=e,this.skin=n,this.slotIndex=r,this.parent=i,this.inheritDeform=s})),$t=r((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;a(this,t),this.bones=e,this.vertices=n}));t.resourceLoader("spine",["json","bin"])(function(e){s(i,t.Loader);var n=u(i);function i(){return a(this,i),n.apply(this,arguments)}return r(i,[{key:"load",value:function(e,a){var n=this;return new t.AssetPromise((function(r,i){var s,o=a.engine;"spine"!==e.type&&i("Asset type must be spine."),!e.urls&&e.url&&n.checkUrl(e.url)&&(s=n.getResouceFromUrl(e.url)),e.urls&&n.checkUrls(e.urls)&&(s=n.getResouceFromUrls(e.urls));var l,h=!1;l=new Ft(null,(function(t){return n.createAdaptiveTexture(t,o)}));var u=s,c=u.skeletonFile,d=u.atlasFile,f=u.textureFile;l.onLoadComplete=function(){var e;if(h)e=l.get(d);else{var a=l.get(d);e=new Y(a,n.textureAssetPicker.bind(n,l,f))}var i=new Lt(e),s=(n.isBinFile(c)?new Qt(i):new zt(i)).readSkeletonData(l.get(c)),u=new t.Entity(o),v=u.addComponent(t.MeshRenderer),g=o._spriteDefaultMaterial.clone();v.setMaterial(g),u.addComponent(_t).setSkeletonData(s),r(u)};var v=n.isBinFile(c);c&&d&&f?(v?l.loadBinary(c):l.loadText(c),l.loadText(d),l.loadTexture(f)):c&&d&&!f?(h=!0,v?l.loadBinary(c):l.loadText(c),l.loadTextureAtlas(d)):i("Resouce param error")}))}},{key:"textureAssetPicker",value:function(t,e){return t.get(e)}},{key:"createAdaptiveTexture",value:function(t,e){return new te(t,e)}},{key:"isBinFile",value:function(t){return"bin"===this.getExtFromUrl(t)}},{key:"checkUrl",value:function(t){var e=this.getExtFromUrl(t);return"json"===e||"bin"===e||(console.error("When use url as params, url must be json or bin file"),!1)}},{key:"getResouceFromUrl",value:function(t){var e=t,a=t,n=a.indexOf("?");return n>0&&(a=a.substr(0,n)),{skeletonFile:e,atlasFile:a=a.substr(0,a.lastIndexOf("."))+".atlas"}}},{key:"checkUrls",value:function(t){if(t.length<2)return console.error("When use urls as params, urls should at least contain: json/bin and atlas"),!1;if(t.length>3)return console.error("Spine runtime dont support multiple texture now"),!1;var e=this.getResouceFromUrls(t),a=e.skeletonFile,n=e.atlasFile;return e.textureFile,!(!a||!n)||(console.error("Lack ".concat(a?"":"skeletonFile").concat(n?" atlasFile":"")),!1)}},{key:"getResouceFromUrls",value:function(t){for(var e,a,n,r=0;r<t.length;r+=1){var i=t[r],s=this.getExtFromUrl(i);"json"!==s&&"bin"!==s||(e=i),"atlas"===s&&(a=i);["png","jpg","webp","jpeg"].includes(s)&&(n=i)}return{skeletonFile:e,atlasFile:a,textureFile:n}}},{key:"getExtFromUrl",value:function(t){return t.split(/[#?]/)[0].split(".").pop().trim()}}]),i}());var te=function(e){s(i,O);var n=u(i);function i(e,r){var s;return a(this,i),(s=n.call(this,e)).texture=void 0,s.texture=new t.Texture2D(r,e.width,e.height),s.texture.setImageSource(e),s.texture.generateMipmaps(),s}return r(i,[{key:"setFilters",value:function(e,a){e===WebGLRenderingContext.NEAREST?this.texture.filterMode=t.TextureFilterMode.Point:a===WebGLRenderingContext.LINEAR_MIPMAP_LINEAR?this.texture.filterMode=t.TextureFilterMode.Trilinear:this.texture.filterMode=t.TextureFilterMode.Bilinear}},{key:"setWraps",value:function(t,e){this.texture.wrapModeU=t,this.texture.wrapModeV=e}},{key:"dispose",value:function(){}}]),i}();t.resourceLoader("antg_spine",["json","bin"])(function(e){s(i,t.Loader);var n=u(i);function i(){return a(this,i),n.apply(this,arguments)}return r(i,[{key:"load",value:function(e,a){var n=this;return new t.AssetPromise((function(r,i){var s=a.engine;if(e.url)if(n.checkUrl(e.url)){var o,l,h,u,c,d=e.url;u=new Ft(null,(function(t){return n.createAdaptiveTexture(t,s)})),(c=d,new Promise((function(t,e){var a=new XMLHttpRequest;a.responseType="json",a.open("GET",c,!0),a.onload=function(){200==a.status?t(a.response):e("status:".concat(a.status,", ").concat(a.responseText))},a.onerror=function(){e("status:".concat(a.status,", ").concat(a.responseText))},a.send()}))).then((function(t){if(h=t,t._ext){var e=t._ext,a=e.atlas,n=e.images,r=n[Object.keys(n)[0]];o=a,l=r,u.loadText(a),u.loadTexture(r)}else i("AntG spine json must have ext data")})).catch((function(){i("Resouce json load fail")})),u.onLoadComplete=function(){var e,a=u.get(o);e=new Y(a,n.textureAssetPicker.bind(n,u,l));var i=new Lt(e),c=new zt(i).readSkeletonData(h),d=new t.Entity(s),f=d.addComponent(t.MeshRenderer);f.shaderData.enableMacro("USE_MODEL_MATRIX"),f.shaderData.enableMacro("USE_CUSTOM_TEXTURE");var v=s._spriteDefaultMaterial.clone();f.setMaterial(v),d.addComponent(_t).setSkeletonData(c),r(d)}}else i("AntG asset must be a json url.");else i("AntG asset must be a json url.")}))}},{key:"textureAssetPicker",value:function(t,e){return t.get(e)}},{key:"createAdaptiveTexture",value:function(t,e){return new ee(t,e)}},{key:"checkUrl",value:function(t){return"json"===this.getExtFromUrl(t)||(console.error("When use url as params, url must be a json file"),!1)}},{key:"getExtFromUrl",value:function(t){return t.split(/[#?]/)[0].split(".").pop().trim()}}]),i}());var ee=function(e){s(i,O);var n=u(i);function i(e,r){var s;return a(this,i),(s=n.call(this,e)).texture=void 0,s.texture=new t.Texture2D(r,e.width,e.height),s.texture.setImageSource(e),s.texture.generateMipmaps(),s}return r(i,[{key:"setFilters",value:function(e,a){e===WebGLRenderingContext.NEAREST?this.texture.filterMode=t.TextureFilterMode.Point:a===WebGLRenderingContext.LINEAR_MIPMAP_LINEAR?this.texture.filterMode=t.TextureFilterMode.Trilinear:this.texture.filterMode=t.TextureFilterMode.Bilinear}},{key:"setWraps",value:function(t,e){this.texture.wrapModeU=t,this.texture.wrapModeV=e}},{key:"dispose",value:function(){}}]),i}();exports.AssetManager=Ft,exports.AtlasAttachmentLoader=Lt,exports.SkeletonBinary=Qt,exports.SkeletonJson=zt,exports.SpineAnimation=_t,exports.Texture=O,exports.TextureAtlas=Y,exports.version="1.0.0-alpha.0";
|