1import{T as D,c as _,C as F,R as U,M as V,B as $,d as E,e as k,f as X,P as Y,h as H,i as J}from"./index-DecHlY3e.js";import{A as Z,j,k as ee,l as te,m as se,n as ne,o as oe,p as re,q as ae,r as ie,s as le,t as ce,u as de,v as he,w as ue,x as fe,y as me,z as ge,D as Ce,E as we,F as xe,H as Te,I as be,J as pe,K as ye,L as Ae,N as Pe,O as Se,Q as ve,U as Me,V as ke,W as Le,X as Be,Y as Ie,Z as Re,_ as Ee,$ as Fe,a0 as De,a1 as Ue,a2 as Ve,a3 as _e,a4 as $e,a5 as Xe,a6 as Ye,a7 as He,a8 as qe,a9 as Ne,aa as We,ab as Je,ac as ze,ad as Ge,ae as Oe,af as Ke,ag as Qe,ah as Ze,ai as je,aj as et,ak as tt,al as st,am as nt,an as ot,ao as rt,ap as at,aq as it,ar as lt,as as ct,at as dt,au as ht,av as ut,aw as ft,ax as mt,ay as gt,az as Ct,aA as wt,aB as xt,aC as Tt,aD as bt,aE as pt,aF as yt,aG as At,aH as Pt,aI as St,aJ as vt,aK as Mt,aL as kt,aM as Lt,aN as Bt,aO as It,aP as Rt,aQ as Et,aR as Ft,aS as Dt,aT as Ut,aU as Vt,aV as _t,aW as $t,aX as Xt,aY as Yt,aZ as Ht,a_ as qt,a$ as Nt,b0 as Wt,b1 as Jt,b2 as zt,b3 as Gt,b4 as Ot,b5 as Kt,b6 as Qt,b7 as Zt,b8 as jt,b9 as es,ba as ts,bb as ss,bc as ns,bd as os,be as rs,bf as as,bg as is,bh as ls,bi as cs,bj as ds,bk as hs,bl as us,bm as fs,bn as ms,bo as gs,bp as Cs,bq as ws,br as xs,bs as Ts,bt as bs,bu as ps,bv as ys,bw as As,bx as Ps,by as Ss,bz as vs,bA as Ms,bB as ks,bC as Ls,bD as Bs,bE as Is,bF as Rs,bG as Es,bH as Fs,bI as Ds,bJ as Us,bK as Vs,bL as _s,bM as $s,bN as Xs,bO as Ys,bP as Hs,bQ as qs,bR as Ns}from"./index-DecHlY3e.js";class z{textureLoader;pathPrefix;downloader;cache;errors={};toLoad=0;loaded=0;texturePmaInfo={};constructor(e,t="",o=new q,s=new I){this.textureLoader=e,this.pathPrefix=t,this.downloader=o,this.cache=s}start(e){return this.toLoad++,this.pathPrefix+e}success(e,t,o){this.toLoad--,this.loaded++,this.cache.assets[t]=o,this.cache.assetsRefCount[t]=(this.cache.assetsRefCount[t]||0)+1,e&&e(t,o)}error(e,t,o){this.toLoad--,this.loaded++,this.errors[t]=o,e&&e(t,o)}loadAll(){return new Promise((t,o)=>{const s=()=>
vendor: 12,627 bytes, lines 1-2
1{if(this.isLoadingComplete()){this.hasErrors()?o(this.errors):t(this);return}requestAnimationFrame(s)};requestAnimationFrame(s)})}setRawDataURI(e,t){this.downloader.rawDataUris[this.pathPrefix+e]=t}loadBinary(e,t=()=>{},o=()=>{}){e=this.start(e),!this.reuseAssets(e,t,o)&&(this.cache.assetsLoaded[e]=new Promise((s,n)=>{this.downloader.downloadBinary(e,r=>{this.success(t,e,r),s(r)},(r,d)=>{const l=`Couldn't load binary ${e}: status ${r}, ${d}`;this.error(o,e,l),n(l)})}))}loadText(e,t=()=>{},o=()=>{}){e=this.start(e),this.downloader.downloadText(e,s=>{this.success(t,e,s)},(s,n)=>{this.error(o,e,`Couldn't load text ${e}: status ${s}, ${n}`)})}loadJson(e,t=()=>{},o=()=>{}){e=this.start(e),!this.reuseAssets(e,t,o)&&(this.cache.assetsLoaded[e]=new Promise((s,n)=>{this.downloader.downloadJson(e,r=>{this.success(t,e,r),s(r)},(r,d)=>{const l=`Couldn't load JSON ${e}: status ${r}, ${d}`;this.error(o,e,l),n(l)})}))}reuseAssets(e,t=()=>{},o=()=>{}){const s=this.cache.getAsset(e),n=s!==void 0;return n&&(this.cache.assetsLoaded[e]=s.then(r=>(r=r instanceof Image||r instanceof ImageBitmap?this.textureLoader(r):r,this.success(t,e,r),r)).catch(r=>{this.error(o,e,r)})),n}loadTexture(e,t=()=>{},o=()=>{}){if(e=this.start(e),this.reuseAssets(e,t,o))return;const s=this.texturePmaInfo[e];this.cache.assetsLoaded[e]=new Promise((n,r)=>{if(!!!(typeof window<"u"&&typeof navigator<"u"&&window.document))fetch(e,{mode:"cors"}).then(a=>{if(a.ok)return a.blob();const c=`Couldn't load image: ${e}`;this.error(o,e,`Couldn't load image: ${e}`),r(c)}).then(a=>a?createImageBitmap(a,{premultiplyAlpha:"none",colorSpaceConversion:"none"}):null).then(a=>{if(a){const c=this.createTexture(e,s,a);this.success(t,e,c),n(c)}});else{const a=new Image;a.crossOrigin="anonymous",a.onload=()=>{const c=this.createTexture(e,s,a);this.success(t,e,c),n(c)},a.onerror=()=>{const c=`Couldn't load image: ${e}`;this.error(o,e,c),r(c)},this.downloader.rawDataUris[e]&&(e=this.downloader.rawDataUris[e]),a.src=e}})}loadTextureAtlas(e,t=()=>{},o=()=>{},s){const n=e.lastIndexOf("/"),r=n>=0?e.substring(0,n+1):"";e=this.start(e),!this.reuseAssets(e,t,o)&&(this.cache.assetsLoaded[e]=new Promise((d,l)=>{this.downloader.downloadText(e,a=>{try{const c=this.createTextureAtlas(a,r,e,s);let i=c.pages.length,h=!1;if(i===0){this.success(t,e,c),d(c);return}for(const m of c.pages)this.loadTexture(this.texturePath(r,m.name,s),(u,f)=>{h||(m.setTexture(f),--i===0&&(this.success(t,e,c),d(c)))},(u,f)=>{if(!h){const C=`Couldn't load texture ${e} page image: ${u}`;this.error(o,e,C),l(C)}h=!0})}catch(c){const i=`Couldn't parse texture atlas ${e}: ${c.message}`;this.error(o,e,i),l(i)}},(a,c)=>{const i=`Couldn't load texture atlas ${e}: status ${a}, ${c}`;this.error(o,e,i),l(i)})}))}loadTextureAtlasButNoTextures(e,t=()=>{},o=()=>{}){const s=e.lastIndexOf("/"),n=s>=0?e.substring(0,s+1):"";e=this.start(e),!this.reuseAssets(e,t,o)&&(this.cache.assetsLoaded[e]=new Promise((r,d)=>{this.downloader.downloadText(e,l=>{try{const a=this.createTextureAtlas(l,n,e);this.success(t,e,a),r(a)}catch(a){const c=`Couldn't parse texture atlas ${e}: ${a.message}`;this.error(o,e,c),d(c)}},(l,a)=>{const c=`Couldn't load texture atlas ${e}: status ${l}, ${a}`;this.error(o,e,c),d(c)})}))}async loadBinaryAsync(e){return new Promise((t,o)=>{this.loadBinary(e,(s,n)=>t(n),(s,n)=>o(n))})}async loadJsonAsync(e){return new Promise((t,o)=>{this.loadJson(e,(s,n)=>t(n),(s,n)=>o(n))})}async loadTextureAsync(e){return new Promise((t,o)=>{this.loadTexture(e,(s,n)=>t(n),(s,n)=>o(n))})}async loadTextureAtlasAsync(e){return new Promise((t,o)=>{this.loadTextureAtlas(e,(s,n)=>t(n),(s,n)=>o(n))})}async loadTextureAtlasButNoTexturesAsync(e){return new Promise((t,o)=>{this.loadTextureAtlasButNoTextures(e,(s,n)=>t(n),(s,n)=>o(n))})}setCache(e){this.cache=e}get(e){return this.cache.assets[this.pathPrefix+e]}require(e){e=this.pathPrefix+e;const t=this.cache.assets[e];if(t)return t;const o=this.errors[e];throw Error(`Asset not found: ${e}${o?` 2${o}`:""}`)}remove(e){e=this.pathPrefix+e;const t=this.cache.assets[e];return t.dispose&&t.dispose(),delete this.cache.assets[e],delete this.cache.assetsRefCount[e],delete this.cache.assetsLoaded[e],t}removeAll(){for(const e in this.cache.assets){const t=this.cache.assets[e];t.dispose&&t.dispose()}this.cache.assets={},this.cache.assetsLoaded={},this.cache.assetsRefCount={}}isLoadingComplete(){return this.toLoad===0}getToLoad(){return this.toLoad}getLoaded(){return this.loaded}dispose(){this.removeAll()}disposeAsset(e){const t=this.cache.assets[e];if(t instanceof D){t.dispose();return}this.disposeAssetInternal(e)}hasErrors(){return Object.keys(this.errors).length>0}getErrors(){return this.errors}disposeAssetInternal(e){if(this.cache.assetsRefCount[e]>0&&--this.cache.assetsRefCount[e]===0)return this.remove(e)}createTextureAtlas(e,t,o,s){const n=new D(e);n.dispose=()=>{if(!(this.cache.assetsRefCount[o]<=0)){this.disposeAssetInternal(o);for(const r of n.pages)r.texture?.dispose()}};for(const r of n.pages){const d=this.texturePath(t,r.name,s);this.texturePmaInfo[this.pathPrefix+d]=r.pma}return n}createTexture(e,t,o){const s=this.textureLoader(o,t),n=s.dispose.bind(s);return s.dispose=()=>{this.disposeAssetInternal(e)&&n()},s}texturePath(e,t,o){return o?o[t]:e+t}}class I{assets={};assetsRefCount={};assetsLoaded={};static AVAILABLE_CACHES=new Map;static getCache(e){const t=I.AVAILABLE_CACHES.get(e);if(t)return t;const o=new I;return I.AVAILABLE_CACHES.set(e,o),o}async addAsset(e,t){return this.assetsLoaded[e]=Promise.resolve(t),this.assets[e]=t,t}getAsset(e){return this.assetsLoaded[e]}}class q{callbacks={};rawDataUris={};dataUriToString(e){if(!e.startsWith("data:"))throw new Error("Not a data URI.");let t=e.indexOf("base64,");return t!==-1?(t+=7,atob(e.substr(t))):e.substr(e.indexOf(",")+1)}base64ToUint8Array(e){var t=window.atob(e),o=t.length,s=new Uint8Array(o);for(let n=0;n<o;n++)s[n]=t.charCodeAt(n);return s}dataUriToUint8Array(e){if(!e.startsWith("data:"))throw new Error("Not a data URI.");let t=e.indexOf("base64,");if(t===-1)throw new Error("Not a binary data URI.");return t+=7,this.base64ToUint8Array(e.substr(t))}downloadText(e,t,o){if(this.start(e,t,o))return;const s=this.rawDataUris[e];if(s&&!s.includes(".")){try{this.finish(e,200,this.dataUriToString(s))}catch(d){this.finish(e,400,JSON.stringify(d))}return}const n=new XMLHttpRequest;n.overrideMimeType("text/html"),n.open("GET",s||e,!0);const r=()=>{this.finish(e,n.status,n.responseText)};n.onload=r,n.onerror=r,n.send()}downloadJson(e,t,o){this.downloadText(e,s=>{t(JSON.parse(s))},o)}downloadBinary(e,t,o){if(this.start(e,t,o))return;const s=this.rawDataUris[e];if(s&&!s.includes(".")){try{this.finish(e,200,this.dataUriToUint8Array(s))}catch(d){this.finish(e,400,JSON.stringify(d))}return}const n=new XMLHttpRequest;n.open("GET",s||e,!0),n.responseType="arraybuffer";const r=()=>{this.finish(e,n.status,n.response)};n.onload=()=>{n.status===200||n.status===0?this.finish(e,200,new Uint8Array(n.response)):r()},n.onerror=r,n.send()}start(e,t,o){let s=this.callbacks[e];try{if(s)return!0;this.callbacks[e]=s=[]}finally{s.push(t,o)}}finish(e,t,o){const s=this.callbacks[e];if(delete this.callbacks[e],t===200||t===0)for(let n=0,r=s.length;n<r;n+=2)s[n](o);else for(let n=1,r=s.length;n<r;n+=2)s[n](t,o)}}class G{commandPool=new N;worldVertices=new Float32Array(12*1024);quadIndices=new Uint16Array([0,1,2,2,3,0]);clipping=new _;renderCommands=[];render(e,t=!1,o,s=2,n=0){this.commandPool.reset(),this.renderCommands.length=0;const r=this.clipping;let d=0;const l=e.drawOrder.appliedPose;for(let a=0,c=l.length;a<c;a++){const i=l[a];if(!i.bone.active){r.clipEnd(i);continue}const h=i.appliedPose,m=h.attachment;if(!m){r.clipEnd(i);continue}const u=h.color;if(u.a===0&&!(m instanceof F)){r.clipEnd(i);continue}let C,w,x,p,S,b,B;if(m instanceof U){if(b=m.color,b.a===0){r.clipEnd(i);continue}const g=m.sequence,T=g.resolveIndex(h);m.computeWorldVertices(i,m.getOffsets(h),this.worldVertices,0,s),C=this.worldVertices,w=4,x=g.getUVs(T),p=this.quadIndices,S=6,B=g.regions[T]?.texture}else if(m instanceof V){if(b=m.color,b.a===0){r.clipEnd(i);continue}this.worldVertices.length<m.worldVerticesLength&&(this.worldVertices=new Float32Array(m.worldVerticesLength)),m.computeWorldVertices(e,i,0,m.worldVerticesLength,this.worldVertices,0,s),C=this.worldVertices,w=m.worldVerticesLength>>1;const g=m.sequence,T=g.resolveIndex(h);x=g.getUVs(T),p=m.triangles,S=p.length,B=g.regions[T]?.texture}else if(m instanceof F){r.clipEnd(i),r.clipStart(e,i,m);continue}else{r.clipEnd(i);continue}if(!B){r.clipEnd(i);continue}const y=e.color;let M,L;if(t){let g;if(o){g=Math.floor(o[3]*y.a*u.a*b.a*255);const T=Math.floor(g*o[0]*y.r*u.r*b.r),A=Math.floor(g*o[1]*y.g*u.g*b.g),P=Math.floor(g*o[2]*y.b*u.b*b.b);M=g<<24|T<<16|A<<8|P}else{g=Math.floor(y.a*u.a*b.a*255);const T=Math.floor(g*y.r*u.r*b.r),A=Math.floor(g*y.g*u.g*b.g),P=Math.floor(g*y.b*u.b*b.b);M=g<<24|T<<16|A<<8|P}if(L=4278190080,h.darkColor){const{r:T,g:A,b:P}=h.darkColor;L=4278190080|Math.floor(T*g)<<16|Math.floor(A*g)<<8|Math.floor(P*g)}}else{if(o){const g=Math.floor(o[3]*y.a*u.a*b.a*255),T=Math.floor(o[0]*y.r*u.r*b.r*255),A=Math.floor(o[1]*y.g*u.g*b.g*255),P=Math.floor(o[2]*y.b*u.b*b.b*255);M=g<<24|T<<16|A<<8|P}else{const g=Math.floor(y.a*u.a*b.a*255),T=Math.floor(y.r*u.r*b.r*255),A=Math.floor(y.g*u.g*b.g*255),P=Math.floor(y.b*u.b*b.b*255);M=g<<24|T<<16|A<<8|P}if(L=0,h.darkColor){const{r:g,g:T,b:A}=h.darkColor;L=Math.floor(g*255)<<16|Math.floor(T*255)<<8|Math.floor(A*255)}}r.isClipping()&&(r.clipTrianglesUnpacked(C,0,p,S,x,s),C=r.clippedVerticesTyped,w=r.clippedVerticesLength/s,x=r.clippedUVsTyped,p=r.clippedTrianglesTyped,S=r.clippedTrianglesLength);const v=this.commandPool.getCommand(w,S,s);if(v.blendMode=i.data.blendMode,v.texture=B,v.positions.set(C.subarray(0,w*s)),s>=3)for(let g=2,T=w*s;g<T;g+=s)v.positions[g]=d;v.uvs.set(x.subarray(0,w<<1));for(let g=0;g<w;g++)v.colors[g]=M,v.darkColors[g]=L;p instanceof Uint16Array?v.indices.set(p.subarray(0,S)):v.indices.set(p.slice(0,S)),this.renderCommands.push(v),d+=n,r.clipEnd(i)}return r.clipEnd(),this.batchCommands(s)}batchSubCommands(e,t,o,s,n,r){const d=e[t],l=this.commandPool.getCommand(s,n,r);l.blendMode=d.blendMode,l.texture=d.texture;let a=0,c=0,i=0,h=0,m=0;for(let u=t;u<=o;u++){const f=e[u];l.positions.set(f.positions,a),a+=f.numVertices*r,l.uvs.set(f.uvs,c),c+=f.numVertices<<1,l.colors.set(f.colors,i),l.darkColors.set(f.darkColors,i),i+=f.numVertices;for(let C=0;C<f.numIndices;C++)l.indices[h+C]=f.indices[C]+m;h+=f.numIndices,m+=f.numVertices}return l}batchCommands(e){if(this.renderCommands.length===0)return;let t,o,s=this.renderCommands[0],n=0,r=1,d=s.numVertices,l=s.numIndices;for(;r<=this.renderCommands.length;){const a=r<this.renderCommands.length?this.renderCommands[r]:null;if(a&&a.numVertices===0&&a.numIndices===0){r++;continue}if(a!==null&&a.texture===s.texture&&a.blendMode===s.blendMode&&a.colors[0]===s.colors[0]&&a.darkColors[0]===s.darkColors[0]&&l+a.numIndices<65535)d+=a.numVertices,l+=a.numIndices;else{const i=this.batchSubCommands(this.renderCommands,n,r-1,d,l,e);if(o?(o.next=i,o=i):t=o=i,r===this.renderCommands.length)break;s=this.renderCommands[r],n=r,d=s.numVertices,l=s.numIndices}r++}return t}}class N{pool=[];inUse=[];getCommand(e,t,o){let s;for(const n of this.pool)if(n._positions.length>=e*o&&n._indices.length>=t){s=n;break}if(s)this.pool.splice(this.pool.indexOf(s),1),s.next=void 0,s.numVertices=e,s.numIndices=t,s.positions=s._positions.subarray(0,e*o),s.uvs=s._uvs.subarray(0,e<<1),s.colors=s._colors.subarray(0,e),s.darkColors=s._darkColors.subarray(0,e),s.indices=s._indices.subarray(0,t);else{const n=new Float32Array(e*o),r=new Float32Array(e<<1),d=new Uint32Array(e),l=new Uint32Array(e),a=new Uint16Array(t);s={positions:n,uvs:r,colors:d,darkColors:l,indices:a,_positions:n,_uvs:r,_colors:d,_darkColors:l,_indices:a,numVertices:e,numIndices:t,blendMode:$.Normal,texture:null}}return this.inUse.push(s),s}reset(){this.pool.push(...this.inUse),this.inUse.length=0}}class O{registeredSpines=new Map;drawMeshHull=!0;drawMeshTriangles=!0;drawBones=!0;drawPaths=!0;drawBoundingBoxes=!0;drawClipping=!0;drawRegionAttachments=!0;drawEvents=!0;lineWidth=1;regionAttachmentsColor=30975;meshHullColor=30975;meshTrianglesColor=16763904;clippingPolygonColor=16711935;boundingBoxesRectColor=65280;boundingBoxesPolygonColor=65280;boundingBoxesCircleColor=65280;pathsCurveColor=16711680;pathsLineColor=16711935;skeletonXYColor=16711680;bonesColor=61132;eventFontSize=24;eventFontColor=0;registerSpine(e){if(this.registeredSpines.has(e)){console.warn("SpineDebugRenderer.registerSpine() - this
2spine is already registered!",e);return}const t={parentDebugContainer:new E,bones:new E,skeletonXY:new k,regionAttachmentsShape:new k,meshTrianglesLine:new k,meshHullLine:new k,clippingPolygon:new k,boundingBoxesRect:new k,boundingBoxesCircle:new k,boundingBoxesPolygon:new k,pathsCurve:new k,pathsLine:new k,eventText:new E,eventCallback:{event:(o,s)=>{if(this.drawEvents){const n=Math.abs(e.scale.x||e.scale.y||1),r=new H({text:s.data.name,style:{fontSize:this.eventFontSize/n,fill:this.eventFontColor,fontFamily:"monospace"}});r.scale.x=Math.sign(e.scale.x),r.anchor.set(.5),t.eventText.addChild(r),setTimeout(()=>{r.destroyed||r.destroy()},250)}}}};t.parentDebugContainer.addChild(t.bones),t.parentDebugContainer.addChild(t.skeletonXY),t.parentDebugContainer.addChild(t.regionAttachmentsShape),t.parentDebugContainer.addChild(t.meshTrianglesLine),t.parentDebugContainer.addChild(t.meshHullLine),t.parentDebugContainer.addChild(t.clippingPolygon),t.parentDebugContainer.addChild(t.boundingBoxesRect),t.parentDebugContainer.addChild(t.boundingBoxesCircle),t.parentDebugContainer.addChild(t.boundingBoxesPolygon),t.parentDebugContainer.addChild(t.pathsCurve),t.parentDebugContainer.addChild(t.pathsLine),t.parentDebugContainer.addChild(t.eventText),t.parentDebugContainer.zIndex=9999999,t.parentDebugContainer.accessibleChildren=!1,t.parentDebugContainer.eventMode="none",t.parentDebugContainer.interactiveChildren=!1,e.addChild(t.parentDebugContainer),e.state.addListener(t.eventCallback),this.registeredSpines.set(e,t)}renderDebug(e){this.registeredSpines.has(e)||this.registerSpine(e);const t=this.registeredSpines.get(e);if(!t)return;e.addChild(t.parentDebugContainer),t.skeletonXY.clear(),t.regionAttachmentsShape.clear(),t.meshTrianglesLine.clear(),t.meshHullLine.clear(),t.clippingPolygon.clear(),t.boundingBoxesRect.clear(),t.boundingBoxesCircle.clear(),t.boundingBoxesPolygon.clear(),t.pathsCurve.clear(),t.pathsLine.clear();for(let n=t.bones.children.length;n>0;n--)t.bones.children[n-1].destroy({children:!0,texture:!0,textureSource:!0});const o=Math.abs(e.scale.x||e.scale.y||1),s=this.lineWidth/o;if(this.drawBones&&this.drawBonesFunc(e,t,s,o),this.drawPaths&&this.drawPathsFunc(e,t,s),this.drawBoundingBoxes&&this.drawBoundingBoxesFunc(e,t,s),this.drawClipping&&this.drawClippingFunc(e,t,s),(this.drawMeshHull||this.drawMeshTriangles)&&this.drawMeshHullAndMeshTriangles(e,t,s),this.drawRegionAttachments&&this.drawRegionAttachmentsFunc(e,t,s),this.drawEvents)for(const n of t.eventText.children)n.alpha-=.05,n.y-=2}drawBonesFunc(e,t,o,s){const n=e.skeleton,r=n.x,d=n.y,l=n.bones;t.skeletonXY.strokeStyle={width:o,color:this.skeletonXYColor};for(let c=0,i=l.length;c<i;c++){const h=l[c],m=h.data.length,u=h.appliedPose,f=r+u.worldX,C=d+u.worldY,w=r+m*u.a+u.worldX,x=d+m*u.b+u.worldY;if(h.data.name==="root"||h.data.parent===null)continue;const p=Math.abs(f-w),S=Math.abs(C-x),b=Math.pow(p,2),B=S,y=Math.pow(S,2),M=Math.sqrt(b+y),L=Math.pow(M,2),v=Math.PI/180,g=Math.acos((L+y-b)/(2*B*M))||0;if(M===0)continue;const T=new k;t.bones.addChild(T);const A=M/50/s;T.context.poly([0,0,0-A,M-A*3,0,M-A,0+A,M-A*3]).fill(this.bonesColor),T.x=f,T.y=C,T.pivot.y=M;let P=0;f<w&&C<x?P=-g+180*v:f>w&&C<x?P=180*v+g:f>w&&C>x?P=-g:f<w&&C>x?P=g:C===x&&f<w?P=90*v:C===x&&f>w?P=-90*v:f===w&&C<x?P=180*v:f===w&&C>x&&(P=0),T.rotation=P,T.circle(0,M,A*1.2).fill({color:0,alpha:.6}).stroke({width:o+A/2.4,color:this.bonesColor})}const a=o*3;t.skeletonXY.context.moveTo(r-a,d-a).lineTo(r+a,d+a).moveTo(r+a,d-a).lineTo(r-a,d+a).stroke()}drawRegionAttachmentsFunc(e,t,o){const n=e.skeleton.slots;for(let r=0,d=n.length;r<d;r++){const l=n[r];if(!l.bone.active)continue;const a=l.appliedPose.attachment;if(a===null||!(a instanceof U))continue;const c=new Float32Array(8);a.computeWorldVertices(l,a.getOffsets(l.appliedPose),c,0,2),t.regionAttachmentsShape.poly(Array.from(c.slice(0,8)))}t.regionAttachmentsShape.stroke({color:this.regionAttachmentsColor,width:o})}drawMeshHullAndMeshTriangles(e,t,o){const s=e.skeleton,n=s.slots;for(let r=0,d=n.length;r<d;r++){const l=n[r];if(!l.bone.active)continue;const a=l.appliedPose.attachment;if(a===null||!(a instanceof V))continue;const c=a,i=new Float32Array(c.worldVerticesLength),h=c.triangles;let m=c.hullLength;if(c.computeWorldVertices(s,l,0,c.worldVerticesLength,i,0,2),this.drawMeshTriangles)for(let u=0,f=h.length;u<f;u+=3){const C=h[u]*2,w=h[u+1]*2,x=h[u+2]*2;t.meshTrianglesLine.context.moveTo(i[C],i[C+1]).lineTo(i[w],i[w+1]).lineTo(i[x],i[x+1])}if(this.drawMeshHull&&m>0){m=(m>>1)*2;let u=i[m-2],f=i[m-1];for(let C=0,w=m;C<w;C+=2){const x=i[C],p=i[C+1];t.meshHullLine.context.moveTo(x,p).lineTo(u,f),u=x,f=p}}}t.meshHullLine.stroke({width:o,color:this.meshHullColor}),t.meshTrianglesLine.stroke({width:o,color:this.meshTrianglesColor})}drawClippingFunc(e,t,o){const s=e.skeleton,n=s.slots;for(let r=0,d=n.length;r<d;r++){const l=n[r];if(!l.bone.active)continue;const a=l.appliedPose.attachment;if(a===null||!(a instanceof F))continue;const c=a,i=c.worldVerticesLength,h=new Float32Array(i);c.computeWorldVertices(s,l,0,i,h,0,2),t.clippingPolygon.poly(Array.from(h)
2)}t.clippingPolygon.stroke({width:o,color:this.clippingPolygonColor,alpha:1})}drawBoundingBoxesFunc(e,t,o){const s=new X;s.update(e.skeleton,!0),s.minX!==1/0&&t.boundingBoxesRect.rect(s.minX,s.minY,s.getWidth(),s.getHeight()).stroke({width:o,color:this.boundingBoxesRectColor});const n=s.polygons,r=(d,l,a)=>{if(a<3)throw new Error("Polygon must contain at least 3 vertices");const c=[],i=o*2;for(let h=0,m=d.length;h<m;h+=2){const u=d[h],f=d[h+1];t.boundingBoxesCircle.beginFill(this.boundingBoxesCircleColor),t.boundingBoxesCircle.drawCircle(u,f,i),t.boundingBoxesCircle.fill(0),t.boundingBoxesCircle.circle(u,f,i).fill({color:this.boundingBoxesCircleColor}),c.push(u,f)}t.boundingBoxesPolygon.poly(c).fill({color:this.boundingBoxesPolygonColor,alpha:.1}).stroke({width:o,color:this.boundingBoxesPolygonColor})};for(let d=0,l=n.length;d<l;d++){const a=n[d];r(a,0,a.length)}}drawPathsFunc(e,t,o){const s=e.skeleton,n=s.slots;for(let r=0,d=n.length;r<d;r++){const l=n[r];if(!l.bone.active)continue;const a=l.appliedPose.attachment;if(a===null||!(a instanceof Y))continue;const c=a;let i=c.worldVerticesLength;const h=new Float32Array(i);c.computeWorldVertices(s,l,0,i,h,0,2);let m=h[2],u=h[3],f=0,C=0;if(c.closed){const w=h[0],x=h[1],p=h[i-2],S=h[i-1];f=h[i-4],C=h[i-3],t.pathsCurve.moveTo(m,u),t.pathsCurve.bezierCurveTo(w,x,p,S,f,C),t.pathsLine.moveTo(m,u),t.pathsLine.lineTo(w,x),t.pathsLine.moveTo(f,C),t.pathsLine.lineTo(p,S)}i-=4;for(let w=4;w<i;w+=6){const x=h[w],p=h[w+1],S=h[w+2],b=h[w+3];f=h[w+4],C=h[w+5],t.pathsCurve.moveTo(m,u),t.pathsCurve.bezierCurveTo(x,p,S,b,f,C),t.pathsLine.moveTo(m,u),t.pathsLine.lineTo(x,p),t.pathsLine.moveTo(f,C),t.pathsLine.lineTo(S,b),m=f,u=C}}t.pathsCurve.stroke({width:o,color:this.pathsCurveColor}),t.pathsLine.stroke({width:o,color:this.pathsLineColor})}unregisterSpine(e){this.registeredSpines.has(e)||console.warn("SpineDebugRenderer.unregisterSpine() - spine is not registered, can't unregister!",e);const t=this.registeredSpines.get(e);t&&(e.state.removeListener(t.eventCallback),t.parentDebugContainer.destroy({textureSource:!0,children:!0,texture:!0}),this.registeredSpines.delete(e))}}export{Z as AABBRectangleBoundsProvider,j as ATTACH_RETAIN,ee as ATTACH_SETUP,te as AlphaTimeline,se as Animation,ne as AnimationState,oe as AnimationStateAdapter,re as AnimationStateData,I as AssetCache,z as AssetManagerBase,ae as AtlasAttachmentLoader,ie as Attachment,le as AttachmentTimeline,ce as BinaryInput,$ as BlendMode,de as Bone,he as BoneData,ue as BonePose,fe as BoneTimeline1,me as BoneTimeline2,ge as BoundingBoxAttachment,Ce as CURRENT,F as ClippingAttachment,we as Color,xe as Constraint,Te as ConstraintData,be as ConstraintTimeline1,pe as CurveTimeline,ye as CurveTimeline1,Ae as DebugUtils,Pe as DeformTimeline,q as Downloader,Se as DrawOrder,ve as DrawOrderFolderTimeline,Me as DrawOrderTimeline,ke as Event,Le as EventData,Be as EventQueue,Ie as EventTimeline,Re as EventType,Ee as FIRST,Fe as FakeTexture,De as FromProperty,Ue as FromRotate,Ve as FromScaleX,_e as FromScaleY,$e as FromShearY,Xe as FromX,Ye as FromY,He as HOLD,qe as IkConstraint,Ne as IkConstraintData,We as IkConstraintPose,Je as IkConstraintTimeline,ze as Inherit,Ge as InheritTimeline,Oe as IntSet,Ke as Interpolation,Qe as MODE,Ze as MathUtils,V as MeshAttachment,je as MixFrom,Y as PathAttachment,et as PathConstraint,tt as PathConstraintData,st as PathConstraintMixTimeline,nt as PathConstraintPose,ot as PathConstraintPositionTimeline,rt as PathConstraintSpacingTimeline,at as Physics,it as PhysicsConstraint,lt as PhysicsConstraintDampingTimeline,ct as PhysicsConstraintData,dt as PhysicsConstraintGravityTimeline,ht as PhysicsConstraintInertiaTimeline,ut as PhysicsConstraintMassTimeline,ft as PhysicsConstraintMixTimeline,mt as PhysicsConstraintPose,gt as PhysicsConstraintResetTimeline,Ct as PhysicsConstraintStrengthTimeline,wt as PhysicsConstraintTimeline,xt as PhysicsConstraintWindTimeline,Tt as PointAttachment,bt as Pool,pt as Posed,yt as PosedActive,At as PosedData,Pt as PositionMode,St as Pow,vt as PowOut,Mt as Property,kt as RGB2Timeline,Lt as RGBA2Timeline,Bt as RGBATimeline,It as RGBTimeline,
2U as RegionAttachment,Rt as RotateMode,Et as RotateTimeline,Ft as SETUP,Dt as ScaleTimeline,Ut as ScaleXTimeline,Vt as ScaleYMode,_t as ScaleYTimeline,$t as Sequence,Xt as SequenceMode,Yt as SequenceModeValues,Ht as SequenceTimeline,qt as SetupPoseBoundsProvider,Nt as ShearTimeline,Wt as ShearXTimeline,Jt as ShearYTimeline,zt as Skeleton,Gt as SkeletonBinary,X as SkeletonBounds,_ as SkeletonClipping,Ot as SkeletonData,Kt as SkeletonJson,Qt as SkeletonPhysicsMovement,G as SkeletonRendererCore,Zt as Skin,jt as SkinEntry,es as SkinsAndAnimationBoundsProvider,ts as Slider,ss as SliderData,ns as SliderMixTimeline,os as SliderPose,rs as SliderTimeline,as as Slot,is as SlotCurveTimeline,ls as SlotData,cs as SlotPose,ds as SpacingMode,J as Spine,O as SpineDebugRenderer,hs as SpinePipe,us as SpineTexture,fs as StringSet,ms as Texture,D as TextureAtlas,gs as TextureAtlasPage,Cs as TextureAtlasRegion,ws as TextureFilter,xs as TextureRegion,Ts as TextureWrap,bs as TimeKeeper,ps as Timeline,ys as ToProperty,As as ToRotate,Ps as ToScaleX,Ss as ToScaleY,vs as ToShearY,Ms as ToX,ks as ToY,Ls as TrackEntry,Bs as TransformConstraint,Is as TransformConstraintData,Rs as TransformConstraintPose,Es as TransformConstraintTimeline,Fs as TranslateTimeline,Ds as TranslateXTimeline,Us as TranslateYTimeline,Vs as Triangulator,_s as Utils,$s as Vector2,Xs as VertexAttachment,Ys as WindowedMean,Hs as isBoneTimeline,qs as isConstraintTimeline,Ns as isSlotTimeline};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.