UNPKG

@esotericsoftware/spine-core

Version:
1 lines 162 kB
"use strict";var Bs=class{array=new Array;add(t){let e=this.contains(t);return this.array[t|0]=t|0,!e}contains(t){return this.array[t|0]!=null}remove(t){this.array[t|0]=void 0}clear(){this.array.length=0}},zt=class{entries={};size=0;add(t){let e=this.entries[t];return this.entries[t]=!0,e?!1:(this.size++,!0)}addAll(t){let e=this.size;for(var s=0,r=t.length;s<r;s++)this.add(t[s]);return e!=this.size}contains(t){return this.entries[t]}clear(){this.entries={},this.size=0}},q=class mt{constructor(e=0,s=0,r=0,i=0){this.r=e,this.g=s,this.b=r,this.a=i}static WHITE=new mt(1,1,1,1);static RED=new mt(1,0,0,1);static GREEN=new mt(0,1,0,1);static BLUE=new mt(0,0,1,1);static MAGENTA=new mt(1,0,1,1);set(e,s,r,i){return this.r=e,this.g=s,this.b=r,this.a=i,this.clamp()}setFromColor(e){return this.r=e.r,this.g=e.g,this.b=e.b,this.a=e.a,this}setFromString(e){return e=e.charAt(0)=="#"?e.substr(1):e,this.r=parseInt(e.substr(0,2),16)/255,this.g=parseInt(e.substr(2,2),16)/255,this.b=parseInt(e.substr(4,2),16)/255,this.a=e.length!=8?1:parseInt(e.substr(6,2),16)/255,this}add(e,s,r,i){return this.r+=e,this.g+=s,this.b+=r,this.a+=i,this.clamp()}clamp(){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}static rgba8888ToColor(e,s){e.r=((s&4278190080)>>>24)/255,e.g=((s&16711680)>>>16)/255,e.b=((s&65280)>>>8)/255,e.a=(s&255)/255}static rgb888ToColor(e,s){e.r=((s&16711680)>>>16)/255,e.g=((s&65280)>>>8)/255,e.b=(s&255)/255}toRgb888(){const e=s=>("0"+(s*255).toString(16)).slice(-2);return+("0x"+e(this.r)+e(this.g)+e(this.b))}static fromString(e,s=new mt){return s.setFromString(e)}},R=class nt{static PI=3.1415927;static PI2=nt.PI*2;static invPI2=1/nt.PI2;static radiansToDegrees=180/nt.PI;static radDeg=nt.radiansToDegrees;static degreesToRadians=nt.PI/180;static degRad=nt.degreesToRadians;static clamp(e,s,r){return e<s?s:e>r?r:e}static cosDeg(e){return Math.cos(e*nt.degRad)}static sinDeg(e){return Math.sin(e*nt.degRad)}static atan2Deg(e,s){return Math.atan2(e,s)*nt.degRad}static signum(e){return e>0?1:e<0?-1:0}static toInt(e){return e>0?Math.floor(e):Math.ceil(e)}static cbrt(e){let s=Math.pow(Math.abs(e),.3333333333333333);return e<0?-s:s}static randomTriangular(e,s){return nt.randomTriangularWith(e,s,(e+s)*.5)}static randomTriangularWith(e,s,r){let i=Math.random(),h=s-e;return i<=(r-e)/h?e+Math.sqrt(i*h*(r-e)):s-Math.sqrt((1-i)*h*(s-r))}static isPowerOfTwo(e){return e&&(e&e-1)===0}},Qe=class{apply(t,e,s){return t+(e-t)*this.applyInternal(s)}},Ze=class extends Qe{power=2;constructor(t){super(),this.power=t}applyInternal(t){return t<=.5?Math.pow(t*2,this.power)/2:Math.pow((t-1)*2,this.power)/(this.power%2==0?-2:2)+1}},Vs=class extends Ze{constructor(t){super(t)}applyInternal(t){return Math.pow(t-1,this.power)*(this.power%2==0?-1:1)+1}},P=class bt{static SUPPORTS_TYPED_ARRAYS=typeof Float32Array<"u";static arrayCopy(e,s,r,i,h){for(let l=s,a=i;l<s+h;l++,a++)r[a]=e[l]}static arrayFill(e,s,r,i){for(let h=s;h<r;h++)e[h]=i}static setArraySize(e,s,r=0){let i=e.length;if(i==s)return e;if(e.length=s,i<s)for(let h=i;h<s;h++)e[h]=r;return e}static ensureArrayCapacity(e,s,r=0){return e.length>=s?e:bt.setArraySize(e,s,r)}static newArray(e,s){let r=new Array(e);for(let i=0;i<e;i++)r[i]=s;return r}static newFloatArray(e){if(bt.SUPPORTS_TYPED_ARRAYS)return new Float32Array(e);{let s=new Array(e);for(let r=0;r<s.length;r++)s[r]=0;return s}}static newShortArray(e){if(bt.SUPPORTS_TYPED_ARRAYS)return new Int16Array(e);{let s=new Array(e);for(let r=0;r<s.length;r++)s[r]=0;return s}}static toFloatArray(e){return bt.SUPPORTS_TYPED_ARRAYS?new Float32Array(e):e}static toSinglePrecision(e){return bt.SUPPORTS_TYPED_ARRAYS?Math.fround(e):e}static webkit602BugfixHelper(e,s){}static contains(e,s,r=!0){for(var i=0;i<e.length;i++)if(e[i]==s)return!0;return!1}static enumValue(e,s){return e[s[0].toUpperCase()+s.slice(1)]}},Ls=class{static logBones(t){for(let e=0;e<t.bones.length;e++){let s=t.bones[e];console.log(s.data.name+", "+s.a+", "+s.b+", "+s.c+", "+s.d+", "+s.worldX+", "+s.worldY)}}},vt=class{items=new Array;instantiator;constructor(t){this.instantiator=t}obtain(){return this.items.length>0?this.items.pop():this.instantiator()}free(t){t.reset&&t.reset(),this.items.push(t)}freeAll(t){for(let e=0;e<t.length;e++)this.free(t[e])}clear(){this.items.length=0}},Yt=class{constructor(t=0,e=0){this.x=t,this.y=e}set(t,e){return this.x=t,this.y=e,this}length(){let t=this.x,e=this.y;return Math.sqrt(t*t+e*e)}normalize(){let t=this.length();return t!=0&&(this.x/=t,this.y/=t),this}},Ns=class{maxDelta=.064;framesPerSecond=0;delta=0;totalTime=0;lastTime=Date.now()/1e3;frameCount=0;frameTime=0;update(){let t=Date.now()/1e3;this.delta=t-this.lastTime,this.frameTime+=this.delta,this.totalTime+=this.delta,this.delta>this.maxDelta&&(this.delta=this.maxDelta),this.lastTime=t,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)}},Ds=class{values;addedValues=0;lastValue=0;mean=0;dirty=!0;constructor(t=32){this.values=new Array(t)}hasEnoughData(){return this.addedValues>=this.values.length}addValue(t){this.addedValues<this.values.length&&this.addedValues++,this.values[this.lastValue++]=t,this.lastValue>this.values.length-1&&(this.lastValue=0),this.dirty=!0}getMean(){if(this.hasEnoughData()){if(this.dirty){let t=0;for(let e=0;e<this.values.length;e++)t+=this.values[e];this.mean=t/this.values.length,this.dirty=!1}return this.mean}return 0}},Ut=class{name;constructor(t){if(!t)throw new Error("name cannot be null.");this.name=t}},lt=class ks extends Ut{static nextID=0;id=ks.nextID++;bones=null;vertices=[];worldVerticesLength=0;timelineAttachment=this;constructor(e){super(e)}computeWorldVertices(e,s,r,i,h,l){r=h+(r>>1)*l;let a=e.bone.skeleton,n=e.deform,o=this.vertices,c=this.bones;if(!c){n.length>0&&(o=n);let u=e.bone,w=u.worldX,b=u.worldY,p=u.a,g=u.b,x=u.c,y=u.d;for(let v=s,A=h;A<r;v+=2,A+=l){let I=o[v],C=o[v+1];i[A]=I*p+C*g+w,i[A+1]=I*x+C*y+b}return}let f=0,d=0;for(let u=0;u<s;u+=2){let w=c[f];f+=w+1,d+=w}let m=a.bones;if(n.length==0)for(let u=h,w=d*3;u<r;u+=l){let b=0,p=0,g=c[f++];for(g+=f;f<g;f++,w+=3){let x=m[c[f]],y=o[w],v=o[w+1],A=o[w+2];b+=(y*x.a+v*x.b+x.worldX)*A,p+=(y*x.c+v*x.d+x.worldY)*A}i[u]=b,i[u+1]=p}else{let u=n;for(let w=h,b=d*3,p=d<<1;w<r;w+=l){let g=0,x=0,y=c[f++];for(y+=f;f<y;f++,b+=3,p+=2){let v=m[c[f]],A=o[b]+u[p],I=o[b+1]+u[p+1],C=o[b+2];g+=(A*v.a+I*v.b+v.worldX)*C,x+=(A*v.c+I*v.d+v.worldY)*C}i[w]=g,i[w+1]=x}}}copyTo(e){this.bones?(e.bones=new Array(this.bones.length),P.arrayCopy(this.bones,0,e.bones,0,this.bones.length)):e.bones=null,this.vertices&&(e.vertices=P.newFloatArray(this.vertices.length),P.arrayCopy(this.vertices,0,e.vertices,0,this.vertices.length)),e.worldVerticesLength=this.worldVerticesLength,e.timelineAttachment=this.timelineAttachment}},ts=class Nt{static _nextID=0;id=Nt.nextID();regions;start=0;digits=0;setupIndex=0;constructor(e){this.regions=new Array(e)}copy(){let e=new Nt(this.regions.length);return P.arrayCopy(this.regions,0,e.regions,0,this.regions.length),e.start=this.start,e.digits=this.digits,e.setupIndex=this.setupIndex,e}apply(e,s){let r=e.sequenceIndex;r==-1&&(r=this.setupIndex),r>=this.regions.length&&(r=this.regions.length-1);let i=this.regions[r];s.region!=i&&(s.region=i,s.updateRegion())}getPath(e,s){let r=e,i=(this.start+s).toString();for(let h=this.digits-i.length;h>0;h--)r+="0";return r+=i,r}static nextID(){return Nt._nextID++}},es=(t=>(t[t.hold=0]="hold",t[t.once=1]="once",t[t.loop=2]="loop",t[t.pingpong=3]="pingpong",t[t.onceReverse=4]="onceReverse",t[t.loopReverse=5]="loopReverse",t[t.pingpongReverse=6]="pingpongReverse",t))(es||{}),ss=[0,1,2,3,4,5,6],Mt=class{name;timelines=[];timelineIds=new zt;duration;constructor(t,e,s){if(!t)throw new Error("name cannot be null.");this.name=t,this.setTimelines(e),this.duration=s}setTimelines(t){if(!t)throw new Error("timelines cannot be null.");this.timelines=t,this.timelineIds.clear();for(var e=0;e<t.length;e++)this.timelineIds.addAll(t[e].getPropertyIds())}hasTimeline(t){for(let e=0;e<t.length;e++)if(this.timelineIds.contains(t[e]))return!0;return!1}apply(t,e,s,r,i,h,l,a){if(!t)throw new Error("skeleton cannot be null.");r&&this.duration!=0&&(s%=this.duration,e>0&&(e%=this.duration));let n=this.timelines;for(let o=0,c=n.length;o<c;o++)n[o].apply(t,e,s,i,h,l,a)}},is=(t=>(t[t.setup=0]="setup",t[t.first=1]="first",t[t.replace=2]="replace",t[t.add=3]="add",t))(is||{}),rs=(t=>(t[t.mixIn=0]="mixIn",t[t.mixOut=1]="mixOut",t))(rs||{}),O={rotate:0,x:1,y:2,scaleX:3,scaleY:4,shearX:5,shearY:6,inherit:7,rgb:8,alpha:9,rgb2:10,attachment:11,deform:12,event:13,drawOrder:14,ikConstraint:15,transformConstraint:16,pathConstraintPosition:17,pathConstraintSpacing:18,pathConstraintMix:19,physicsConstraintInertia:20,physicsConstraintStrength:21,physicsConstraintDamping:22,physicsConstraintMass:23,physicsConstraintWind:24,physicsConstraintGravity:25,physicsConstraintMix:26,physicsConstraintReset:27,sequence:28},H=class{propertyIds;frames;constructor(t,e){this.propertyIds=e,this.frames=P.newFloatArray(t*this.getFrameEntries())}getPropertyIds(){return this.propertyIds}getFrameEntries(){return 1}getFrameCount(){return this.frames.length/this.getFrameEntries()}getDuration(){return this.frames[this.frames.length-this.getFrameEntries()]}static search1(t,e){let s=t.length;for(let r=1;r<s;r++)if(t[r]>e)return r-1;return s-1}static search(t,e,s){let r=t.length;for(let i=s;i<r;i+=s)if(t[i]>e)return i-s;return r-s}},rt=class extends H{curves;constructor(t,e,s){super(t,s),this.curves=P.newFloatArray(t+e*18),this.curves[t-1]=1}setLinear(t){this.curves[t]=0}setStepped(t){this.curves[t]=1}shrink(t){let e=this.getFrameCount()+t*18;if(this.curves.length>e){let s=P.newFloatArray(e);P.arrayCopy(this.curves,0,s,0,e),this.curves=s}}setBezier(t,e,s,r,i,h,l,a,n,o,c){let f=this.curves,d=this.getFrameCount()+t*18;s==0&&(f[e]=2+d);let m=(r-h*2+a)*.03,u=(i-l*2+n)*.03,w=((h-a)*3-r+o)*.006,b=((l-n)*3-i+c)*.006,p=m*2+w,g=u*2+b,x=(h-r)*.3+m+w*.16666667,y=(l-i)*.3+u+b*.16666667,v=r+x,A=i+y;for(let I=d+18;d<I;d+=2)f[d]=v,f[d+1]=A,x+=p,y+=g,p+=w,g+=b,v+=x,A+=y}getBezierValue(t,e,s,r){let i=this.curves;if(i[r]>t){let n=this.frames[e],o=this.frames[e+s];return o+(t-n)/(i[r]-n)*(i[r+1]-o)}let h=r+18;for(r+=2;r<h;r+=2)if(i[r]>=t){let n=i[r-2],o=i[r-1];return o+(t-n)/(i[r]-n)*(i[r+1]-o)}e+=this.getFrameEntries();let l=i[h-2],a=i[h-1];return a+(t-l)/(this.frames[e]-l)*(this.frames[e+s]-a)}},st=class extends rt{constructor(t,e,s){super(t,e,[s])}getFrameEntries(){return 2}setFrame(t,e,s){t<<=1,this.frames[t]=e,this.frames[t+1]=s}getCurveValue(t){let e=this.frames,s=e.length-2;for(let i=2;i<=s;i+=2)if(e[i]>t){s=i-2;break}let r=this.curves[s>>1];switch(r){case 0:let i=e[s],h=e[s+1];return h+(t-i)/(e[s+2]-i)*(e[s+2+1]-h);case 1:return e[s+1]}return this.getBezierValue(t,s,1,r-2)}getRelativeValue(t,e,s,r,i){if(t<this.frames[0]){switch(s){case 0:return i;case 1:return r+(i-r)*e}return r}let h=this.getCurveValue(t);switch(s){case 0:return i+h*e;case 1:case 2:h+=i-r}return r+h*e}getAbsoluteValue(t,e,s,r,i){if(t<this.frames[0]){switch(s){case 0:return i;case 1:return r+(i-r)*e}return r}let h=this.getCurveValue(t);return s==0?i+(h-i)*e:r+(h-r)*e}getAbsoluteValue2(t,e,s,r,i,h){if(t<this.frames[0]){switch(s){case 0:return i;case 1:return r+(i-r)*e}return r}return s==0?i+(h-i)*e:r+(h-r)*e}getScaleValue(t,e,s,r,i,h){const l=this.frames;if(t<l[0]){switch(s){case 0:return h;case 1:return i+(h-i)*e}return i}let a=this.getCurveValue(t)*h;if(e==1)return s==3?i+a-h:a;if(r==1)switch(s){case 0:return h+(Math.abs(a)*R.signum(h)-h)*e;case 1:case 2:return i+(Math.abs(a)*R.signum(i)-i)*e}else{let n=0;switch(s){case 0:return n=Math.abs(h)*R.signum(a),n+(a-n)*e;case 1:case 2:return n=Math.abs(i)*R.signum(a),n+(a-n)*e}}return i+(a-h)*e}},Xt=class extends rt{constructor(t,e,s,r){super(t,e,[s,r])}getFrameEntries(){return 3}setFrame(t,e,s,r){t*=3,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=r}},At=class extends st{boneIndex=0;constructor(t,e,s){super(t,e,O.rotate+"|"+s),this.boneIndex=s}apply(t,e,s,r,i,h,l){let a=t.bones[this.boneIndex];a.active&&(a.rotation=this.getRelativeValue(s,i,h,a.rotation,a.data.rotation))}},_t=class extends Xt{boneIndex=0;constructor(t,e,s){super(t,e,O.x+"|"+s,O.y+"|"+s),this.boneIndex=s}apply(t,e,s,r,i,h,l){let a=t.bones[this.boneIndex];if(!a.active)return;let n=this.frames;if(s<n[0]){switch(h){case 0:a.x=a.data.x,a.y=a.data.y;return;case 1:a.x+=(a.data.x-a.x)*i,a.y+=(a.data.y-a.y)*i}return}let o=0,c=0,f=H.search(n,s,3),d=this.curves[f/3];switch(d){case 0:let m=n[f];o=n[f+1],c=n[f+2];let u=(s-m)/(n[f+3]-m);o+=(n[f+3+1]-o)*u,c+=(n[f+3+2]-c)*u;break;case 1:o=n[f+1],c=n[f+2];break;default:o=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}switch(h){case 0:a.x=a.data.x+o*i,a.y=a.data.y+c*i;break;case 1:case 2:a.x+=(a.data.x+o-a.x)*i,a.y+=(a.data.y+c-a.y)*i;break;case 3:a.x+=o*i,a.y+=c*i}}},Gt=class extends st{boneIndex=0;constructor(t,e,s){super(t,e,O.x+"|"+s),this.boneIndex=s}apply(t,e,s,r,i,h,l){let a=t.bones[this.boneIndex];a.active&&(a.x=this.getRelativeValue(s,i,h,a.x,a.data.x))}},$t=class extends st{boneIndex=0;constructor(t,e,s){super(t,e,O.y+"|"+s),this.boneIndex=s}apply(t,e,s,r,i,h,l){let a=t.bones[this.boneIndex];a.active&&(a.y=this.getRelativeValue(s,i,h,a.y,a.data.y))}},Ht=class extends Xt{boneIndex=0;constructor(t,e,s){super(t,e,O.scaleX+"|"+s,O.scaleY+"|"+s),this.boneIndex=s}apply(t,e,s,r,i,h,l){let a=t.bones[this.boneIndex];if(!a.active)return;let n=this.frames;if(s<n[0]){switch(h){case 0:a.scaleX=a.data.scaleX,a.scaleY=a.data.scaleY;return;case 1:a.scaleX+=(a.data.scaleX-a.scaleX)*i,a.scaleY+=(a.data.scaleY-a.scaleY)*i}return}let o,c,f=H.search(n,s,3),d=this.curves[f/3];switch(d){case 0:let m=n[f];o=n[f+1],c=n[f+2];let u=(s-m)/(n[f+3]-m);o+=(n[f+3+1]-o)*u,c+=(n[f+3+2]-c)*u;break;case 1:o=n[f+1],c=n[f+2];break;default:o=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}if(o*=a.data.scaleX,c*=a.data.scaleY,i==1)h==3?(a.scaleX+=o-a.data.scaleX,a.scaleY+=c-a.data.scaleY):(a.scaleX=o,a.scaleY=c);else{let m=0,u=0;if(l==1)switch(h){case 0:m=a.data.scaleX,u=a.data.scaleY,a.scaleX=m+(Math.abs(o)*R.signum(m)-m)*i,a.scaleY=u+(Math.abs(c)*R.signum(u)-u)*i;break;case 1:case 2:m=a.scaleX,u=a.scaleY,a.scaleX=m+(Math.abs(o)*R.signum(m)-m)*i,a.scaleY=u+(Math.abs(c)*R.signum(u)-u)*i;break;case 3:a.scaleX+=(o-a.data.scaleX)*i,a.scaleY+=(c-a.data.scaleY)*i}else switch(h){case 0:m=Math.abs(a.data.scaleX)*R.signum(o),u=Math.abs(a.data.scaleY)*R.signum(c),a.scaleX=m+(o-m)*i,a.scaleY=u+(c-u)*i;break;case 1:case 2:m=Math.abs(a.scaleX)*R.signum(o),u=Math.abs(a.scaleY)*R.signum(c),a.scaleX=m+(o-m)*i,a.scaleY=u+(c-u)*i;break;case 3:a.scaleX+=(o-a.data.scaleX)*i,a.scaleY+=(c-a.data.scaleY)*i}}}},jt=class extends st{boneIndex=0;constructor(t,e,s){super(t,e,O.scaleX+"|"+s),this.boneIndex=s}apply(t,e,s,r,i,h,l){let a=t.bones[this.boneIndex];a.active&&(a.scaleX=this.getScaleValue(s,i,h,l,a.scaleX,a.data.scaleX))}},Jt=class extends st{boneIndex=0;constructor(t,e,s){super(t,e,O.scaleY+"|"+s),this.boneIndex=s}apply(t,e,s,r,i,h,l){let a=t.bones[this.boneIndex];a.active&&(a.scaleY=this.getScaleValue(s,i,h,l,a.scaleY,a.data.scaleY))}},Kt=class extends Xt{boneIndex=0;constructor(t,e,s){super(t,e,O.shearX+"|"+s,O.shearY+"|"+s),this.boneIndex=s}apply(t,e,s,r,i,h,l){let a=t.bones[this.boneIndex];if(!a.active)return;let n=this.frames;if(s<n[0]){switch(h){case 0:a.shearX=a.data.shearX,a.shearY=a.data.shearY;return;case 1:a.shearX+=(a.data.shearX-a.shearX)*i,a.shearY+=(a.data.shearY-a.shearY)*i}return}let o=0,c=0,f=H.search(n,s,3),d=this.curves[f/3];switch(d){case 0:let m=n[f];o=n[f+1],c=n[f+2];let u=(s-m)/(n[f+3]-m);o+=(n[f+3+1]-o)*u,c+=(n[f+3+2]-c)*u;break;case 1:o=n[f+1],c=n[f+2];break;default:o=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}switch(h){case 0:a.shearX=a.data.shearX+o*i,a.shearY=a.data.shearY+c*i;break;case 1:case 2:a.shearX+=(a.data.shearX+o-a.shearX)*i,a.shearY+=(a.data.shearY+c-a.shearY)*i;break;case 3:a.shearX+=o*i,a.shearY+=c*i}}},Qt=class extends st{boneIndex=0;constructor(t,e,s){super(t,e,O.shearX+"|"+s),this.boneIndex=s}apply(t,e,s,r,i,h,l){let a=t.bones[this.boneIndex];a.active&&(a.shearX=this.getRelativeValue(s,i,h,a.shearX,a.data.shearX))}},Zt=class extends st{boneIndex=0;constructor(t,e,s){super(t,e,O.shearY+"|"+s),this.boneIndex=s}apply(t,e,s,r,i,h,l){let a=t.bones[this.boneIndex];a.active&&(a.shearY=this.getRelativeValue(s,i,h,a.shearY,a.data.shearY))}},te=class extends H{boneIndex=0;constructor(t,e){super(t,[O.inherit+"|"+e]),this.boneIndex=e}getFrameEntries(){return 2}setFrame(t,e,s){t*=2,this.frames[t]=e,this.frames[t+1]=s}apply(t,e,s,r,i,h,l){let a=t.bones[this.boneIndex];if(!a.active)return;if(l==1){h==0&&(a.inherit=a.data.inherit);return}let n=this.frames;if(s<n[0]){(h==0||h==1)&&(a.inherit=a.data.inherit);return}a.inherit=this.frames[H.search(n,s,2)+1]}},ee=class extends rt{slotIndex=0;constructor(t,e,s){super(t,e,[O.rgb+"|"+s,O.alpha+"|"+s]),this.slotIndex=s}getFrameEntries(){return 5}setFrame(t,e,s,r,i,h){t*=5,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=r,this.frames[t+3]=i,this.frames[t+4]=h}apply(t,e,s,r,i,h,l){let a=t.slots[this.slotIndex];if(!a.bone.active)return;let n=this.frames,o=a.color;if(s<n[0]){let b=a.data.color;switch(h){case 0:o.setFromColor(b);return;case 1:o.add((b.r-o.r)*i,(b.g-o.g)*i,(b.b-o.b)*i,(b.a-o.a)*i)}return}let c=0,f=0,d=0,m=0,u=H.search(n,s,5),w=this.curves[u/5];switch(w){case 0:let b=n[u];c=n[u+1],f=n[u+2],d=n[u+3],m=n[u+4];let p=(s-b)/(n[u+5]-b);c+=(n[u+5+1]-c)*p,f+=(n[u+5+2]-f)*p,d+=(n[u+5+3]-d)*p,m+=(n[u+5+4]-m)*p;break;case 1:c=n[u+1],f=n[u+2],d=n[u+3],m=n[u+4];break;default:c=this.getBezierValue(s,u,1,w-2),f=this.getBezierValue(s,u,2,w+18-2),d=this.getBezierValue(s,u,3,w+18*2-2),m=this.getBezierValue(s,u,4,w+18*3-2)}i==1?o.set(c,f,d,m):(h==0&&o.setFromColor(a.data.color),o.add((c-o.r)*i,(f-o.g)*i,(d-o.b)*i,(m-o.a)*i))}},se=class extends rt{slotIndex=0;constructor(t,e,s){super(t,e,[O.rgb+"|"+s]),this.slotIndex=s}getFrameEntries(){return 4}setFrame(t,e,s,r,i){t<<=2,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=r,this.frames[t+3]=i}apply(t,e,s,r,i,h,l){let a=t.slots[this.slotIndex];if(!a.bone.active)return;let n=this.frames,o=a.color;if(s<n[0]){let w=a.data.color;switch(h){case 0:o.r=w.r,o.g=w.g,o.b=w.b;return;case 1:o.r+=(w.r-o.r)*i,o.g+=(w.g-o.g)*i,o.b+=(w.b-o.b)*i}return}let c=0,f=0,d=0,m=H.search(n,s,4),u=this.curves[m>>2];switch(u){case 0:let w=n[m];c=n[m+1],f=n[m+2],d=n[m+3];let b=(s-w)/(n[m+4]-w);c+=(n[m+4+1]-c)*b,f+=(n[m+4+2]-f)*b,d+=(n[m+4+3]-d)*b;break;case 1:c=n[m+1],f=n[m+2],d=n[m+3];break;default:c=this.getBezierValue(s,m,1,u-2),f=this.getBezierValue(s,m,2,u+18-2),d=this.getBezierValue(s,m,3,u+18*2-2)}if(i==1)o.r=c,o.g=f,o.b=d;else{if(h==0){let w=a.data.color;o.r=w.r,o.g=w.g,o.b=w.b}o.r+=(c-o.r)*i,o.g+=(f-o.g)*i,o.b+=(d-o.b)*i}}},ie=class extends st{slotIndex=0;constructor(t,e,s){super(t,e,O.alpha+"|"+s),this.slotIndex=s}apply(t,e,s,r,i,h,l){let a=t.slots[this.slotIndex];if(!a.bone.active)return;let n=a.color;if(s<this.frames[0]){let c=a.data.color;switch(h){case 0:n.a=c.a;return;case 1:n.a+=(c.a-n.a)*i}return}let o=this.getCurveValue(s);i==1?n.a=o:(h==0&&(n.a=a.data.color.a),n.a+=(o-n.a)*i)}},re=class extends rt{slotIndex=0;constructor(t,e,s){super(t,e,[O.rgb+"|"+s,O.alpha+"|"+s,O.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 8}setFrame(t,e,s,r,i,h,l,a,n){t<<=3,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=r,this.frames[t+3]=i,this.frames[t+4]=h,this.frames[t+5]=l,this.frames[t+6]=a,this.frames[t+7]=n}apply(t,e,s,r,i,h,l){let a=t.slots[this.slotIndex];if(!a.bone.active)return;let n=this.frames,o=a.color,c=a.darkColor;if(s<n[0]){let y=a.data.color,v=a.data.darkColor;switch(h){case 0:o.setFromColor(y),c.r=v.r,c.g=v.g,c.b=v.b;return;case 1:o.add((y.r-o.r)*i,(y.g-o.g)*i,(y.b-o.b)*i,(y.a-o.a)*i),c.r+=(v.r-c.r)*i,c.g+=(v.g-c.g)*i,c.b+=(v.b-c.b)*i}return}let f=0,d=0,m=0,u=0,w=0,b=0,p=0,g=H.search(n,s,8),x=this.curves[g>>3];switch(x){case 0:let y=n[g];f=n[g+1],d=n[g+2],m=n[g+3],u=n[g+4],w=n[g+5],b=n[g+6],p=n[g+7];let v=(s-y)/(n[g+8]-y);f+=(n[g+8+1]-f)*v,d+=(n[g+8+2]-d)*v,m+=(n[g+8+3]-m)*v,u+=(n[g+8+4]-u)*v,w+=(n[g+8+5]-w)*v,b+=(n[g+8+6]-b)*v,p+=(n[g+8+7]-p)*v;break;case 1:f=n[g+1],d=n[g+2],m=n[g+3],u=n[g+4],w=n[g+5],b=n[g+6],p=n[g+7];break;default:f=this.getBezierValue(s,g,1,x-2),d=this.getBezierValue(s,g,2,x+18-2),m=this.getBezierValue(s,g,3,x+18*2-2),u=this.getBezierValue(s,g,4,x+18*3-2),w=this.getBezierValue(s,g,5,x+18*4-2),b=this.getBezierValue(s,g,6,x+18*5-2),p=this.getBezierValue(s,g,7,x+18*6-2)}if(i==1)o.set(f,d,m,u),c.r=w,c.g=b,c.b=p;else{if(h==0){o.setFromColor(a.data.color);let y=a.data.darkColor;c.r=y.r,c.g=y.g,c.b=y.b}o.add((f-o.r)*i,(d-o.g)*i,(m-o.b)*i,(u-o.a)*i),c.r+=(w-c.r)*i,c.g+=(b-c.g)*i,c.b+=(p-c.b)*i}}},ae=class extends rt{slotIndex=0;constructor(t,e,s){super(t,e,[O.rgb+"|"+s,O.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 7}setFrame(t,e,s,r,i,h,l,a){t*=7,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=r,this.frames[t+3]=i,this.frames[t+4]=h,this.frames[t+5]=l,this.frames[t+6]=a}apply(t,e,s,r,i,h,l){let a=t.slots[this.slotIndex];if(!a.bone.active)return;let n=this.frames,o=a.color,c=a.darkColor;if(s<n[0]){let y=a.data.color,v=a.data.darkColor;switch(h){case 0:o.r=y.r,o.g=y.g,o.b=y.b,c.r=v.r,c.g=v.g,c.b=v.b;return;case 1:o.r+=(y.r-o.r)*i,o.g+=(y.g-o.g)*i,o.b+=(y.b-o.b)*i,c.r+=(v.r-c.r)*i,c.g+=(v.g-c.g)*i,c.b+=(v.b-c.b)*i}return}let f=0,d=0,m=0,u=0,w=0,b=0,p=0,g=H.search(n,s,7),x=this.curves[g/7];switch(x){case 0:let y=n[g];f=n[g+1],d=n[g+2],m=n[g+3],w=n[g+4],b=n[g+5],p=n[g+6];let v=(s-y)/(n[g+7]-y);f+=(n[g+7+1]-f)*v,d+=(n[g+7+2]-d)*v,m+=(n[g+7+3]-m)*v,w+=(n[g+7+4]-w)*v,b+=(n[g+7+5]-b)*v,p+=(n[g+7+6]-p)*v;break;case 1:f=n[g+1],d=n[g+2],m=n[g+3],w=n[g+4],b=n[g+5],p=n[g+6];break;default:f=this.getBezierValue(s,g,1,x-2),d=this.getBezierValue(s,g,2,x+18-2),m=this.getBezierValue(s,g,3,x+18*2-2),w=this.getBezierValue(s,g,4,x+18*3-2),b=this.getBezierValue(s,g,5,x+18*4-2),p=this.getBezierValue(s,g,6,x+18*5-2)}if(i==1)o.r=f,o.g=d,o.b=m,c.r=w,c.g=b,c.b=p;else{if(h==0){let y=a.data.color,v=a.data.darkColor;o.r=y.r,o.g=y.g,o.b=y.b,c.r=v.r,c.g=v.g,c.b=v.b}o.r+=(f-o.r)*i,o.g+=(d-o.g)*i,o.b+=(m-o.b)*i,c.r+=(w-c.r)*i,c.g+=(b-c.g)*i,c.b+=(p-c.b)*i}}},ut=class extends H{slotIndex=0;attachmentNames;constructor(t,e){super(t,[O.attachment+"|"+e]),this.slotIndex=e,this.attachmentNames=new Array(t)}getFrameCount(){return this.frames.length}setFrame(t,e,s){this.frames[t]=e,this.attachmentNames[t]=s}apply(t,e,s,r,i,h,l){let a=t.slots[this.slotIndex];if(a.bone.active){if(l==1){h==0&&this.setAttachment(t,a,a.data.attachmentName);return}if(s<this.frames[0]){(h==0||h==1)&&this.setAttachment(t,a,a.data.attachmentName);return}this.setAttachment(t,a,this.attachmentNames[H.search1(this.frames,s)])}}setAttachment(t,e,s){e.setAttachment(s?t.getAttachment(this.slotIndex,s):null)}},ne=class extends rt{slotIndex=0;attachment;vertices;constructor(t,e,s,r){super(t,e,[O.deform+"|"+s+"|"+r.id]),this.slotIndex=s,this.attachment=r,this.vertices=new Array(t)}getFrameCount(){return this.frames.length}setFrame(t,e,s){this.frames[t]=e,this.vertices[t]=s}setBezier(t,e,s,r,i,h,l,a,n,o,c){let f=this.curves,d=this.getFrameCount()+t*18;s==0&&(f[e]=2+d);let m=(r-h*2+a)*.03,u=n*.03-l*.06,w=((h-a)*3-r+o)*.006,b=(l-n+.33333333)*.018,p=m*2+w,g=u*2+b,x=(h-r)*.3+m+w*.16666667,y=l*.3+u+b*.16666667,v=r+x,A=y;for(let I=d+18;d<I;d+=2)f[d]=v,f[d+1]=A,x+=p,y+=g,p+=w,g+=b,v+=x,A+=y}getCurvePercent(t,e){let s=this.curves,r=s[e];switch(r){case 0:let a=this.frames[e];return(t-a)/(this.frames[e+this.getFrameEntries()]-a);case 1:return 0}if(r-=2,s[r]>t){let a=this.frames[e];return s[r+1]*(t-a)/(s[r]-a)}let i=r+18;for(r+=2;r<i;r+=2)if(s[r]>=t){let a=s[r-2],n=s[r-1];return n+(t-a)/(s[r]-a)*(s[r+1]-n)}let h=s[i-2],l=s[i-1];return l+(1-l)*(t-h)/(this.frames[e+this.getFrameEntries()]-h)}apply(t,e,s,r,i,h,l){let a=t.slots[this.slotIndex];if(!a.bone.active)return;let n=a.getAttachment();if(!n||!(n instanceof lt)||n.timelineAttachment!=this.attachment)return;let o=a.deform;o.length==0&&(h=0);let c=this.vertices,f=c[0].length,d=this.frames;if(s<d[0]){switch(h){case 0:o.length=0;return;case 1:if(i==1){o.length=0;return}o.length=f;let g=n;if(g.bones){i=1-i;for(var m=0;m<f;m++)o[m]*=i}else{let x=g.vertices;for(var m=0;m<f;m++)o[m]+=(x[m]-o[m])*i}}return}if(o.length=f,s>=d[d.length-1]){let g=c[d.length-1];if(i==1)if(h==3){let x=n;if(x.bones)for(let y=0;y<f;y++)o[y]+=g[y];else{let y=x.vertices;for(let v=0;v<f;v++)o[v]+=g[v]-y[v]}}else P.arrayCopy(g,0,o,0,f);else switch(h){case 0:{let y=n;if(y.bones)for(let v=0;v<f;v++)o[v]=g[v]*i;else{let v=y.vertices;for(let A=0;A<f;A++){let I=v[A];o[A]=I+(g[A]-I)*i}}break}case 1:case 2:for(let y=0;y<f;y++)o[y]+=(g[y]-o[y])*i;break;case 3:let x=n;if(x.bones)for(let y=0;y<f;y++)o[y]+=g[y]*i;else{let y=x.vertices;for(let v=0;v<f;v++)o[v]+=(g[v]-y[v])*i}}return}let u=H.search1(d,s),w=this.getCurvePercent(s,u),b=c[u],p=c[u+1];if(i==1)if(h==3){let g=n;if(g.bones)for(let x=0;x<f;x++){let y=b[x];o[x]+=y+(p[x]-y)*w}else{let x=g.vertices;for(let y=0;y<f;y++){let v=b[y];o[y]+=v+(p[y]-v)*w-x[y]}}}else for(let g=0;g<f;g++){let x=b[g];o[g]=x+(p[g]-x)*w}else switch(h){case 0:{let x=n;if(x.bones)for(let y=0;y<f;y++){let v=b[y];o[y]=(v+(p[y]-v)*w)*i}else{let y=x.vertices;for(let v=0;v<f;v++){let A=b[v],I=y[v];o[v]=I+(A+(p[v]-A)*w-I)*i}}break}case 1:case 2:for(let x=0;x<f;x++){let y=b[x];o[x]+=(y+(p[x]-y)*w-o[x])*i}break;case 3:let g=n;if(g.bones)for(let x=0;x<f;x++){let y=b[x];o[x]+=(y+(p[x]-y)*w)*i}else{let x=g.vertices;for(let y=0;y<f;y++){let v=b[y];o[y]+=(v+(p[y]-v)*w-x[y])*i}}}}},Ft=class Ts extends H{static propertyIds=[""+O.event];events;constructor(e){super(e,Ts.propertyIds),this.events=new Array(e)}getFrameCount(){return this.frames.length}setFrame(e,s){this.frames[e]=s.time,this.events[e]=s}apply(e,s,r,i,h,l,a){if(!i)return;let n=this.frames,o=this.frames.length;if(s>r)this.apply(e,s,Number.MAX_VALUE,i,h,l,a),s=-1;else if(s>=n[o-1])return;if(r<n[0])return;let c=0;if(s<n[0])c=0;else{c=H.search1(n,s)+1;let f=n[c];for(;c>0&&n[c-1]==f;)c--}for(;c<o&&r>=n[c];c++)i.push(this.events[c])}},wt=class Ys extends H{static propertyIds=[""+O.drawOrder];drawOrders;constructor(e){super(e,Ys.propertyIds),this.drawOrders=new Array(e)}getFrameCount(){return this.frames.length}setFrame(e,s,r){this.frames[e]=s,this.drawOrders[e]=r}apply(e,s,r,i,h,l,a){if(a==1){l==0&&P.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length);return}if(r<this.frames[0]){(l==0||l==1)&&P.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length);return}let n=H.search1(this.frames,r),o=this.drawOrders[n];if(!o)P.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length);else{let c=e.drawOrder,f=e.slots;for(let d=0,m=o.length;d<m;d++)c[d]=f[o[d]]}}},le=class extends rt{constraintIndex=0;constructor(t,e,s){super(t,e,[O.ikConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 6}setFrame(t,e,s,r,i,h,l){t*=6,this.frames[t]=e,this.frames[t+1]=s,this.frames[t+2]=r,this.frames[t+3]=i,this.frames[t+4]=h?1:0,this.frames[t+5]=l?1:0}apply(t,e,s,r,i,h,l){let a=t.ikConstraints[this.constraintIndex];if(!a.active)return;let n=this.frames;if(s<n[0]){switch(h){case 0:a.mix=a.data.mix,a.softness=a.data.softness,a.bendDirection=a.data.bendDirection,a.compress=a.data.compress,a.stretch=a.data.stretch;return;case 1:a.mix+=(a.data.mix-a.mix)*i,a.softness+=(a.data.softness-a.softness)*i,a.bendDirection=a.data.bendDirection,a.compress=a.data.compress,a.stretch=a.data.stretch}return}let o=0,c=0,f=H.search(n,s,6),d=this.curves[f/6];switch(d){case 0:let m=n[f];o=n[f+1],c=n[f+2];let u=(s-m)/(n[f+6]-m);o+=(n[f+6+1]-o)*u,c+=(n[f+6+2]-c)*u;break;case 1:o=n[f+1],c=n[f+2];break;default:o=this.getBezierValue(s,f,1,d-2),c=this.getBezierValue(s,f,2,d+18-2)}h==0?(a.mix=a.data.mix+(o-a.data.mix)*i,a.softness=a.data.softness+(c-a.data.softness)*i,l==1?(a.bendDirection=a.data.bendDirection,a.compress=a.data.compress,a.stretch=a.data.stretch):(a.bendDirection=n[f+3],a.compress=n[f+4]!=0,a.stretch=n[f+5]!=0)):(a.mix+=(o-a.mix)*i,a.softness+=(c-a.softness)*i,l==0&&(a.bendDirection=n[f+3],a.compress=n[f+4]!=0,a.stretch=n[f+5]!=0))}},oe=class extends rt{constraintIndex=0;constructor(t,e,s){super(t,e,[O.transformConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 7}setFrame(t,e,s,r,i,h,l,a){let n=this.frames;t*=7,n[t]=e,n[t+1]=s,n[t+2]=r,n[t+3]=i,n[t+4]=h,n[t+5]=l,n[t+6]=a}apply(t,e,s,r,i,h,l){let a=t.transformConstraints[this.constraintIndex];if(!a.active)return;let n=this.frames;if(s<n[0]){let p=a.data;switch(h){case 0:a.mixRotate=p.mixRotate,a.mixX=p.mixX,a.mixY=p.mixY,a.mixScaleX=p.mixScaleX,a.mixScaleY=p.mixScaleY,a.mixShearY=p.mixShearY;return;case 1:a.mixRotate+=(p.mixRotate-a.mixRotate)*i,a.mixX+=(p.mixX-a.mixX)*i,a.mixY+=(p.mixY-a.mixY)*i,a.mixScaleX+=(p.mixScaleX-a.mixScaleX)*i,a.mixScaleY+=(p.mixScaleY-a.mixScaleY)*i,a.mixShearY+=(p.mixShearY-a.mixShearY)*i}return}let o,c,f,d,m,u,w=H.search(n,s,7),b=this.curves[w/7];switch(b){case 0:let p=n[w];o=n[w+1],c=n[w+2],f=n[w+3],d=n[w+4],m=n[w+5],u=n[w+6];let g=(s-p)/(n[w+7]-p);o+=(n[w+7+1]-o)*g,c+=(n[w+7+2]-c)*g,f+=(n[w+7+3]-f)*g,d+=(n[w+7+4]-d)*g,m+=(n[w+7+5]-m)*g,u+=(n[w+7+6]-u)*g;break;case 1:o=n[w+1],c=n[w+2],f=n[w+3],d=n[w+4],m=n[w+5],u=n[w+6];break;default:o=this.getBezierValue(s,w,1,b-2),c=this.getBezierValue(s,w,2,b+18-2),f=this.getBezierValue(s,w,3,b+18*2-2),d=this.getBezierValue(s,w,4,b+18*3-2),m=this.getBezierValue(s,w,5,b+18*4-2),u=this.getBezierValue(s,w,6,b+18*5-2)}if(h==0){let p=a.data;a.mixRotate=p.mixRotate+(o-p.mixRotate)*i,a.mixX=p.mixX+(c-p.mixX)*i,a.mixY=p.mixY+(f-p.mixY)*i,a.mixScaleX=p.mixScaleX+(d-p.mixScaleX)*i,a.mixScaleY=p.mixScaleY+(m-p.mixScaleY)*i,a.mixShearY=p.mixShearY+(u-p.mixShearY)*i}else a.mixRotate+=(o-a.mixRotate)*i,a.mixX+=(c-a.mixX)*i,a.mixY+=(f-a.mixY)*i,a.mixScaleX+=(d-a.mixScaleX)*i,a.mixScaleY+=(m-a.mixScaleY)*i,a.mixShearY+=(u-a.mixShearY)*i}},he=class extends st{constraintIndex=0;constructor(t,e,s){super(t,e,O.pathConstraintPosition+"|"+s),this.constraintIndex=s}apply(t,e,s,r,i,h,l){let a=t.pathConstraints[this.constraintIndex];a.active&&(a.position=this.getAbsoluteValue(s,i,h,a.position,a.data.position))}},ce=class extends st{constraintIndex=0;constructor(t,e,s){super(t,e,O.pathConstraintSpacing+"|"+s),this.constraintIndex=s}apply(t,e,s,r,i,h,l){let a=t.pathConstraints[this.constraintIndex];a.active&&(a.spacing=this.getAbsoluteValue(s,i,h,a.spacing,a.data.spacing))}},de=class extends rt{constraintIndex=0;constructor(t,e,s){super(t,e,[O.pathConstraintMix+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 4}setFrame(t,e,s,r,i){let h=this.frames;t<<=2,h[t]=e,h[t+1]=s,h[t+2]=r,h[t+3]=i}apply(t,e,s,r,i,h,l){let a=t.pathConstraints[this.constraintIndex];if(!a.active)return;let n=this.frames;if(s<n[0]){switch(h){case 0:a.mixRotate=a.data.mixRotate,a.mixX=a.data.mixX,a.mixY=a.data.mixY;return;case 1:a.mixRotate+=(a.data.mixRotate-a.mixRotate)*i,a.mixX+=(a.data.mixX-a.mixX)*i,a.mixY+=(a.data.mixY-a.mixY)*i}return}let o,c,f,d=H.search(n,s,4),m=this.curves[d>>2];switch(m){case 0:let u=n[d];o=n[d+1],c=n[d+2],f=n[d+3];let w=(s-u)/(n[d+4]-u);o+=(n[d+4+1]-o)*w,c+=(n[d+4+2]-c)*w,f+=(n[d+4+3]-f)*w;break;case 1:o=n[d+1],c=n[d+2],f=n[d+3];break;default:o=this.getBezierValue(s,d,1,m-2),c=this.getBezierValue(s,d,2,m+18-2),f=this.getBezierValue(s,d,3,m+18*2-2)}if(h==0){let u=a.data;a.mixRotate=u.mixRotate+(o-u.mixRotate)*i,a.mixX=u.mixX+(c-u.mixX)*i,a.mixY=u.mixY+(f-u.mixY)*i}else a.mixRotate+=(o-a.mixRotate)*i,a.mixX+=(c-a.mixX)*i,a.mixY+=(f-a.mixY)*i}},ct=class extends st{constraintIndex=0;constructor(t,e,s,r){super(t,e,r+"|"+s),this.constraintIndex=s}apply(t,e,s,r,i,h,l){let a;if(this.constraintIndex==-1){const n=s>=this.frames[0]?this.getCurveValue(s):0;for(const o of t.physicsConstraints)o.active&&this.global(o.data)&&this.set(o,this.getAbsoluteValue2(s,i,h,this.get(o),this.setup(o),n))}else a=t.physicsConstraints[this.constraintIndex],a.active&&this.set(a,this.getAbsoluteValue(s,i,h,this.get(a),this.setup(a)))}},fe=class extends ct{constructor(t,e,s){super(t,e,s,O.physicsConstraintInertia)}setup(t){return t.data.inertia}get(t){return t.inertia}set(t,e){t.inertia=e}global(t){return t.inertiaGlobal}},ue=class extends ct{constructor(t,e,s){super(t,e,s,O.physicsConstraintStrength)}setup(t){return t.data.strength}get(t){return t.strength}set(t,e){t.strength=e}global(t){return t.strengthGlobal}},me=class extends ct{constructor(t,e,s){super(t,e,s,O.physicsConstraintDamping)}setup(t){return t.data.damping}get(t){return t.damping}set(t,e){t.damping=e}global(t){return t.dampingGlobal}},ge=class extends ct{constructor(t,e,s){super(t,e,s,O.physicsConstraintMass)}setup(t){return 1/t.data.massInverse}get(t){return 1/t.massInverse}set(t,e){t.massInverse=1/e}global(t){return t.massGlobal}},xe=class extends ct{constructor(t,e,s){super(t,e,s,O.physicsConstraintWind)}setup(t){return t.data.wind}get(t){return t.wind}set(t,e){t.wind=e}global(t){return t.windGlobal}},we=class extends ct{constructor(t,e,s){super(t,e,s,O.physicsConstraintGravity)}setup(t){return t.data.gravity}get(t){return t.gravity}set(t,e){t.gravity=e}global(t){return t.gravityGlobal}},be=class extends ct{constructor(t,e,s){super(t,e,s,O.physicsConstraintMix)}setup(t){return t.data.mix}get(t){return t.mix}set(t,e){t.mix=e}global(t){return t.mixGlobal}},pe=class Ms extends H{static propertyIds=[O.physicsConstraintReset.toString()];constraintIndex;constructor(e,s){super(e,Ms.propertyIds),this.constraintIndex=s}getFrameCount(){return this.frames.length}setFrame(e,s){this.frames[e]=s}apply(e,s,r,i,h,l,a){let n;if(this.constraintIndex!=-1&&(n=e.physicsConstraints[this.constraintIndex],!n.active))return;const o=this.frames;if(s>r)this.apply(e,s,Number.MAX_VALUE,[],h,l,a),s=-1;else if(s>=o[o.length-1])return;if(!(r<o[0])&&(s<o[0]||r>=o[H.search1(o,s)+1]))if(n!=null)n.reset();else for(const c of e.physicsConstraints)c.active&&c.reset()}},ye=class dt extends H{static ENTRIES=3;static MODE=1;static DELAY=2;slotIndex;attachment;constructor(e,s,r){super(e,[O.sequence+"|"+s+"|"+r.sequence.id]),this.slotIndex=s,this.attachment=r}getFrameEntries(){return dt.ENTRIES}getSlotIndex(){return this.slotIndex}getAttachment(){return this.attachment}setFrame(e,s,r,i,h){let l=this.frames;e*=dt.ENTRIES,l[e]=s,l[e+dt.MODE]=r|i<<4,l[e+dt.DELAY]=h}apply(e,s,r,i,h,l,a){let n=e.slots[this.slotIndex];if(!n.bone.active)return;let o=n.attachment,c=this.attachment;if(o!=c&&(!(o instanceof lt)||o.timelineAttachment!=c))return;if(a==1){l==0&&(n.sequenceIndex=-1);return}let f=this.frames;if(r<f[0]){(l==0||l==1)&&(n.sequenceIndex=-1);return}let d=H.search(f,r,dt.ENTRIES),m=f[d],u=f[d+dt.MODE],w=f[d+dt.DELAY];if(!this.attachment.sequence)return;let b=u>>4,p=this.attachment.sequence.regions.length,g=ss[u&15];if(g!=0)switch(b+=(r-m)/w+1e-5|0,g){case 1:b=Math.min(p-1,b);break;case 2:b%=p;break;case 3:{let x=(p<<1)-2;b=x==0?0:b%x,b>=p&&(b=x-b);break}case 4:b=Math.max(p-1-b,0);break;case 5:b=p-1-b%p;break;case 6:{let x=(p<<1)-2;b=x==0?0:(b+p-1)%x,b>=p&&(b=x-b)}}n.sequenceIndex=b}},Os=class Dt{static _emptyAnimation=new Mt("<empty>",[],0);static emptyAnimation(){return Dt._emptyAnimation}data;tracks=new Array;timeScale=1;unkeyedState=0;events=new Array;listeners=new Array;queue=new ns(this);propertyIDs=new zt;animationsChanged=!1;trackEntryPool=new vt(()=>new as);constructor(e){this.data=e}update(e){e*=this.timeScale;let s=this.tracks;for(let r=0,i=s.length;r<i;r++){let h=s[r];if(!h)continue;h.animationLast=h.nextAnimationLast,h.trackLast=h.nextTrackLast;let l=e*h.timeScale;if(h.delay>0){if(h.delay-=l,h.delay>0)continue;l=-h.delay,h.delay=0}let a=h.next;if(a){let n=h.trackLast-a.delay;if(n>=0){for(a.delay=0,a.trackTime+=h.timeScale==0?0:(n/h.timeScale+e)*a.timeScale,h.trackTime+=l,this.setCurrent(r,a,!0);a.mixingFrom;)a.mixTime+=e,a=a.mixingFrom;continue}}else if(h.trackLast>=h.trackEnd&&!h.mixingFrom){s[r]=null,this.queue.end(h),this.clearNext(h);continue}if(h.mixingFrom&&this.updateMixingFrom(h,e)){let n=h.mixingFrom;for(h.mixingFrom=null,n&&(n.mixingTo=null);n;)this.queue.end(n),n=n.mixingFrom}h.trackTime+=l}this.queue.drain()}updateMixingFrom(e,s){let r=e.mixingFrom;if(!r)return!0;let i=this.updateMixingFrom(r,s);return r.animationLast=r.nextAnimationLast,r.trackLast=r.nextTrackLast,e.nextTrackLast!=-1&&e.mixTime>=e.mixDuration?((r.totalAlpha==0||e.mixDuration==0)&&(e.mixingFrom=r.mixingFrom,r.mixingFrom!=null&&(r.mixingFrom.mixingTo=e),e.interruptAlpha=r.interruptAlpha,this.queue.end(r)),i):(r.trackTime+=s*r.timeScale,e.mixTime+=s,!1)}apply(e){if(!e)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();let s=this.events,r=this.tracks,i=!1;for(let d=0,m=r.length;d<m;d++){let u=r[d];if(!u||u.delay>0)continue;i=!0;let w=d==0?1:u.mixBlend,b=u.alpha;u.mixingFrom?b*=this.applyMixingFrom(u,e,w):u.trackTime>=u.trackEnd&&!u.next&&(b=0);let p=b>=u.alphaAttachmentThreshold,g=u.animationLast,x=u.getAnimationTime(),y=x,v=s;u.reverse&&(y=u.animation.duration-y,v=null);let A=u.animation.timelines,I=A.length;if(d==0&&b==1||w==3){d==0&&(p=!0);for(let C=0;C<I;C++){P.webkit602BugfixHelper(b,w);var h=A[C];h instanceof ut?this.applyAttachmentTimeline(h,e,y,w,p):h.apply(e,g,y,v,b,w,0)}}else{let C=u.timelineMode,T=u.shortestRotation,M=!T&&u.timelinesRotation.length!=I<<1;M&&(u.timelinesRotation.length=I<<1);for(let Y=0;Y<I;Y++){let F=A[Y],E=C[Y]==Et?w:0;!T&&F instanceof At?this.applyRotateTimeline(F,e,y,b,E,u.timelinesRotation,Y<<1,M):F instanceof ut?this.applyAttachmentTimeline(F,e,y,w,p):(P.webkit602BugfixHelper(b,w),F.apply(e,g,y,v,b,E,0))}}this.queueEvents(u,x),s.length=0,u.nextAnimationLast=x,u.nextTrackLast=u.trackTime}for(var l=this.unkeyedState+Se,a=e.slots,n=0,o=e.slots.length;n<o;n++){var c=a[n];if(c.attachmentState==l){var f=c.data.attachmentName;c.setAttachment(f?e.getAttachment(c.data.index,f):null)}}return this.unkeyedState+=2,this.queue.drain(),i}applyMixingFrom(e,s,r){let i=e.mixingFrom;i.mixingFrom&&this.applyMixingFrom(i,s,r);let h=0;e.mixDuration==0?(h=1,r==1&&(r=0)):(h=e.mixTime/e.mixDuration,h>1&&(h=1),r!=1&&(r=i.mixBlend));let l=h<i.mixAttachmentThreshold,a=h<i.mixDrawOrderThreshold,n=i.animation.timelines,o=n.length,c=i.alpha*e.interruptAlpha,f=c*(1-h),d=i.animationLast,m=i.getAnimationTime(),u=m,w=null;if(i.reverse?u=i.animation.duration-u:h<i.eventThreshold&&(w=this.events),r==3)for(let b=0;b<o;b++)n[b].apply(s,d,u,w,f,r,1);else{let b=i.timelineMode,p=i.timelineHoldMix,g=i.shortestRotation,x=!g&&i.timelinesRotation.length!=o<<1;x&&(i.timelinesRotation.length=o<<1),i.totalAlpha=0;for(let y=0;y<o;y++){let v=n[y],A=1,I,C=0;switch(b[y]){case Et:if(!a&&v instanceof wt)continue;I=r,C=f;break;case ve:I=0,C=f;break;case Ae:I=r,C=c;break;case Rt:I=0,C=c;break;default:I=0;let T=p[y];C=c*Math.max(0,1-T.mixTime/T.mixDuration);break}i.totalAlpha+=C,!g&&v instanceof At?this.applyRotateTimeline(v,s,u,C,I,i.timelinesRotation,y<<1,x):v instanceof ut?this.applyAttachmentTimeline(v,s,u,I,l&&C>=i.alphaAttachmentThreshold):(P.webkit602BugfixHelper(C,r),a&&v instanceof wt&&I==0&&(A=0),v.apply(s,d,u,w,C,I,A))}}return e.mixDuration>0&&this.queueEvents(i,m),this.events.length=0,i.nextAnimationLast=m,i.nextTrackLast=i.trackTime,h}applyAttachmentTimeline(e,s,r,i,h){var l=s.slots[e.slotIndex];l.bone.active&&(r<e.frames[0]?(i==0||i==1)&&this.setAttachment(s,l,l.data.attachmentName,h):this.setAttachment(s,l,e.attachmentNames[H.search1(e.frames,r)],h),l.attachmentState<=this.unkeyedState&&(l.attachmentState=this.unkeyedState+Se))}setAttachment(e,s,r,i){s.setAttachment(r?e.getAttachment(s.data.index,r):null),i&&(s.attachmentState=this.unkeyedState+hs)}applyRotateTimeline(e,s,r,i,h,l,a,n){if(n&&(l[a]=0),i==1){e.apply(s,0,r,null,1,h,0);return}let o=s.bones[e.boneIndex];if(!o.active)return;let c=e.frames,f=0,d=0;if(r<c[0])switch(h){case 0:o.rotation=o.data.rotation;default:return;case 1:f=o.rotation,d=o.data.rotation}else f=h==0?o.data.rotation:o.rotation,d=o.data.rotation+e.getCurveValue(r);let m=0,u=d-f;if(u-=Math.ceil(u/360-.5)*360,u==0)m=l[a];else{let w=0,b=0;n?(w=0,b=u):(w=l[a],b=l[a+1]);let p=w-w%360;m=u+p;let g=u>=0,x=w>=0;Math.abs(b)<=90&&R.signum(b)!=R.signum(u)&&(Math.abs(w-p)>180?(m+=360*R.signum(w),x=g):p!=0?m-=360*R.signum(w):x=g),x!=g&&(m+=360*R.signum(w)),l[a]=m}l[a+1]=u,o.rotation=f+m*i}queueEvents(e,s){let r=e.animationStart,i=e.animationEnd,h=i-r,l=e.trackLast%h,a=this.events,n=0,o=a.length;for(;n<o;n++){let f=a[n];if(f.time<l)break;f.time>i||this.queue.event(e,f)}let c=!1;if(e.loop)if(h==0)c=!0;else{const f=Math.floor(e.trackTime/h);c=f>0&&f>Math.floor(e.trackLast/h)}else c=s>=i&&e.animationLast<i;for(c&&this.queue.complete(e);n<o;n++){let f=a[n];f.time<r||this.queue.event(e,f)}}clearTracks(){let e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let s=0,r=this.tracks.length;s<r;s++)this.clearTrack(s);this.tracks.length=0,this.queue.drainDisabled=e,this.queue.drain()}clearTrack(e){if(e>=this.tracks.length)return;let s=this.tracks[e];if(!s)return;this.queue.end(s),this.clearNext(s);let r=s;for(;;){let i=r.mixingFrom;if(!i)break;this.queue.end(i),r.mixingFrom=null,r.mixingTo=null,r=i}this.tracks[s.trackIndex]=null,this.queue.drain()}setCurrent(e,s,r){let i=this.expandToIndex(e);this.tracks[e]=s,s.previous=null,i&&(r&&this.queue.interrupt(i),s.mixingFrom=i,i.mixingTo=s,s.mixTime=0,i.mixingFrom&&i.mixDuration>0&&(s.interruptAlpha*=Math.min(1,i.mixTime/i.mixDuration)),i.timelinesRotation.length=0),this.queue.start(s)}setAnimation(e,s,r=!1){let i=this.data.skeletonData.findAnimation(s);if(!i)throw new Error("Animation not found: "+s);return this.setAnimationWith(e,i,r)}setAnimationWith(e,s,r=!1){if(!s)throw new Error("animation cannot be null.");let i=!0,h=this.expandToIndex(e);h&&(h.nextTrackLast==-1?(this.tracks[e]=h.mixingFrom,this.queue.interrupt(h),this.queue.end(h),this.clearNext(h),h=h.mixingFrom,i=!1):this.clearNext(h));let l=this.trackEntry(e,s,r,h);return this.setCurrent(e,l,i),this.queue.drain(),l}addAnimation(e,s,r=!1,i=0){let h=this.data.skeletonData.findAnimation(s);if(!h)throw new Error("Animation not found: "+s);return this.addAnimationWith(e,h,r,i)}addAnimationWith(e,s,r=!1,i=0){if(!s)throw new Error("animation cannot be null.");let h=this.expandToIndex(e);if(h)for(;h.next;)h=h.next;let l=this.trackEntry(e,s,r,h);return h?(h.next=l,l.previous=h,i<=0&&(i=Math.max(i+h.getTrackComplete()-l.mixDuration,0))):(this.setCurrent(e,l,!0),this.queue.drain(),i<0&&(i=0)),l.delay=i,l}setEmptyAnimation(e,s=0){let r=this.setAnimationWith(e,Dt.emptyAnimation(),!1);return r.mixDuration=s,r.trackEnd=s,r}addEmptyAnimation(e,s=0,r=0){let i=this.addAnimationWith(e,Dt.emptyAnimation(),!1,r);return r<=0&&(i.delay=Math.max(i.delay+i.mixDuration-s,0)),i.mixDuration=s,i.trackEnd=s,i}setEmptyAnimations(e=0){let s=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let r=0,i=this.tracks.length;r<i;r++){let h=this.tracks[r];h&&this.setEmptyAnimation(h.trackIndex,e)}this.queue.drainDisabled=s,this.queue.drain()}expandToIndex(e){return e<this.tracks.length?this.tracks[e]:(P.ensureArrayCapacity(this.tracks,e+1,null),this.tracks.length=e+1,null)}trackEntry(e,s,r,i){let h=this.trackEntryPool.obtain();return h.reset(),h.trackIndex=e,h.animation=s,h.loop=r,h.holdPrevious=!1,h.reverse=!1,h.shortestRotation=!1,h.eventThreshold=0,h.alphaAttachmentThreshold=0,h.mixAttachmentThreshold=0,h.mixDrawOrderThreshold=0,h.animationStart=0,h.animationEnd=s.duration,h.animationLast=-1,h.nextAnimationLast=-1,h.delay=0,h.trackTime=0,h.trackLast=-1,h.nextTrackLast=-1,h.trackEnd=Number.MAX_VALUE,h.timeScale=1,h.alpha=1,h.mixTime=0,h.mixDuration=i?this.data.getMix(i.animation,s):0,h.interruptAlpha=1,h.totalAlpha=0,h.mixBlend=2,h}clearNext(e){let s=e.next;for(;s;)this.queue.dispose(s),s=s.next;e.next=null}_animationsChanged(){this.animationsChanged=!1,this.propertyIDs.clear();let e=this.tracks;for(let s=0,r=e.length;s<r;s++){let i=e[s];if(i){for(;i.mixingFrom;)i=i.mixingFrom;do(!i.mixingTo||i.mixBlend!=3)&&this.computeHold(i),i=i.mixingTo;while(i)}}}computeHold(e){let s=e.mixingTo,r=e.animation.timelines,i=e.animation.timelines.length,h=e.timelineMode;h.length=i;let l=e.timelineHoldMix;l.length=0;let a=this.propertyIDs;if(s&&s.holdPrevious){for(let n=0;n<i;n++)h[n]=a.addAll(r[n].getPropertyIds())?Rt:Ae;return}t:for(let n=0;n<i;n++){let o=r[n],c=o.getPropertyIds();if(!a.addAll(c))h[n]=Et;else if(!s||o instanceof ut||o instanceof wt||o instanceof Ft||!s.animation.hasTimeline(c))h[n]=ve;else{for(let f=s.mixingTo;f;f=f.mixingTo)if(!f.animation.hasTimeline(c)){if(e.mixDuration>0){h[n]=os,l[n]=f;continue t}break}h[n]=Rt}}}getCurrent(e){return e>=this.tracks.length?null:this.tracks[e]}addListener(e){if(!e)throw new Error("listener cannot be null.");this.listeners.push(e)}removeListener(e){let s=this.listeners.indexOf(e);s>=0&&this.listeners.splice(s,1)}clearListeners(){this.listeners.length=0}clearListenerNotifications(){this.queue.clear()}},as=class{animation=null;previous=null;next=null;mixingFrom=null;mixingTo=null;listener=null;trackIndex=0;loop=!1;holdPrevious=!1;reverse=!1;shortestRotation=!1;eventThreshold=0;mixAttachmentThreshold=0;alphaAttachmentThreshold=0;mixDrawOrderThreshold=0;animationStart=0;animationEnd=0;animationLast=0;nextAnimationLast=0;delay=0;trackTime=0;trackLast=0;nextTrackLast=0;trackEnd=0;timeScale=0;alpha=0;mixTime=0;_mixDuration=0;interruptAlpha=0;totalAlpha=0;get mixDuration(){return this._mixDuration}set mixDuration(t){this._mixDuration=t}setMixDurationWithDelay(t,e){this._mixDuration=t,e<=0&&(this.previous!=null?e=Math.max(e+this.previous.getTrackComplete()-t,0):e=0),this.delay=e}mixBlend=2;timelineMode=new Array;timelineHoldMix=new Array;timelinesRotation=new Array;reset(){this.next=null,this.previous=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}getAnimationTime(){if(this.loop){let t=this.animationEnd-this.animationStart;return t==0?this.animationStart:this.trackTime%t+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)}setAnimationLast(t){this.animationLast=t,this.nextAnimationLast=t}isComplete(){return this.trackTime>=this.animationEnd-this.animationStart}resetRotationDirections(){this.timelinesRotation.length=0}getTrackComplete(){let t=this.animationEnd-this.animationStart;if(t!=0){if(this.loop)return t*(1+(this.trackTime/t|0));if(this.trackTime<t)return t}return this.trackTime}wasApplied(){return this.nextTrackLast!=-1}isNextReady(){return this.next!=null&&this.nextTrackLast-this.next.delay>=0}},ns=class{objects=[];drainDisabled=!1;animState;constructor(t){this.animState=t}start(t){this.objects.push(0),this.objects.push(t),this.animState.animationsChanged=!0}interrupt(t){this.objects.push(1),this.objects.push(t)}end(t){this.objects.push(2),this.objects.push(t),this.animState.animationsChanged=!0}dispose(t){this.objects.push(3),this.objects.push(t)}complete(t){this.objects.push(4),this.objects.push(t)}event(t,e){this.objects.push(5),this.objects.push(t),this.objects.push(e)}drain(){if(this.drainDisabled)return;this.drainDisabled=!0;let t=this.objects,e=this.animState.listeners;for(let s=0;s<t.length;s+=2){let r=t[s],i=t[s+1];switch(r){case 0:i.listener&&i.listener.start&&i.listener.start(i);for(let l=0;l<e.length;l++){let a=e[l];a.start&&a.start(i)}break;case 1:i.listener&&i.listener.interrupt&&i.listener.interrupt(i);for(let l=0;l<e.length;l++){let a=e[l];a.interrupt&&a.interrupt(i)}break;case 2:i.listener&&i.listener.end&&i.listener.end(i);for(let l=0;l<e.length;l++){let a=e[l];a.end&&a.end(i)}case 3:i.listener&&i.listener.dispose&&i.listener.dispose(i);for(let l=0;l<e.length;l++){let a=e[l];a.dispose&&a.dispose(i)}this.animState.trackEntryPool.free(i);break;case 4:i.listener&&i.listener.complete&&i.listener.complete(i);for(let l=0;l<e.length;l++){let a=e[l];a.complete&&a.complete(i)}break;case 5:let h=t[s+++2];i.listener&&i.listener.event&&i.listener.event(i,h);for(let l=0;l<e.length;l++){let a=e[l];a.event&&a.event(i,h)}break}}this.clear(),this.drainDisabled=!1}clear(){this.objects.length=0}},ls=(t=>(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))(ls||{}),qs=class{start(t){}interrupt(t){}end(t){}dispose(t){}complete(t){}event(t,e){}},Et=0,ve=1,Ae=2,Rt=3,os=4,Se=1,hs=2,Ws=class{skeletonData;animationToMixTime={};defaultMix=0;constructor(t){if(!t)throw new Error("skeletonData cannot be null.");this.skeletonData=t}setMix(t,e,s){let r=this.skeletonData.findAnimation(t);if(!r)throw new Error("Animation not found: "+t);let i=this.skeletonData.findAnimation(e);if(!i)throw new Error("Animation not found: "+e);this.setMixWith(r,i,s)}setMixWith(t,e,s){if(!t)throw new Error("from cannot be null.");if(!e)throw new Error("to cannot be null.");let r=t.name+"."+e.name;this.animationToMixTime[r]=s}getMix(t,e){let s=t.name+"."+e.name,r=this.animationToMixTime[s];return r===void 0?this.defaultMix:r}},Ie=class Xs extends lt{color=new q(1,1,1,1);constructor(e){super(e)}copy(){let e=new Xs(this.name);return this.copyTo(e),e.color.setFromColor(this.color),e}},Ce=class Fs extends lt{endSlot=null;color=new q(.2275,.2275,.8078,1);constructor(e){super(e)}copy(){let e=new Fs(this.name);return this.copyTo(e),e.endSlot=this.endSlot,e.color.setFromColor(this.color),e}},cs=class{_image;constructor(t){this._image=t}getImage(){return this._image}},Pt=(t=>(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))(Pt||{}),ds=(t=>(t[t.MirroredRepeat=33648]="MirroredRepeat",t[t.ClampToEdge=33071]="ClampToEdge",t[t.Repeat=10497]="Repeat",t))(ds||{}),fs=class{texture;u=0;v=0;u2=0;v2=0;width=0;height=0;degr