@eva/plugin-renderer-spine 1.2.7-fix.4 → 1.2.7-fix.5
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/EVA.plugin.renderer.spine.js +1929 -279
- package/dist/EVA.plugin.renderer.spine.js.map +1 -0
- package/dist/EVA.plugin.renderer.spine.min.js +1 -1
- package/dist/miniprogram.js +1774 -262
- package/dist/plugin-renderer-spine.cjs.js.map +1 -0
- package/dist/plugin-renderer-spine.cjs.prod.js +1 -1
- package/dist/plugin-renderer-spine.d.ts +1 -0
- package/dist/plugin-renderer-spine.esm.js.map +1 -0
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EVA.plugin.renderer.spine.js","sources":["../../../node_modules/tslib/tslib.es6.js","../lib/Spine.ts","../lib/pixi-spine.js","../lib/TexCache.ts","../lib/SpineData.ts","../lib/SpineSystem.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, decorators } from '@eva/eva.js';\n\nexport interface SpineParams {\n resource: string;\n animationName: string;\n autoPlay: boolean;\n}\n\nexport default class Spine extends Component<SpineParams> {\n static componentName: string = 'Spine';\n\n @decorators.IDEProp\n resource: string = '';\n\n @decorators.IDEProp\n animationName: string = '';\n\n @decorators.IDEProp\n autoPlay: boolean = true;\n\n usingResource: string;\n armature: any;\n destroied: boolean;\n addHandler: any;\n\n init(obj?: SpineParams) {\n if (!obj) return;\n\n Object.assign(this, obj);\n if (this.autoPlay) {\n this.play(this.animationName);\n }\n }\n onDestroy() {\n this.destroied = true;\n }\n\n play(name?: string, loop?: boolean, track?: number) {\n try {\n if (name) this.animationName = name;\n if (!this.armature) {\n } else {\n if (track === undefined) {\n track = 0;\n }\n this.armature.state.setAnimation(track, this.animationName, loop);\n }\n } catch (e) {\n console.log(e);\n }\n }\n\n stop(track?: number) {\n if (!this.armature) {\n return;\n }\n if (track === undefined) {\n track = 0;\n }\n this.armature.state.setEmptyAnimation(track, 0);\n }\n\n addAnimation(name?: string, delay?: number, loop?: boolean, track?: number) {\n try {\n if (!this.armature) {\n } else {\n if (track === undefined) {\n track = 0;\n }\n this.armature.state.addAnimation(track, name, loop, delay);\n }\n } catch (e) {\n console.log(e);\n }\n }\n setMix(from: string, to: string, duration: number) {\n if (!this.armature) {\n } else {\n this.armature.stateData.setMix(from, to, duration);\n }\n }\n\n getAnim(track: number = 0) {\n try {\n if (!this.armature) {\n } else {\n return this.armature.state.tracks[track].animation.name;\n }\n } catch (e) {\n console.log(e);\n }\n }\n\n setDefaultMix(duration: number) {\n if (!this.armature) {\n } else {\n this.armature.stateData.defaultMix = duration;\n }\n }\n\n setAttachment(slotName: string, attachmentName: string) {\n if (!this.armature) {\n return;\n }\n this.armature.skeleton.setAttachment(slotName, attachmentName);\n }\n\n getBone(boneName: string) {\n if (!this.armature) {\n return;\n }\n return this.armature.skeleton.findBone(boneName);\n }\n}\n","import {\n Texture,\n Rectangle,\n Sprite,\n Graphics,\n mesh,\n Matrix,\n Container,\n SCALE_MODES,\n utils,\n loaders,\n TransformBase,\n TransformStatic,\n DisplayObject,\n Polygon,\n BaseTexture,\n} from 'pixi.js';\n\nconst VERSION = '4.8.9';\nconst loader = loaders.shared;\n\nconst PIXI = {\n Texture,\n Rectangle,\n Sprite,\n Graphics,\n mesh,\n Matrix,\n Container,\n VERSION,\n loaders,\n loader,\n SCALE_MODES,\n utils,\n TransformBase,\n TransformStatic,\n DisplayObject,\n Polygon,\n BaseTexture,\n};\n\n('use strict');\nvar __extends =\n (this && this.__extends) ||\n (function () {\n var extendStatics =\n Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array &&\n function (d, b) {\n d.__proto__ = b;\n }) ||\n function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() {\n this.constructor = d;\n }\n d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __());\n };\n })();\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var Animation = (function () {\n function Animation(name, timelines, duration) {\n if (name == null) throw new Error('name cannot be null.');\n if (timelines == null) throw new Error('timelines cannot be null.');\n this.name = name;\n this.timelines = timelines;\n this.duration = duration;\n }\n Animation.prototype.apply = function (skeleton, lastTime, time, loop, events, alpha, blend, direction) {\n if (skeleton == null) throw new Error('skeleton cannot be null.');\n if (loop && this.duration != 0) {\n time %= this.duration;\n if (lastTime > 0) lastTime %= this.duration;\n }\n var timelines = this.timelines;\n for (var i = 0, n = timelines.length; i < n; i++)\n timelines[i].apply(skeleton, lastTime, time, events, alpha, blend, direction);\n };\n Animation.binarySearch = function (values, target, step) {\n if (step === void 0) {\n step = 1;\n }\n var low = 0;\n var high = values.length / step - 2;\n if (high == 0) return step;\n var current = high >>> 1;\n while (true) {\n if (values[(current + 1) * step] <= target) low = current + 1;\n else high = current;\n if (low == high) return (low + 1) * step;\n current = (low + high) >>> 1;\n }\n };\n Animation.linearSearch = function (values, target, step) {\n for (var i = 0, last = values.length - step; i <= last; i += step) if (values[i] > target) return i;\n return -1;\n };\n return Animation;\n })();\n core.Animation = Animation;\n var MixBlend;\n (function (MixBlend) {\n MixBlend[(MixBlend['setup'] = 0)] = 'setup';\n MixBlend[(MixBlend['first'] = 1)] = 'first';\n MixBlend[(MixBlend['replace'] = 2)] = 'replace';\n MixBlend[(MixBlend['add'] = 3)] = 'add';\n })((MixBlend = core.MixBlend || (core.MixBlend = {})));\n var MixDirection;\n (function (MixDirection) {\n MixDirection[(MixDirection['in'] = 0)] = 'in';\n MixDirection[(MixDirection['out'] = 1)] = 'out';\n })((MixDirection = core.MixDirection || (core.MixDirection = {})));\n var TimelineType;\n (function (TimelineType) {\n TimelineType[(TimelineType['rotate'] = 0)] = 'rotate';\n TimelineType[(TimelineType['translate'] = 1)] = 'translate';\n TimelineType[(TimelineType['scale'] = 2)] = 'scale';\n TimelineType[(TimelineType['shear'] = 3)] = 'shear';\n TimelineType[(TimelineType['attachment'] = 4)] = 'attachment';\n TimelineType[(TimelineType['color'] = 5)] = 'color';\n TimelineType[(TimelineType['deform'] = 6)] = 'deform';\n TimelineType[(TimelineType['event'] = 7)] = 'event';\n TimelineType[(TimelineType['drawOrder'] = 8)] = 'drawOrder';\n TimelineType[(TimelineType['ikConstraint'] = 9)] = 'ikConstraint';\n TimelineType[(TimelineType['transformConstraint'] = 10)] = 'transformConstraint';\n TimelineType[(TimelineType['pathConstraintPosition'] = 11)] = 'pathConstraintPosition';\n TimelineType[(TimelineType['pathConstraintSpacing'] = 12)] = 'pathConstraintSpacing';\n TimelineType[(TimelineType['pathConstraintMix'] = 13)] = 'pathConstraintMix';\n TimelineType[(TimelineType['twoColor'] = 14)] = 'twoColor';\n })((TimelineType = core.TimelineType || (core.TimelineType = {})));\n var CurveTimeline = (function () {\n function CurveTimeline(frameCount) {\n if (frameCount <= 0) throw new Error('frameCount must be > 0: ' + frameCount);\n this.curves = core.Utils.newFloatArray((frameCount - 1) * CurveTimeline.BEZIER_SIZE);\n }\n CurveTimeline.prototype.getFrameCount = function () {\n return this.curves.length / CurveTimeline.BEZIER_SIZE + 1;\n };\n CurveTimeline.prototype.setLinear = function (frameIndex) {\n this.curves[frameIndex * CurveTimeline.BEZIER_SIZE] = CurveTimeline.LINEAR;\n };\n CurveTimeline.prototype.setStepped = function (frameIndex) {\n this.curves[frameIndex * CurveTimeline.BEZIER_SIZE] = CurveTimeline.STEPPED;\n };\n CurveTimeline.prototype.getCurveType = function (frameIndex) {\n var index = frameIndex * CurveTimeline.BEZIER_SIZE;\n if (index == this.curves.length) return CurveTimeline.LINEAR;\n var type = this.curves[index];\n if (type == CurveTimeline.LINEAR) return CurveTimeline.LINEAR;\n if (type == CurveTimeline.STEPPED) return CurveTimeline.STEPPED;\n return CurveTimeline.BEZIER;\n };\n CurveTimeline.prototype.setCurve = function (frameIndex, cx1, cy1, cx2, cy2) {\n var tmpx = (-cx1 * 2 + cx2) * 0.03,\n tmpy = (-cy1 * 2 + cy2) * 0.03;\n var dddfx = ((cx1 - cx2) * 3 + 1) * 0.006,\n dddfy = ((cy1 - cy2) * 3 + 1) * 0.006;\n var ddfx = tmpx * 2 + dddfx,\n ddfy = tmpy * 2 + dddfy;\n var dfx = cx1 * 0.3 + tmpx + dddfx * 0.16666667,\n dfy = cy1 * 0.3 + tmpy + dddfy * 0.16666667;\n var i = frameIndex * CurveTimeline.BEZIER_SIZE;\n var curves = this.curves;\n curves[i++] = CurveTimeline.BEZIER;\n var x = dfx,\n y = dfy;\n for (var n = i + CurveTimeline.BEZIER_SIZE - 1; i < n; i += 2) {\n curves[i] = x;\n curves[i + 1] = y;\n dfx += ddfx;\n dfy += ddfy;\n ddfx += dddfx;\n ddfy += dddfy;\n x += dfx;\n y += dfy;\n }\n };\n CurveTimeline.prototype.getCurvePercent = function (frameIndex, percent) {\n percent = core.MathUtils.clamp(percent, 0, 1);\n var curves = this.curves;\n var i = frameIndex * CurveTimeline.BEZIER_SIZE;\n var type = curves[i];\n if (type == CurveTimeline.LINEAR) return percent;\n if (type == CurveTimeline.STEPPED) return 0;\n i++;\n var x = 0;\n for (var start = i, n = i + CurveTimeline.BEZIER_SIZE - 1; i < n; i += 2) {\n x = curves[i];\n if (x >= percent) {\n var prevX = void 0,\n prevY = void 0;\n if (i == start) {\n prevX = 0;\n prevY = 0;\n } else {\n prevX = curves[i - 2];\n prevY = curves[i - 1];\n }\n return prevY + ((curves[i + 1] - prevY) * (percent - prevX)) / (x - prevX);\n }\n }\n var y = curves[i - 1];\n return y + ((1 - y) * (percent - x)) / (1 - x);\n };\n CurveTimeline.LINEAR = 0;\n CurveTimeline.STEPPED = 1;\n CurveTimeline.BEZIER = 2;\n CurveTimeline.BEZIER_SIZE = 10 * 2 - 1;\n return CurveTimeline;\n })();\n core.CurveTimeline = CurveTimeline;\n var RotateTimeline = (function (_super) {\n __extends(RotateTimeline, _super);\n function RotateTimeline(frameCount) {\n var _this = _super.call(this, frameCount) || this;\n _this.frames = core.Utils.newFloatArray(frameCount << 1);\n return _this;\n }\n RotateTimeline.prototype.getPropertyId = function () {\n return (TimelineType.rotate << 24) + this.boneIndex;\n };\n RotateTimeline.prototype.setFrame = function (frameIndex, time, degrees) {\n frameIndex <<= 1;\n this.frames[frameIndex] = time;\n this.frames[frameIndex + RotateTimeline.ROTATION] = degrees;\n };\n RotateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, blend, direction) {\n var frames = this.frames;\n var bone = skeleton.bones[this.boneIndex];\n if (time < frames[0]) {\n switch (blend) {\n case MixBlend.setup:\n bone.rotation = bone.data.rotation;\n return;\n case MixBlend.first:\n var r_1 = bone.data.rotation - bone.rotation;\n bone.rotation += (r_1 - (16384 - ((16384.499999999996 - r_1 / 360) | 0)) * 360) * alpha;\n }\n return;\n }\n if (time >= frames[frames.length - RotateTimeline.ENTRIES]) {\n var r_2 = frames[frames.length + RotateTimeline.PREV_ROTATION];\n switch (blend) {\n case MixBlend.setup:\n bone.rotation = bone.data.rotation + r_2 * alpha;\n break;\n case MixBlend.first:\n case MixBlend.replace:\n r_2 += bone.data.rotation - bone.rotation;\n r_2 -= (16384 - ((16384.499999999996 - r_2 / 360) | 0)) * 360;\n case MixBlend.add:\n bone.rotation += r_2 * alpha;\n }\n return;\n }\n var frame = Animation.binarySearch(frames, time, RotateTimeline.ENTRIES);\n var prevRotation = frames[frame + RotateTimeline.PREV_ROTATION];\n var frameTime = frames[frame];\n var percent = this.getCurvePercent(\n (frame >> 1) - 1,\n 1 - (time - frameTime) / (frames[frame + RotateTimeline.PREV_TIME] - frameTime),\n );\n var r = frames[frame + RotateTimeline.ROTATION] - prevRotation;\n r = prevRotation + (r - (16384 - ((16384.499999999996 - r / 360) | 0)) * 360) * percent;\n switch (blend) {\n case MixBlend.setup:\n bone.rotation = bone.data.rotation + (r - (16384 - ((16384.499999999996 - r / 360) | 0)) * 360) * alpha;\n break;\n case MixBlend.first:\n case MixBlend.replace:\n r += bone.data.rotation - bone.rotation;\n case MixBlend.add:\n bone.rotation += (r - (16384 - ((16384.499999999996 - r / 360) | 0)) * 360) * alpha;\n }\n };\n RotateTimeline.ENTRIES = 2;\n RotateTimeline.PREV_TIME = -2;\n RotateTimeline.PREV_ROTATION = -1;\n RotateTimeline.ROTATION = 1;\n return RotateTimeline;\n })(CurveTimeline);\n core.RotateTimeline = RotateTimeline;\n var TranslateTimeline = (function (_super) {\n __extends(TranslateTimeline, _super);\n function TranslateTimeline(frameCount) {\n var _this = _super.call(this, frameCount) || this;\n _this.frames = core.Utils.newFloatArray(frameCount * TranslateTimeline.ENTRIES);\n return _this;\n }\n TranslateTimeline.prototype.getPropertyId = function () {\n return (TimelineType.translate << 24) + this.boneIndex;\n };\n TranslateTimeline.prototype.setFrame = function (frameIndex, time, x, y) {\n frameIndex *= TranslateTimeline.ENTRIES;\n this.frames[frameIndex] = time;\n this.frames[frameIndex + TranslateTimeline.X] = x;\n this.frames[frameIndex + TranslateTimeline.Y] = y;\n };\n TranslateTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, blend, direction) {\n var frames = this.frames;\n var bone = skeleton.bones[this.boneIndex];\n if (time < frames[0]) {\n switch (blend) {\n case MixBlend.setup:\n bone.x = bone.data.x;\n bone.y = bone.data.y;\n return;\n case MixBlend.first:\n bone.x += (bone.data.x - bone.x) * alpha;\n bone.y += (bone.data.y - bone.y) * alpha;\n }\n return;\n }\n var x = 0,\n y = 0;\n if (time >= frames[frames.length - TranslateTimeline.ENTRIES]) {\n x = frames[frames.length + TranslateTimeline.PREV_X];\n y = frames[frames.length + TranslateTimeline.PREV_Y];\n } else {\n var frame = Animation.binarySearch(frames, time, TranslateTimeline.ENTRIES);\n x = frames[frame + TranslateTimeline.PREV_X];\n y = frames[frame + TranslateTimeline.PREV_Y];\n var frameTime = frames[frame];\n var percent = this.getCurvePercent(\n frame / TranslateTimeline.ENTRIES - 1,\n 1 - (time - frameTime) / (frames[frame + TranslateTimeline.PREV_TIME] - frameTime),\n );\n x += (frames[frame + TranslateTimeline.X] - x) * percent;\n y += (frames[frame + TranslateTimeline.Y] - y) * percent;\n }\n switch (blend) {\n case MixBlend.setup:\n bone.x = bone.data.x + x * alpha;\n bone.y = bone.data.y + y * alpha;\n break;\n case MixBlend.first:\n case MixBlend.replace:\n bone.x += (bone.data.x + x - bone.x) * alpha;\n bone.y += (bone.data.y + y - bone.y) * alpha;\n break;\n case MixBlend.add:\n bone.x += x * alpha;\n bone.y += y * alpha;\n }\n };\n TranslateTimeline.ENTRIES = 3;\n TranslateTimeline.PREV_TIME = -3;\n TranslateTimeline.PREV_X = -2;\n TranslateTimeline.PREV_Y = -1;\n TranslateTimeline.X = 1;\n TranslateTimeline.Y = 2;\n return TranslateTimeline;\n })(CurveTimeline);\n core.TranslateTimeline = TranslateTimeline;\n var ScaleTimeline = (function (_super) {\n __extends(ScaleTimeline, _super);\n function ScaleTimeline(frameCount) {\n return _super.call(this, frameCount) || this;\n }\n ScaleTimeline.prototype.getPropertyId = function () {\n return (TimelineType.scale << 24) + this.boneIndex;\n };\n ScaleTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, blend, direction) {\n var frames = this.frames;\n var bone = skeleton.bones[this.boneIndex];\n if (time < frames[0]) {\n switch (blend) {\n case MixBlend.setup:\n bone.scaleX = bone.data.scaleX;\n bone.scaleY = bone.data.scaleY;\n return;\n case MixBlend.first:\n bone.scaleX += (bone.data.scaleX - bone.scaleX) * alpha;\n bone.scaleY += (bone.data.scaleY - bone.scaleY) * alpha;\n }\n return;\n }\n var x = 0,\n y = 0;\n if (time >= frames[frames.length - ScaleTimeline.ENTRIES]) {\n x = frames[frames.length + ScaleTimeline.PREV_X] * bone.data.scaleX;\n y = frames[frames.length + ScaleTimeline.PREV_Y] * bone.data.scaleY;\n } else {\n var frame = Animation.binarySearch(frames, time, ScaleTimeline.ENTRIES);\n x = frames[frame + ScaleTimeline.PREV_X];\n y = frames[frame + ScaleTimeline.PREV_Y];\n var frameTime = frames[frame];\n var percent = this.getCurvePercent(\n frame / ScaleTimeline.ENTRIES - 1,\n 1 - (time - frameTime) / (frames[frame + ScaleTimeline.PREV_TIME] - frameTime),\n );\n x = (x + (frames[frame + ScaleTimeline.X] - x) * percent) * bone.data.scaleX;\n y = (y + (frames[frame + ScaleTimeline.Y] - y) * percent) * bone.data.scaleY;\n }\n if (alpha == 1) {\n if (blend == MixBlend.add) {\n bone.scaleX += x - bone.data.scaleX;\n bone.scaleY += y - bone.data.scaleY;\n } else {\n bone.scaleX = x;\n bone.scaleY = y;\n }\n } else {\n var bx = 0,\n by = 0;\n if (direction == MixDirection.out) {\n switch (blend) {\n case MixBlend.setup:\n bx = bone.data.scaleX;\n by = bone.data.scaleY;\n bone.scaleX = bx + (Math.abs(x) * core.MathUtils.signum(bx) - bx) * alpha;\n bone.scaleY = by + (Math.abs(y) * core.MathUtils.signum(by) - by) * alpha;\n break;\n case MixBlend.first:\n case MixBlend.replace:\n bx = bone.scaleX;\n by = bone.scaleY;\n bone.scaleX = bx + (Math.abs(x) * core.MathUtils.signum(bx) - bx) * alpha;\n bone.scaleY = by + (Math.abs(y) * core.MathUtils.signum(by) - by) * alpha;\n break;\n case MixBlend.add:\n bx = bone.scaleX;\n by = bone.scaleY;\n bone.scaleX = bx + (Math.abs(x) * core.MathUtils.signum(bx) - bone.data.scaleX) * alpha;\n bone.scaleY = by + (Math.abs(y) * core.MathUtils.signum(by) - bone.data.scaleY) * alpha;\n }\n } else {\n switch (blend) {\n case MixBlend.setup:\n bx = Math.abs(bone.data.scaleX) * core.MathUtils.signum(x);\n by = Math.abs(bone.data.scaleY) * core.MathUtils.signum(y);\n bone.scaleX = bx + (x - bx) * alpha;\n bone.scaleY = by + (y - by) * alpha;\n break;\n case MixBlend.first:\n case MixBlend.replace:\n bx = Math.abs(bone.scaleX) * core.MathUtils.signum(x);\n by = Math.abs(bone.scaleY) * core.MathUtils.signum(y);\n bone.scaleX = bx + (x - bx) * alpha;\n bone.scaleY = by + (y - by) * alpha;\n break;\n case MixBlend.add:\n bx = core.MathUtils.signum(x);\n by = core.MathUtils.signum(y);\n bone.scaleX = Math.abs(bone.scaleX) * bx + (x - Math.abs(bone.data.scaleX) * bx) * alpha;\n bone.scaleY = Math.abs(bone.scaleY) * by + (y - Math.abs(bone.data.scaleY) * by) * alpha;\n }\n }\n }\n };\n return ScaleTimeline;\n })(TranslateTimeline);\n core.ScaleTimeline = ScaleTimeline;\n var ShearTimeline = (function (_super) {\n __extends(ShearTimeline, _super);\n function ShearTimeline(frameCount) {\n return _super.call(this, frameCount) || this;\n }\n ShearTimeline.prototype.getPropertyId = function () {\n return (TimelineType.shear << 24) + this.boneIndex;\n };\n ShearTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, blend, direction) {\n var frames = this.frames;\n var bone = skeleton.bones[this.boneIndex];\n if (time < frames[0]) {\n switch (blend) {\n case MixBlend.setup:\n bone.shearX = bone.data.shearX;\n bone.shearY = bone.data.shearY;\n return;\n case MixBlend.first:\n bone.shearX += (bone.data.shearX - bone.shearX) * alpha;\n bone.shearY += (bone.data.shearY - bone.shearY) * alpha;\n }\n return;\n }\n var x = 0,\n y = 0;\n if (time >= frames[frames.length - ShearTimeline.ENTRIES]) {\n x = frames[frames.length + ShearTimeline.PREV_X];\n y = frames[frames.length + ShearTimeline.PREV_Y];\n } else {\n var frame = Animation.binarySearch(frames, time, ShearTimeline.ENTRIES);\n x = frames[frame + ShearTimeline.PREV_X];\n y = frames[frame + ShearTimeline.PREV_Y];\n var frameTime = frames[frame];\n var percent = this.getCurvePercent(\n frame / ShearTimeline.ENTRIES - 1,\n 1 - (time - frameTime) / (frames[frame + ShearTimeline.PREV_TIME] - frameTime),\n );\n x = x + (frames[frame + ShearTimeline.X] - x) * percent;\n y = y + (frames[frame + ShearTimeline.Y] - y) * percent;\n }\n switch (blend) {\n case MixBlend.setup:\n bone.shearX = bone.data.shearX + x * alpha;\n bone.shearY = bone.data.shearY + y * alpha;\n break;\n case MixBlend.first:\n case MixBlend.replace:\n bone.shearX += (bone.data.shearX + x - bone.shearX) * alpha;\n bone.shearY += (bone.data.shearY + y - bone.shearY) * alpha;\n break;\n case MixBlend.add:\n bone.shearX += x * alpha;\n bone.shearY += y * alpha;\n }\n };\n return ShearTimeline;\n })(TranslateTimeline);\n core.ShearTimeline = ShearTimeline;\n var ColorTimeline = (function (_super) {\n __extends(ColorTimeline, _super);\n function ColorTimeline(frameCount) {\n var _this = _super.call(this, frameCount) || this;\n _this.frames = core.Utils.newFloatArray(frameCount * ColorTimeline.ENTRIES);\n return _this;\n }\n ColorTimeline.prototype.getPropertyId = function () {\n return (TimelineType.color << 24) + this.slotIndex;\n };\n ColorTimeline.prototype.setFrame = function (frameIndex, time, r, g, b, a) {\n frameIndex *= ColorTimeline.ENTRIES;\n this.frames[frameIndex] = time;\n this.frames[frameIndex + ColorTimeline.R] = r;\n this.frames[frameIndex + ColorTimeline.G] = g;\n this.frames[frameIndex + ColorTimeline.B] = b;\n this.frames[frameIndex + ColorTimeline.A] = a;\n };\n ColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, blend, direction) {\n var slot = skeleton.slots[this.slotIndex];\n var frames = this.frames;\n if (time < frames[0]) {\n switch (blend) {\n case MixBlend.setup:\n slot.color.setFromColor(slot.data.color);\n return;\n case MixBlend.first:\n var color = slot.color,\n setup = slot.data.color;\n color.add(\n (setup.r - color.r) * alpha,\n (setup.g - color.g) * alpha,\n (setup.b - color.b) * alpha,\n (setup.a - color.a) * alpha,\n );\n }\n return;\n }\n var r = 0,\n g = 0,\n b = 0,\n a = 0;\n if (time >= frames[frames.length - ColorTimeline.ENTRIES]) {\n var i = frames.length;\n r = frames[i + ColorTimeline.PREV_R];\n g = frames[i + ColorTimeline.PREV_G];\n b = frames[i + ColorTimeline.PREV_B];\n a = frames[i + ColorTimeline.PREV_A];\n } else {\n var frame = Animation.binarySearch(frames, time, ColorTimeline.ENTRIES);\n r = frames[frame + ColorTimeline.PREV_R];\n g = frames[frame + ColorTimeline.PREV_G];\n b = frames[frame + ColorTimeline.PREV_B];\n a = frames[frame + ColorTimeline.PREV_A];\n var frameTime = frames[frame];\n var percent = this.getCurvePercent(\n frame / ColorTimeline.ENTRIES - 1,\n 1 - (time - frameTime) / (frames[frame + ColorTimeline.PREV_TIME] - frameTime),\n );\n r += (frames[frame + ColorTimeline.R] - r) * percent;\n g += (frames[frame + ColorTimeline.G] - g) * percent;\n b += (frames[frame + ColorTimeline.B] - b) * percent;\n a += (frames[frame + ColorTimeline.A] - a) * percent;\n }\n if (alpha == 1) slot.color.set(r, g, b, a);\n else {\n var color = slot.color;\n if (blend == MixBlend.setup) color.setFromColor(slot.data.color);\n color.add((r - color.r) * alpha, (g - color.g) * alpha, (b - color.b) * alpha, (a - color.a) * alpha);\n }\n };\n ColorTimeline.ENTRIES = 5;\n ColorTimeline.PREV_TIME = -5;\n ColorTimeline.PREV_R = -4;\n ColorTimeline.PREV_G = -3;\n ColorTimeline.PREV_B = -2;\n ColorTimeline.PREV_A = -1;\n ColorTimeline.R = 1;\n ColorTimeline.G = 2;\n ColorTimeline.B = 3;\n ColorTimeline.A = 4;\n return ColorTimeline;\n })(CurveTimeline);\n core.ColorTimeline = ColorTimeline;\n var TwoColorTimeline = (function (_super) {\n __extends(TwoColorTimeline, _super);\n function TwoColorTimeline(frameCount) {\n var _this = _super.call(this, frameCount) || this;\n _this.frames = core.Utils.newFloatArray(frameCount * TwoColorTimeline.ENTRIES);\n return _this;\n }\n TwoColorTimeline.prototype.getPropertyId = function () {\n return (TimelineType.twoColor << 24) + this.slotIndex;\n };\n TwoColorTimeline.prototype.setFrame = function (frameIndex, time, r, g, b, a, r2, g2, b2) {\n frameIndex *= TwoColorTimeline.ENTRIES;\n this.frames[frameIndex] = time;\n this.frames[frameIndex + TwoColorTimeline.R] = r;\n this.frames[frameIndex + TwoColorTimeline.G] = g;\n this.frames[frameIndex + TwoColorTimeline.B] = b;\n this.frames[frameIndex + TwoColorTimeline.A] = a;\n this.frames[frameIndex + TwoColorTimeline.R2] = r2;\n this.frames[frameIndex + TwoColorTimeline.G2] = g2;\n this.frames[frameIndex + TwoColorTimeline.B2] = b2;\n };\n TwoColorTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, blend, direction) {\n var slot = skeleton.slots[this.slotIndex];\n var frames = this.frames;\n if (time < frames[0]) {\n switch (blend) {\n case MixBlend.setup:\n slot.color.setFromColor(slot.data.color);\n slot.darkColor.setFromColor(slot.data.darkColor);\n return;\n case MixBlend.first:\n var light = slot.color,\n dark = slot.darkColor,\n setupLight = slot.data.color,\n setupDark = slot.data.darkColor;\n light.add(\n (setupLight.r - light.r) * alpha,\n (setupLight.g - light.g) * alpha,\n (setupLight.b - light.b) * alpha,\n (setupLight.a - light.a) * alpha,\n );\n dark.add(\n (setupDark.r - dark.r) * alpha,\n (setupDark.g - dark.g) * alpha,\n (setupDark.b - dark.b) * alpha,\n 0,\n );\n }\n return;\n }\n var r = 0,\n g = 0,\n b = 0,\n a = 0,\n r2 = 0,\n g2 = 0,\n b2 = 0;\n if (time >= frames[frames.length - TwoColorTimeline.ENTRIES]) {\n var i = frames.length;\n r = frames[i + TwoColorTimeline.PREV_R];\n g = frames[i + TwoColorTimeline.PREV_G];\n b = frames[i + TwoColorTimeline.PREV_B];\n a = frames[i + TwoColorTimeline.PREV_A];\n r2 = frames[i + TwoColorTimeline.PREV_R2];\n g2 = frames[i + TwoColorTimeline.PREV_G2];\n b2 = frames[i + TwoColorTimeline.PREV_B2];\n } else {\n var frame = Animation.binarySearch(frames, time, TwoColorTimeline.ENTRIES);\n r = frames[frame + TwoColorTimeline.PREV_R];\n g = frames[frame + TwoColorTimeline.PREV_G];\n b = frames[frame + TwoColorTimeline.PREV_B];\n a = frames[frame + TwoColorTimeline.PREV_A];\n r2 = frames[frame + TwoColorTimeline.PREV_R2];\n g2 = frames[frame + TwoColorTimeline.PREV_G2];\n b2 = frames[frame + TwoColorTimeline.PREV_B2];\n var frameTime = frames[frame];\n var percent = this.getCurvePercent(\n frame / TwoColorTimeline.ENTRIES - 1,\n 1 - (time - frameTime) / (frames[frame + TwoColorTimeline.PREV_TIME] - frameTime),\n );\n r += (frames[frame + TwoColorTimeline.R] - r) * percent;\n g += (frames[frame + TwoColorTimeline.G] - g) * percent;\n b += (frames[frame + TwoColorTimeline.B] - b) * percent;\n a += (frames[frame + TwoColorTimeline.A] - a) * percent;\n r2 += (frames[frame + TwoColorTimeline.R2] - r2) * percent;\n g2 += (frames[frame + TwoColorTimeline.G2] - g2) * percent;\n b2 += (frames[frame + TwoColorTimeline.B2] - b2) * percent;\n }\n if (alpha == 1) {\n slot.color.set(r, g, b, a);\n slot.darkColor.set(r2, g2, b2, 1);\n } else {\n var light = slot.color,\n dark = slot.darkColor;\n if (blend == MixBlend.setup) {\n light.setFromColor(slot.data.color);\n dark.setFromColor(slot.data.darkColor);\n }\n light.add((r - light.r) * alpha, (g - light.g) * alpha, (b - light.b) * alpha, (a - light.a) * alpha);\n dark.add((r2 - dark.r) * alpha, (g2 - dark.g) * alpha, (b2 - dark.b) * alpha, 0);\n }\n };\n TwoColorTimeline.ENTRIES = 8;\n TwoColorTimeline.PREV_TIME = -8;\n TwoColorTimeline.PREV_R = -7;\n TwoColorTimeline.PREV_G = -6;\n TwoColorTimeline.PREV_B = -5;\n TwoColorTimeline.PREV_A = -4;\n TwoColorTimeline.PREV_R2 = -3;\n TwoColorTimeline.PREV_G2 = -2;\n TwoColorTimeline.PREV_B2 = -1;\n TwoColorTimeline.R = 1;\n TwoColorTimeline.G = 2;\n TwoColorTimeline.B = 3;\n TwoColorTimeline.A = 4;\n TwoColorTimeline.R2 = 5;\n TwoColorTimeline.G2 = 6;\n TwoColorTimeline.B2 = 7;\n return TwoColorTimeline;\n })(CurveTimeline);\n core.TwoColorTimeline = TwoColorTimeline;\n var AttachmentTimeline = (function () {\n function AttachmentTimeline(frameCount) {\n this.frames = core.Utils.newFloatArray(frameCount);\n this.attachmentNames = new Array(frameCount);\n }\n AttachmentTimeline.prototype.getPropertyId = function () {\n return (TimelineType.attachment << 24) + this.slotIndex;\n };\n AttachmentTimeline.prototype.getFrameCount = function () {\n return this.frames.length;\n };\n AttachmentTimeline.prototype.setFrame = function (frameIndex, time, attachmentName) {\n this.frames[frameIndex] = time;\n this.attachmentNames[frameIndex] = attachmentName;\n };\n AttachmentTimeline.prototype.apply = function (skeleton, lastTime, time, events, alpha, blend, direction) {\n var slot = skeleton.slots[this.slotIndex];\n if (direction == MixDirection.out && blend == MixBlend.setup) {\n var attachmentName_1 = slot.data.attachmentName;\n slot.setAttachment(\n attachmentName_1 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_1),\n );\n return;\n }\n var frames = this.frames;\n if (time < frames[0]) {\n if (blend == MixBlend.setup || blend == MixBlend.first) {\n var attachmentName_2 = slot.data.attachmentName;\n slot.setAttachment(\n attachmentName_2 == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName_2),\n );\n }\n return;\n }\n var frameIndex = 0;\n if (time >= frames[frames.length - 1]) frameIndex = frames.length - 1;\n else frameIndex = Animation.binarySearch(frames, time, 1) - 1;\n var attachmentName = this.attachmentNames[frameIndex];\n skeleton.slots[this.slotIndex].setAttachment(\n attachmentName == null ? null : skeleton.getAttachment(this.slotIndex, attachmentName),\n );\n };\n return AttachmentTimeline;\n })();\n core.AttachmentTimeline = AttachmentTimeline;\n var zeros = null;\n var DeformTimeline = (function (_super) {\n __extends(DeformTimeline, _super);\n function DeformTimeline(frameCount) {\n var _this = _super.call(this, frameCount) || this;\n _this.frames = core.Utils.newFloatArray(frameCount);\n _this.frameVertices = new Array(frameCount);\n if (zeros == null) zeros = core.Utils.newFloatArray(64);\n return _this;\n }\n DeformTimeline.prototype.getPropertyId = function () {\n return (TimelineType.deform << 27) + +this.attachment.id + this.slotIndex;\n };\n DeformTimeline.prototype.setFrame = function (frameIndex, time, vertices) {\n this.frames[frameIndex] = time;\n this.frameVertices[frameIndex] = vertices;\n };\n DeformTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, blend, direction) {\n var slot = skeleton.slots[this.slotIndex];\n var slotAttachment = slot.getAttachment();\n if (!(slotAttachment instanceof core.VertexAttachment) || !slotAttachment.applyDeform(this.attachment)) return;\n var verticesArray = slot.attachmentVertices;\n if (verticesArray.length == 0) blend = MixBlend.setup;\n var frameVertices = this.frameVertices;\n var vertexCount = frameVertices[0].length;\n var frames = this.frames;\n if (time < frames[0]) {\n var vertexAttachment = slotAttachment;\n switch (blend) {\n case MixBlend.setup:\n verticesArray.length = 0;\n return;\n case MixBlend.first:\n if (alpha == 1) {\n verticesArray.length = 0;\n break;\n }\n var vertices_1 = core.Utils.setArraySize(verticesArray, vertexCount);\n if (vertexAttachment.bones == null) {\n var setupVertices = vertexAttachment.vertices;\n for (var i = 0; i < vertexCount; i++) vertices_1[i] += (setupVertices[i] - vertices_1[i]) * alpha;\n } else {\n alpha = 1 - alpha;\n for (var i = 0; i < vertexCount; i++) vertices_1[i] *= alpha;\n }\n }\n return;\n }\n var vertices = core.Utils.setArraySize(verticesArray, vertexCount);\n if (time >= frames[frames.length - 1]) {\n var lastVertices = frameVertices[frames.length - 1];\n if (alpha == 1) {\n if (blend == MixBlend.add) {\n var vertexAttachment = slotAttachment;\n if (vertexAttachment.bones == null) {\n var setupVertices = vertexAttachment.vertices;\n for (var i = 0; i < vertexCount; i++) {\n vertices[i] += lastVertices[i] - setupVertices[i];\n }\n } else {\n for (var i = 0; i < vertexCount; i++) vertices[i] += lastVertices[i];\n }\n } else {\n core.Utils.arrayCopy(lastVertices, 0, vertices, 0, vertexCount);\n }\n } else {\n switch (blend) {\n case MixBlend.setup: {\n var vertexAttachment_1 = slotAttachment;\n if (vertexAttachment_1.bones == null) {\n var setupVertices = vertexAttachment_1.vertices;\n for (var i = 0; i < vertexCount; i++) {\n var setup = setupVertices[i];\n vertices[i] = setup + (lastVertices[i] - setup) * alpha;\n }\n } else {\n for (var i = 0; i < vertexCount; i++) vertices[i] = lastVertices[i] * alpha;\n }\n break;\n }\n case MixBlend.first:\n case MixBlend.replace:\n for (var i = 0; i < vertexCount; i++) vertices[i] += (lastVertices[i] - vertices[i]) * alpha;\n case MixBlend.add:\n var vertexAttachment = slotAttachment;\n if (vertexAttachment.bones == null) {\n var setupVertices = vertexAttachment.vertices;\n for (var i = 0; i < vertexCount; i++) {\n vertices[i] += (lastVertices[i] - setupVertices[i]) * alpha;\n }\n } else {\n for (var i = 0; i < vertexCount; i++) vertices[i] += lastVertices[i] * alpha;\n }\n }\n }\n return;\n }\n var frame = Animation.binarySearch(frames, time);\n var prevVertices = frameVertices[frame - 1];\n var nextVertices = frameVertices[frame];\n var frameTime = frames[frame];\n var percent = this.getCurvePercent(frame - 1, 1 - (time - frameTime) / (frames[frame - 1] - frameTime));\n if (alpha == 1) {\n if (blend == MixBlend.add) {\n var vertexAttachment = slotAttachment;\n if (vertexAttachment.bones == null) {\n var setupVertices = vertexAttachment.vertices;\n for (var i = 0; i < vertexCount; i++) {\n var prev = prevVertices[i];\n vertices[i] += prev + (nextVertices[i] - prev) * percent - setupVertices[i];\n }\n } else {\n for (var i = 0; i < vertexCount; i++) {\n var prev = prevVertices[i];\n vertices[i] += prev + (nextVertices[i] - prev) * percent;\n }\n }\n } else {\n for (var i = 0; i < vertexCount; i++) {\n var prev = prevVertices[i];\n vertices[i] = prev + (nextVertices[i] - prev) * percent;\n }\n }\n } else {\n switch (blend) {\n case MixBlend.setup: {\n var vertexAttachment_2 = slotAttachment;\n if (vertexAttachment_2.bones == null) {\n var setupVertices = vertexAttachment_2.vertices;\n for (var i = 0; i < vertexCount; i++) {\n var prev = prevVertices[i],\n setup = setupVertices[i];\n vertices[i] = setup + (prev + (nextVertices[i] - prev) * percent - setup) * alpha;\n }\n } else {\n for (var i = 0; i < vertexCount; i++) {\n var prev = prevVertices[i];\n vertices[i] = (prev + (nextVertices[i] - prev) * percent) * alpha;\n }\n }\n break;\n }\n case MixBlend.first:\n case MixBlend.replace:\n for (var i = 0; i < vertexCount; i++) {\n var prev = prevVertices[i];\n vertices[i] += (prev + (nextVertices[i] - prev) * percent - vertices[i]) * alpha;\n }\n break;\n case MixBlend.add:\n var vertexAttachment = slotAttachment;\n if (vertexAttachment.bones == null) {\n var setupVertices = vertexAttachment.vertices;\n for (var i = 0; i < vertexCount; i++) {\n var prev = prevVertices[i];\n vertices[i] += (prev + (nextVertices[i] - prev) * percent - setupVertices[i]) * alpha;\n }\n } else {\n for (var i = 0; i < vertexCount; i++) {\n var prev = prevVertices[i];\n vertices[i] += (prev + (nextVertices[i] - prev) * percent) * alpha;\n }\n }\n }\n }\n };\n return DeformTimeline;\n })(CurveTimeline);\n core.DeformTimeline = DeformTimeline;\n var EventTimeline = (function () {\n function EventTimeline(frameCount) {\n this.frames = core.Utils.newFloatArray(frameCount);\n this.events = new Array(frameCount);\n }\n EventTimeline.prototype.getPropertyId = function () {\n return TimelineType.event << 24;\n };\n EventTimeline.prototype.getFrameCount = function () {\n return this.frames.length;\n };\n EventTimeline.prototype.setFrame = function (frameIndex, event) {\n this.frames[frameIndex] = event.time;\n this.events[frameIndex] = event;\n };\n EventTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, blend, direction) {\n if (firedEvents == null) return;\n var frames = this.frames;\n var frameCount = this.frames.length;\n if (lastTime > time) {\n this.apply(skeleton, lastTime, Number.MAX_VALUE, firedEvents, alpha, blend, direction);\n lastTime = -1;\n } else if (lastTime >= frames[frameCount - 1]) return;\n if (time < frames[0]) return;\n var frame = 0;\n if (lastTime < frames[0]) frame = 0;\n else {\n frame = Animation.binarySearch(frames, lastTime);\n var frameTime = frames[frame];\n while (frame > 0) {\n if (frames[frame - 1] != frameTime) break;\n frame--;\n }\n }\n for (; frame < frameCount && time >= frames[frame]; frame++) firedEvents.push(this.events[frame]);\n };\n return EventTimeline;\n })();\n core.EventTimeline = EventTimeline;\n var DrawOrderTimeline = (function () {\n function DrawOrderTimeline(frameCount) {\n this.frames = core.Utils.newFloatArray(frameCount);\n this.drawOrders = new Array(frameCount);\n }\n DrawOrderTimeline.prototype.getPropertyId = function () {\n return TimelineType.drawOrder << 24;\n };\n DrawOrderTimeline.prototype.getFrameCount = function () {\n return this.frames.length;\n };\n DrawOrderTimeline.prototype.setFrame = function (frameIndex, time, drawOrder) {\n this.frames[frameIndex] = time;\n this.drawOrders[frameIndex] = drawOrder;\n };\n DrawOrderTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, blend, direction) {\n var drawOrder = skeleton.drawOrder;\n var slots = skeleton.slots;\n if (direction == MixDirection.out && blend == MixBlend.setup) {\n core.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);\n return;\n }\n var frames = this.frames;\n if (time < frames[0]) {\n if (blend == MixBlend.setup || blend == MixBlend.first)\n core.Utils.arrayCopy(skeleton.slots, 0, skeleton.drawOrder, 0, skeleton.slots.length);\n return;\n }\n var frame = 0;\n if (time >= frames[frames.length - 1]) frame = frames.length - 1;\n else frame = Animation.binarySearch(frames, time) - 1;\n var drawOrderToSetupIndex = this.drawOrders[frame];\n if (drawOrderToSetupIndex == null) core.Utils.arrayCopy(slots, 0, drawOrder, 0, slots.length);\n else {\n for (var i = 0, n = drawOrderToSetupIndex.length; i < n; i++) drawOrder[i] = slots[drawOrderToSetupIndex[i]];\n }\n };\n return DrawOrderTimeline;\n })();\n core.DrawOrderTimeline = DrawOrderTimeline;\n var IkConstraintTimeline = (function (_super) {\n __extends(IkConstraintTimeline, _super);\n function IkConstraintTimeline(frameCount) {\n var _this = _super.call(this, frameCount) || this;\n _this.frames = core.Utils.newFloatArray(frameCount * IkConstraintTimeline.ENTRIES);\n return _this;\n }\n IkConstraintTimeline.prototype.getPropertyId = function () {\n return (TimelineType.ikConstraint << 24) + this.ikConstraintIndex;\n };\n IkConstraintTimeline.prototype.setFrame = function (frameIndex, time, mix, bendDirection, compress, stretch) {\n frameIndex *= IkConstraintTimeline.ENTRIES;\n this.frames[frameIndex] = time;\n this.frames[frameIndex + IkConstraintTimeline.MIX] = mix;\n this.frames[frameIndex + IkConstraintTimeline.BEND_DIRECTION] = bendDirection;\n this.frames[frameIndex + IkConstraintTimeline.COMPRESS] = compress ? 1 : 0;\n this.frames[frameIndex + IkConstraintTimeline.STRETCH] = stretch ? 1 : 0;\n };\n IkConstraintTimeline.prototype.apply = function (skeleton, lastTime, time, firedEvents, alpha, blend, direction) {\n var frames = this.frames;\n var constraint = skeleton.ikConstraints[this.ikConstraintIndex];\n if (time < frames[0]) {\n switch (blend) {\n case MixBlend.setup:\n constraint.mix = constraint.data.mix;\n constraint.bendDirection = constraint.data.bendDirection;\n constraint.compress = constraint.data.compress;\n constraint.stretch = constraint.data.stretch;\n return;\n case MixBlend.first:\n constraint.mix += (constraint.data.mix - constraint.mix) * alpha;\n constraint.bendDirection = constraint.data.bendDirection;\n constraint.compress = constraint.data.compress;\n constraint.stretch = constraint.data.stretch;\n }\n return;\n }\n if (time >= frames[frames.length - IkConstraintTimeline.ENTRIES]) {\n if (blend == MixBlend.setup) {\n constraint.mix =\n constraint.data.mix +\n (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.data.mix) * alpha;\n if (direction == MixDirection.out) {\n constraint.bendDirection = constraint.data.bendDirection;\n constraint.compress = constraint.data.compress;\n constraint.stretch = constraint.data.stretch;\n } else {\n constraint.bendDirection = frames[frames.length + IkConstraintTimeline.PREV_BEND_DIRECTION];\n constraint.compress = frames[frames.length + IkConstraintTimeline.PREV_COMPRESS] != 0;\n constraint.stretch = frames[frames.length + IkConstraintTimeline.PREV_STRETCH] != 0;\n }\n } else {\n constraint.mix += (frames[frames.length + IkConstraintTimeline.PREV_MIX] - constraint.mix) * alpha;\n if (direction == MixDirection.in) {\n constraint.bendDirection = frames[frames.length + IkConstraintTimeline.PREV_BEND_DIRECTION];\n constraint.compress = frames[frames.length + IkConstraintTimeline.PREV_COMPRESS] != 0;\n constraint.stretch = frames[frames.length + IkConstraintTimeline.PREV_STRETCH] != 0;\n }\n }\n return;\n }\n var frame = Animation.binarySearch(frames, time, IkConstraintTimeline.ENTRIES);\n var mix = frames[frame + IkConstraintTimeline.PREV_MIX];\n var frameTime = frames[frame];\n var percent = this.getCurvePercent(\n frame / IkConstraintTimeline.ENTRIES - 1,\n 1 - (time - frameTime) / (frames[frame + IkConstraintTimeline.PREV_TIME] - frameTime),\n );\n if (blend == MixBlend.setup) {\n constraint.mix =\n constraint.data.mix +\n (mix + (frames[frame + IkConstraintTimeline.MIX] - mix) * percent - constraint.data.mix) * alpha;\n if (direction == MixDirection.out) {\n constraint.bendDirection = constraint.data.bendDirection;\n constraint.compress = constraint.data.compress;\n constraint.stretch = constraint.data.stretch;\n } else {\n constraint.bendDirection = frames[frame + IkConstraintTimeline.PREV_BEND_DIRECTION];\n constraint.compress = frames[frame + IkConstraintTimeline.PREV_COMPRESS] != 0;\n constraint.stretch = frames[frame + IkConstraintTimeline.PREV_STRETCH] != 0;\n }\n } else {\n constraint.mix += (mix + (frames[frame + IkConstraintTimeline.MIX] - mix) * percent - constraint.mix) * alpha;\n if (direction == MixDirection.in) {\n constraint.bendDirection = frames[frame + IkConstraintTimeline.PREV_BEND_DIRECTION];\n constraint.compress = frames[frame + IkConstraintTimeline.PREV_COMPRESS] != 0;\n constraint.stretch = frames[frame + IkConstraintTimeline.PREV_STRETCH] != 0;\n }\n }\n };\n IkConstraintTimeline.ENTRIES = 5;\n IkConstraintTimeline.PREV_TIME = -5;\n IkConstraintTimeline.PREV_MIX = -4;\n IkConstraintTimeline.PREV_BEND_DIRECTION = -3;\n IkConstraintTimeline.PREV_COMPRESS = -2;\n IkConstraintTimeline.PREV_STRETCH = -1;\n IkConstraintTimeline.MIX = 1;\n IkConstraintTimeline.BEND_DIRECTION = 2;\n IkConstraintTimeline.COMPRESS = 3;\n IkConstraintTimeline.STRETCH = 4;\n return IkConstraintTimeline;\n })(CurveTimeline);\n core.IkConstraintTimeline = IkConstraintTimeline;\n var TransformConstraintTimeline = (function (_super) {\n __extends(TransformConstraintTimeline, _super);\n function TransformConstraintTimeline(frameCount) {\n var _this = _super.call(this, frameCount) || this;\n _this.frames = core.Utils.newFloatArray(frameCount * TransformConstraintTimeline.ENTRIES);\n return _this;\n }\n TransformConstraintTimeline.prototype.getPropertyId = function () {\n return (TimelineType.transformConstraint << 24) + this.transformConstraintIndex;\n };\n TransformConstraintTimeline.prototype.setFrame = function (\n frameIndex,\n time,\n rotateMix,\n translateMix,\n scaleMix,\n shearMix,\n ) {\n frameIndex *= TransformConstraintTimeline.ENTRIES;\n this.frames[frameIndex] = time;\n this.frames[frameIndex + TransformConstraintTimeline.ROTATE] = rotateMix;\n this.frames[frameIndex + TransformConstraintTimeline.TRANSLATE] = translateMix;\n this.frames[frameIndex + TransformConstraintTimeline.SCALE] = scaleMix;\n this.frames[frameIndex + TransformConstraintTimeline.SHEAR] = shearMix;\n };\n TransformConstraintTimeline.prototype.apply = function (\n skeleton,\n lastTime,\n time,\n firedEvents,\n alpha,\n blend,\n direction,\n ) {\n var frames = this.frames;\n var constraint = skeleton.transformConstraints[this.transformConstraintIndex];\n if (time < frames[0]) {\n var data = constraint.data;\n switch (blend) {\n case MixBlend.setup:\n constraint.rotateMix = data.rotateMix;\n constraint.translateMix = data.translateMix;\n constraint.scaleMix = data.scaleMix;\n constraint.shearMix = data.shearMix;\n return;\n case MixBlend.first:\n constraint.rotateMix += (data.rotateMix - constraint.rotateMix) * alpha;\n constraint.translateMix += (data.translateMix - constraint.translateMix) * alpha;\n constraint.scaleMix += (data.scaleMix - constraint.scaleMix) * alpha;\n constraint.shearMix += (data.shearMix - constraint.shearMix) * alpha;\n }\n return;\n }\n var rotate = 0,\n translate = 0,\n scale = 0,\n shear = 0;\n if (time >= frames[frames.length - TransformConstraintTimeline.ENTRIES]) {\n var i = frames.length;\n rotate = frames[i + TransformConstraintTimeline.PREV_ROTATE];\n translate = frames[i + TransformConstraintTimeline.PREV_TRANSLATE];\n scale = frames[i + TransformConstraintTimeline.PREV_SCALE];\n shear = frames[i + TransformConstraintTimeline.PREV_SHEAR];\n } else {\n var frame = Animation.binarySearch(frames, time, TransformConstraintTimeline.ENTRIES);\n rotate = frames[frame + TransformConstraintTimeline.PREV_ROTATE];\n translate = frames[frame + TransformConstraintTimeline.PREV_TRANSLATE];\n scale = frames[frame + TransformConstraintTimeline.PREV_SCALE];\n shear = frames[frame + TransformConstraintTimeline.PREV_SHEAR];\n var frameTime = frames[frame];\n var percent = this.getCurvePercent(\n frame / TransformConstraintTimeline.ENTRIES - 1,\n 1 - (time - frameTime) / (frames[frame + TransformConstraintTimeline.PREV_TIME] - frameTime),\n );\n rotate += (frames[frame + TransformConstraintTimeline.ROTATE] - rotate) * percent;\n translate += (frames[frame + TransformConstraintTimeline.TRANSLATE] - translate) * percent;\n scale += (frames[frame + TransformConstraintTimeline.SCALE] - scale) * percent;\n shear += (frames[frame + TransformConstraintTimeline.SHEAR] - shear) * percent;\n }\n if (blend == MixBlend.setup) {\n var data = constraint.data;\n constraint.rotateMix = data.rotateMix + (rotate - data.rotateMix) * alpha;\n constraint.translateMix = data.translateMix + (translate - data.translateMix) * alpha;\n constraint.scaleMix = data.scaleMix + (scale - data.scaleMix) * alpha;\n constraint.shearMix = data.shearMix + (shear - data.shearMix) * alpha;\n } else {\n constraint.rotateMix += (rotate - constraint.rotateMix) * alpha;\n constraint.translateMix += (translate - constraint.translateMix) * alpha;\n constraint.scaleMix += (scale - constraint.scaleMix) * alpha;\n constraint.shearMix += (shear - constraint.shearMix) * alpha;\n }\n };\n TransformConstraintTimeline.ENTRIES = 5;\n TransformConstraintTimeline.PREV_TIME = -5;\n TransformConstraintTimeline.PREV_ROTATE = -4;\n TransformConstraintTimeline.PREV_TRANSLATE = -3;\n TransformConstraintTimeline.PREV_SCALE = -2;\n TransformConstraintTimeline.PREV_SHEAR = -1;\n TransformConstraintTimeline.ROTATE = 1;\n TransformConstraintTimeline.TRANSLATE = 2;\n TransformConstraintTimeline.SCALE = 3;\n TransformConstraintTimeline.SHEAR = 4;\n return TransformConstraintTimeline;\n })(CurveTimeline);\n core.TransformConstraintTimeline = TransformConstraintTimeline;\n var PathConstraintPositionTimeline = (function (_super) {\n __extends(PathConstraintPositionTimeline, _super);\n function PathConstraintPositionTimeline(frameCount) {\n var _this = _super.call(this, frameCount) || this;\n _this.frames = core.Utils.newFloatArray(frameCount * PathConstraintPositionTimeline.ENTRIES);\n return _this;\n }\n PathConstraintPositionTimeline.prototype.getPropertyId = function () {\n return (TimelineType.pathConstraintPosition << 24) + this.pathConstraintIndex;\n };\n PathConstraintPositionTimeline.prototype.setFrame = function (frameIndex, time, value) {\n frameIndex *= PathConstraintPositionTimeline.ENTRIES;\n this.frames[frameIndex] = time;\n this.frames[frameIndex + PathConstraintPositionTimeline.VALUE] = value;\n };\n PathConstraintPositionTimeline.prototype.apply = function (\n skeleton,\n lastTime,\n time,\n firedEvents,\n alpha,\n blend,\n direction,\n ) {\n var frames = this.frames;\n var constraint = skeleton.pathConstraints[this.pathConstraintIndex];\n if (time < frames[0]) {\n switch (blend) {\n case MixBlend.setup:\n constraint.position = constraint.data.position;\n return;\n case MixBlend.first:\n constraint.position += (constraint.data.position - constraint.position) * alpha;\n }\n return;\n }\n var position = 0;\n if (time >= frames[frames.length - PathConstraintPositionTimeline.ENTRIES])\n position = frames[frames.length + PathConstraintPositionTimeline.PREV_VALUE];\n else {\n var frame = Animation.binarySearch(frames, time, PathConstraintPositionTimeline.ENTRIES);\n position = frames[frame + PathConstraintPositionTimeline.PREV_VALUE];\n var frameTime = frames[frame];\n var percent = this.getCurvePercent(\n frame / PathConstraintPositionTimeline.ENTRIES - 1,\n 1 - (time - frameTime) / (frames[frame + PathConstraintPositionTimeline.PREV_TIME] - frameTime),\n );\n position += (frames[frame + PathConstraintPositionTimeline.VALUE] - position) * percent;\n }\n if (blend == MixBlend.setup)\n constraint.position = constraint.data.position + (position - constraint.data.position) * alpha;\n else constraint.position += (position - constraint.position) * alpha;\n };\n PathConstraintPositionTimeline.ENTRIES = 2;\n PathConstraintPositionTimeline.PREV_TIME = -2;\n PathConstraintPositionTimeline.PREV_VALUE = -1;\n PathConstraintPositionTimeline.VALUE = 1;\n return PathConstraintPositionTimeline;\n })(CurveTimeline);\n core.PathConstraintPositionTimeline = PathConstraintPositionTimeline;\n var PathConstraintSpacingTimeline = (function (_super) {\n __extends(PathConstraintSpacingTimeline, _super);\n function PathConstraintSpacingTimeline(frameCount) {\n return _super.call(this, frameCount) || this;\n }\n PathConstraintSpacingTimeline.prototype.getPropertyId = function () {\n return (TimelineType.pathConstraintSpacing << 24) + this.pathConstraintIndex;\n };\n PathConstraintSpacingTimeline.prototype.apply = function (\n skeleton,\n lastTime,\n time,\n firedEvents,\n alpha,\n blend,\n direction,\n ) {\n var frames = this.frames;\n var constraint = skeleton.pathConstraints[this.pathConstraintIndex];\n if (time < frames[0]) {\n switch (blend) {\n case MixBlend.setup:\n constraint.spacing = constraint.data.spacing;\n return;\n case MixBlend.first:\n constraint.spacing += (constraint.data.spacing - constraint.spacing) * alpha;\n }\n return;\n }\n var spacing = 0;\n if (time >= frames[frames.length - PathConstraintSpacingTimeline.ENTRIES])\n spacing = frames[frames.length + PathConstraintSpacingTimeline.PREV_VALUE];\n else {\n var frame = Animation.binarySearch(frames, time, PathConstraintSpacingTimeline.ENTRIES);\n spacing = frames[frame + PathConstraintSpacingTimeline.PREV_VALUE];\n var frameTime = frames[frame];\n var percent = this.getCurvePercent(\n frame / PathConstraintSpacingTimeline.ENTRIES - 1,\n 1 - (time - frameTime) / (frames[frame + PathConstraintSpacingTimeline.PREV_TIME] - frameTime),\n );\n spacing += (frames[frame + PathConstraintSpacingTimeline.VALUE] - spacing) * percent;\n }\n if (blend == MixBlend.setup)\n constraint.spacing = constraint.data.spacing + (spacing - constraint.data.spacing) * alpha;\n else constraint.spacing += (spacing - constraint.spacing) * alpha;\n };\n return PathConstraintSpacingTimeline;\n })(PathConstraintPositionTimeline);\n core.PathConstraintSpacingTimeline = PathConstraintSpacingTimeline;\n var PathConstraintMixTimeline = (function (_super) {\n __extends(PathConstraintMixTimeline, _super);\n function PathConstraintMixTimeline(frameCount) {\n var _this = _super.call(this, frameCount) || this;\n _this.frames = core.Utils.newFloatArray(frameCount * PathConstraintMixTimeline.ENTRIES);\n return _this;\n }\n PathConstraintMixTimeline.prototype.getPropertyId = function () {\n return (TimelineType.pathConstraintMix << 24) + this.pathConstraintIndex;\n };\n PathConstraintMixTimeline.prototype.setFrame = function (frameIndex, time, rotateMix, translateMix) {\n frameIndex *= PathConstraintMixTimeline.ENTRIES;\n this.frames[frameIndex] = time;\n this.frames[frameIndex + PathConstraintMixTimeline.ROTATE] = rotateMix;\n this.frames[frameIndex + PathConstraintMixTimeline.TRANSLATE] = translateMix;\n };\n PathConstraintMixTimeline.prototype.apply = function (\n skeleton,\n lastTime,\n time,\n firedEvents,\n alpha,\n blend,\n direction,\n ) {\n var frames = this.frames;\n var constraint = skeleton.pathConstraints[this.pathConstraintIndex];\n if (time < frames[0]) {\n switch (blend) {\n case MixBlend.setup:\n constraint.rotateMix = constraint.data.rotateMix;\n constraint.translateMix = constraint.data.translateMix;\n return;\n case MixBlend.first:\n constraint.rotateMix += (constraint.data.rotateMix - constraint.rotateMix) * alpha;\n constraint.translateMix += (constraint.data.translateMix - constraint.translateMix) * alpha;\n }\n return;\n }\n var rotate = 0,\n translate = 0;\n if (time >= frames[frames.length - PathConstraintMixTimeline.ENTRIES]) {\n rotate = frames[frames.length + PathConstraintMixTimeline.PREV_ROTATE];\n translate = frames[frames.length + PathConstraintMixTimeline.PREV_TRANSLATE];\n } else {\n var frame = Animation.binarySearch(frames, time, PathConstraintMixTimeline.ENTRIES);\n rotate = frames[frame + PathConstraintMixTimeline.PREV_ROTATE];\n translate = frames[frame + PathConstraintMixTimeline.PREV_TRANSLATE];\n var frameTime = frames[frame];\n var percent = this.getCurvePercent(\n frame / PathConstraintMixTimeline.ENTRIES - 1,\n 1 - (time - frameTime) / (frames[frame + PathConstraintMixTimeline.PREV_TIME] - frameTime),\n );\n rotate += (frames[frame + PathConstraintMixTimeline.ROTATE] - rotate) * percent;\n translate += (frames[frame + PathConstraintMixTimeline.TRANSLATE] - translate) * percent;\n }\n if (blend == MixBlend.setup) {\n constraint.rotateMix = constraint.data.rotateMix + (rotate - constraint.data.rotateMix) * alpha;\n constraint.translateMix = constraint.data.translateMix + (translate - constraint.data.translateMix) * alpha;\n } else {\n constraint.rotateMix += (rotate - constraint.rotateMix) * alpha;\n constraint.translateMix += (translate - constraint.translateMix) * alpha;\n }\n };\n PathConstraintMixTimeline.ENTRIES = 3;\n PathConstraintMixTimeline.PREV_TIME = -3;\n PathConstraintMixTimeline.PREV_ROTATE = -2;\n PathConstraintMixTimeline.PREV_TRANSLATE = -1;\n PathConstraintMixTimeline.ROTATE = 1;\n PathConstraintMixTimeline.TRANSLATE = 2;\n return PathConstraintMixTimeline;\n })(CurveTimeline);\n core.PathConstraintMixTimeline = PathConstraintMixTimeline;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var AnimationState = (function () {\n function AnimationState(data) {\n this.tracks = new Array();\n this.events = new Array();\n this.listeners = new Array();\n this.queue = new EventQueue(this);\n this.propertyIDs = new core.IntSet();\n this.animationsChanged = false;\n this.timeScale = 1;\n this.trackEntryPool = new core.Pool(function () {\n return new TrackEntry();\n });\n this.data = data;\n }\n AnimationState.prototype.update = function (delta) {\n delta *= this.timeScale;\n var tracks = this.tracks;\n for (var i = 0, n = tracks.length; i < n; i++) {\n var current = tracks[i];\n if (current == null) continue;\n current.animationLast = current.nextAnimationLast;\n current.trackLast = current.nextTrackLast;\n var currentDelta = delta * current.timeScale;\n if (current.delay > 0) {\n current.delay -= currentDelta;\n if (current.delay > 0) continue;\n currentDelta = -current.delay;\n current.delay = 0;\n }\n var next = current.next;\n if (next != null) {\n var nextTime = current.trackLast - next.delay;\n if (nextTime >= 0) {\n next.delay = 0;\n next.trackTime = current.timeScale == 0 ? 0 : (nextTime / current.timeScale + delta) * next.timeScale;\n current.trackTime += currentDelta;\n this.setCurrent(i, next, true);\n while (next.mixingFrom != null) {\n next.mixTime += delta;\n next = next.mixingFrom;\n }\n continue;\n }\n } else if (current.trackLast >= current.trackEnd && current.mixingFrom == null) {\n tracks[i] = null;\n this.queue.end(current);\n this.disposeNext(current);\n continue;\n }\n if (current.mixingFrom != null && this.updateMixingFrom(current, delta)) {\n var from = current.mixingFrom;\n current.mixingFrom = null;\n if (from != null) from.mixingTo = null;\n while (from != null) {\n this.queue.end(from);\n from = from.mixingFrom;\n }\n }\n current.trackTime += currentDelta;\n }\n this.queue.drain();\n };\n AnimationState.prototype.updateMixingFrom = function (to, delta) {\n var from = to.mixingFrom;\n if (from == null) return true;\n var finished = this.updateMixingFrom(from, delta);\n from.animationLast = from.nextAnimationLast;\n from.trackLast = from.nextTrackLast;\n if (to.mixTime > 0 && to.mixTime >= to.mixDuration) {\n if (from.totalAlpha == 0 || to.mixDuration == 0) {\n to.mixingFrom = from.mixingFrom;\n if (from.mixingFrom != null) from.mixingFrom.mixingTo = to;\n to.interruptAlpha = from.interruptAlpha;\n this.queue.end(from);\n }\n return finished;\n }\n from.trackTime += delta * from.timeScale;\n to.mixTime += delta;\n return false;\n };\n AnimationState.prototype.apply = function (skeleton) {\n if (skeleton == null) throw new Error('skeleton cannot be null.');\n if (this.animationsChanged) this._animationsChanged();\n var events = this.events;\n var tracks = this.tracks;\n var applied = false;\n for (var i = 0, n = tracks.length; i < n; i++) {\n var current = tracks[i];\n if (current == null || current.delay > 0) continue;\n applied = true;\n var blend = i == 0 ? core.MixBlend.first : current.mixBlend;\n var mix = current.alpha;\n if (current.mixingFrom != null) mix *= this.applyMixingFrom(current, skeleton, blend);\n else if (current.trackTime >= current.trackEnd && current.next == null) mix = 0;\n var animationLast = current.animationLast,\n animationTime = current.getAnimationTime();\n var timelineCount = current.animation.timelines.length;\n var timelines = current.animation.timelines;\n if (i == 0 && (mix == 1 || blend == core.MixBlend.add)) {\n for (var ii = 0; ii < timelineCount; ii++) {\n core.Utils.webkit602BugfixHelper(mix, blend);\n timelines[ii].apply(skeleton, animationLast, animationTime, events, mix, blend, core.MixDirection.in);\n }\n } else {\n var timelineMode = current.timelineMode;\n var firstFrame = current.timelinesRotation.length == 0;\n if (firstFrame) core.Utils.setArraySize(current.timelinesRotation, timelineCount << 1, null);\n var timelinesRotation = current.timelinesRotation;\n for (var ii = 0; ii < timelineCount; ii++) {\n var timeline = timelines[ii];\n var timelineBlend = timelineMode[ii] == AnimationState.SUBSEQUENT ? blend : core.MixBlend.setup;\n if (timeline instanceof core.RotateTimeline) {\n this.applyRotateTimeline(\n timeline,\n skeleton,\n animationTime,\n mix,\n timelineBlend,\n timelinesRotation,\n ii << 1,\n firstFrame,\n );\n } else {\n core.Utils.webkit602BugfixHelper(mix, blend);\n timeline.apply(\n skeleton,\n animationLast,\n animationTime,\n events,\n mix,\n timelineBlend,\n core.MixDirection.in,\n );\n }\n }\n }\n this.queueEvents(current, animationTime);\n events.length = 0;\n current.nextAnimationLast = animationTime;\n current.nextTrackLast = current.trackTime;\n }\n this.queue.drain();\n return applied;\n };\n AnimationState.prototype.applyMixingFrom = function (to, skeleton, blend) {\n var from = to.mixingFrom;\n if (from.mixingFrom != null) this.applyMixingFrom(from, skeleton, blend);\n var mix = 0;\n if (to.mixDuration == 0) {\n mix = 1;\n if (blend == core.MixBlend.first) blend = core.MixBlend.setup;\n } else {\n mix = to.mixTime / to.mixDuration;\n if (mix > 1) mix = 1;\n if (blend != core.MixBlend.first) blend = from.mixBlend;\n }\n var events = mix < from.eventThreshold ? this.events : null;\n var attachments = mix < from.attachmentThreshold,\n drawOrder = mix < from.drawOrderThreshold;\n var animationLast = from.animationLast,\n animationTime = from.getAnimationTime();\n var timelineCount = from.animation.timelines.length;\n var timelines = from.animation.timelines;\n var alphaHold = from.alpha * to.interruptAlpha,\n alphaMix = alphaHold * (1 - mix);\n if (blend == core.MixBlend.add) {\n for (var i = 0; i < timelineCount; i++)\n timelines[i].apply(skeleton, animationLast, animationTime, events, alphaMix, blend, core.MixDirection.out);\n } else {\n var timelineMode = from.timelineMode;\n var timelineHoldMix = from.timelineHoldMix;\n var firstFrame = from.timelinesRotation.length == 0;\n if (firstFrame) core.Utils.setArraySize(from.timelinesRotation, timelineCount << 1, null);\n var timelinesRotation = from.timelinesRotation;\n from.totalAlpha = 0;\n for (var i = 0; i < timelineCount; i++) {\n var timeline = timelines[i];\n var direction = core.MixDirection.out;\n var timelineBlend = void 0;\n var alpha = 0;\n switch (timelineMode[i]) {\n case AnimationState.SUBSEQUENT:\n if (!attachments && timeline instanceof core.AttachmentTimeline) continue;\n if (!drawOrder && timeline instanceof core.DrawOrderTimeline) continue;\n timelineBlend = blend;\n alpha = alphaMix;\n break;\n case AnimationState.FIRST:\n timelineBlend = core.MixBlend.setup;\n alpha = alphaMix;\n break;\n case AnimationState.HOLD:\n timelineBlend = core.MixBlend.setup;\n alpha = alphaHold;\n break;\n default:\n timelineBlend = core.MixBlend.setup;\n var holdMix = timelineHoldMix[i];\n alpha = alphaHold * Math.max(0, 1 - holdMix.mixTime / holdMix.mixDuration);\n break;\n }\n from.totalAlpha += alpha;\n if (timeline instanceof core.RotateTimeline)\n this.applyRotateTimeline(\n timeline,\n skeleton,\n animationTime,\n alpha,\n timelineBlend,\n timelinesRotation,\n i << 1,\n firstFrame,\n );\n else {\n core.Utils.webkit602BugfixHelper(alpha, blend);\n if (timelineBlend == core.MixBlend.setup) {\n if (timeline instanceof core.AttachmentTimeline) {\n if (attachments) direction = core.MixDirection.out;\n } else if (timeline instanceof core.DrawOrderTimeline) {\n if (drawOrder) direction = core.MixDirection.out;\n }\n }\n timeline.apply(skeleton, animationLast, animationTime, events, alpha, timelineBlend, direction);\n }\n }\n }\n if (to.mixDuration > 0) this.queueEvents(from, animationTime);\n this.events.length = 0;\n from.nextAnimationLast = animationTime;\n from.nextTrackLast = from.trackTime;\n return mix;\n };\n AnimationState.prototype.applyRotateTimeline = function (\n timeline,\n skeleton,\n time,\n alpha,\n blend,\n timelinesRotation,\n i,\n firstFrame,\n ) {\n if (firstFrame) timelinesRotation[i] = 0;\n if (alpha == 1) {\n timeline.apply(skeleton, 0, time, null, 1, blend, core.MixDirection.in);\n return;\n }\n var rotateTimeline = timeline;\n var frames = rotateTimeline.frames;\n var bone = skeleton.bones[rotateTimeline.boneIndex];\n var r1 = 0,\n r2 = 0;\n if (time < frames[0]) {\n switch (blend) {\n case core.MixBlend.setup:\n bone.rotation = bone.data.rotation;\n default:\n return;\n case core.MixBlend.first:\n r1 = bone.rotation;\n r2 = bone.data.rotation;\n }\n } else {\n r1 = blend == core.MixBlend.setup ? bone.data.rotation : bone.rotation;\n if (time >= frames[frames.length - core.RotateTimeline.ENTRIES])\n r2 = bone.data.rotation + frames[frames.length + core.RotateTimeline.PREV_ROTATION];\n else {\n var frame = core.Animation.binarySearch(frames, time, core.RotateTimeline.ENTRIES);\n var prevRotation = frames[frame + core.RotateTimeline.PREV_ROTATION];\n var frameTime = frames[frame];\n var percent = rotateTimeline.getCurvePercent(\n (frame >> 1) - 1,\n 1 - (time - frameTime) / (frames[frame + core.RotateTimeline.PREV_TIME] - frameTime),\n );\n r2 = frames[frame + core.RotateTimeline.ROTATION] - prevRotation;\n r2 -= (16384 - ((16384.499999999996 - r2 / 360) | 0)) * 360;\n r2 = prevRotation + r2 * percent + bone.data.rotation;\n r2 -= (16384 - ((16384.499999999996 - r2 / 360) | 0)) * 360;\n }\n }\n var total = 0,\n diff = r2 - r1;\n diff -= (16384 - ((16384.499999999996 - diff / 360) | 0)) * 360;\n if (diff == 0) {\n total = timelinesRotation[i];\n } else {\n var lastTotal = 0,\n lastDiff = 0;\n if (firstFrame) {\n lastTotal = 0;\n lastDiff = diff;\n } else {\n lastTotal = timelinesRotation[i];\n lastDiff = timelinesRotation[i + 1];\n }\n var current = diff > 0,\n dir = lastTotal >= 0;\n if (core.MathUtils.signum(lastDiff) != core.MathUtils.signum(diff) && Math.abs(lastDiff) <= 90) {\n if (Math.abs(lastTotal) > 180) lastTotal += 360 * core.MathUtils.signum(lastTotal);\n dir = current;\n }\n total = diff + lastTotal - (lastTotal % 360);\n if (dir != current) total += 360 * core.MathUtils.signum(lastTotal);\n timelinesRotation[i] = total;\n }\n timelinesRotation[i + 1] = diff;\n r1 += total * alpha;\n bone.rotation = r1 - (16384 - ((16384.499999999996 - r1 / 360) | 0)) * 360;\n };\n AnimationState.prototype.queueEvents = function (entry, animationTime) {\n var animationStart = entry.animationStart,\n animationEnd = entry.animationEnd;\n var duration = animationEnd - animationStart;\n var trackLastWrapped = entry.trackLast % duration;\n var events = this.events;\n var i = 0,\n n = events.length;\n for (; i < n; i++) {\n var event_1 = events[i];\n if (event_1.time < trackLastWrapped) break;\n if (event_1.time > animationEnd) continue;\n this.queue.event(entry, event_1);\n }\n var complete = false;\n if (entry.loop) complete = duration == 0 || trackLastWrapped > entry.trackTime % duration;\n else complete = animationTime >= animationEnd && entry.animationLast < animationEnd;\n if (complete) this.queue.complete(entry);\n for (; i < n; i++) {\n var event_2 = events[i];\n if (event_2.time < animationStart) continue;\n this.queue.event(entry, events[i]);\n }\n };\n AnimationState.prototype.clearTracks = function () {\n var oldDrainDisabled = this.queue.drainDisabled;\n this.queue.drainDisabled = true;\n for (var i = 0, n = this.tracks.length; i < n; i++) this.clearTrack(i);\n this.tracks.length = 0;\n this.queue.drainDisabled = oldDrainDisabled;\n this.queue.drain();\n };\n AnimationState.prototype.clearTrack = function (trackIndex) {\n if (trackIndex >= this.tracks.length) return;\n var current = this.tracks[trackIndex];\n if (current == null) return;\n this.queue.end(current);\n this.disposeNext(current);\n var entry = current;\n while (true) {\n var from = entry.mixingFrom;\n if (from == null) break;\n this.queue.end(from);\n entry.mixingFrom = null;\n entry.mixingTo = null;\n entry = from;\n }\n this.tracks[current.trackIndex] = null;\n this.queue.drain();\n };\n AnimationState.prototype.setCurrent = function (index, current, interrupt) {\n var from = this.expandToIndex(index);\n this.tracks[index] = current;\n if (from != null) {\n if (interrupt) this.queue.interrupt(from);\n current.mixingFrom = from;\n from.mixingTo = current;\n current.mixTime = 0;\n if (from.mixingFrom != null && from.mixDuration > 0)\n current.interruptAlpha *= Math.min(1, from.mixTime / from.mixDuration);\n from.timelinesRotation.length = 0;\n }\n this.queue.start(current);\n };\n AnimationState.prototype.setAnimation = function (trackIndex, animationName, loop) {\n var animation = this.data.skeletonData.findAnimation(animationName);\n if (animation == null) throw new Error('Animation not found: ' + animationName);\n return this.setAnimationWith(trackIndex, animation, loop);\n };\n AnimationState.prototype.setAnimationWith = function (trackIndex, animation, loop) {\n if (animation == null) throw new Error('animation cannot be null.');\n var interrupt = true;\n var current = this.expandToIndex(trackIndex);\n if (current != null) {\n if (current.nextTrackLast == -1) {\n this.tracks[trackIndex] = current.mixingFrom;\n this.queue.interrupt(current);\n this.queue.end(current);\n this.disposeNext(current);\n current = current.mixingFrom;\n interrupt = false;\n } else this.disposeNext(current);\n }\n var entry = this.trackEntry(trackIndex, animation, loop, current);\n this.setCurrent(trackIndex, entry, interrupt);\n this.queue.drain();\n return entry;\n };\n AnimationState.prototype.addAnimation = function (trackIndex, animationName, loop, delay) {\n var animation = this.data.skeletonData.findAnimation(animationName);\n if (animation == null) throw new Error('Animation not found: ' + animationName);\n return this.addAnimationWith(trackIndex, animation, loop, delay);\n };\n AnimationState.prototype.addAnimationWith = function (trackIndex, animation, loop, delay) {\n if (animation == null) throw new Error('animation cannot be null.');\n var last = this.expandToIndex(trackIndex);\n if (last != null) {\n while (last.next != null) last = last.next;\n }\n var entry = this.trackEntry(trackIndex, animation, loop, last);\n if (last == null) {\n this.setCurrent(trackIndex, entry, true);\n this.queue.drain();\n } else {\n last.next = entry;\n if (delay <= 0) {\n var duration = last.animationEnd - last.animationStart;\n if (duration != 0) {\n if (last.loop) delay += duration * (1 + ((last.trackTime / duration) | 0));\n else delay += Math.max(duration, last.trackTime);\n delay -= this.data.getMix(last.animation, animation);\n } else delay = last.trackTime;\n }\n }\n entry.delay = delay;\n return entry;\n };\n AnimationState.prototype.setEmptyAnimation = function (trackIndex, mixDuration) {\n var entry = this.setAnimationWith(trackIndex, AnimationState.emptyAnimation, false);\n entry.mixDuration = mixDuration;\n entry.trackEnd = mixDuration;\n return entry;\n };\n AnimationState.prototype.addEmptyAnimation = function (trackIndex, mixDuration, delay) {\n if (delay <= 0) delay -= mixDuration;\n var entry = this.addAnimationWith(trackIndex, AnimationState.emptyAnimation, false, delay);\n entry.mixDuration = mixDuration;\n entry.trackEnd = mixDuration;\n return entry;\n };\n AnimationState.prototype.setEmptyAnimations = function (mixDuration) {\n var oldDrainDisabled = this.queue.drainDisabled;\n this.queue.drainDisabled = true;\n for (var i = 0, n = this.tracks.length; i < n; i++) {\n var current = this.tracks[i];\n if (current != null) this.setEmptyAnimation(current.trackIndex, mixDuration);\n }\n this.queue.drainDisabled = oldDrainDisabled;\n this.queue.drain();\n };\n AnimationState.prototype.expandToIndex = function (index) {\n if (index < this.tracks.length) return this.tracks[index];\n core.Utils.ensureArrayCapacity(this.tracks, index - this.tracks.length + 1, null);\n this.tracks.length = index + 1;\n return null;\n };\n AnimationState.prototype.trackEntry = function (trackIndex, animation, loop, last) {\n var entry = this.trackEntryPool.obtain();\n entry.trackIndex = trackIndex;\n entry.animation = animation;\n entry.loop = loop;\n entry.holdPrevious = false;\n entry.eventThreshold = 0;\n entry.attachmentThreshold = 0;\n entry.drawOrderThreshold = 0;\n entry.animationStart = 0;\n entry.animationEnd = animation.duration;\n entry.animationLast = -1;\n entry.nextAnimationLast = -1;\n entry.delay = 0;\n entry.trackTime = 0;\n entry.trackLast = -1;\n entry.nextTrackLast = -1;\n entry.trackEnd = Number.MAX_VALUE;\n entry.timeScale = 1;\n entry.alpha = 1;\n entry.interruptAlpha = 1;\n entry.mixTime = 0;\n entry.mixDuration = last == null ? 0 : this.data.getMix(last.animation, animation);\n return entry;\n };\n AnimationState.prototype.disposeNext = function (entry) {\n var next = entry.next;\n while (next != null) {\n this.queue.dispose(next);\n next = next.next;\n }\n entry.next = null;\n };\n AnimationState.prototype._animationsChanged = function () {\n this.animationsChanged = false;\n this.propertyIDs.clear();\n for (var i = 0, n = this.tracks.length; i < n; i++) {\n var entry = this.tracks[i];\n if (entry == null) continue;\n while (entry.mixingFrom != null) entry = entry.mixingFrom;\n do {\n if (entry.mixingFrom == null || entry.mixBlend != core.MixBlend.add) this.setTimelineModes(entry);\n entry = entry.mixingTo;\n } while (entry != null);\n }\n };\n AnimationState.prototype.setTimelineModes = function (entry) {\n var to = entry.mixingTo;\n var timelines = entry.animation.timelines;\n var timelinesCount = entry.animation.timelines.length;\n var timelineMode = core.Utils.setArraySize(entry.timelineMode, timelinesCount);\n entry.timelineHoldMix.length = 0;\n var timelineDipMix = core.Utils.setArraySize(entry.timelineHoldMix, timelinesCount);\n var propertyIDs = this.propertyIDs;\n if (to != null && to.holdPrevious) {\n for (var i = 0; i < timelinesCount; i++) {\n propertyIDs.add(timelines[i].getPropertyId());\n timelineMode[i] = AnimationState.HOLD;\n }\n return;\n }\n outer: for (var i = 0; i < timelinesCount; i++) {\n var id = timelines[i].getPropertyId();\n if (!propertyIDs.add(id)) timelineMode[i] = AnimationState.SUBSEQUENT;\n else if (to == null || !this.hasTimeline(to, id)) timelineMode[i] = AnimationState.FIRST;\n else {\n for (var next = to.mixingTo; next != null; next = next.mixingTo) {\n if (this.hasTimeline(next, id)) continue;\n if (entry.mixDuration > 0) {\n timelineMode[i] = AnimationState.HOLD_MIX;\n timelineDipMix[i] = next;\n continue outer;\n }\n break;\n }\n timelineMode[i] = AnimationState.HOLD;\n }\n }\n };\n AnimationState.prototype.hasTimeline = function (entry, id) {\n var timelines = entry.animation.timelines;\n for (var i = 0, n = timelines.length; i < n; i++) if (timelines[i].getPropertyId() == id) return true;\n return false;\n };\n AnimationState.prototype.getCurrent = function (trackIndex) {\n if (trackIndex >= this.tracks.length) return null;\n return this.tracks[trackIndex];\n };\n AnimationState.prototype.addListener = function (listener) {\n if (listener == null) throw new Error('listener cannot be null.');\n this.listeners.push(listener);\n };\n AnimationState.prototype.removeListener = function (listener) {\n var index = this.listeners.indexOf(listener);\n if (index >= 0) this.listeners.splice(index, 1);\n };\n AnimationState.prototype.clearListeners = function () {\n this.listeners.length = 0;\n };\n AnimationState.prototype.clearListenerNotifications = function () {\n this.queue.clear();\n };\n AnimationState.prototype.setAnimationByName = function (trackIndex, animationName, loop) {\n if (!AnimationState.deprecatedWarning1) {\n AnimationState.deprecatedWarning1 = true;\n console.warn(\n 'Spine Deprecation Warning: AnimationState.setAnimationByName is deprecated, please use setAnimation from now on.',\n );\n }\n this.setAnimation(trackIndex, animationName, loop);\n };\n AnimationState.prototype.addAnimationByName = function (trackIndex, animationName, loop, delay) {\n if (!AnimationState.deprecatedWarning2) {\n AnimationState.deprecatedWarning2 = true;\n console.warn(\n 'Spine Deprecation Warning: AnimationState.addAnimationByName is deprecated, please use addAnimation from now on.',\n );\n }\n this.addAnimation(trackIndex, animationName, loop, delay);\n };\n AnimationState.prototype.hasAnimation = function (animationName) {\n var animation = this.data.skeletonData.findAnimation(animationName);\n return animation !== null;\n };\n AnimationState.prototype.hasAnimationByName = function (animationName) {\n if (!AnimationState.deprecatedWarning3) {\n AnimationState.deprecatedWarning3 = true;\n console.warn(\n 'Spine Deprecation Warning: AnimationState.hasAnimationByName is deprecated, please use hasAnimation from now on.',\n );\n }\n return this.hasAnimation(animationName);\n };\n AnimationState.emptyAnimation = new core.Animation('<empty>', [], 0);\n AnimationState.SUBSEQUENT = 0;\n AnimationState.FIRST = 1;\n AnimationState.HOLD = 2;\n AnimationState.HOLD_MIX = 3;\n AnimationState.deprecatedWarning1 = false;\n AnimationState.deprecatedWarning2 = false;\n AnimationState.deprecatedWarning3 = false;\n return AnimationState;\n })();\n core.AnimationState = AnimationState;\n var TrackEntry = (function () {\n function TrackEntry() {\n this.mixBlend = core.MixBlend.replace;\n this.timelineMode = new Array();\n this.timelineHoldMix = new Array();\n this.timelinesRotation = new Array();\n }\n TrackEntry.prototype.reset = function () {\n this.next = null;\n this.mixingFrom = null;\n this.mixingTo = null;\n this.animation = null;\n this.listener = null;\n this.timelineMode.length = 0;\n this.timelineHoldMix.length = 0;\n this.timelinesRotation.length = 0;\n };\n TrackEntry.prototype.getAnimationTime = function () {\n if (this.loop) {\n var duration = this.animationEnd - this.animationStart;\n if (duration == 0) return this.animationStart;\n return (this.trackTime % duration) + this.animationStart;\n }\n return Math.min(this.trackTime + this.animationStart, this.animationEnd);\n };\n TrackEntry.prototype.setAnimationLast = function (animationLast) {\n this.animationLast = animationLast;\n this.nextAnimationLast = animationLast;\n };\n TrackEntry.prototype.isComplete = function () {\n return this.trackTime >= this.animationEnd - this.animationStart;\n };\n TrackEntry.prototype.resetRotationDirections = function () {\n this.timelinesRotation.length = 0;\n };\n Object.defineProperty(TrackEntry.prototype, 'time', {\n get: function () {\n if (!TrackEntry.deprecatedWarning1) {\n TrackEntry.deprecatedWarning1 = true;\n console.warn('Spine Deprecation Warning: TrackEntry.time is deprecated, please use trackTime from now on.');\n }\n return this.trackTime;\n },\n set: function (value) {\n if (!TrackEntry.deprecatedWarning1) {\n TrackEntry.deprecatedWarning1 = true;\n console.warn('Spine Deprecation Warning: TrackEntry.time is deprecated, please use trackTime from now on.');\n }\n this.trackTime = value;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TrackEntry.prototype, 'endTime', {\n get: function () {\n if (!TrackEntry.deprecatedWarning2) {\n TrackEntry.deprecatedWarning2 = true;\n console.warn(\n 'Spine Deprecation Warning: TrackEntry.endTime is deprecated, please use trackEnd from now on.',\n );\n }\n return this.trackTime;\n },\n set: function (value) {\n if (!TrackEntry.deprecatedWarning2) {\n TrackEntry.deprecatedWarning2 = true;\n console.warn(\n 'Spine Deprecation Warning: TrackEntry.endTime is deprecated, please use trackEnd from now on.',\n );\n }\n this.trackTime = value;\n },\n enumerable: true,\n configurable: true,\n });\n TrackEntry.prototype.loopsCount = function () {\n return Math.floor(this.trackTime / this.trackEnd);\n };\n TrackEntry.deprecatedWarning1 = false;\n TrackEntry.deprecatedWarning2 = false;\n return TrackEntry;\n })();\n core.TrackEntry = TrackEntry;\n var EventQueue = (function () {\n function EventQueue(animState) {\n this.objects = [];\n this.drainDisabled = false;\n this.animState = animState;\n }\n EventQueue.prototype.start = function (entry) {\n this.objects.push(EventType.start);\n this.objects.push(entry);\n this.animState.animationsChanged = true;\n };\n EventQueue.prototype.interrupt = function (entry) {\n this.objects.push(EventType.interrupt);\n this.objects.push(entry);\n };\n EventQueue.prototype.end = function (entry) {\n this.objects.push(EventType.end);\n this.objects.push(entry);\n this.animState.animationsChanged = true;\n };\n EventQueue.prototype.dispose = function (entry) {\n this.objects.push(EventType.dispose);\n this.objects.push(entry);\n };\n EventQueue.prototype.complete = function (entry) {\n this.objects.push(EventType.complete);\n this.objects.push(entry);\n };\n EventQueue.prototype.event = function (entry, event) {\n this.objects.push(EventType.event);\n this.objects.push(entry);\n this.objects.push(event);\n };\n EventQueue.prototype.deprecateStuff = function () {\n if (!EventQueue.deprecatedWarning1) {\n EventQueue.deprecatedWarning1 = true;\n console.warn(\n \"Spine Deprecation Warning: onComplete, onStart, onEnd, onEvent art deprecated, please use listeners from now on. 'state.addListener({ complete: function(track, event) { } })'\",\n );\n }\n return true;\n };\n EventQueue.prototype.drain = function () {\n if (this.drainDisabled) return;\n this.drainDisabled = true;\n var objects = this.objects;\n var listeners = this.animState.listeners;\n for (var i = 0; i < objects.length; i += 2) {\n var type = objects[i];\n var entry = objects[i + 1];\n switch (type) {\n case EventType.start:\n if (entry.listener != null && entry.listener.start) entry.listener.start(entry);\n for (var ii = 0; ii < listeners.length; ii++) if (listeners[ii].start) listeners[ii].start(entry);\n entry.onStart && this.deprecateStuff() && entry.onStart(entry.trackIndex);\n this.animState.onStart &&\n this.deprecateStuff() &&\n this.deprecateStuff &&\n this.animState.onStart(entry.trackIndex);\n break;\n case EventType.interrupt:\n if (entry.listener != null && entry.listener.interrupt) entry.listener.interrupt(entry);\n for (var ii = 0; ii < listeners.length; ii++) if (listeners[ii].interrupt) listeners[ii].interrupt(entry);\n break;\n case EventType.end:\n if (entry.listener != null && entry.listener.end) entry.listener.end(entry);\n for (var ii = 0; ii < listeners.length; ii++) if (listeners[ii].end) listeners[ii].end(entry);\n entry.onEnd && this.deprecateStuff() && entry.onEnd(entry.trackIndex);\n this.animState.onEnd && this.deprecateStuff() && this.animState.onEnd(entry.trackIndex);\n case EventType.dispose:\n if (entry.listener != null && entry.listener.dispose) entry.listener.dispose(entry);\n for (var ii = 0; ii < listeners.length; ii++) if (listeners[ii].dispose) listeners[ii].dispose(entry);\n this.animState.trackEntryPool.free(entry);\n break;\n case EventType.complete:\n if (entry.listener != null && entry.listener.complete) entry.listener.complete(entry);\n for (var ii = 0; ii < listeners.length; ii++) if (listeners[ii].complete) listeners[ii].complete(entry);\n var count = core.MathUtils.toInt(entry.loopsCount());\n entry.onComplete && this.deprecateStuff() && entry.onComplete(entry.trackIndex, count);\n this.animState.onComplete && this.deprecateStuff() && this.animState.onComplete(entry.trackIndex, count);\n break;\n case EventType.event:\n var event_3 = objects[i++ + 2];\n if (entry.listener != null && entry.listener.event) entry.listener.event(entry, event_3);\n for (var ii = 0; ii < listeners.length; ii++)\n if (listeners[ii].event) listeners[ii].event(entry, event_3);\n entry.onEvent && this.deprecateStuff() && entry.onEvent(entry.trackIndex, event_3);\n this.animState.onEvent && this.deprecateStuff() && this.animState.onEvent(entry.trackIndex, event_3);\n break;\n }\n }\n this.clear();\n this.drainDisabled = false;\n };\n EventQueue.prototype.clear = function () {\n this.objects.length = 0;\n };\n EventQueue.deprecatedWarning1 = false;\n return EventQueue;\n })();\n core.EventQueue = EventQueue;\n var EventType;\n (function (EventType) {\n EventType[(EventType['start'] = 0)] = 'start';\n EventType[(EventType['interrupt'] = 1)] = 'interrupt';\n EventType[(EventType['end'] = 2)] = 'end';\n EventType[(EventType['dispose'] = 3)] = 'dispose';\n EventType[(EventType['complete'] = 4)] = 'complete';\n EventType[(EventType['event'] = 5)] = 'event';\n })((EventType = core.EventType || (core.EventType = {})));\n var AnimationStateAdapter2 = (function () {\n function AnimationStateAdapter2() {}\n AnimationStateAdapter2.prototype.start = function (entry) {};\n AnimationStateAdapter2.prototype.interrupt = function (entry) {};\n AnimationStateAdapter2.prototype.end = function (entry) {};\n AnimationStateAdapter2.prototype.dispose = function (entry) {};\n AnimationStateAdapter2.prototype.complete = function (entry) {};\n AnimationStateAdapter2.prototype.event = function (entry, event) {};\n return AnimationStateAdapter2;\n })();\n core.AnimationStateAdapter2 = AnimationStateAdapter2;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var AnimationStateData = (function () {\n function AnimationStateData(skeletonData) {\n this.animationToMixTime = {};\n this.defaultMix = 0;\n if (skeletonData == null) throw new Error('skeletonData cannot be null.');\n this.skeletonData = skeletonData;\n }\n AnimationStateData.prototype.setMix = function (fromName, toName, duration) {\n var from = this.skeletonData.findAnimation(fromName);\n if (from == null) throw new Error('Animation not found: ' + fromName);\n var to = this.skeletonData.findAnimation(toName);\n if (to == null) throw new Error('Animation not found: ' + toName);\n this.setMixWith(from, to, duration);\n };\n AnimationStateData.prototype.setMixByName = function (fromName, toName, duration) {\n if (!AnimationStateData.deprecatedWarning1) {\n AnimationStateData.deprecatedWarning1 = true;\n console.warn(\n 'Deprecation Warning: AnimationStateData.setMixByName is deprecated, please use setMix from now on.',\n );\n }\n this.setMix(fromName, toName, duration);\n };\n AnimationStateData.prototype.setMixWith = function (from, to, duration) {\n if (from == null) throw new Error('from cannot be null.');\n if (to == null) throw new Error('to cannot be null.');\n var key = from.name + '.' + to.name;\n this.animationToMixTime[key] = duration;\n };\n AnimationStateData.prototype.getMix = function (from, to) {\n var key = from.name + '.' + to.name;\n var value = this.animationToMixTime[key];\n return value === undefined ? this.defaultMix : value;\n };\n AnimationStateData.deprecatedWarning1 = false;\n return AnimationStateData;\n })();\n core.AnimationStateData = AnimationStateData;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var AtlasAttachmentLoader = (function () {\n function AtlasAttachmentLoader(atlas) {\n this.atlas = atlas;\n }\n AtlasAttachmentLoader.prototype.newRegionAttachment = function (skin, name, path) {\n var region = this.atlas.findRegion(path);\n if (region == null)\n throw new Error('Region not found in atlas: ' + path + ' (region attachment: ' + name + ')');\n var attachment = new core.RegionAttachment(name);\n attachment.region = region;\n return attachment;\n };\n AtlasAttachmentLoader.prototype.newMeshAttachment = function (skin, name, path) {\n var region = this.atlas.findRegion(path);\n if (region == null) throw new Error('Region not found in atlas: ' + path + ' (mesh attachment: ' + name + ')');\n var attachment = new core.MeshAttachment(name);\n attachment.region = region;\n return attachment;\n };\n AtlasAttachmentLoader.prototype.newBoundingBoxAttachment = function (skin, name) {\n return new core.BoundingBoxAttachment(name);\n };\n AtlasAttachmentLoader.prototype.newPathAttachment = function (skin, name) {\n return new core.PathAttachment(name);\n };\n AtlasAttachmentLoader.prototype.newPointAttachment = function (skin, name) {\n return new core.PointAttachment(name);\n };\n AtlasAttachmentLoader.prototype.newClippingAttachment = function (skin, name) {\n return new core.ClippingAttachment(name);\n };\n return AtlasAttachmentLoader;\n })();\n core.AtlasAttachmentLoader = AtlasAttachmentLoader;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var BlendMode;\n (function (BlendMode) {\n BlendMode[(BlendMode['Normal'] = 0)] = 'Normal';\n BlendMode[(BlendMode['Additive'] = 1)] = 'Additive';\n BlendMode[(BlendMode['Multiply'] = 2)] = 'Multiply';\n BlendMode[(BlendMode['Screen'] = 3)] = 'Screen';\n })((BlendMode = core.BlendMode || (core.BlendMode = {})));\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var Bone = (function () {\n function Bone(data, skeleton, parent) {\n this.matrix = new PIXI.Matrix();\n this.children = new Array();\n this.x = 0;\n this.y = 0;\n this.rotation = 0;\n this.scaleX = 0;\n this.scaleY = 0;\n this.shearX = 0;\n this.shearY = 0;\n this.ax = 0;\n this.ay = 0;\n this.arotation = 0;\n this.ascaleX = 0;\n this.ascaleY = 0;\n this.ashearX = 0;\n this.ashearY = 0;\n this.appliedValid = false;\n this.sorted = false;\n if (data == null) throw new Error('data cannot be null.');\n if (skeleton == null) throw new Error('skeleton cannot be null.');\n this.data = data;\n this.skeleton = skeleton;\n this.parent = parent;\n this.setToSetupPose();\n }\n Object.defineProperty(Bone.prototype, 'worldX', {\n get: function () {\n return this.matrix.tx;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(Bone.prototype, 'worldY', {\n get: function () {\n return this.matrix.ty;\n },\n enumerable: true,\n configurable: true,\n });\n Bone.prototype.update = function () {\n this.updateWorldTransformWith(\n this.x,\n this.y,\n this.rotation,\n this.scaleX,\n this.scaleY,\n this.shearX,\n this.shearY,\n );\n };\n Bone.prototype.updateWorldTransform = function () {\n this.updateWorldTransformWith(\n this.x,\n this.y,\n this.rotation,\n this.scaleX,\n this.scaleY,\n this.shearX,\n this.shearY,\n );\n };\n Bone.prototype.updateWorldTransformWith = function (x, y, rotation, scaleX, scaleY, shearX, shearY) {\n this.ax = x;\n this.ay = y;\n this.arotation = rotation;\n this.ascaleX = scaleX;\n this.ascaleY = scaleY;\n this.ashearX = shearX;\n this.ashearY = shearY;\n this.appliedValid = true;\n var parent = this.parent;\n var m = this.matrix;\n var sx = this.skeleton.scaleX;\n var sy = Bone.yDown ? -this.skeleton.scaleY : this.skeleton.scaleY;\n if (parent == null) {\n if (Bone.yDown) {\n rotation = -rotation;\n this.arotation = rotation;\n }\n var skeleton = this.skeleton;\n var rotationY = rotation + 90 + shearY;\n m.a = core.MathUtils.cosDeg(rotation + shearX) * scaleX * sx;\n m.c = core.MathUtils.cosDeg(rotationY) * scaleY * sy;\n m.b = core.MathUtils.sinDeg(rotation + shearX) * scaleX * sx;\n m.d = core.MathUtils.sinDeg(rotationY) * scaleY * sy;\n m.tx = x * sx + skeleton.x;\n m.ty = y * sy + skeleton.y;\n return;\n }\n var pa = parent.matrix.a,\n pb = parent.matrix.c,\n pc = parent.matrix.b,\n pd = parent.matrix.d;\n m.tx = pa * x + pb * y + parent.matrix.tx;\n m.ty = pc * x + pd * y + parent.matrix.ty;\n switch (this.data.transformMode) {\n case core.TransformMode.Normal: {\n var rotationY = rotation + 90 + shearY;\n var la = core.MathUtils.cosDeg(rotation + shearX) * scaleX;\n var lb = core.MathUtils.cosDeg(rotationY) * scaleY;\n var lc = core.MathUtils.sinDeg(rotation + shearX) * scaleX;\n var ld = core.MathUtils.sinDeg(rotationY) * scaleY;\n m.a = pa * la + pb * lc;\n m.c = pa * lb + pb * ld;\n m.b = pc * la + pd * lc;\n m.d = pc * lb + pd * ld;\n return;\n }\n case core.TransformMode.OnlyTranslation: {\n var rotationY = rotation + 90 + shearY;\n m.a = core.MathUtils.cosDeg(rotation + shearX) * scaleX;\n m.c = core.MathUtils.cosDeg(rotationY) * scaleY;\n m.b = core.MathUtils.sinDeg(rotation + shearX) * scaleX;\n m.d = core.MathUtils.sinDeg(rotationY) * scaleY;\n break;\n }\n case core.TransformMode.NoRotationOrReflection: {\n var s = pa * pa + pc * pc;\n var prx = 0;\n if (s > 0.0001) {\n s = Math.abs(pa * pd - pb * pc) / s;\n pb = pc * s;\n pd = pa * s;\n prx = Math.atan2(pc, pa) * core.MathUtils.radDeg;\n } else {\n pa = 0;\n pc = 0;\n prx = 90 - Math.atan2(pd, pb) * core.MathUtils.radDeg;\n }\n var rx = rotation + shearX - prx;\n var ry = rotation + shearY - prx + 90;\n var la = core.MathUtils.cosDeg(rx) * scaleX;\n var lb = core.MathUtils.cosDeg(ry) * scaleY;\n var lc = core.MathUtils.sinDeg(rx) * scaleX;\n var ld = core.MathUtils.sinDeg(ry) * scaleY;\n m.a = pa * la - pb * lc;\n m.c = pa * lb - pb * ld;\n m.b = pc * la + pd * lc;\n m.d = pc * lb + pd * ld;\n break;\n }\n case core.TransformMode.NoScale:\n case core.TransformMode.NoScaleOrReflection: {\n var cos = core.MathUtils.cosDeg(rotation);\n var sin = core.MathUtils.sinDeg(rotation);\n var za = (pa * cos + pb * sin) / sx;\n var zc = (pc * cos + pd * sin) / sy;\n var s = Math.sqrt(za * za + zc * zc);\n if (s > 0.00001) s = 1 / s;\n za *= s;\n zc *= s;\n s = Math.sqrt(za * za + zc * zc);\n if (\n this.data.transformMode == core.TransformMode.NoScale &&\n pa * pd - pb * pc < 0 !=\n (Bone.yDown\n ? this.skeleton.scaleX < 0 != this.skeleton.scaleY > 0\n : this.skeleton.scaleX < 0 != this.skeleton.scaleY < 0)\n )\n s = -s;\n var r = Math.PI / 2 + Math.atan2(zc, za);\n var zb = Math.cos(r) * s;\n var zd = Math.sin(r) * s;\n var la = core.MathUtils.cosDeg(shearX) * scaleX;\n var lb = core.MathUtils.cosDeg(90 + shearY) * scaleY;\n var lc = core.MathUtils.sinDeg(shearX) * scaleX;\n var ld = core.MathUtils.sinDeg(90 + shearY) * scaleY;\n m.a = za * la + zb * lc;\n m.c = za * lb + zb * ld;\n m.b = zc * la + zd * lc;\n m.d = zc * lb + zd * ld;\n break;\n }\n }\n m.a *= sx;\n m.c *= sx;\n m.b *= sy;\n m.d *= sy;\n };\n Bone.prototype.setToSetupPose = function () {\n var data = this.data;\n this.x = data.x;\n this.y = data.y;\n this.rotation = data.rotation;\n this.scaleX = data.scaleX;\n this.scaleY = data.scaleY;\n this.shearX = data.shearX;\n this.shearY = data.shearY;\n };\n Bone.prototype.getWorldRotationX = function () {\n return Math.atan2(this.matrix.b, this.matrix.a) * core.MathUtils.radDeg;\n };\n Bone.prototype.getWorldRotationY = function () {\n return Math.atan2(this.matrix.d, this.matrix.c) * core.MathUtils.radDeg;\n };\n Bone.prototype.getWorldScaleX = function () {\n var m = this.matrix;\n return Math.sqrt(m.a * m.a + m.c * m.c);\n };\n Bone.prototype.getWorldScaleY = function () {\n var m = this.matrix;\n return Math.sqrt(m.b * m.b + m.d * m.d);\n };\n Bone.prototype.updateAppliedTransform = function () {\n this.appliedValid = true;\n var parent = this.parent;\n var m = this.matrix;\n if (parent == null) {\n this.ax = m.tx;\n this.ay = m.ty;\n this.arotation = Math.atan2(m.b, m.a) * core.MathUtils.radDeg;\n this.ascaleX = Math.sqrt(m.a * m.a + m.b * m.b);\n this.ascaleY = Math.sqrt(m.c * m.c + m.d * m.d);\n this.ashearX = 0;\n this.ashearY = Math.atan2(m.a * m.c + m.b * m.d, m.a * m.d - m.b * m.c) * core.MathUtils.radDeg;\n return;\n }\n var pm = parent.matrix;\n var pid = 1 / (pm.a * pm.d - pm.b * pm.c);\n var dx = m.tx - pm.tx,\n dy = m.ty - pm.ty;\n this.ax = dx * pm.d * pid - dy * pm.c * pid;\n this.ay = dy * pm.a * pid - dx * pm.b * pid;\n var ia = pid * pm.d;\n var id = pid * pm.a;\n var ib = pid * pm.c;\n var ic = pid * pm.b;\n var ra = ia * m.a - ib * m.b;\n var rb = ia * m.c - ib * m.d;\n var rc = id * m.b - ic * m.a;\n var rd = id * m.d - ic * m.c;\n this.ashearX = 0;\n this.ascaleX = Math.sqrt(ra * ra + rc * rc);\n if (this.ascaleX > 0.0001) {\n var det = ra * rd - rb * rc;\n this.ascaleY = det / this.ascaleX;\n this.ashearY = Math.atan2(ra * rb + rc * rd, det) * core.MathUtils.radDeg;\n this.arotation = Math.atan2(rc, ra) * core.MathUtils.radDeg;\n } else {\n this.ascaleX = 0;\n this.ascaleY = Math.sqrt(rb * rb + rd * rd);\n this.ashearY = 0;\n this.arotation = 90 - Math.atan2(rd, rb) * core.MathUtils.radDeg;\n }\n };\n Bone.prototype.worldToLocal = function (world) {\n var m = this.matrix;\n var a = m.a,\n b = m.c,\n c = m.b,\n d = m.d;\n var invDet = 1 / (a * d - b * c);\n var x = world.x - m.tx,\n y = world.y - m.ty;\n world.x = x * d * invDet - y * b * invDet;\n world.y = y * a * invDet - x * c * invDet;\n return world;\n };\n Bone.prototype.localToWorld = function (local) {\n var m = this.matrix;\n var x = local.x,\n y = local.y;\n local.x = x * m.a + y * m.c + m.tx;\n local.y = x * m.b + y * m.d + m.ty;\n return local;\n };\n Bone.prototype.worldToLocalRotation = function (worldRotation) {\n var sin = core.MathUtils.sinDeg(worldRotation),\n cos = core.MathUtils.cosDeg(worldRotation);\n var mat = this.matrix;\n return Math.atan2(mat.a * sin - mat.b * cos, mat.d * cos - mat.c * sin) * core.MathUtils.radDeg;\n };\n Bone.prototype.localToWorldRotation = function (localRotation) {\n var sin = core.MathUtils.sinDeg(localRotation),\n cos = core.MathUtils.cosDeg(localRotation);\n var mat = this.matrix;\n return Math.atan2(cos * mat.b + sin * mat.d, cos * mat.a + sin * mat.c) * core.MathUtils.radDeg;\n };\n Bone.prototype.rotateWorld = function (degrees) {\n var mat = this.matrix;\n var a = mat.a,\n b = mat.c,\n c = mat.b,\n d = mat.d;\n var cos = core.MathUtils.cosDeg(degrees),\n sin = core.MathUtils.sinDeg(degrees);\n mat.a = cos * a - sin * c;\n mat.c = cos * b - sin * d;\n mat.b = sin * a + cos * c;\n mat.d = sin * b + cos * d;\n this.appliedValid = false;\n };\n Bone.yDown = false;\n return Bone;\n })();\n core.Bone = Bone;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var BoneData = (function () {\n function BoneData(index, name, parent) {\n this.x = 0;\n this.y = 0;\n this.rotation = 0;\n this.scaleX = 1;\n this.scaleY = 1;\n this.shearX = 0;\n this.shearY = 0;\n this.transformMode = TransformMode.Normal;\n if (index < 0) throw new Error('index must be >= 0.');\n if (name == null) throw new Error('name cannot be null.');\n this.index = index;\n this.name = name;\n this.parent = parent;\n }\n return BoneData;\n })();\n core.BoneData = BoneData;\n var TransformMode;\n (function (TransformMode) {\n TransformMode[(TransformMode['Normal'] = 0)] = 'Normal';\n TransformMode[(TransformMode['OnlyTranslation'] = 1)] = 'OnlyTranslation';\n TransformMode[(TransformMode['NoRotationOrReflection'] = 2)] = 'NoRotationOrReflection';\n TransformMode[(TransformMode['NoScale'] = 3)] = 'NoScale';\n TransformMode[(TransformMode['NoScaleOrReflection'] = 4)] = 'NoScaleOrReflection';\n })((TransformMode = core.TransformMode || (core.TransformMode = {})));\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var Event = (function () {\n function Event(time, data) {\n if (data == null) throw new Error('data cannot be null.');\n this.time = time;\n this.data = data;\n }\n return Event;\n })();\n core.Event = Event;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var EventData = (function () {\n function EventData(name) {\n this.name = name;\n }\n return EventData;\n })();\n core.EventData = EventData;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var IkConstraint = (function () {\n function IkConstraint(data, skeleton) {\n this.bendDirection = 0;\n this.compress = false;\n this.stretch = false;\n this.mix = 1;\n if (data == null) throw new Error('data cannot be null.');\n if (skeleton == null) throw new Error('skeleton cannot be null.');\n this.data = data;\n this.mix = data.mix;\n this.bendDirection = data.bendDirection;\n this.compress = data.compress;\n this.stretch = data.stretch;\n this.bones = new Array();\n for (var i = 0; i < data.bones.length; i++) this.bones.push(skeleton.findBone(data.bones[i].name));\n this.target = skeleton.findBone(data.target.name);\n }\n IkConstraint.prototype.getOrder = function () {\n return this.data.order;\n };\n IkConstraint.prototype.apply = function () {\n this.update();\n };\n IkConstraint.prototype.update = function () {\n var target = this.target;\n var bones = this.bones;\n switch (bones.length) {\n case 1:\n this.apply1(\n bones[0],\n target.worldX,\n target.worldY,\n this.compress,\n this.stretch,\n this.data.uniform,\n this.mix,\n );\n break;\n case 2:\n this.apply2(bones[0], bones[1], target.worldX, target.worldY, this.bendDirection, this.stretch, this.mix);\n break;\n }\n };\n IkConstraint.prototype.apply1 = function (bone, targetX, targetY, compress, stretch, uniform, alpha) {\n if (!bone.appliedValid) bone.updateAppliedTransform();\n var p = bone.parent.matrix;\n var id = 1 / (p.a * p.d - p.b * p.c);\n var x = targetX - p.tx,\n y = targetY - p.ty;\n var tx = (x * p.d - y * p.c) * id - bone.ax,\n ty = (y * p.a - x * p.b) * id - bone.ay;\n var rotationIK = Math.atan2(ty, tx) * core.MathUtils.radDeg - bone.ashearX - bone.arotation;\n if (bone.ascaleX < 0) rotationIK += 180;\n if (rotationIK > 180) rotationIK -= 360;\n else if (rotationIK < -180) rotationIK += 360;\n var sx = bone.ascaleX,\n sy = bone.ascaleY;\n if (compress || stretch) {\n var b = bone.data.length * sx,\n dd = Math.sqrt(tx * tx + ty * ty);\n if ((compress && dd < b) || (stretch && dd > b && b > 0.0001)) {\n var s = (dd / b - 1) * alpha + 1;\n sx *= s;\n if (uniform) sy *= s;\n }\n }\n bone.updateWorldTransformWith(\n bone.ax,\n bone.ay,\n bone.arotation + rotationIK * alpha,\n sx,\n sy,\n bone.ashearX,\n bone.ashearY,\n );\n };\n IkConstraint.prototype.apply2 = function (parent, child, targetX, targetY, bendDir, stretch, alpha) {\n if (alpha == 0) {\n child.updateWorldTransform();\n return;\n }\n if (!parent.appliedValid) parent.updateAppliedTransform();\n if (!child.appliedValid) child.updateAppliedTransform();\n var px = parent.ax,\n py = parent.ay,\n psx = parent.ascaleX,\n sx = psx,\n psy = parent.ascaleY,\n csx = child.ascaleX;\n var pmat = parent.matrix;\n var os1 = 0,\n os2 = 0,\n s2 = 0;\n if (psx < 0) {\n psx = -psx;\n os1 = 180;\n s2 = -1;\n } else {\n os1 = 0;\n s2 = 1;\n }\n if (psy < 0) {\n psy = -psy;\n s2 = -s2;\n }\n if (csx < 0) {\n csx = -csx;\n os2 = 180;\n } else os2 = 0;\n var cx = child.ax,\n cy = 0,\n cwx = 0,\n cwy = 0,\n a = pmat.a,\n b = pmat.c,\n c = pmat.b,\n d = pmat.d;\n var u = Math.abs(psx - psy) <= 0.0001;\n if (!u) {\n cy = 0;\n cwx = a * cx + pmat.tx;\n cwy = c * cx + pmat.ty;\n } else {\n cy = child.ay;\n cwx = a * cx + b * cy + pmat.tx;\n cwy = c * cx + d * cy + pmat.ty;\n }\n var pp = parent.parent.matrix;\n a = pp.a;\n b = pp.c;\n c = pp.b;\n d = pp.d;\n var id = 1 / (a * d - b * c),\n x = targetX - pp.tx,\n y = targetY - pp.ty;\n var tx = (x * d - y * b) * id - px,\n ty = (y * a - x * c) * id - py,\n dd = tx * tx + ty * ty;\n x = cwx - pp.tx;\n y = cwy - pp.ty;\n var dx = (x * d - y * b) * id - px,\n dy = (y * a - x * c) * id - py;\n var l1 = Math.sqrt(dx * dx + dy * dy),\n l2 = child.data.length * csx,\n a1 = 0,\n a2 = 0;\n outer: if (u) {\n l2 *= psx;\n var cos = (dd - l1 * l1 - l2 * l2) / (2 * l1 * l2);\n if (cos < -1) cos = -1;\n else if (cos > 1) {\n cos = 1;\n if (stretch && l1 + l2 > 0.0001) sx *= (Math.sqrt(dd) / (l1 + l2) - 1) * alpha + 1;\n }\n a2 = Math.acos(cos) * bendDir;\n a = l1 + l2 * cos;\n b = l2 * Math.sin(a2);\n a1 = Math.atan2(ty * a - tx * b, tx * a + ty * b);\n } else {\n a = psx * l2;\n b = psy * l2;\n var aa = a * a,\n bb = b * b,\n ta = Math.atan2(ty, tx);\n c = bb * l1 * l1 + aa * dd - aa * bb;\n var c1 = -2 * bb * l1,\n c2 = bb - aa;\n d = c1 * c1 - 4 * c2 * c;\n if (d >= 0) {\n var q = Math.sqrt(d);\n if (c1 < 0) q = -q;\n q = -(c1 + q) / 2;\n var r0 = q / c2,\n r1 = c / q;\n var r = Math.abs(r0) < Math.abs(r1) ? r0 : r1;\n if (r * r <= dd) {\n y = Math.sqrt(dd - r * r) * bendDir;\n a1 = ta - Math.atan2(y, r);\n a2 = Math.atan2(y / psy, (r - l1) / psx);\n break outer;\n }\n }\n var minAngle = core.MathUtils.PI,\n minX = l1 - a,\n minDist = minX * minX,\n minY = 0;\n var maxAngle = 0,\n maxX = l1 + a,\n maxDist = maxX * maxX,\n maxY = 0;\n c = (-a * l1) / (aa - bb);\n if (c >= -1 && c <= 1) {\n c = Math.acos(c);\n x = a * Math.cos(c) + l1;\n y = b * Math.sin(c);\n d = x * x + y * y;\n if (d < minDist) {\n minAngle = c;\n minDist = d;\n minX = x;\n minY = y;\n }\n if (d > maxDist) {\n maxAngle = c;\n maxDist = d;\n maxX = x;\n maxY = y;\n }\n }\n if (dd <= (minDist + maxDist) / 2) {\n a1 = ta - Math.atan2(minY * bendDir, minX);\n a2 = minAngle * bendDir;\n } else {\n a1 = ta - Math.atan2(maxY * bendDir, maxX);\n a2 = maxAngle * bendDir;\n }\n }\n var os = Math.atan2(cy, cx) * s2;\n var rotation = parent.arotation;\n a1 = (a1 - os) * core.MathUtils.radDeg + os1 - rotation;\n if (a1 > 180) a1 -= 360;\n else if (a1 < -180) a1 += 360;\n parent.updateWorldTransformWith(px, py, rotation + a1 * alpha, sx, parent.ascaleY, 0, 0);\n rotation = child.arotation;\n a2 = ((a2 + os) * core.MathUtils.radDeg - child.ashearX) * s2 + os2 - rotation;\n if (a2 > 180) a2 -= 360;\n else if (a2 < -180) a2 += 360;\n child.updateWorldTransformWith(\n cx,\n cy,\n rotation + a2 * alpha,\n child.ascaleX,\n child.ascaleY,\n child.ashearX,\n child.ashearY,\n );\n };\n return IkConstraint;\n })();\n core.IkConstraint = IkConstraint;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var IkConstraintData = (function () {\n function IkConstraintData(name) {\n this.order = 0;\n this.bones = new Array();\n this.bendDirection = 1;\n this.compress = false;\n this.stretch = false;\n this.uniform = false;\n this.mix = 1;\n this.name = name;\n }\n return IkConstraintData;\n })();\n core.IkConstraintData = IkConstraintData;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var PathConstraint = (function () {\n function PathConstraint(data, skeleton) {\n this.position = 0;\n this.spacing = 0;\n this.rotateMix = 0;\n this.translateMix = 0;\n this.spaces = new Array();\n this.positions = new Array();\n this.world = new Array();\n this.curves = new Array();\n this.lengths = new Array();\n this.segments = new Array();\n if (data == null) throw new Error('data cannot be null.');\n if (skeleton == null) throw new Error('skeleton cannot be null.');\n this.data = data;\n this.bones = new Array();\n for (var i = 0, n = data.bones.length; i < n; i++) this.bones.push(skeleton.findBone(data.bones[i].name));\n this.target = skeleton.findSlot(data.target.name);\n this.position = data.position;\n this.spacing = data.spacing;\n this.rotateMix = data.rotateMix;\n this.translateMix = data.translateMix;\n }\n PathConstraint.prototype.apply = function () {\n this.update();\n };\n PathConstraint.prototype.update = function () {\n var attachment = this.target.getAttachment();\n if (!(attachment instanceof core.PathAttachment)) return;\n var rotateMix = this.rotateMix,\n translateMix = this.translateMix;\n var translate = translateMix > 0,\n rotate = rotateMix > 0;\n if (!translate && !rotate) return;\n var data = this.data;\n var spacingMode = data.spacingMode;\n var lengthSpacing = spacingMode == core.SpacingMode.Length;\n var rotateMode = data.rotateMode;\n var tangents = rotateMode == core.RotateMode.Tangent,\n scale = rotateMode == core.RotateMode.ChainScale;\n var boneCount = this.bones.length,\n spacesCount = tangents ? boneCount : boneCount + 1;\n var bones = this.bones;\n var spaces = core.Utils.setArraySize(this.spaces, spacesCount),\n lengths = null;\n var spacing = this.spacing;\n if (scale || lengthSpacing) {\n if (scale) lengths = core.Utils.setArraySize(this.lengths, boneCount);\n for (var i = 0, n = spacesCount - 1; i < n; ) {\n var bone = bones[i];\n var setupLength = bone.data.length;\n if (setupLength < PathConstraint.epsilon) {\n if (scale) lengths[i] = 0;\n spaces[++i] = 0;\n } else {\n var x = setupLength * bone.matrix.a,\n y = setupLength * bone.matrix.b;\n var length_1 = Math.sqrt(x * x + y * y);\n if (scale) lengths[i] = length_1;\n spaces[++i] = ((lengthSpacing ? setupLength + spacing : spacing) * length_1) / setupLength;\n }\n }\n } else {\n for (var i = 1; i < spacesCount; i++) spaces[i] = spacing;\n }\n var positions = this.computeWorldPositions(\n attachment,\n spacesCount,\n tangents,\n data.positionMode == core.PositionMode.Percent,\n spacingMode == core.SpacingMode.Percent,\n );\n var boneX = positions[0],\n boneY = positions[1],\n offsetRotation = data.offsetRotation;\n var tip = false;\n if (offsetRotation == 0) tip = rotateMode == core.RotateMode.Chain;\n else {\n tip = false;\n var p = this.target.bone.matrix;\n offsetRotation *= p.a * p.d - p.b * p.c > 0 ? core.MathUtils.degRad : -core.MathUtils.degRad;\n }\n for (var i = 0, p = 3; i < boneCount; i++, p += 3) {\n var bone = bones[i];\n var mat = bone.matrix;\n mat.tx += (boneX - mat.tx) * translateMix;\n mat.ty += (boneY - mat.ty) * translateMix;\n var x = positions[p],\n y = positions[p + 1],\n dx = x - boneX,\n dy = y - boneY;\n if (scale) {\n var length_2 = lengths[i];\n if (length_2 != 0) {\n var s = (Math.sqrt(dx * dx + dy * dy) / length_2 - 1) * rotateMix + 1;\n mat.a *= s;\n mat.b *= s;\n }\n }\n boneX = x;\n boneY = y;\n if (rotate) {\n var a = mat.a,\n b = mat.c,\n c = mat.b,\n d = mat.d,\n r = 0,\n cos = 0,\n sin = 0;\n if (tangents) r = positions[p - 1];\n else if (spaces[i + 1] == 0) r = positions[p + 2];\n else r = Math.atan2(dy, dx);\n r -= Math.atan2(c, a);\n if (tip) {\n cos = Math.cos(r);\n sin = Math.sin(r);\n var length_3 = bone.data.length;\n boneX += (length_3 * (cos * a - sin * c) - dx) * rotateMix;\n boneY += (length_3 * (sin * a + cos * c) - dy) * rotateMix;\n } else {\n r += offsetRotation;\n }\n if (r > core.MathUtils.PI) r -= core.MathUtils.PI2;\n else if (r < -core.MathUtils.PI) r += core.MathUtils.PI2;\n r *= rotateMix;\n cos = Math.cos(r);\n sin = Math.sin(r);\n mat.a = cos * a - sin * c;\n mat.c = cos * b - sin * d;\n mat.b = sin * a + cos * c;\n mat.d = sin * b + cos * d;\n }\n bone.appliedValid = false;\n }\n };\n PathConstraint.prototype.computeWorldPositions = function (\n path,\n spacesCount,\n tangents,\n percentPosition,\n percentSpacing,\n ) {\n var target = this.target;\n var position = this.position;\n var spaces = this.spaces,\n out = core.Utils.setArraySize(this.positions, spacesCount * 3 + 2),\n world = null;\n var closed = path.closed;\n var verticesLength = path.worldVerticesLength,\n curveCount = verticesLength / 6,\n prevCurve = PathConstraint.NONE;\n if (!path.constantSpeed) {\n var lengths = path.lengths;\n curveCount -= closed ? 1 : 2;\n var pathLength_1 = lengths[curveCount];\n if (percentPosition) position *= pathLength_1;\n if (percentSpacing) {\n for (var i = 0; i < spacesCount; i++) spaces[i] *= pathLength_1;\n }\n world = core.Utils.setArraySize(this.world, 8);\n for (var i = 0, o = 0, curve = 0; i < spacesCount; i++, o += 3) {\n var space = spaces[i];\n position += space;\n var p = position;\n if (closed) {\n p %= pathLength_1;\n if (p < 0) p += pathLength_1;\n curve = 0;\n } else if (p < 0) {\n if (prevCurve != PathConstraint.BEFORE) {\n prevCurve = PathConstraint.BEFORE;\n path.computeWorldVertices(target, 2, 4, world, 0, 2);\n }\n this.addBeforePosition(p, world, 0, out, o);\n continue;\n } else if (p > pathLength_1) {\n if (prevCurve != PathConstraint.AFTER) {\n prevCurve = PathConstraint.AFTER;\n path.computeWorldVertices(target, verticesLength - 6, 4, world, 0, 2);\n }\n this.addAfterPosition(p - pathLength_1, world, 0, out, o);\n continue;\n }\n for (; ; curve++) {\n var length_4 = lengths[curve];\n if (p > length_4) continue;\n if (curve == 0) p /= length_4;\n else {\n var prev = lengths[curve - 1];\n p = (p - prev) / (length_4 - prev);\n }\n break;\n }\n if (curve != prevCurve) {\n prevCurve = curve;\n if (closed && curve == curveCount) {\n path.computeWorldVertices(target, verticesLength - 4, 4, world, 0, 2);\n path.computeWorldVertices(target, 0, 4, world, 4, 2);\n } else path.computeWorldVertices(target, curve * 6 + 2, 8, world, 0, 2);\n }\n this.addCurvePosition(\n p,\n world[0],\n world[1],\n world[2],\n world[3],\n world[4],\n world[5],\n world[6],\n world[7],\n out,\n o,\n tangents || (i > 0 && space == 0),\n );\n }\n return out;\n }\n if (closed) {\n verticesLength += 2;\n world = core.Utils.setArraySize(this.world, verticesLength);\n path.computeWorldVertices(target, 2, verticesLength - 4, world, 0, 2);\n path.computeWorldVertices(target, 0, 2, world, verticesLength - 4, 2);\n world[verticesLength - 2] = world[0];\n world[verticesLength - 1] = world[1];\n } else {\n curveCount--;\n verticesLength -= 4;\n world = core.Utils.setArraySize(this.world, verticesLength);\n path.computeWorldVertices(target, 2, verticesLength, world, 0, 2);\n }\n var curves = core.Utils.setArraySize(this.curves, curveCount);\n var pathLength = 0;\n var x1 = world[0],\n y1 = world[1],\n cx1 = 0,\n cy1 = 0,\n cx2 = 0,\n cy2 = 0,\n x2 = 0,\n y2 = 0;\n var tmpx = 0,\n tmpy = 0,\n dddfx = 0,\n dddfy = 0,\n ddfx = 0,\n ddfy = 0,\n dfx = 0,\n dfy = 0;\n for (var i = 0, w = 2; i < curveCount; i++, w += 6) {\n cx1 = world[w];\n cy1 = world[w + 1];\n cx2 = world[w + 2];\n cy2 = world[w + 3];\n x2 = world[w + 4];\n y2 = world[w + 5];\n tmpx = (x1 - cx1 * 2 + cx2) * 0.1875;\n tmpy = (y1 - cy1 * 2 + cy2) * 0.1875;\n dddfx = ((cx1 - cx2) * 3 - x1 + x2) * 0.09375;\n dddfy = ((cy1 - cy2) * 3 - y1 + y2) * 0.09375;\n ddfx = tmpx * 2 + dddfx;\n ddfy = tmpy * 2 + dddfy;\n dfx = (cx1 - x1) * 0.75 + tmpx + dddfx * 0.16666667;\n dfy = (cy1 - y1) * 0.75 + tmpy + dddfy * 0.16666667;\n pathLength += Math.sqrt(dfx * dfx + dfy * dfy);\n dfx += ddfx;\n dfy += ddfy;\n ddfx += dddfx;\n ddfy += dddfy;\n pathLength += Math.sqrt(dfx * dfx + dfy * dfy);\n dfx += ddfx;\n dfy += ddfy;\n pathLength += Math.sqrt(dfx * dfx + dfy * dfy);\n dfx += ddfx + dddfx;\n dfy += ddfy + dddfy;\n pathLength += Math.sqrt(dfx * dfx + dfy * dfy);\n curves[i] = pathLength;\n x1 = x2;\n y1 = y2;\n }\n if (percentPosition) position *= pathLength;\n if (percentSpacing) {\n for (var i = 0; i < spacesCount; i++) spaces[i] *= pathLength;\n }\n var segments = this.segments;\n var curveLength = 0;\n for (var i = 0, o = 0, curve = 0, segment = 0; i < spacesCount; i++, o += 3) {\n var space = spaces[i];\n position += space;\n var p = position;\n if (closed) {\n p %= pathLength;\n if (p < 0) p += pathLength;\n curve = 0;\n } else if (p < 0) {\n this.addBeforePosition(p, world, 0, out, o);\n continue;\n } else if (p > pathLength) {\n this.addAfterPosition(p - pathLength, world, verticesLength - 4, out, o);\n continue;\n }\n for (; ; curve++) {\n var length_5 = curves[curve];\n if (p > length_5) continue;\n if (curve == 0) p /= length_5;\n else {\n var prev = curves[curve - 1];\n p = (p - prev) / (length_5 - prev);\n }\n break;\n }\n if (curve != prevCurve) {\n prevCurve = curve;\n var ii = curve * 6;\n x1 = world[ii];\n y1 = world[ii + 1];\n cx1 = world[ii + 2];\n cy1 = world[ii + 3];\n cx2 = world[ii + 4];\n cy2 = world[ii + 5];\n x2 = world[ii + 6];\n y2 = world[ii + 7];\n tmpx = (x1 - cx1 * 2 + cx2) * 0.03;\n tmpy = (y1 - cy1 * 2 + cy2) * 0.03;\n dddfx = ((cx1 - cx2) * 3 - x1 + x2) * 0.006;\n dddfy = ((cy1 - cy2) * 3 - y1 + y2) * 0.006;\n ddfx = tmpx * 2 + dddfx;\n ddfy = tmpy * 2 + dddfy;\n dfx = (cx1 - x1) * 0.3 + tmpx + dddfx * 0.16666667;\n dfy = (cy1 - y1) * 0.3 + tmpy + dddfy * 0.16666667;\n curveLength = Math.sqrt(dfx * dfx + dfy * dfy);\n segments[0] = curveLength;\n for (ii = 1; ii < 8; ii++) {\n dfx += ddfx;\n dfy += ddfy;\n ddfx += dddfx;\n ddfy += dddfy;\n curveLength += Math.sqrt(dfx * dfx + dfy * dfy);\n segments[ii] = curveLength;\n }\n dfx += ddfx;\n dfy += ddfy;\n curveLength += Math.sqrt(dfx * dfx + dfy * dfy);\n segments[8] = curveLength;\n dfx += ddfx + dddfx;\n dfy += ddfy + dddfy;\n curveLength += Math.sqrt(dfx * dfx + dfy * dfy);\n segments[9] = curveLength;\n segment = 0;\n }\n p *= curveLength;\n for (; ; segment++) {\n var length_6 = segments[segment];\n if (p > length_6) continue;\n if (segment == 0) p /= length_6;\n else {\n var prev = segments[segment - 1];\n p = segment + (p - prev) / (length_6 - prev);\n }\n break;\n }\n this.addCurvePosition(p * 0.1, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents || (i > 0 && space == 0));\n }\n return out;\n };\n PathConstraint.prototype.addBeforePosition = function (p, temp, i, out, o) {\n var x1 = temp[i],\n y1 = temp[i + 1],\n dx = temp[i + 2] - x1,\n dy = temp[i + 3] - y1,\n r = Math.atan2(dy, dx);\n out[o] = x1 + p * Math.cos(r);\n out[o + 1] = y1 + p * Math.sin(r);\n out[o + 2] = r;\n };\n PathConstraint.prototype.addAfterPosition = function (p, temp, i, out, o) {\n var x1 = temp[i + 2],\n y1 = temp[i + 3],\n dx = x1 - temp[i],\n dy = y1 - temp[i + 1],\n r = Math.atan2(dy, dx);\n out[o] = x1 + p * Math.cos(r);\n out[o + 1] = y1 + p * Math.sin(r);\n out[o + 2] = r;\n };\n PathConstraint.prototype.addCurvePosition = function (p, x1, y1, cx1, cy1, cx2, cy2, x2, y2, out, o, tangents) {\n if (p == 0 || isNaN(p)) p = 0.0001;\n var tt = p * p,\n ttt = tt * p,\n u = 1 - p,\n uu = u * u,\n uuu = uu * u;\n var ut = u * p,\n ut3 = ut * 3,\n uut3 = u * ut3,\n utt3 = ut3 * p;\n var x = x1 * uuu + cx1 * uut3 + cx2 * utt3 + x2 * ttt,\n y = y1 * uuu + cy1 * uut3 + cy2 * utt3 + y2 * ttt;\n out[o] = x;\n out[o + 1] = y;\n if (tangents)\n out[o + 2] = Math.atan2(y - (y1 * uu + cy1 * ut * 2 + cy2 * tt), x - (x1 * uu + cx1 * ut * 2 + cx2 * tt));\n };\n PathConstraint.prototype.getOrder = function () {\n return this.data.order;\n };\n PathConstraint.NONE = -1;\n PathConstraint.BEFORE = -2;\n PathConstraint.AFTER = -3;\n PathConstraint.epsilon = 0.00001;\n return PathConstraint;\n })();\n core.PathConstraint = PathConstraint;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var PathConstraintData = (function () {\n function PathConstraintData(name) {\n this.order = 0;\n this.bones = new Array();\n this.name = name;\n }\n return PathConstraintData;\n })();\n core.PathConstraintData = PathConstraintData;\n var PositionMode;\n (function (PositionMode) {\n PositionMode[(PositionMode['Fixed'] = 0)] = 'Fixed';\n PositionMode[(PositionMode['Percent'] = 1)] = 'Percent';\n })((PositionMode = core.PositionMode || (core.PositionMode = {})));\n var SpacingMode;\n (function (SpacingMode) {\n SpacingMode[(SpacingMode['Length'] = 0)] = 'Length';\n SpacingMode[(SpacingMode['Fixed'] = 1)] = 'Fixed';\n SpacingMode[(SpacingMode['Percent'] = 2)] = 'Percent';\n })((SpacingMode = core.SpacingMode || (core.SpacingMode = {})));\n var RotateMode;\n (function (RotateMode) {\n RotateMode[(RotateMode['Tangent'] = 0)] = 'Tangent';\n RotateMode[(RotateMode['Chain'] = 1)] = 'Chain';\n RotateMode[(RotateMode['ChainScale'] = 2)] = 'ChainScale';\n })((RotateMode = core.RotateMode || (core.RotateMode = {})));\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var Skeleton = (function () {\n function Skeleton(data) {\n this._updateCache = new Array();\n this.updateCacheReset = new Array();\n this.time = 0;\n this.scaleX = 1;\n this.scaleY = 1;\n this.x = 0;\n this.y = 0;\n if (data == null) throw new Error('data cannot be null.');\n this.data = data;\n this.bones = new Array();\n for (var i = 0; i < data.bones.length; i++) {\n var boneData = data.bones[i];\n var bone = void 0;\n if (boneData.parent == null) bone = new core.Bone(boneData, this, null);\n else {\n var parent_1 = this.bones[boneData.parent.index];\n bone = new core.Bone(boneData, this, parent_1);\n parent_1.children.push(bone);\n }\n this.bones.push(bone);\n }\n this.slots = new Array();\n this.drawOrder = new Array();\n for (var i = 0; i < data.slots.length; i++) {\n var slotData = data.slots[i];\n var bone = this.bones[slotData.boneData.index];\n var slot = new core.Slot(slotData, bone);\n this.slots.push(slot);\n this.drawOrder.push(slot);\n }\n this.ikConstraints = new Array();\n for (var i = 0; i < data.ikConstraints.length; i++) {\n var ikConstraintData = data.ikConstraints[i];\n this.ikConstraints.push(new core.IkConstraint(ikConstraintData, this));\n }\n this.transformConstraints = new Array();\n for (var i = 0; i < data.transformConstraints.length; i++) {\n var transformConstraintData = data.transformConstraints[i];\n this.transformConstraints.push(new core.TransformConstraint(transformConstraintData, this));\n }\n this.pathConstraints = new Array();\n for (var i = 0; i < data.pathConstraints.length; i++) {\n var pathConstraintData = data.pathConstraints[i];\n this.pathConstraints.push(new core.PathConstraint(pathConstraintData, this));\n }\n this.color = new core.Color(1, 1, 1, 1);\n this.updateCache();\n }\n Skeleton.prototype.updateCache = function () {\n var updateCache = this._updateCache;\n updateCache.length = 0;\n this.updateCacheReset.length = 0;\n var bones = this.bones;\n for (var i = 0, n = bones.length; i < n; i++) bones[i].sorted = false;\n var ikConstraints = this.ikConstraints;\n var transformConstraints = this.transformConstraints;\n var pathConstraints = this.pathConstraints;\n var ikCount = ikConstraints.length,\n transformCount = transformConstraints.length,\n pathCount = pathConstraints.length;\n var constraintCount = ikCount + transformCount + pathCount;\n outer: for (var i = 0; i < constraintCount; i++) {\n for (var ii = 0; ii < ikCount; ii++) {\n var constraint = ikConstraints[ii];\n if (constraint.data.order == i) {\n this.sortIkConstraint(constraint);\n continue outer;\n }\n }\n for (var ii = 0; ii < transformCount; ii++) {\n var constraint = transformConstraints[ii];\n if (constraint.data.order == i) {\n this.sortTransformConstraint(constraint);\n continue outer;\n }\n }\n for (var ii = 0; ii < pathCount; ii++) {\n var constraint = pathConstraints[ii];\n if (constraint.data.order == i) {\n this.sortPathConstraint(constraint);\n continue outer;\n }\n }\n }\n for (var i = 0, n = bones.length; i < n; i++) this.sortBone(bones[i]);\n };\n Skeleton.prototype.sortIkConstraint = function (constraint) {\n var target = constraint.target;\n this.sortBone(target);\n var constrained = constraint.bones;\n var parent = constrained[0];\n this.sortBone(parent);\n if (constrained.length > 1) {\n var child = constrained[constrained.length - 1];\n if (!(this._updateCache.indexOf(child) > -1)) this.updateCacheReset.push(child);\n }\n this._updateCache.push(constraint);\n this.sortReset(parent.children);\n constrained[constrained.length - 1].sorted = true;\n };\n Skeleton.prototype.sortPathConstraint = function (constraint) {\n var slot = constraint.target;\n var slotIndex = slot.data.index;\n var slotBone = slot.bone;\n if (this.skin != null) this.sortPathConstraintAttachment(this.skin, slotIndex, slotBone);\n if (this.data.defaultSkin != null && this.data.defaultSkin != this.skin)\n this.sortPathConstraintAttachment(this.data.defaultSkin, slotIndex, slotBone);\n for (var i = 0, n = this.data.skins.length; i < n; i++)\n this.sortPathConstraintAttachment(this.data.skins[i], slotIndex, slotBone);\n var attachment = slot.getAttachment();\n if (attachment instanceof core.PathAttachment) this.sortPathConstraintAttachmentWith(attachment, slotBone);\n var constrained = constraint.bones;\n var boneCount = constrained.length;\n for (var i = 0; i < boneCount; i++) this.sortBone(constrained[i]);\n this._updateCache.push(constraint);\n for (var i = 0; i < boneCount; i++) this.sortReset(constrained[i].children);\n for (var i = 0; i < boneCount; i++) constrained[i].sorted = true;\n };\n Skeleton.prototype.sortTransformConstraint = function (constraint) {\n this.sortBone(constraint.target);\n var constrained = constraint.bones;\n var boneCount = constrained.length;\n if (constraint.data.local) {\n for (var i = 0; i < boneCount; i++) {\n var child = constrained[i];\n this.sortBone(child.parent);\n if (!(this._updateCache.indexOf(child) > -1)) this.updateCacheReset.push(child);\n }\n } else {\n for (var i = 0; i < boneCount; i++) {\n this.sortBone(constrained[i]);\n }\n }\n this._updateCache.push(constraint);\n for (var ii = 0; ii < boneCount; ii++) this.sortReset(constrained[ii].children);\n for (var ii = 0; ii < boneCount; ii++) constrained[ii].sorted = true;\n };\n Skeleton.prototype.sortPathConstraintAttachment = function (skin, slotIndex, slotBone) {\n var attachments = skin.attachments[slotIndex];\n if (!attachments) return;\n for (var key in attachments) {\n this.sortPathConstraintAttachmentWith(attachments[key], slotBone);\n }\n };\n Skeleton.prototype.sortPathConstraintAttachmentWith = function (attachment, slotBone) {\n if (!(attachment instanceof core.PathAttachment)) return;\n var pathBones = attachment.bones;\n if (pathBones == null) this.sortBone(slotBone);\n else {\n var bones = this.bones;\n var i = 0;\n while (i < pathBones.length) {\n var boneCount = pathBones[i++];\n for (var n = i + boneCount; i < n; i++) {\n var boneIndex = pathBones[i];\n this.sortBone(bones[boneIndex]);\n }\n }\n }\n };\n Skeleton.prototype.sortBone = function (bone) {\n if (bone.sorted) return;\n var parent = bone.parent;\n if (parent != null) this.sortBone(parent);\n bone.sorted = true;\n this._updateCache.push(bone);\n };\n Skeleton.prototype.sortReset = function (bones) {\n for (var i = 0, n = bones.length; i < n; i++) {\n var bone = bones[i];\n if (bone.sorted) this.sortReset(bone.children);\n bone.sorted = false;\n }\n };\n Skeleton.prototype.updateWorldTransform = function () {\n var updateCacheReset = this.updateCacheReset;\n for (var i = 0, n = updateCacheReset.length; i < n; i++) {\n var bone = updateCacheReset[i];\n bone.ax = bone.x;\n bone.ay = bone.y;\n bone.arotation = bone.rotation;\n bone.ascaleX = bone.scaleX;\n bone.ascaleY = bone.scaleY;\n bone.ashearX = bone.shearX;\n bone.ashearY = bone.shearY;\n bone.appliedValid = true;\n }\n var updateCache = this._updateCache;\n for (var i = 0, n = updateCache.length; i < n; i++) updateCache[i].update();\n };\n Skeleton.prototype.setToSetupPose = function () {\n this.setBonesToSetupPose();\n this.setSlotsToSetupPose();\n };\n Skeleton.prototype.setBonesToSetupPose = function () {\n var bones = this.bones;\n for (var i = 0, n = bones.length; i < n; i++) bones[i].setToSetupPose();\n var ikConstraints = this.ikConstraints;\n for (var i = 0, n = ikConstraints.length; i < n; i++) {\n var constraint = ikConstraints[i];\n constraint.bendDirection = constraint.data.bendDirection;\n constraint.mix = constraint.data.mix;\n }\n var transformConstraints = this.transformConstraints;\n for (var i = 0, n = transformConstraints.length; i < n; i++) {\n var constraint = transformConstraints[i];\n var data = constraint.data;\n constraint.rotateMix = data.rotateMix;\n constraint.translateMix = data.translateMix;\n constraint.scaleMix = data.scaleMix;\n constraint.shearMix = data.shearMix;\n }\n var pathConstraints = this.pathConstraints;\n for (var i = 0, n = pathConstraints.length; i < n; i++) {\n var constraint = pathConstraints[i];\n var data = constraint.data;\n constraint.position = data.position;\n constraint.spacing = data.spacing;\n constraint.rotateMix = data.rotateMix;\n constraint.translateMix = data.translateMix;\n }\n };\n Skeleton.prototype.setSlotsToSetupPose = function () {\n var slots = this.slots;\n core.Utils.arrayCopy(slots, 0, this.drawOrder, 0, slots.length);\n for (var i = 0, n = slots.length; i < n; i++) slots[i].setToSetupPose();\n };\n Skeleton.prototype.getRootBone = function () {\n if (this.bones.length == 0) return null;\n return this.bones[0];\n };\n Skeleton.prototype.findBone = function (boneName) {\n if (boneName == null) throw new Error('boneName cannot be null.');\n var bones = this.bones;\n for (var i = 0, n = bones.length; i < n; i++) {\n var bone = bones[i];\n if (bone.data.name == boneName) return bone;\n }\n return null;\n };\n Skeleton.prototype.findBoneIndex = function (boneName) {\n if (boneName == null) throw new Error('boneName cannot be null.');\n var bones = this.bones;\n for (var i = 0, n = bones.length; i < n; i++) if (bones[i].data.name == boneName) return i;\n return -1;\n };\n Skeleton.prototype.findSlot = function (slotName) {\n if (slotName == null) throw new Error('slotName cannot be null.');\n var slots = this.slots;\n for (var i = 0, n = slots.length; i < n; i++) {\n var slot = slots[i];\n if (slot.data.name == slotName) return slot;\n }\n return null;\n };\n Skeleton.prototype.findSlotIndex = function (slotName) {\n if (slotName == null) throw new Error('slotName cannot be null.');\n var slots = this.slots;\n for (var i = 0, n = slots.length; i < n; i++) if (slots[i].data.name == slotName) return i;\n return -1;\n };\n Skeleton.prototype.setSkinByName = function (skinName) {\n var skin = this.data.findSkin(skinName);\n if (skin == null) throw new Error('Skin not found: ' + skinName);\n this.setSkin(skin);\n };\n Skeleton.prototype.setSkin = function (newSkin) {\n if (newSkin != null) {\n if (this.skin != null) newSkin.attachAll(this, this.skin);\n else {\n var slots = this.slots;\n for (var i = 0, n = slots.length; i < n; i++) {\n var slot = slots[i];\n var name_1 = slot.data.attachmentName;\n if (name_1 != null) {\n var attachment = newSkin.getAttachment(i, name_1);\n if (attachment != null) slot.setAttachment(attachment);\n }\n }\n }\n }\n this.skin = newSkin;\n };\n Skeleton.prototype.getAttachmentByName = function (slotName, attachmentName) {\n return this.getAttachment(this.data.findSlotIndex(slotName), attachmentName);\n };\n Skeleton.prototype.getAttachment = function (slotIndex, attachmentName) {\n if (attachmentName == null) throw new Error('attachmentName cannot be null.');\n if (this.skin != null) {\n var attachment = this.skin.getAttachment(slotIndex, attachmentName);\n if (attachment != null) return attachment;\n }\n if (this.data.defaultSkin != null) return this.data.defaultSkin.getAttachment(slotIndex, attachmentName);\n return null;\n };\n Skeleton.prototype.setAttachment = function (slotName, attachmentName) {\n if (slotName == null) throw new Error('slotName cannot be null.');\n var slots = this.slots;\n for (var i = 0, n = slots.length; i < n; i++) {\n var slot = slots[i];\n if (slot.data.name == slotName) {\n var attachment = null;\n if (attachmentName != null) {\n attachment = this.getAttachment(i, attachmentName);\n if (attachment == null)\n throw new Error('Attachment not found: ' + attachmentName + ', for slot: ' + slotName);\n }\n slot.setAttachment(attachment);\n return;\n }\n }\n throw new Error('Slot not found: ' + slotName);\n };\n Skeleton.prototype.findIkConstraint = function (constraintName) {\n if (constraintName == null) throw new Error('constraintName cannot be null.');\n var ikConstraints = this.ikConstraints;\n for (var i = 0, n = ikConstraints.length; i < n; i++) {\n var ikConstraint = ikConstraints[i];\n if (ikConstraint.data.name == constraintName) return ikConstraint;\n }\n return null;\n };\n Skeleton.prototype.findTransformConstraint = function (constraintName) {\n if (constraintName == null) throw new Error('constraintName cannot be null.');\n var transformConstraints = this.transformConstraints;\n for (var i = 0, n = transformConstraints.length; i < n; i++) {\n var constraint = transformConstraints[i];\n if (constraint.data.name == constraintName) return constraint;\n }\n return null;\n };\n Skeleton.prototype.findPathConstraint = function (constraintName) {\n if (constraintName == null) throw new Error('constraintName cannot be null.');\n var pathConstraints = this.pathConstraints;\n for (var i = 0, n = pathConstraints.length; i < n; i++) {\n var constraint = pathConstraints[i];\n if (constraint.data.name == constraintName) return constraint;\n }\n return null;\n };\n Skeleton.prototype.getBounds = function (offset, size, temp) {\n if (offset == null) throw new Error('offset cannot be null.');\n if (size == null) throw new Error('size cannot be null.');\n var drawOrder = this.drawOrder;\n var minX = Number.POSITIVE_INFINITY,\n minY = Number.POSITIVE_INFINITY,\n maxX = Number.NEGATIVE_INFINITY,\n maxY = Number.NEGATIVE_INFINITY;\n for (var i = 0, n = drawOrder.length; i < n; i++) {\n var slot = drawOrder[i];\n var verticesLength = 0;\n var vertices = null;\n var attachment = slot.getAttachment();\n if (attachment instanceof core.RegionAttachment) {\n verticesLength = 8;\n vertices = core.Utils.setArraySize(temp, verticesLength, 0);\n attachment.computeWorldVertices(slot.bone, vertices, 0, 2);\n } else if (attachment instanceof core.MeshAttachment) {\n var mesh = attachment;\n verticesLength = mesh.worldVerticesLength;\n vertices = core.Utils.setArraySize(temp, verticesLength, 0);\n mesh.computeWorldVertices(slot, 0, verticesLength, vertices, 0, 2);\n }\n if (vertices != null) {\n for (var ii = 0, nn = vertices.length; ii < nn; ii += 2) {\n var x = vertices[ii],\n y = vertices[ii + 1];\n minX = Math.min(minX, x);\n minY = Math.min(minY, y);\n maxX = Math.max(maxX, x);\n maxY = Math.max(maxY, y);\n }\n }\n }\n offset.set(minX, minY);\n size.set(maxX - minX, maxY - minY);\n };\n Skeleton.prototype.update = function (delta) {\n this.time += delta;\n };\n Object.defineProperty(Skeleton.prototype, 'flipX', {\n get: function () {\n return this.scaleX == -1;\n },\n set: function (value) {\n if (!Skeleton.deprecatedWarning1) {\n Skeleton.deprecatedWarning1 = true;\n console.warn('Spine Deprecation Warning: `Skeleton.flipX/flipY` was deprecated, please use scaleX/scaleY');\n }\n this.scaleX = value ? 1.0 : -1.0;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(Skeleton.prototype, 'flipY', {\n get: function () {\n return this.scaleY == -1;\n },\n set: function (value) {\n if (!Skeleton.deprecatedWarning1) {\n Skeleton.deprecatedWarning1 = true;\n console.warn('Spine Deprecation Warning: `Skeleton.flipX/flipY` was deprecated, please use scaleX/scaleY');\n }\n this.scaleY = value ? 1.0 : -1.0;\n },\n enumerable: true,\n configurable: true,\n });\n Skeleton.deprecatedWarning1 = false;\n return Skeleton;\n })();\n core.Skeleton = Skeleton;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var SkeletonBounds = (function () {\n function SkeletonBounds() {\n this.minX = 0;\n this.minY = 0;\n this.maxX = 0;\n this.maxY = 0;\n this.boundingBoxes = new Array();\n this.polygons = new Array();\n this.polygonPool = new core.Pool(function () {\n return core.Utils.newFloatArray(16);\n });\n }\n SkeletonBounds.prototype.update = function (skeleton, updateAabb) {\n if (skeleton == null) throw new Error('skeleton cannot be null.');\n var boundingBoxes = this.boundingBoxes;\n var polygons = this.polygons;\n var polygonPool = this.polygonPool;\n var slots = skeleton.slots;\n var slotCount = slots.length;\n boundingBoxes.length = 0;\n polygonPool.freeAll(polygons);\n polygons.length = 0;\n for (var i = 0; i < slotCount; i++) {\n var slot = slots[i];\n var attachment = slot.getAttachment();\n if (attachment instanceof core.BoundingBoxAttachment) {\n var boundingBox = attachment;\n boundingBoxes.push(boundingBox);\n var polygon = polygonPool.obtain();\n if (polygon.length != boundingBox.worldVerticesLength) {\n polygon = core.Utils.newFloatArray(boundingBox.worldVerticesLength);\n }\n polygons.push(polygon);\n boundingBox.computeWorldVertices(slot, 0, boundingBox.worldVerticesLength, polygon, 0, 2);\n }\n }\n if (updateAabb) {\n this.aabbCompute();\n } else {\n this.minX = Number.POSITIVE_INFINITY;\n this.minY = Number.POSITIVE_INFINITY;\n this.maxX = Number.NEGATIVE_INFINITY;\n this.maxY = Number.NEGATIVE_INFINITY;\n }\n };\n SkeletonBounds.prototype.aabbCompute = function () {\n var minX = Number.POSITIVE_INFINITY,\n minY = Number.POSITIVE_INFINITY,\n maxX = Number.NEGATIVE_INFINITY,\n maxY = Number.NEGATIVE_INFINITY;\n var polygons = this.polygons;\n for (var i = 0, n = polygons.length; i < n; i++) {\n var polygon = polygons[i];\n var vertices = polygon;\n for (var ii = 0, nn = polygon.length; ii < nn; ii += 2) {\n var x = vertices[ii];\n var y = vertices[ii + 1];\n minX = Math.min(minX, x);\n minY = Math.min(minY, y);\n maxX = Math.max(maxX, x);\n maxY = Math.max(maxY, y);\n }\n }\n this.minX = minX;\n this.minY = minY;\n this.maxX = maxX;\n this.maxY = maxY;\n };\n SkeletonBounds.prototype.aabbContainsPoint = function (x, y) {\n return x >= this.minX && x <= this.maxX && y >= this.minY && y <= this.maxY;\n };\n SkeletonBounds.prototype.aabbIntersectsSegment = function (x1, y1, x2, y2) {\n var minX = this.minX;\n var minY = this.minY;\n var maxX = this.maxX;\n var maxY = this.maxY;\n if (\n (x1 <= minX && x2 <= minX) ||\n (y1 <= minY && y2 <= minY) ||\n (x1 >= maxX && x2 >= maxX) ||\n (y1 >= maxY && y2 >= maxY)\n )\n return false;\n var m = (y2 - y1) / (x2 - x1);\n var y = m * (minX - x1) + y1;\n if (y > minY && y < maxY) return true;\n y = m * (maxX - x1) + y1;\n if (y > minY && y < maxY) return true;\n var x = (minY - y1) / m + x1;\n if (x > minX && x < maxX) return true;\n x = (maxY - y1) / m + x1;\n if (x > minX && x < maxX) return true;\n return false;\n };\n SkeletonBounds.prototype.aabbIntersectsSkeleton = function (bounds) {\n return this.minX < bounds.maxX && this.maxX > bounds.minX && this.minY < bounds.maxY && this.maxY > bounds.minY;\n };\n SkeletonBounds.prototype.containsPoint = function (x, y) {\n var polygons = this.polygons;\n for (var i = 0, n = polygons.length; i < n; i++)\n if (this.containsPointPolygon(polygons[i], x, y)) return this.boundingBoxes[i];\n return null;\n };\n SkeletonBounds.prototype.containsPointPolygon = function (polygon, x, y) {\n var vertices = polygon;\n var nn = polygon.length;\n var prevIndex = nn - 2;\n var inside = false;\n for (var ii = 0; ii < nn; ii += 2) {\n var vertexY = vertices[ii + 1];\n var prevY = vertices[prevIndex + 1];\n if ((vertexY < y && prevY >= y) || (prevY < y && vertexY >= y)) {\n var vertexX = vertices[ii];\n if (vertexX + ((y - vertexY) / (prevY - vertexY)) * (vertices[prevIndex] - vertexX) < x) inside = !inside;\n }\n prevIndex = ii;\n }\n return inside;\n };\n SkeletonBounds.prototype.intersectsSegment = function (x1, y1, x2, y2) {\n var polygons = this.polygons;\n for (var i = 0, n = polygons.length; i < n; i++)\n if (this.intersectsSegmentPolygon(polygons[i], x1, y1, x2, y2)) return this.boundingBoxes[i];\n return null;\n };\n SkeletonBounds.prototype.intersectsSegmentPolygon = function (polygon, x1, y1, x2, y2) {\n var vertices = polygon;\n var nn = polygon.length;\n var width12 = x1 - x2,\n height12 = y1 - y2;\n var det1 = x1 * y2 - y1 * x2;\n var x3 = vertices[nn - 2],\n y3 = vertices[nn - 1];\n for (var ii = 0; ii < nn; ii += 2) {\n var x4 = vertices[ii],\n y4 = vertices[ii + 1];\n var det2 = x3 * y4 - y3 * x4;\n var width34 = x3 - x4,\n height34 = y3 - y4;\n var det3 = width12 * height34 - height12 * width34;\n var x = (det1 * width34 - width12 * det2) / det3;\n if (((x >= x3 && x <= x4) || (x >= x4 && x <= x3)) && ((x >= x1 && x <= x2) || (x >= x2 && x <= x1))) {\n var y = (det1 * height34 - height12 * det2) / det3;\n if (((y >= y3 && y <= y4) || (y >= y4 && y <= y3)) && ((y >= y1 && y <= y2) || (y >= y2 && y <= y1)))\n return true;\n }\n x3 = x4;\n y3 = y4;\n }\n return false;\n };\n SkeletonBounds.prototype.getPolygon = function (boundingBox) {\n if (boundingBox == null) throw new Error('boundingBox cannot be null.');\n var index = this.boundingBoxes.indexOf(boundingBox);\n return index == -1 ? null : this.polygons[index];\n };\n SkeletonBounds.prototype.getWidth = function () {\n return this.maxX - this.minX;\n };\n SkeletonBounds.prototype.getHeight = function () {\n return this.maxY - this.minY;\n };\n return SkeletonBounds;\n })();\n core.SkeletonBounds = SkeletonBounds;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var SkeletonClipping = (function () {\n function SkeletonClipping() {\n this.triangulator = new core.Triangulator();\n this.clippingPolygon = new Array();\n this.clipOutput = new Array();\n this.clippedVertices = new Array();\n this.clippedTriangles = new Array();\n this.scratch = new Array();\n }\n SkeletonClipping.prototype.clipStart = function (slot, clip) {\n if (this.clipAttachment != null) return 0;\n this.clipAttachment = clip;\n var n = clip.worldVerticesLength;\n var vertices = core.Utils.setArraySize(this.clippingPolygon, n);\n clip.computeWorldVertices(slot, 0, n, vertices, 0, 2);\n var clippingPolygon = this.clippingPolygon;\n SkeletonClipping.makeClockwise(clippingPolygon);\n var clippingPolygons = (this.clippingPolygons = this.triangulator.decompose(\n clippingPolygon,\n this.triangulator.triangulate(clippingPolygon),\n ));\n for (var i = 0, n_1 = clippingPolygons.length; i < n_1; i++) {\n var polygon = clippingPolygons[i];\n SkeletonClipping.makeClockwise(polygon);\n polygon.push(polygon[0]);\n polygon.push(polygon[1]);\n }\n return clippingPolygons.length;\n };\n SkeletonClipping.prototype.clipEndWithSlot = function (slot) {\n if (this.clipAttachment != null && this.clipAttachment.endSlot == slot.data) this.clipEnd();\n };\n SkeletonClipping.prototype.clipEnd = function () {\n if (this.clipAttachment == null) return;\n this.clipAttachment = null;\n this.clippingPolygons = null;\n this.clippedVertices.length = 0;\n this.clippedTriangles.length = 0;\n this.clippingPolygon.length = 0;\n };\n SkeletonClipping.prototype.isClipping = function () {\n return this.clipAttachment != null;\n };\n SkeletonClipping.prototype.clipTriangles = function (\n vertices,\n verticesLength,\n triangles,\n trianglesLength,\n uvs,\n light,\n dark,\n twoColor,\n ) {\n var clipOutput = this.clipOutput,\n clippedVertices = this.clippedVertices;\n var clippedTriangles = this.clippedTriangles;\n var polygons = this.clippingPolygons;\n var polygonsCount = this.clippingPolygons.length;\n var vertexSize = twoColor ? 12 : 8;\n var index = 0;\n clippedVertices.length = 0;\n clippedTriangles.length = 0;\n outer: for (var i = 0; i < trianglesLength; i += 3) {\n var vertexOffset = triangles[i] << 1;\n var x1 = vertices[vertexOffset],\n y1 = vertices[vertexOffset + 1];\n var u1 = uvs[vertexOffset],\n v1 = uvs[vertexOffset + 1];\n vertexOffset = triangles[i + 1] << 1;\n var x2 = vertices[vertexOffset],\n y2 = vertices[vertexOffset + 1];\n var u2 = uvs[vertexOffset],\n v2 = uvs[vertexOffset + 1];\n vertexOffset = triangles[i + 2] << 1;\n var x3 = vertices[vertexOffset],\n y3 = vertices[vertexOffset + 1];\n var u3 = uvs[vertexOffset],\n v3 = uvs[vertexOffset + 1];\n for (var p = 0; p < polygonsCount; p++) {\n var s = clippedVertices.length;\n if (this.clip(x1, y1, x2, y2, x3, y3, polygons[p], clipOutput)) {\n var clipOutputLength = clipOutput.length;\n if (clipOutputLength == 0) continue;\n var d0 = y2 - y3,\n d1 = x3 - x2,\n d2 = x1 - x3,\n d4 = y3 - y1;\n var d = 1 / (d0 * d2 + d1 * (y1 - y3));\n var clipOutputCount = clipOutputLength >> 1;\n var clipOutputItems = this.clipOutput;\n var clippedVerticesItems = core.Utils.setArraySize(clippedVertices, s + clipOutputCount * vertexSize);\n for (var ii = 0; ii < clipOutputLength; ii += 2) {\n var x = clipOutputItems[ii],\n y = clipOutputItems[ii + 1];\n clippedVerticesItems[s] = x;\n clippedVerticesItems[s + 1] = y;\n clippedVerticesItems[s + 2] = light.r;\n clippedVerticesItems[s + 3] = light.g;\n clippedVerticesItems[s + 4] = light.b;\n clippedVerticesItems[s + 5] = light.a;\n var c0 = x - x3,\n c1 = y - y3;\n var a = (d0 * c0 + d1 * c1) * d;\n var b = (d4 * c0 + d2 * c1) * d;\n var c = 1 - a - b;\n clippedVerticesItems[s + 6] = u1 * a + u2 * b + u3 * c;\n clippedVerticesItems[s + 7] = v1 * a + v2 * b + v3 * c;\n if (twoColor) {\n clippedVerticesItems[s + 8] = dark.r;\n clippedVerticesItems[s + 9] = dark.g;\n clippedVerticesItems[s + 10] = dark.b;\n clippedVerticesItems[s + 11] = dark.a;\n }\n s += vertexSize;\n }\n s = clippedTriangles.length;\n var clippedTrianglesItems = core.Utils.setArraySize(clippedTriangles, s + 3 * (clipOutputCount - 2));\n clipOutputCount--;\n for (var ii = 1; ii < clipOutputCount; ii++) {\n clippedTrianglesItems[s] = index;\n clippedTrianglesItems[s + 1] = index + ii;\n clippedTrianglesItems[s + 2] = index + ii + 1;\n s += 3;\n }\n index += clipOutputCount + 1;\n } else {\n var clippedVerticesItems = core.Utils.setArraySize(clippedVertices, s + 3 * vertexSize);\n clippedVerticesItems[s] = x1;\n clippedVerticesItems[s + 1] = y1;\n clippedVerticesItems[s + 2] = light.r;\n clippedVerticesItems[s + 3] = light.g;\n clippedVerticesItems[s + 4] = light.b;\n clippedVerticesItems[s + 5] = light.a;\n if (!twoColor) {\n clippedVerticesItems[s + 6] = u1;\n clippedVerticesItems[s + 7] = v1;\n clippedVerticesItems[s + 8] = x2;\n clippedVerticesItems[s + 9] = y2;\n clippedVerticesItems[s + 10] = light.r;\n clippedVerticesItems[s + 11] = light.g;\n clippedVerticesItems[s + 12] = light.b;\n clippedVerticesItems[s + 13] = light.a;\n clippedVerticesItems[s + 14] = u2;\n clippedVerticesItems[s + 15] = v2;\n clippedVerticesItems[s + 16] = x3;\n clippedVerticesItems[s + 17] = y3;\n clippedVerticesItems[s + 18] = light.r;\n clippedVerticesItems[s + 19] = light.g;\n clippedVerticesItems[s + 20] = light.b;\n clippedVerticesItems[s + 21] = light.a;\n clippedVerticesItems[s + 22] = u3;\n clippedVerticesItems[s + 23] = v3;\n } else {\n clippedVerticesItems[s + 6] = u1;\n clippedVerticesItems[s + 7] = v1;\n clippedVerticesItems[s + 8] = dark.r;\n clippedVerticesItems[s + 9] = dark.g;\n clippedVerticesItems[s + 10] = dark.b;\n clippedVerticesItems[s + 11] = dark.a;\n clippedVerticesItems[s + 12] = x2;\n clippedVerticesItems[s + 13] = y2;\n clippedVerticesItems[s + 14] = light.r;\n clippedVerticesItems[s + 15] = light.g;\n clippedVerticesItems[s + 16] = light.b;\n clippedVerticesItems[s + 17] = light.a;\n clippedVerticesItems[s + 18] = u2;\n clippedVerticesItems[s + 19] = v2;\n clippedVerticesItems[s + 20] = dark.r;\n clippedVerticesItems[s + 21] = dark.g;\n clippedVerticesItems[s + 22] = dark.b;\n clippedVerticesItems[s + 23] = dark.a;\n clippedVerticesItems[s + 24] = x3;\n clippedVerticesItems[s + 25] = y3;\n clippedVerticesItems[s + 26] = light.r;\n clippedVerticesItems[s + 27] = light.g;\n clippedVerticesItems[s + 28] = light.b;\n clippedVerticesItems[s + 29] = light.a;\n clippedVerticesItems[s + 30] = u3;\n clippedVerticesItems[s + 31] = v3;\n clippedVerticesItems[s + 32] = dark.r;\n clippedVerticesItems[s + 33] = dark.g;\n clippedVerticesItems[s + 34] = dark.b;\n clippedVerticesItems[s + 35] = dark.a;\n }\n s = clippedTriangles.length;\n var clippedTrianglesItems = core.Utils.setArraySize(clippedTriangles, s + 3);\n clippedTrianglesItems[s] = index;\n clippedTrianglesItems[s + 1] = index + 1;\n clippedTrianglesItems[s + 2] = index + 2;\n index += 3;\n continue outer;\n }\n }\n }\n };\n SkeletonClipping.prototype.clip = function (x1, y1, x2, y2, x3, y3, clippingArea, output) {\n var originalOutput = output;\n var clipped = false;\n var input = null;\n if (clippingArea.length % 4 >= 2) {\n input = output;\n output = this.scratch;\n } else input = this.scratch;\n input.length = 0;\n input.push(x1);\n input.push(y1);\n input.push(x2);\n input.push(y2);\n input.push(x3);\n input.push(y3);\n input.push(x1);\n input.push(y1);\n output.length = 0;\n var clippingVertices = clippingArea;\n var clippingVerticesLast = clippingArea.length - 4;\n for (var i = 0; ; i += 2) {\n var edgeX = clippingVertices[i],\n edgeY = clippingVertices[i + 1];\n var edgeX2 = clippingVertices[i + 2],\n edgeY2 = clippingVertices[i + 3];\n var deltaX = edgeX - edgeX2,\n deltaY = edgeY - edgeY2;\n var inputVertices = input;\n var inputVerticesLength = input.length - 2,\n outputStart = output.length;\n for (var ii = 0; ii < inputVerticesLength; ii += 2) {\n var inputX = inputVertices[ii],\n inputY = inputVertices[ii + 1];\n var inputX2 = inputVertices[ii + 2],\n inputY2 = inputVertices[ii + 3];\n var side2 = deltaX * (inputY2 - edgeY2) - deltaY * (inputX2 - edgeX2) > 0;\n if (deltaX * (inputY - edgeY2) - deltaY * (inputX - edgeX2) > 0) {\n if (side2) {\n output.push(inputX2);\n output.push(inputY2);\n continue;\n }\n var c0 = inputY2 - inputY,\n c2 = inputX2 - inputX;\n var ua =\n (c2 * (edgeY - inputY) - c0 * (edgeX - inputX)) / (c0 * (edgeX2 - edgeX) - c2 * (edgeY2 - edgeY));\n output.push(edgeX + (edgeX2 - edgeX) * ua);\n output.push(edgeY + (edgeY2 - edgeY) * ua);\n } else if (side2) {\n var c0 = inputY2 - inputY,\n c2 = inputX2 - inputX;\n var ua =\n (c2 * (edgeY - inputY) - c0 * (edgeX - inputX)) / (c0 * (edgeX2 - edgeX) - c2 * (edgeY2 - edgeY));\n output.push(edgeX + (edgeX2 - edgeX) * ua);\n output.push(edgeY + (edgeY2 - edgeY) * ua);\n output.push(inputX2);\n output.push(inputY2);\n }\n clipped = true;\n }\n if (outputStart == output.length) {\n originalOutput.length = 0;\n return true;\n }\n output.push(output[0]);\n output.push(output[1]);\n if (i == clippingVerticesLast) break;\n var temp = output;\n output = input;\n output.length = 0;\n input = temp;\n }\n if (originalOutput != output) {\n originalOutput.length = 0;\n for (var i = 0, n = output.length - 2; i < n; i++) originalOutput[i] = output[i];\n } else originalOutput.length = originalOutput.length - 2;\n return clipped;\n };\n SkeletonClipping.makeClockwise = function (polygon) {\n var vertices = polygon;\n var verticeslength = polygon.length;\n var area = vertices[verticeslength - 2] * vertices[1] - vertices[0] * vertices[verticeslength - 1],\n p1x = 0,\n p1y = 0,\n p2x = 0,\n p2y = 0;\n for (var i = 0, n = verticeslength - 3; i < n; i += 2) {\n p1x = vertices[i];\n p1y = vertices[i + 1];\n p2x = vertices[i + 2];\n p2y = vertices[i + 3];\n area += p1x * p2y - p2x * p1y;\n }\n if (area < 0) return;\n for (var i = 0, lastX = verticeslength - 2, n = verticeslength >> 1; i < n; i += 2) {\n var x = vertices[i],\n y = vertices[i + 1];\n var other = lastX - i;\n vertices[i] = vertices[other];\n vertices[i + 1] = vertices[other + 1];\n vertices[other] = x;\n vertices[other + 1] = y;\n }\n };\n return SkeletonClipping;\n })();\n core.SkeletonClipping = SkeletonClipping;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var SkeletonData = (function () {\n function SkeletonData() {\n this.bones = new Array();\n this.slots = new Array();\n this.skins = new Array();\n this.events = new Array();\n this.animations = new Array();\n this.ikConstraints = new Array();\n this.transformConstraints = new Array();\n this.pathConstraints = new Array();\n this.fps = 0;\n }\n SkeletonData.prototype.findBone = function (boneName) {\n if (boneName == null) throw new Error('boneName cannot be null.');\n var bones = this.bones;\n for (var i = 0, n = bones.length; i < n; i++) {\n var bone = bones[i];\n if (bone.name == boneName) return bone;\n }\n return null;\n };\n SkeletonData.prototype.findBoneIndex = function (boneName) {\n if (boneName == null) throw new Error('boneName cannot be null.');\n var bones = this.bones;\n for (var i = 0, n = bones.length; i < n; i++) if (bones[i].name == boneName) return i;\n return -1;\n };\n SkeletonData.prototype.findSlot = function (slotName) {\n if (slotName == null) throw new Error('slotName cannot be null.');\n var slots = this.slots;\n for (var i = 0, n = slots.length; i < n; i++) {\n var slot = slots[i];\n if (slot.name == slotName) return slot;\n }\n return null;\n };\n SkeletonData.prototype.findSlotIndex = function (slotName) {\n if (slotName == null) throw new Error('slotName cannot be null.');\n var slots = this.slots;\n for (var i = 0, n = slots.length; i < n; i++) if (slots[i].name == slotName) return i;\n return -1;\n };\n SkeletonData.prototype.findSkin = function (skinName) {\n if (skinName == null) throw new Error('skinName cannot be null.');\n var skins = this.skins;\n for (var i = 0, n = skins.length; i < n; i++) {\n var skin = skins[i];\n if (skin.name == skinName) return skin;\n }\n return null;\n };\n SkeletonData.prototype.findEvent = function (eventDataName) {\n if (eventDataName == null) throw new Error('eventDataName cannot be null.');\n var events = this.events;\n for (var i = 0, n = events.length; i < n; i++) {\n var event_4 = events[i];\n if (event_4.name == eventDataName) return event_4;\n }\n return null;\n };\n SkeletonData.prototype.findAnimation = function (animationName) {\n if (animationName == null) throw new Error('animationName cannot be null.');\n var animations = this.animations;\n for (var i = 0, n = animations.length; i < n; i++) {\n var animation = animations[i];\n if (animation.name == animationName) return animation;\n }\n return null;\n };\n SkeletonData.prototype.findIkConstraint = function (constraintName) {\n if (constraintName == null) throw new Error('constraintName cannot be null.');\n var ikConstraints = this.ikConstraints;\n for (var i = 0, n = ikConstraints.length; i < n; i++) {\n var constraint = ikConstraints[i];\n if (constraint.name == constraintName) return constraint;\n }\n return null;\n };\n SkeletonData.prototype.findTransformConstraint = function (constraintName) {\n if (constraintName == null) throw new Error('constraintName cannot be null.');\n var transformConstraints = this.transformConstraints;\n for (var i = 0, n = transformConstraints.length; i < n; i++) {\n var constraint = transformConstraints[i];\n if (constraint.name == constraintName) return constraint;\n }\n return null;\n };\n SkeletonData.prototype.findPathConstraint = function (constraintName) {\n if (constraintName == null) throw new Error('constraintName cannot be null.');\n var pathConstraints = this.pathConstraints;\n for (var i = 0, n = pathConstraints.length; i < n; i++) {\n var constraint = pathConstraints[i];\n if (constraint.name == constraintName) return constraint;\n }\n return null;\n };\n SkeletonData.prototype.findPathConstraintIndex = function (pathConstraintName) {\n if (pathConstraintName == null) throw new Error('pathConstraintName cannot be null.');\n var pathConstraints = this.pathConstraints;\n for (var i = 0, n = pathConstraints.length; i < n; i++)\n if (pathConstraints[i].name == pathConstraintName) return i;\n return -1;\n };\n return SkeletonData;\n })();\n core.SkeletonData = SkeletonData;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var SkeletonJson = (function () {\n function SkeletonJson(attachmentLoader) {\n this.scale = 1;\n this.linkedMeshes = new Array();\n this.attachmentLoader = attachmentLoader;\n }\n SkeletonJson.prototype.readSkeletonData = function (json) {\n var scale = this.scale;\n var skeletonData = new core.SkeletonData();\n var root = typeof json === 'string' ? JSON.parse(json) : json;\n var skeletonMap = root.skeleton;\n if (skeletonMap != null) {\n skeletonData.hash = skeletonMap.hash;\n skeletonData.version = skeletonMap.spine;\n skeletonData.width = skeletonMap.width;\n skeletonData.height = skeletonMap.height;\n skeletonData.fps = skeletonMap.fps;\n skeletonData.imagesPath = skeletonMap.images;\n }\n if (root.bones) {\n for (var i = 0; i < root.bones.length; i++) {\n var boneMap = root.bones[i];\n var parent_2 = null;\n var parentName = this.getValue(boneMap, 'parent', null);\n if (parentName != null) {\n parent_2 = skeletonData.findBone(parentName);\n if (parent_2 == null) throw new Error('Parent bone not found: ' + parentName);\n }\n var data = new core.BoneData(skeletonData.bones.length, boneMap.name, parent_2);\n data.length = this.getValue(boneMap, 'length', 0) * scale;\n data.x = this.getValue(boneMap, 'x', 0) * scale;\n data.y = this.getValue(boneMap, 'y', 0) * scale;\n data.rotation = this.getValue(boneMap, 'rotation', 0);\n data.scaleX = this.getValue(boneMap, 'scaleX', 1);\n data.scaleY = this.getValue(boneMap, 'scaleY', 1);\n data.shearX = this.getValue(boneMap, 'shearX', 0);\n data.shearY = this.getValue(boneMap, 'shearY', 0);\n data.transformMode = SkeletonJson.transformModeFromString(this.getValue(boneMap, 'transform', 'normal'));\n skeletonData.bones.push(data);\n }\n }\n if (root.slots) {\n for (var i = 0; i < root.slots.length; i++) {\n var slotMap = root.slots[i];\n var slotName = slotMap.name;\n var boneName = slotMap.bone;\n var boneData = skeletonData.findBone(boneName);\n if (boneData == null) throw new Error('Slot bone not found: ' + boneName);\n var data = new core.SlotData(skeletonData.slots.length, slotName, boneData);\n var color = this.getValue(slotMap, 'color', null);\n if (color != null) data.color.setFromString(color);\n var dark = this.getValue(slotMap, 'dark', null);\n if (dark != null) {\n data.darkColor = new core.Color(1, 1, 1, 1);\n data.darkColor.setFromString(dark);\n }\n data.attachmentName = this.getValue(slotMap, 'attachment', null);\n data.blendMode = SkeletonJson.blendModeFromString(this.getValue(slotMap, 'blend', 'normal'));\n skeletonData.slots.push(data);\n }\n }\n if (root.ik) {\n for (var i = 0; i < root.ik.length; i++) {\n var constraintMap = root.ik[i];\n var data = new core.IkConstraintData(constraintMap.name);\n data.order = this.getValue(constraintMap, 'order', 0);\n for (var j = 0; j < constraintMap.bones.length; j++) {\n var boneName = constraintMap.bones[j];\n var bone = skeletonData.findBone(boneName);\n if (bone == null) throw new Error('IK bone not found: ' + boneName);\n data.bones.push(bone);\n }\n var targetName = constraintMap.target;\n data.target = skeletonData.findBone(targetName);\n if (data.target == null) throw new Error('IK target bone not found: ' + targetName);\n data.bendDirection = this.getValue(constraintMap, 'bendPositive', true) ? 1 : -1;\n data.mix = this.getValue(constraintMap, 'mix', 1);\n skeletonData.ikConstraints.push(data);\n }\n }\n if (root.transform) {\n for (var i = 0; i < root.transform.length; i++) {\n var constraintMap = root.transform[i];\n var data = new core.TransformConstraintData(constraintMap.name);\n data.order = this.getValue(constraintMap, 'order', 0);\n for (var j = 0; j < constraintMap.bones.length; j++) {\n var boneName = constraintMap.bones[j];\n var bone = skeletonData.findBone(boneName);\n if (bone == null) throw new Error('Transform constraint bone not found: ' + boneName);\n data.bones.push(bone);\n }\n var targetName = constraintMap.target;\n data.target = skeletonData.findBone(targetName);\n if (data.target == null) throw new Error('Transform constraint target bone not found: ' + targetName);\n data.local = this.getValue(constraintMap, 'local', false);\n data.relative = this.getValue(constraintMap, 'relative', false);\n data.offsetRotation = this.getValue(constraintMap, 'rotation', 0);\n data.offsetX = this.getValue(constraintMap, 'x', 0) * scale;\n data.offsetY = this.getValue(constraintMap, 'y', 0) * scale;\n data.offsetScaleX = this.getValue(constraintMap, 'scaleX', 0);\n data.offsetScaleY = this.getValue(constraintMap, 'scaleY', 0);\n data.offsetShearY = this.getValue(constraintMap, 'shearY', 0);\n data.rotateMix = this.getValue(constraintMap, 'rotateMix', 1);\n data.translateMix = this.getValue(constraintMap, 'translateMix', 1);\n data.scaleMix = this.getValue(constraintMap, 'scaleMix', 1);\n data.shearMix = this.getValue(constraintMap, 'shearMix', 1);\n skeletonData.transformConstraints.push(data);\n }\n }\n if (root.path) {\n for (var i = 0; i < root.path.length; i++) {\n var constraintMap = root.path[i];\n var data = new core.PathConstraintData(constraintMap.name);\n data.order = this.getValue(constraintMap, 'order', 0);\n for (var j = 0; j < constraintMap.bones.length; j++) {\n var boneName = constraintMap.bones[j];\n var bone = skeletonData.findBone(boneName);\n if (bone == null) throw new Error('Transform constraint bone not found: ' + boneName);\n data.bones.push(bone);\n }\n var targetName = constraintMap.target;\n data.target = skeletonData.findSlot(targetName);\n if (data.target == null) throw new Error('Path target slot not found: ' + targetName);\n data.positionMode = SkeletonJson.positionModeFromString(\n this.getValue(constraintMap, 'positionMode', 'percent'),\n );\n data.spacingMode = SkeletonJson.spacingModeFromString(\n this.getValue(constraintMap, 'spacingMode', 'length'),\n );\n data.rotateMode = SkeletonJson.rotateModeFromString(this.getValue(constraintMap, 'rotateMode', 'tangent'));\n data.offsetRotation = this.getValue(constraintMap, 'rotation', 0);\n data.position = this.getValue(constraintMap, 'position', 0);\n if (data.positionMode == core.PositionMode.Fixed) data.position *= scale;\n data.spacing = this.getValue(constraintMap, 'spacing', 0);\n if (data.spacingMode == core.SpacingMode.Length || data.spacingMode == core.SpacingMode.Fixed)\n data.spacing *= scale;\n data.rotateMix = this.getValue(constraintMap, 'rotateMix', 1);\n data.translateMix = this.getValue(constraintMap, 'translateMix', 1);\n skeletonData.pathConstraints.push(data);\n }\n }\n if (root.skins) {\n for (var skinName in root.skins) {\n var skinMap = root.skins[skinName];\n var skin = new core.Skin(skinName);\n for (var slotName in skinMap) {\n var slotIndex = skeletonData.findSlotIndex(slotName);\n if (slotIndex == -1) throw new Error('Slot not found: ' + slotName);\n var slotMap = skinMap[slotName];\n for (var entryName in slotMap) {\n var attachment = this.readAttachment(slotMap[entryName], skin, slotIndex, entryName, skeletonData);\n if (attachment != null) skin.addAttachment(slotIndex, entryName, attachment);\n }\n }\n skeletonData.skins.push(skin);\n if (skin.name == 'default') skeletonData.defaultSkin = skin;\n }\n }\n for (var i = 0, n = this.linkedMeshes.length; i < n; i++) {\n var linkedMesh = this.linkedMeshes[i];\n var skin = linkedMesh.skin == null ? skeletonData.defaultSkin : skeletonData.findSkin(linkedMesh.skin);\n if (skin == null) throw new Error('Skin not found: ' + linkedMesh.skin);\n var parent_3 = skin.getAttachment(linkedMesh.slotIndex, linkedMesh.parent);\n if (parent_3 == null) throw new Error('Parent mesh not found: ' + linkedMesh.parent);\n linkedMesh.mesh.setParentMesh(parent_3);\n }\n this.linkedMeshes.length = 0;\n if (root.events) {\n for (var eventName in root.events) {\n var eventMap = root.events[eventName];\n var data = new core.EventData(eventName);\n data.intValue = this.getValue(eventMap, 'int', 0);\n data.floatValue = this.getValue(eventMap, 'float', 0);\n data.stringValue = this.getValue(eventMap, 'string', '');\n data.audioPath = this.getValue(eventMap, 'audio', null);\n if (data.audioPath != null) {\n data.volume = this.getValue(eventMap, 'volume', 1);\n data.balance = this.getValue(eventMap, 'balance', 0);\n }\n skeletonData.events.push(data);\n }\n }\n if (root.animations) {\n for (var animationName in root.animations) {\n var animationMap = root.animations[animationName];\n this.readAnimation(animationMap, animationName, skeletonData);\n }\n }\n return skeletonData;\n };\n SkeletonJson.prototype.readAttachment = function (map, skin, slotIndex, name, skeletonData) {\n var scale = this.scale;\n name = this.getValue(map, 'name', name);\n var type = this.getValue(map, 'type', 'region');\n switch (type) {\n case 'region': {\n var path = this.getValue(map, 'path', name);\n var region = this.attachmentLoader.newRegionAttachment(skin, name, path);\n if (region == null) return null;\n region.path = path;\n region.x = this.getValue(map, 'x', 0) * scale;\n region.y = this.getValue(map, 'y', 0) * scale;\n region.scaleX = this.getValue(map, 'scaleX', 1);\n region.scaleY = this.getValue(map, 'scaleY', 1);\n region.rotation = this.getValue(map, 'rotation', 0);\n region.width = map.width * scale;\n region.height = map.height * scale;\n var color = this.getValue(map, 'color', null);\n if (color != null) region.color.setFromString(color);\n return region;\n }\n case 'boundingbox': {\n var box = this.attachmentLoader.newBoundingBoxAttachment(skin, name);\n if (box == null) return null;\n this.readVertices(map, box, map.vertexCount << 1);\n var color = this.getValue(map, 'color', null);\n if (color != null) box.color.setFromString(color);\n return box;\n }\n case 'mesh':\n case 'linkedmesh': {\n var path = this.getValue(map, 'path', name);\n var mesh = this.attachmentLoader.newMeshAttachment(skin, name, path);\n if (mesh == null) return null;\n mesh.path = path;\n var color = this.getValue(map, 'color', null);\n if (color != null) mesh.color.setFromString(color);\n var parent_4 = this.getValue(map, 'parent', null);\n if (parent_4 != null) {\n mesh.inheritDeform = this.getValue(map, 'deform', true);\n this.linkedMeshes.push(new LinkedMesh(mesh, this.getValue(map, 'skin', null), slotIndex, parent_4));\n return mesh;\n }\n var uvs = map.uvs;\n this.readVertices(map, mesh, uvs.length);\n mesh.triangles = map.triangles;\n mesh.regionUVs = uvs;\n mesh.hullLength = this.getValue(map, 'hull', 0) * 2;\n return mesh;\n }\n case 'path': {\n var path = this.attachmentLoader.newPathAttachment(skin, name);\n if (path == null) return null;\n path.closed = this.getValue(map, 'closed', false);\n path.constantSpeed = this.getValue(map, 'constantSpeed', true);\n var vertexCount = map.vertexCount;\n this.readVertices(map, path, vertexCount << 1);\n var lengths = core.Utils.newArray(vertexCount / 3, 0);\n for (var i = 0; i < map.lengths.length; i++) lengths[i] = map.lengths[i] * scale;\n path.lengths = lengths;\n var color = this.getValue(map, 'color', null);\n if (color != null) path.color.setFromString(color);\n return path;\n }\n case 'point': {\n var point = this.attachmentLoader.newPointAttachment(skin, name);\n if (point == null) return null;\n point.x = this.getValue(map, 'x', 0) * scale;\n point.y = this.getValue(map, 'y', 0) * scale;\n point.rotation = this.getValue(map, 'rotation', 0);\n var color = this.getValue(map, 'color', null);\n if (color != null) point.color.setFromString(color);\n return point;\n }\n case 'clipping': {\n var clip = this.attachmentLoader.newClippingAttachment(skin, name);\n if (clip == null) return null;\n var end = this.getValue(map, 'end', null);\n if (end != null) {\n var slot = skeletonData.findSlot(end);\n if (slot == null) throw new Error('Clipping end slot not found: ' + end);\n clip.endSlot = slot;\n }\n var vertexCount = map.vertexCount;\n this.readVertices(map, clip, vertexCount << 1);\n var color = this.getValue(map, 'color', null);\n if (color != null) clip.color.setFromString(color);\n return clip;\n }\n }\n return null;\n };\n SkeletonJson.prototype.readVertices = function (map, attachment, verticesLength) {\n var scale = this.scale;\n attachment.worldVerticesLength = verticesLength;\n var vertices = map.vertices;\n if (verticesLength == vertices.length) {\n var scaledVertices = core.Utils.toFloatArray(vertices);\n if (scale != 1) {\n for (var i = 0, n = vertices.length; i < n; i++) scaledVertices[i] *= scale;\n }\n attachment.vertices = scaledVertices;\n return;\n }\n var weights = new Array();\n var bones = new Array();\n for (var i = 0, n = vertices.length; i < n; ) {\n var boneCount = vertices[i++];\n bones.push(boneCount);\n for (var nn = i + boneCount * 4; i < nn; i += 4) {\n bones.push(vertices[i]);\n weights.push(vertices[i + 1] * scale);\n weights.push(vertices[i + 2] * scale);\n weights.push(vertices[i + 3]);\n }\n }\n attachment.bones = bones;\n attachment.vertices = core.Utils.toFloatArray(weights);\n };\n SkeletonJson.prototype.readAnimation = function (map, name, skeletonData) {\n var scale = this.scale;\n var timelines = new Array();\n var duration = 0;\n if (map.slots) {\n for (var slotName in map.slots) {\n var slotMap = map.slots[slotName];\n var slotIndex = skeletonData.findSlotIndex(slotName);\n if (slotIndex == -1) throw new Error('Slot not found: ' + slotName);\n for (var timelineName in slotMap) {\n var timelineMap = slotMap[timelineName];\n if (timelineName == 'attachment') {\n var timeline = new core.AttachmentTimeline(timelineMap.length);\n timeline.slotIndex = slotIndex;\n var frameIndex = 0;\n for (var i = 0; i < timelineMap.length; i++) {\n var valueMap = timelineMap[i];\n timeline.setFrame(frameIndex++, valueMap.time, valueMap.name);\n }\n timelines.push(timeline);\n duration = Math.max(duration, timeline.frames[timeline.getFrameCount() - 1]);\n } else if (timelineName == 'color') {\n var timeline = new core.ColorTimeline(timelineMap.length);\n timeline.slotIndex = slotIndex;\n var frameIndex = 0;\n for (var i = 0; i < timelineMap.length; i++) {\n var valueMap = timelineMap[i];\n var color = new core.Color();\n color.setFromString(valueMap.color || 'ffffffff');\n timeline.setFrame(frameIndex, valueMap.time, color.r, color.g, color.b, color.a);\n this.readCurve(valueMap, timeline, frameIndex);\n frameIndex++;\n }\n timelines.push(timeline);\n duration = Math.max(\n duration,\n timeline.frames[(timeline.getFrameCount() - 1) * core.ColorTimeline.ENTRIES],\n );\n } else if (timelineName == 'twoColor') {\n var timeline = new core.TwoColorTimeline(timelineMap.length);\n timeline.slotIndex = slotIndex;\n var frameIndex = 0;\n for (var i = 0; i < timelineMap.length; i++) {\n var valueMap = timelineMap[i];\n var light = new core.Color();\n var dark = new core.Color();\n light.setFromString(valueMap.light);\n dark.setFromString(valueMap.dark);\n timeline.setFrame(\n frameIndex,\n valueMap.time,\n light.r,\n light.g,\n light.b,\n light.a,\n dark.r,\n dark.g,\n dark.b,\n );\n this.readCurve(valueMap, timeline, frameIndex);\n frameIndex++;\n }\n timelines.push(timeline);\n duration = Math.max(\n duration,\n timeline.frames[(timeline.getFrameCount() - 1) * core.TwoColorTimeline.ENTRIES],\n );\n } else throw new Error('Invalid timeline type for a slot: ' + timelineName + ' (' + slotName + ')');\n }\n }\n }\n if (map.bones) {\n for (var boneName in map.bones) {\n var boneMap = map.bones[boneName];\n var boneIndex = skeletonData.findBoneIndex(boneName);\n if (boneIndex == -1) throw new Error('Bone not found: ' + boneName);\n for (var timelineName in boneMap) {\n var timelineMap = boneMap[timelineName];\n if (timelineName === 'rotate') {\n var timeline = new core.RotateTimeline(timelineMap.length);\n timeline.boneIndex = boneIndex;\n var frameIndex = 0;\n for (var i = 0; i < timelineMap.length; i++) {\n var valueMap = timelineMap[i];\n timeline.setFrame(frameIndex, valueMap.time, valueMap.angle);\n this.readCurve(valueMap, timeline, frameIndex);\n frameIndex++;\n }\n timelines.push(timeline);\n duration = Math.max(\n duration,\n timeline.frames[(timeline.getFrameCount() - 1) * core.RotateTimeline.ENTRIES],\n );\n } else if (timelineName === 'translate' || timelineName === 'scale' || timelineName === 'shear') {\n var timeline = null;\n var timelineScale = 1;\n if (timelineName === 'scale') timeline = new core.ScaleTimeline(timelineMap.length);\n else if (timelineName === 'shear') timeline = new core.ShearTimeline(timelineMap.length);\n else {\n timeline = new core.TranslateTimeline(timelineMap.length);\n timelineScale = scale;\n }\n timeline.boneIndex = boneIndex;\n var frameIndex = 0;\n for (var i = 0; i < timelineMap.length; i++) {\n var valueMap = timelineMap[i];\n var x = this.getValue(valueMap, 'x', 0),\n y = this.getValue(valueMap, 'y', 0);\n timeline.setFrame(frameIndex, valueMap.time, x * timelineScale, y * timelineScale);\n this.readCurve(valueMap, timeline, frameIndex);\n frameIndex++;\n }\n timelines.push(timeline);\n duration = Math.max(\n duration,\n timeline.frames[(timeline.getFrameCount() - 1) * core.TranslateTimeline.ENTRIES],\n );\n } else throw new Error('Invalid timeline type for a bone: ' + timelineName + ' (' + boneName + ')');\n }\n }\n }\n if (map.ik) {\n for (var constraintName in map.ik) {\n var constraintMap = map.ik[constraintName];\n var constraint = skeletonData.findIkConstraint(constraintName);\n var timeline = new core.IkConstraintTimeline(constraintMap.length);\n timeline.ikConstraintIndex = skeletonData.ikConstraints.indexOf(constraint);\n var frameIndex = 0;\n for (var i = 0; i < constraintMap.length; i++) {\n var valueMap = constraintMap[i];\n timeline.setFrame(\n frameIndex,\n valueMap.time,\n this.getValue(valueMap, 'mix', 1),\n this.getValue(valueMap, 'bendPositive', true) ? 1 : -1,\n this.getValue(valueMap, 'compress', false),\n this.getValue(valueMap, 'stretch', false),\n );\n this.readCurve(valueMap, timeline, frameIndex);\n frameIndex++;\n }\n timelines.push(timeline);\n duration = Math.max(\n duration,\n timeline.frames[(timeline.getFrameCount() - 1) * core.IkConstraintTimeline.ENTRIES],\n );\n }\n }\n if (map.transform) {\n for (var constraintName in map.transform) {\n var constraintMap = map.transform[constraintName];\n var constraint = skeletonData.findTransformConstraint(constraintName);\n var timeline = new core.TransformConstraintTimeline(constraintMap.length);\n timeline.transformConstraintIndex = skeletonData.transformConstraints.indexOf(constraint);\n var frameIndex = 0;\n for (var i = 0; i < constraintMap.length; i++) {\n var valueMap = constraintMap[i];\n timeline.setFrame(\n frameIndex,\n valueMap.time,\n this.getValue(valueMap, 'rotateMix', 1),\n this.getValue(valueMap, 'translateMix', 1),\n this.getValue(valueMap, 'scaleMix', 1),\n this.getValue(valueMap, 'shearMix', 1),\n );\n this.readCurve(valueMap, timeline, frameIndex);\n frameIndex++;\n }\n timelines.push(timeline);\n duration = Math.max(\n duration,\n timeline.frames[(timeline.getFrameCount() - 1) * core.TransformConstraintTimeline.ENTRIES],\n );\n }\n }\n if (map.paths) {\n for (var constraintName in map.paths) {\n var constraintMap = map.paths[constraintName];\n var index = skeletonData.findPathConstraintIndex(constraintName);\n if (index == -1) throw new Error('Path constraint not found: ' + constraintName);\n var data = skeletonData.pathConstraints[index];\n for (var timelineName in constraintMap) {\n var timelineMap = constraintMap[timelineName];\n if (timelineName === 'position' || timelineName === 'spacing') {\n var timeline = null;\n var timelineScale = 1;\n if (timelineName === 'spacing') {\n timeline = new core.PathConstraintSpacingTimeline(timelineMap.length);\n if (data.spacingMode == core.SpacingMode.Length || data.spacingMode == core.SpacingMode.Fixed)\n timelineScale = scale;\n } else {\n timeline = new core.PathConstraintPositionTimeline(timelineMap.length);\n if (data.positionMode == core.PositionMode.Fixed) timelineScale = scale;\n }\n timeline.pathConstraintIndex = index;\n var frameIndex = 0;\n for (var i = 0; i < timelineMap.length; i++) {\n var valueMap = timelineMap[i];\n timeline.setFrame(\n frameIndex,\n valueMap.time,\n this.getValue(valueMap, timelineName, 0) * timelineScale,\n );\n this.readCurve(valueMap, timeline, frameIndex);\n frameIndex++;\n }\n timelines.push(timeline);\n duration = Math.max(\n duration,\n timeline.frames[(timeline.getFrameCount() - 1) * core.PathConstraintPositionTimeline.ENTRIES],\n );\n } else if (timelineName === 'mix') {\n var timeline = new core.PathConstraintMixTimeline(timelineMap.length);\n timeline.pathConstraintIndex = index;\n var frameIndex = 0;\n for (var i = 0; i < timelineMap.length; i++) {\n var valueMap = timelineMap[i];\n timeline.setFrame(\n frameIndex,\n valueMap.time,\n this.getValue(valueMap, 'rotateMix', 1),\n this.getValue(valueMap, 'translateMix', 1),\n );\n this.readCurve(valueMap, timeline, frameIndex);\n frameIndex++;\n }\n timelines.push(timeline);\n duration = Math.max(\n duration,\n timeline.frames[(timeline.getFrameCount() - 1) * core.PathConstraintMixTimeline.ENTRIES],\n );\n }\n }\n }\n }\n if (map.deform) {\n for (var deformName in map.deform) {\n var deformMap = map.deform[deformName];\n var skin = skeletonData.findSkin(deformName);\n if (skin == null) throw new Error('Skin not found: ' + deformName);\n for (var slotName in deformMap) {\n var slotMap = deformMap[slotName];\n var slotIndex = skeletonData.findSlotIndex(slotName);\n if (slotIndex == -1) throw new Error('Slot not found: ' + slotMap.name);\n for (var timelineName in slotMap) {\n var timelineMap = slotMap[timelineName];\n var attachment = skin.getAttachment(slotIndex, timelineName);\n if (attachment == null) throw new Error('Deform attachment not found: ' + timelineMap.name);\n var weighted = attachment.bones != null;\n var vertices = attachment.vertices;\n var deformLength = weighted ? (vertices.length / 3) * 2 : vertices.length;\n var timeline = new core.DeformTimeline(timelineMap.length);\n timeline.slotIndex = slotIndex;\n timeline.attachment = attachment;\n var frameIndex = 0;\n for (var j = 0; j < timelineMap.length; j++) {\n var valueMap = timelineMap[j];\n var deform = void 0;\n var verticesValue = this.getValue(valueMap, 'vertices', null);\n if (verticesValue == null) deform = weighted ? core.Utils.newFloatArray(deformLength) : vertices;\n else {\n deform = core.Utils.newFloatArray(deformLength);\n var start = this.getValue(valueMap, 'offset', 0);\n core.Utils.arrayCopy(verticesValue, 0, deform, start, verticesValue.length);\n if (scale != 1) {\n for (var i = start, n = i + verticesValue.length; i < n; i++) deform[i] *= scale;\n }\n if (!weighted) {\n for (var i = 0; i < deformLength; i++) deform[i] += vertices[i];\n }\n }\n timeline.setFrame(frameIndex, valueMap.time, deform);\n this.readCurve(valueMap, timeline, frameIndex);\n frameIndex++;\n }\n timelines.push(timeline);\n duration = Math.max(duration, timeline.frames[timeline.getFrameCount() - 1]);\n }\n }\n }\n }\n var drawOrderNode = map.drawOrder;\n if (drawOrderNode == null) drawOrderNode = map.draworder;\n if (drawOrderNode != null) {\n var timeline = new core.DrawOrderTimeline(drawOrderNode.length);\n var slotCount = skeletonData.slots.length;\n var frameIndex = 0;\n for (var j = 0; j < drawOrderNode.length; j++) {\n var drawOrderMap = drawOrderNode[j];\n var drawOrder = null;\n var offsets = this.getValue(drawOrderMap, 'offsets', null);\n if (offsets != null) {\n drawOrder = core.Utils.newArray(slotCount, -1);\n var unchanged = core.Utils.newArray(slotCount - offsets.length, 0);\n var originalIndex = 0,\n unchangedIndex = 0;\n for (var i = 0; i < offsets.length; i++) {\n var offsetMap = offsets[i];\n var slotIndex = skeletonData.findSlotIndex(offsetMap.slot);\n if (slotIndex == -1) throw new Error('Slot not found: ' + offsetMap.slot);\n while (originalIndex != slotIndex) unchanged[unchangedIndex++] = originalIndex++;\n drawOrder[originalIndex + offsetMap.offset] = originalIndex++;\n }\n while (originalIndex < slotCount) unchanged[unchangedIndex++] = originalIndex++;\n for (var i = slotCount - 1; i >= 0; i--)\n if (drawOrder[i] == -1) drawOrder[i] = unchanged[--unchangedIndex];\n }\n timeline.setFrame(frameIndex++, drawOrderMap.time, drawOrder);\n }\n timelines.push(timeline);\n duration = Math.max(duration, timeline.frames[timeline.getFrameCount() - 1]);\n }\n if (map.events) {\n var timeline = new core.EventTimeline(map.events.length);\n var frameIndex = 0;\n for (var i = 0; i < map.events.length; i++) {\n var eventMap = map.events[i];\n var eventData = skeletonData.findEvent(eventMap.name);\n if (eventData == null) throw new Error('Event not found: ' + eventMap.name);\n var event_5 = new core.Event(core.Utils.toSinglePrecision(eventMap.time), eventData);\n event_5.intValue = this.getValue(eventMap, 'int', eventData.intValue);\n event_5.floatValue = this.getValue(eventMap, 'float', eventData.floatValue);\n event_5.stringValue = this.getValue(eventMap, 'string', eventData.stringValue);\n if (event_5.data.audioPath != null) {\n event_5.volume = this.getValue(eventMap, 'volume', 1);\n event_5.balance = this.getValue(eventMap, 'balance', 0);\n }\n timeline.setFrame(frameIndex++, event_5);\n }\n timelines.push(timeline);\n duration = Math.max(duration, timeline.frames[timeline.getFrameCount() - 1]);\n }\n if (isNaN(duration)) {\n throw new Error('Error while parsing animation, duration is NaN');\n }\n skeletonData.animations.push(new core.Animation(name, timelines, duration));\n };\n SkeletonJson.prototype.readCurve = function (map, timeline, frameIndex) {\n if (!map.curve) return;\n if (map.curve === 'stepped') timeline.setStepped(frameIndex);\n else if (Object.prototype.toString.call(map.curve) === '[object Array]') {\n var curve = map.curve;\n timeline.setCurve(frameIndex, curve[0], curve[1], curve[2], curve[3]);\n }\n };\n SkeletonJson.prototype.getValue = function (map, prop, defaultValue) {\n return map[prop] !== undefined ? map[prop] : defaultValue;\n };\n SkeletonJson.blendModeFromString = function (str) {\n str = str.toLowerCase();\n if (str == 'normal') return core.BlendMode.Normal;\n if (str == 'additive') return core.BlendMode.Additive;\n if (str == 'multiply') return core.BlendMode.Multiply;\n if (str == 'screen') return core.BlendMode.Screen;\n throw new Error('Unknown blend mode: ' + str);\n };\n SkeletonJson.positionModeFromString = function (str) {\n str = str.toLowerCase();\n if (str == 'fixed') return core.PositionMode.Fixed;\n if (str == 'percent') return core.PositionMode.Percent;\n throw new Error('Unknown position mode: ' + str);\n };\n SkeletonJson.spacingModeFromString = function (str) {\n str = str.toLowerCase();\n if (str == 'length') return core.SpacingMode.Length;\n if (str == 'fixed') return core.SpacingMode.Fixed;\n if (str == 'percent') return core.SpacingMode.Percent;\n throw new Error('Unknown position mode: ' + str);\n };\n SkeletonJson.rotateModeFromString = function (str) {\n str = str.toLowerCase();\n if (str == 'tangent') return core.RotateMode.Tangent;\n if (str == 'chain') return core.RotateMode.Chain;\n if (str == 'chainscale') return core.RotateMode.ChainScale;\n throw new Error('Unknown rotate mode: ' + str);\n };\n SkeletonJson.transformModeFromString = function (str) {\n str = str.toLowerCase();\n if (str == 'normal') return core.TransformMode.Normal;\n if (str == 'onlytranslation') return core.TransformMode.OnlyTranslation;\n if (str == 'norotationorreflection') return core.TransformMode.NoRotationOrReflection;\n if (str == 'noscale') return core.TransformMode.NoScale;\n if (str == 'noscaleorreflection') return core.TransformMode.NoScaleOrReflection;\n throw new Error('Unknown transform mode: ' + str);\n };\n return SkeletonJson;\n })();\n core.SkeletonJson = SkeletonJson;\n var LinkedMesh = (function () {\n function LinkedMesh(mesh, skin, slotIndex, parent) {\n this.mesh = mesh;\n this.skin = skin;\n this.slotIndex = slotIndex;\n this.parent = parent;\n }\n return LinkedMesh;\n })();\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var Skin = (function () {\n function Skin(name) {\n this.attachments = new Array();\n if (name == null) throw new Error('name cannot be null.');\n this.name = name;\n }\n Skin.prototype.addAttachment = function (slotIndex, name, attachment) {\n if (attachment == null) throw new Error('attachment cannot be null.');\n var attachments = this.attachments;\n if (slotIndex >= attachments.length) attachments.length = slotIndex + 1;\n if (!attachments[slotIndex]) attachments[slotIndex] = {};\n attachments[slotIndex][name] = attachment;\n };\n Skin.prototype.getAttachment = function (slotIndex, name) {\n var dictionary = this.attachments[slotIndex];\n return dictionary ? dictionary[name] : null;\n };\n Skin.prototype.attachAll = function (skeleton, oldSkin) {\n var slotIndex = 0;\n for (var i = 0; i < skeleton.slots.length; i++) {\n var slot = skeleton.slots[i];\n var slotAttachment = slot.getAttachment();\n if (slotAttachment && slotIndex < oldSkin.attachments.length) {\n var dictionary = oldSkin.attachments[slotIndex];\n for (var key in dictionary) {\n var skinAttachment = dictionary[key];\n if (slotAttachment == skinAttachment) {\n var attachment = this.getAttachment(slotIndex, key);\n if (attachment != null) slot.setAttachment(attachment);\n break;\n }\n }\n }\n slotIndex++;\n }\n };\n return Skin;\n })();\n core.Skin = Skin;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var Slot = (function () {\n function Slot(data, bone) {\n this.attachmentVertices = new Array();\n if (data == null) throw new Error('data cannot be null.');\n if (bone == null) throw new Error('bone cannot be null.');\n this.data = data;\n this.bone = bone;\n this.color = new core.Color();\n this.darkColor = data.darkColor == null ? null : new core.Color();\n this.setToSetupPose();\n this.blendMode = this.data.blendMode;\n }\n Slot.prototype.getAttachment = function () {\n return this.attachment;\n };\n Slot.prototype.setAttachment = function (attachment) {\n if (this.attachment == attachment) return;\n this.attachment = attachment;\n this.attachmentTime = this.bone.skeleton.time;\n this.attachmentVertices.length = 0;\n };\n Slot.prototype.setAttachmentTime = function (time) {\n this.attachmentTime = this.bone.skeleton.time - time;\n };\n Slot.prototype.getAttachmentTime = function () {\n return this.bone.skeleton.time - this.attachmentTime;\n };\n Slot.prototype.setToSetupPose = function () {\n this.color.setFromColor(this.data.color);\n if (this.darkColor != null) this.darkColor.setFromColor(this.data.darkColor);\n if (this.data.attachmentName == null) this.attachment = null;\n else {\n this.attachment = null;\n this.setAttachment(this.bone.skeleton.getAttachment(this.data.index, this.data.attachmentName));\n }\n };\n return Slot;\n })();\n core.Slot = Slot;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var SlotData = (function () {\n function SlotData(index, name, boneData) {\n this.color = new core.Color(1, 1, 1, 1);\n if (index < 0) throw new Error('index must be >= 0.');\n if (name == null) throw new Error('name cannot be null.');\n if (boneData == null) throw new Error('boneData cannot be null.');\n this.index = index;\n this.name = name;\n this.boneData = boneData;\n }\n return SlotData;\n })();\n core.SlotData = SlotData;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var Texture = (function () {\n function Texture(image) {\n this._image = image;\n }\n Texture.prototype.getImage = function () {\n return this._image;\n };\n Texture.filterFromString = function (text) {\n switch (text.toLowerCase()) {\n case 'nearest':\n return TextureFilter.Nearest;\n case 'linear':\n return TextureFilter.Linear;\n case 'mipmap':\n return TextureFilter.MipMap;\n case 'mipmapnearestnearest':\n return TextureFilter.MipMapNearestNearest;\n case 'mipmaplinearnearest':\n return TextureFilter.MipMapLinearNearest;\n case 'mipmapnearestlinear':\n return TextureFilter.MipMapNearestLinear;\n case 'mipmaplinearlinear':\n return TextureFilter.MipMapLinearLinear;\n default:\n throw new Error('Unknown texture filter ' + text);\n }\n };\n Texture.wrapFromString = function (text) {\n switch (text.toLowerCase()) {\n case 'mirroredtepeat':\n return TextureWrap.MirroredRepeat;\n case 'clamptoedge':\n return TextureWrap.ClampToEdge;\n case 'repeat':\n return TextureWrap.Repeat;\n default:\n throw new Error('Unknown texture wrap ' + text);\n }\n };\n return Texture;\n })();\n core.Texture = Texture;\n var TextureFilter;\n (function (TextureFilter) {\n TextureFilter[(TextureFilter['Nearest'] = 9728)] = 'Nearest';\n TextureFilter[(TextureFilter['Linear'] = 9729)] = 'Linear';\n TextureFilter[(TextureFilter['MipMap'] = 9987)] = 'MipMap';\n TextureFilter[(TextureFilter['MipMapNearestNearest'] = 9984)] = 'MipMapNearestNearest';\n TextureFilter[(TextureFilter['MipMapLinearNearest'] = 9985)] = 'MipMapLinearNearest';\n TextureFilter[(TextureFilter['MipMapNearestLinear'] = 9986)] = 'MipMapNearestLinear';\n TextureFilter[(TextureFilter['MipMapLinearLinear'] = 9987)] = 'MipMapLinearLinear';\n })((TextureFilter = core.TextureFilter || (core.TextureFilter = {})));\n var TextureWrap;\n (function (TextureWrap) {\n TextureWrap[(TextureWrap['MirroredRepeat'] = 33648)] = 'MirroredRepeat';\n TextureWrap[(TextureWrap['ClampToEdge'] = 33071)] = 'ClampToEdge';\n TextureWrap[(TextureWrap['Repeat'] = 10497)] = 'Repeat';\n })((TextureWrap = core.TextureWrap || (core.TextureWrap = {})));\n var TextureRegion = (function () {\n function TextureRegion() {\n this.size = null;\n }\n Object.defineProperty(TextureRegion.prototype, 'width', {\n get: function () {\n var tex = this.texture;\n if (PIXI.VERSION[0] == '3') {\n return tex.crop.width;\n }\n if (tex.trim) {\n return tex.trim.width;\n }\n return tex.orig.width;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'height', {\n get: function () {\n var tex = this.texture;\n if (PIXI.VERSION[0] == '3') {\n return tex.crop.height;\n }\n if (tex.trim) {\n return tex.trim.height;\n }\n return tex.orig.height;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'u', {\n get: function () {\n return this.texture._uvs.x0;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'v', {\n get: function () {\n return this.texture._uvs.y0;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'u2', {\n get: function () {\n return this.texture._uvs.x2;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'v2', {\n get: function () {\n return this.texture._uvs.y2;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'offsetX', {\n get: function () {\n var tex = this.texture;\n return tex.trim ? tex.trim.x : 0;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'offsetY', {\n get: function () {\n console.warn(\n 'Deprecation Warning: @Hackerham: I guess, if you are using PIXI-SPINE ATLAS region.offsetY, you want a texture, right? Use region.texture from now on.',\n );\n return this.spineOffsetY;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'pixiOffsetY', {\n get: function () {\n var tex = this.texture;\n return tex.trim ? tex.trim.y : 0;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'spineOffsetY', {\n get: function () {\n var tex = this.texture;\n return this.originalHeight - this.height - (tex.trim ? tex.trim.y : 0);\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'originalWidth', {\n get: function () {\n var tex = this.texture;\n if (PIXI.VERSION[0] == '3') {\n if (tex.trim) {\n return tex.trim.width;\n }\n return tex.crop.width;\n }\n return tex.orig.width;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'originalHeight', {\n get: function () {\n var tex = this.texture;\n if (PIXI.VERSION[0] == '3') {\n if (tex.trim) {\n return tex.trim.height;\n }\n return tex.crop.height;\n }\n return tex.orig.height;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'x', {\n get: function () {\n return this.texture.frame.x;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'y', {\n get: function () {\n return this.texture.frame.y;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(TextureRegion.prototype, 'rotate', {\n get: function () {\n return this.texture.rotate !== 0;\n },\n enumerable: true,\n configurable: true,\n });\n return TextureRegion;\n })();\n core.TextureRegion = TextureRegion;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var TextureAtlas = (function () {\n function TextureAtlas(atlasText, textureLoader, callback) {\n this.pages = new Array();\n this.regions = new Array();\n if (atlasText) {\n this.addSpineAtlas(atlasText, textureLoader, callback);\n }\n }\n TextureAtlas.prototype.addTexture = function (name, texture) {\n var pages = this.pages;\n var page = null;\n for (var i = 0; i < pages.length; i++) {\n if (pages[i].baseTexture === texture.baseTexture) {\n page = pages[i];\n break;\n }\n }\n if (page === null) {\n page = new TextureAtlasPage();\n page.name = 'texturePage';\n var baseTexture = texture.baseTexture;\n page.width = baseTexture.realWidth;\n page.height = baseTexture.realHeight;\n page.baseTexture = baseTexture;\n page.minFilter = page.magFilter = core.TextureFilter.Nearest;\n page.uWrap = core.TextureWrap.ClampToEdge;\n page.vWrap = core.TextureWrap.ClampToEdge;\n pages.push(page);\n }\n var region = new TextureAtlasRegion();\n region.name = name;\n region.page = page;\n region.texture = texture;\n region.index = -1;\n this.regions.push(region);\n return region;\n };\n TextureAtlas.prototype.addTextureHash = function (textures, stripExtension) {\n for (var key in textures) {\n if (textures.hasOwnProperty(key)) {\n this.addTexture(\n stripExtension && key.indexOf('.') !== -1 ? key.substr(0, key.lastIndexOf('.')) : key,\n textures[key],\n );\n }\n }\n };\n TextureAtlas.prototype.addSpineAtlas = function (atlasText, textureLoader, callback) {\n return this.load(atlasText, textureLoader, callback);\n };\n TextureAtlas.prototype.load = function (atlasText, textureLoader, callback) {\n var _this = this;\n if (textureLoader == null) throw new Error('textureLoader cannot be null.');\n var reader = new TextureAtlasReader(atlasText);\n var tuple = new Array(4);\n var page = null;\n var iterateParser = function () {\n while (true) {\n var line = reader.readLine();\n if (line == null) {\n return callback && callback(_this);\n }\n line = line.trim();\n if (line.length == 0) page = null;\n else if (!page) {\n page = new TextureAtlasPage();\n page.name = line;\n if (reader.readTuple(tuple) == 2) {\n page.width = parseInt(tuple[0]);\n page.height = parseInt(tuple[1]);\n reader.readTuple(tuple);\n }\n reader.readTuple(tuple);\n page.minFilter = core.Texture.filterFromString(tuple[0]);\n page.magFilter = core.Texture.filterFromString(tuple[1]);\n var direction = reader.readValue();\n page.uWrap = core.TextureWrap.ClampToEdge;\n page.vWrap = core.TextureWrap.ClampToEdge;\n if (direction == 'x') page.uWrap = core.TextureWrap.Repeat;\n else if (direction == 'y') page.vWrap = core.TextureWrap.Repeat;\n else if (direction == 'xy') page.uWrap = page.vWrap = core.TextureWrap.Repeat;\n textureLoader(line, function (texture) {\n if (texture === null) {\n _this.pages.splice(_this.pages.indexOf(page), 1);\n return callback && callback(null);\n }\n page.baseTexture = texture;\n if (!texture.hasLoaded) {\n texture.width = page.width;\n texture.height = page.height;\n }\n _this.pages.push(page);\n page.setFilters();\n if (!page.width || !page.height) {\n page.width = texture.realWidth;\n page.height = texture.realHeight;\n if (!page.width || !page.height) {\n console.log(\n 'ERROR spine atlas page ' +\n page.name +\n ': meshes wont work if you dont specify size in atlas (http://www.html5gamedevs.com/topic/18888-pixi-spines-and-meshes/?p=107121)',\n );\n }\n }\n iterateParser();\n });\n _this.pages.push(page);\n break;\n } else {\n var region = new TextureAtlasRegion();\n region.name = line;\n region.page = page;\n var rotate = reader.readValue() == 'true' ? 6 : 0;\n reader.readTuple(tuple);\n var x = parseInt(tuple[0]);\n var y = parseInt(tuple[1]);\n reader.readTuple(tuple);\n var width = parseInt(tuple[0]);\n var height = parseInt(tuple[1]);\n var resolution = page.baseTexture.resolution;\n x /= resolution;\n y /= resolution;\n width /= resolution;\n height /= resolution;\n var frame = new PIXI.Rectangle(x, y, rotate ? height : width, rotate ? width : height);\n if (reader.readTuple(tuple) == 4) {\n if (reader.readTuple(tuple) == 4) {\n reader.readTuple(tuple);\n }\n }\n var originalWidth = parseInt(tuple[0]) / resolution;\n var originalHeight = parseInt(tuple[1]) / resolution;\n reader.readTuple(tuple);\n var offsetX = parseInt(tuple[0]) / resolution;\n var offsetY = parseInt(tuple[1]) / resolution;\n var orig = new PIXI.Rectangle(0, 0, originalWidth, originalHeight);\n var trim = new PIXI.Rectangle(offsetX, originalHeight - height - offsetY, width, height);\n if (PIXI.VERSION[0] != '3') {\n region.texture = new PIXI.Texture(region.page.baseTexture, frame, orig, trim, rotate);\n } else {\n var frame2 = new PIXI.Rectangle(x, y, width, height);\n var crop = frame2.clone();\n trim.width = originalWidth;\n trim.height = originalHeight;\n region.texture = new PIXI.Texture(region.page.baseTexture, frame2, crop, trim, rotate);\n }\n region.index = parseInt(reader.readValue());\n region.texture._updateUvs();\n _this.regions.push(region);\n }\n }\n };\n iterateParser();\n };\n TextureAtlas.prototype.findRegion = function (name) {\n for (var i = 0; i < this.regions.length; i++) {\n if (this.regions[i].name == name) {\n return this.regions[i];\n }\n }\n return null;\n };\n TextureAtlas.prototype.dispose = function () {\n for (var i = 0; i < this.pages.length; i++) {\n this.pages[i].baseTexture.dispose();\n }\n };\n return TextureAtlas;\n })();\n core.TextureAtlas = TextureAtlas;\n var TextureAtlasReader = (function () {\n function TextureAtlasReader(text) {\n this.index = 0;\n this.lines = text.split(/\\r\\n|\\r|\\n/);\n }\n TextureAtlasReader.prototype.readLine = function () {\n if (this.index >= this.lines.length) return null;\n return this.lines[this.index++];\n };\n TextureAtlasReader.prototype.readValue = function () {\n var line = this.readLine();\n var colon = line.indexOf(':');\n if (colon == -1) throw new Error('Invalid line: ' + line);\n return line.substring(colon + 1).trim();\n };\n TextureAtlasReader.prototype.readTuple = function (tuple) {\n var line = this.readLine();\n var colon = line.indexOf(':');\n if (colon == -1) throw new Error('Invalid line: ' + line);\n var i = 0,\n lastMatch = colon + 1;\n for (; i < 3; i++) {\n var comma = line.indexOf(',', lastMatch);\n if (comma == -1) break;\n tuple[i] = line.substr(lastMatch, comma - lastMatch).trim();\n lastMatch = comma + 1;\n }\n tuple[i] = line.substring(lastMatch).trim();\n return i + 1;\n };\n return TextureAtlasReader;\n })();\n var TextureAtlasPage = (function () {\n function TextureAtlasPage() {}\n TextureAtlasPage.prototype.setFilters = function () {\n var tex = this.baseTexture;\n var filter = this.minFilter;\n if (filter == core.TextureFilter.Linear) {\n tex.scaleMode = PIXI.SCALE_MODES.LINEAR;\n } else if (this.minFilter == core.TextureFilter.Nearest) {\n tex.scaleMode = PIXI.SCALE_MODES.NEAREST;\n } else {\n tex.mipmap = true;\n if (filter == core.TextureFilter.MipMapNearestNearest) {\n tex.scaleMode = PIXI.SCALE_MODES.NEAREST;\n } else {\n tex.scaleMode = PIXI.SCALE_MODES.LINEAR;\n }\n }\n };\n return TextureAtlasPage;\n })();\n core.TextureAtlasPage = TextureAtlasPage;\n var TextureAtlasRegion = (function (_super) {\n __extends(TextureAtlasRegion, _super);\n function TextureAtlasRegion() {\n return (_super !== null && _super.apply(this, arguments)) || this;\n }\n return TextureAtlasRegion;\n })(core.TextureRegion);\n core.TextureAtlasRegion = TextureAtlasRegion;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var TransformConstraint = (function () {\n function TransformConstraint(data, skeleton) {\n this.rotateMix = 0;\n this.translateMix = 0;\n this.scaleMix = 0;\n this.shearMix = 0;\n this.temp = new core.Vector2();\n if (data == null) throw new Error('data cannot be null.');\n if (skeleton == null) throw new Error('skeleton cannot be null.');\n this.data = data;\n this.rotateMix = data.rotateMix;\n this.translateMix = data.translateMix;\n this.scaleMix = data.scaleMix;\n this.shearMix = data.shearMix;\n this.bones = new Array();\n for (var i = 0; i < data.bones.length; i++) this.bones.push(skeleton.findBone(data.bones[i].name));\n this.target = skeleton.findBone(data.target.name);\n }\n TransformConstraint.prototype.apply = function () {\n this.update();\n };\n TransformConstraint.prototype.update = function () {\n if (this.data.local) {\n if (this.data.relative) this.applyRelativeLocal();\n else this.applyAbsoluteLocal();\n } else {\n if (this.data.relative) this.applyRelativeWorld();\n else this.applyAbsoluteWorld();\n }\n };\n TransformConstraint.prototype.applyAbsoluteWorld = function () {\n var rotateMix = this.rotateMix,\n translateMix = this.translateMix,\n scaleMix = this.scaleMix,\n shearMix = this.shearMix;\n var target = this.target;\n var targetMat = target.matrix;\n var ta = targetMat.a,\n tb = targetMat.c,\n tc = targetMat.b,\n td = targetMat.d;\n var degRadReflect = ta * td - tb * tc > 0 ? core.MathUtils.degRad : -core.MathUtils.degRad;\n var offsetRotation = this.data.offsetRotation * degRadReflect;\n var offsetShearY = this.data.offsetShearY * degRadReflect;\n var bones = this.bones;\n for (var i = 0, n = bones.length; i < n; i++) {\n var bone = bones[i];\n var modified = false;\n var mat = bone.matrix;\n if (rotateMix != 0) {\n var a = mat.a,\n b = mat.c,\n c = mat.b,\n d = mat.d;\n var r = Math.atan2(tc, ta) - Math.atan2(c, a) + offsetRotation;\n if (r > core.MathUtils.PI) r -= core.MathUtils.PI2;\n else if (r < -core.MathUtils.PI) r += core.MathUtils.PI2;\n r *= rotateMix;\n var cos = Math.cos(r),\n sin = Math.sin(r);\n mat.a = cos * a - sin * c;\n mat.c = cos * b - sin * d;\n mat.b = sin * a + cos * c;\n mat.d = sin * b + cos * d;\n modified = true;\n }\n if (translateMix != 0) {\n var temp = this.temp;\n target.localToWorld(temp.set(this.data.offsetX, this.data.offsetY));\n mat.tx += (temp.x - mat.tx) * translateMix;\n mat.ty += (temp.y - mat.ty) * translateMix;\n modified = true;\n }\n if (scaleMix > 0) {\n var s = Math.sqrt(mat.a * mat.a + mat.b * mat.b);\n var ts = Math.sqrt(ta * ta + tc * tc);\n if (s > 0.00001) s = (s + (ts - s + this.data.offsetScaleX) * scaleMix) / s;\n mat.a *= s;\n mat.b *= s;\n s = Math.sqrt(mat.c * mat.c + mat.d * mat.d);\n ts = Math.sqrt(tb * tb + td * td);\n if (s > 0.00001) s = (s + (ts - s + this.data.offsetScaleY) * scaleMix) / s;\n mat.c *= s;\n mat.d *= s;\n modified = true;\n }\n if (shearMix > 0) {\n var b = mat.c,\n d = mat.d;\n var by = Math.atan2(d, b);\n var r = Math.atan2(td, tb) - Math.atan2(tc, ta) - (by - Math.atan2(mat.b, mat.a));\n if (r > core.MathUtils.PI) r -= core.MathUtils.PI2;\n else if (r < -core.MathUtils.PI) r += core.MathUtils.PI2;\n r = by + (r + offsetShearY) * shearMix;\n var s = Math.sqrt(b * b + d * d);\n mat.c = Math.cos(r) * s;\n mat.d = Math.sin(r) * s;\n modified = true;\n }\n if (modified) bone.appliedValid = false;\n }\n };\n TransformConstraint.prototype.applyRelativeWorld = function () {\n var rotateMix = this.rotateMix,\n translateMix = this.translateMix,\n scaleMix = this.scaleMix,\n shearMix = this.shearMix;\n var target = this.target;\n var targetMat = target.matrix;\n var ta = targetMat.a,\n tb = targetMat.c,\n tc = targetMat.b,\n td = targetMat.d;\n var degRadReflect = ta * td - tb * tc > 0 ? core.MathUtils.degRad : -core.MathUtils.degRad;\n var offsetRotation = this.data.offsetRotation * degRadReflect,\n offsetShearY = this.data.offsetShearY * degRadReflect;\n var bones = this.bones;\n for (var i = 0, n = bones.length; i < n; i++) {\n var bone = bones[i];\n var modified = false;\n var mat = bone.matrix;\n if (rotateMix != 0) {\n var a = mat.a,\n b = mat.c,\n c = mat.b,\n d = mat.d;\n var r = Math.atan2(tc, ta) + offsetRotation;\n if (r > core.MathUtils.PI) r -= core.MathUtils.PI2;\n else if (r < -core.MathUtils.PI) r += core.MathUtils.PI2;\n r *= rotateMix;\n var cos = Math.cos(r),\n sin = Math.sin(r);\n mat.a = cos * a - sin * c;\n mat.c = cos * b - sin * d;\n mat.b = sin * a + cos * c;\n mat.d = sin * b + cos * d;\n modified = true;\n }\n if (translateMix != 0) {\n var temp = this.temp;\n target.localToWorld(temp.set(this.data.offsetX, this.data.offsetY));\n mat.tx += temp.x * translateMix;\n mat.ty += temp.y * translateMix;\n modified = true;\n }\n if (scaleMix > 0) {\n var s = (Math.sqrt(ta * ta + tc * tc) - 1 + this.data.offsetScaleX) * scaleMix + 1;\n mat.a *= s;\n mat.b *= s;\n s = (Math.sqrt(tb * tb + td * td) - 1 + this.data.offsetScaleY) * scaleMix + 1;\n mat.c *= s;\n mat.d *= s;\n modified = true;\n }\n if (shearMix > 0) {\n var r = Math.atan2(td, tb) - Math.atan2(tc, ta);\n if (r > core.MathUtils.PI) r -= core.MathUtils.PI2;\n else if (r < -core.MathUtils.PI) r += core.MathUtils.PI2;\n var b = mat.c,\n d = mat.d;\n r = Math.atan2(d, b) + (r - core.MathUtils.PI / 2 + offsetShearY) * shearMix;\n var s = Math.sqrt(b * b + d * d);\n mat.c = Math.cos(r) * s;\n mat.d = Math.sin(r) * s;\n modified = true;\n }\n if (modified) bone.appliedValid = false;\n }\n };\n TransformConstraint.prototype.applyAbsoluteLocal = function () {\n var rotateMix = this.rotateMix,\n translateMix = this.translateMix,\n scaleMix = this.scaleMix,\n shearMix = this.shearMix;\n var target = this.target;\n if (!target.appliedValid) target.updateAppliedTransform();\n var bones = this.bones;\n for (var i = 0, n = bones.length; i < n; i++) {\n var bone = bones[i];\n if (!bone.appliedValid) bone.updateAppliedTransform();\n var rotation = bone.arotation;\n if (rotateMix != 0) {\n var r = target.arotation - rotation + this.data.offsetRotation;\n r -= (16384 - ((16384.499999999996 - r / 360) | 0)) * 360;\n rotation += r * rotateMix;\n }\n var x = bone.ax,\n y = bone.ay;\n if (translateMix != 0) {\n x += (target.ax - x + this.data.offsetX) * translateMix;\n y += (target.ay - y + this.data.offsetY) * translateMix;\n }\n var scaleX = bone.ascaleX,\n scaleY = bone.ascaleY;\n if (scaleMix > 0) {\n if (scaleX > 0.00001)\n scaleX = (scaleX + (target.ascaleX - scaleX + this.data.offsetScaleX) * scaleMix) / scaleX;\n if (scaleY > 0.00001)\n scaleY = (scaleY + (target.ascaleY - scaleY + this.data.offsetScaleY) * scaleMix) / scaleY;\n }\n var shearY = bone.ashearY;\n if (shearMix > 0) {\n var r = target.ashearY - shearY + this.data.offsetShearY;\n r -= (16384 - ((16384.499999999996 - r / 360) | 0)) * 360;\n bone.shearY += r * shearMix;\n }\n bone.updateWorldTransformWith(x, y, rotation, scaleX, scaleY, bone.ashearX, shearY);\n }\n };\n TransformConstraint.prototype.applyRelativeLocal = function () {\n var rotateMix = this.rotateMix,\n translateMix = this.translateMix,\n scaleMix = this.scaleMix,\n shearMix = this.shearMix;\n var target = this.target;\n if (!target.appliedValid) target.updateAppliedTransform();\n var bones = this.bones;\n for (var i = 0, n = bones.length; i < n; i++) {\n var bone = bones[i];\n if (!bone.appliedValid) bone.updateAppliedTransform();\n var rotation = bone.arotation;\n if (rotateMix != 0) rotation += (target.arotation + this.data.offsetRotation) * rotateMix;\n var x = bone.ax,\n y = bone.ay;\n if (translateMix != 0) {\n x += (target.ax + this.data.offsetX) * translateMix;\n y += (target.ay + this.data.offsetY) * translateMix;\n }\n var scaleX = bone.ascaleX,\n scaleY = bone.ascaleY;\n if (scaleMix > 0) {\n if (scaleX > 0.00001) scaleX *= (target.ascaleX - 1 + this.data.offsetScaleX) * scaleMix + 1;\n if (scaleY > 0.00001) scaleY *= (target.ascaleY - 1 + this.data.offsetScaleY) * scaleMix + 1;\n }\n var shearY = bone.ashearY;\n if (shearMix > 0) shearY += (target.ashearY + this.data.offsetShearY) * shearMix;\n bone.updateWorldTransformWith(x, y, rotation, scaleX, scaleY, bone.ashearX, shearY);\n }\n };\n TransformConstraint.prototype.getOrder = function () {\n return this.data.order;\n };\n return TransformConstraint;\n })();\n core.TransformConstraint = TransformConstraint;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var TransformConstraintData = (function () {\n function TransformConstraintData(name) {\n this.order = 0;\n this.bones = new Array();\n this.rotateMix = 0;\n this.translateMix = 0;\n this.scaleMix = 0;\n this.shearMix = 0;\n this.offsetRotation = 0;\n this.offsetX = 0;\n this.offsetY = 0;\n this.offsetScaleX = 0;\n this.offsetScaleY = 0;\n this.offsetShearY = 0;\n this.relative = false;\n this.local = false;\n if (name == null) throw new Error('name cannot be null.');\n this.name = name;\n }\n return TransformConstraintData;\n })();\n core.TransformConstraintData = TransformConstraintData;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var Triangulator = (function () {\n function Triangulator() {\n this.convexPolygons = new Array();\n this.convexPolygonsIndices = new Array();\n this.indicesArray = new Array();\n this.isConcaveArray = new Array();\n this.triangles = new Array();\n this.polygonPool = new core.Pool(function () {\n return new Array();\n });\n this.polygonIndicesPool = new core.Pool(function () {\n return new Array();\n });\n }\n Triangulator.prototype.triangulate = function (verticesArray) {\n var vertices = verticesArray;\n var vertexCount = verticesArray.length >> 1;\n var indices = this.indicesArray;\n indices.length = 0;\n for (var i = 0; i < vertexCount; i++) indices[i] = i;\n var isConcave = this.isConcaveArray;\n isConcave.length = 0;\n for (var i = 0, n = vertexCount; i < n; ++i)\n isConcave[i] = Triangulator.isConcave(i, vertexCount, vertices, indices);\n var triangles = this.triangles;\n triangles.length = 0;\n while (vertexCount > 3) {\n var previous = vertexCount - 1,\n i = 0,\n next = 1;\n while (true) {\n outer: if (!isConcave[i]) {\n var p1 = indices[previous] << 1,\n p2 = indices[i] << 1,\n p3 = indices[next] << 1;\n var p1x = vertices[p1],\n p1y = vertices[p1 + 1];\n var p2x = vertices[p2],\n p2y = vertices[p2 + 1];\n var p3x = vertices[p3],\n p3y = vertices[p3 + 1];\n for (var ii = (next + 1) % vertexCount; ii != previous; ii = (ii + 1) % vertexCount) {\n if (!isConcave[ii]) continue;\n var v = indices[ii] << 1;\n var vx = vertices[v],\n vy = vertices[v + 1];\n if (Triangulator.positiveArea(p3x, p3y, p1x, p1y, vx, vy)) {\n if (Triangulator.positiveArea(p1x, p1y, p2x, p2y, vx, vy)) {\n if (Triangulator.positiveArea(p2x, p2y, p3x, p3y, vx, vy)) break outer;\n }\n }\n }\n break;\n }\n if (next == 0) {\n do {\n if (!isConcave[i]) break;\n i--;\n } while (i > 0);\n break;\n }\n previous = i;\n i = next;\n next = (next + 1) % vertexCount;\n }\n triangles.push(indices[(vertexCount + i - 1) % vertexCount]);\n triangles.push(indices[i]);\n triangles.push(indices[(i + 1) % vertexCount]);\n indices.splice(i, 1);\n isConcave.splice(i, 1);\n vertexCount--;\n var previousIndex = (vertexCount + i - 1) % vertexCount;\n var nextIndex = i == vertexCount ? 0 : i;\n isConcave[previousIndex] = Triangulator.isConcave(previousIndex, vertexCount, vertices, indices);\n isConcave[nextIndex] = Triangulator.isConcave(nextIndex, vertexCount, vertices, indices);\n }\n if (vertexCount == 3) {\n triangles.push(indices[2]);\n triangles.push(indices[0]);\n triangles.push(indices[1]);\n }\n return triangles;\n };\n Triangulator.prototype.decompose = function (verticesArray, triangles) {\n var vertices = verticesArray;\n var convexPolygons = this.convexPolygons;\n this.polygonPool.freeAll(convexPolygons);\n convexPolygons.length = 0;\n var convexPolygonsIndices = this.convexPolygonsIndices;\n this.polygonIndicesPool.freeAll(convexPolygonsIndices);\n convexPolygonsIndices.length = 0;\n var polygonIndices = this.polygonIndicesPool.obtain();\n polygonIndices.length = 0;\n var polygon = this.polygonPool.obtain();\n polygon.length = 0;\n var fanBaseIndex = -1,\n lastWinding = 0;\n for (var i = 0, n = triangles.length; i < n; i += 3) {\n var t1 = triangles[i] << 1,\n t2 = triangles[i + 1] << 1,\n t3 = triangles[i + 2] << 1;\n var x1 = vertices[t1],\n y1 = vertices[t1 + 1];\n var x2 = vertices[t2],\n y2 = vertices[t2 + 1];\n var x3 = vertices[t3],\n y3 = vertices[t3 + 1];\n var merged = false;\n if (fanBaseIndex == t1) {\n var o = polygon.length - 4;\n var winding1 = Triangulator.winding(polygon[o], polygon[o + 1], polygon[o + 2], polygon[o + 3], x3, y3);\n var winding2 = Triangulator.winding(x3, y3, polygon[0], polygon[1], polygon[2], polygon[3]);\n if (winding1 == lastWinding && winding2 == lastWinding) {\n polygon.push(x3);\n polygon.push(y3);\n polygonIndices.push(t3);\n merged = true;\n }\n }\n if (!merged) {\n if (polygon.length > 0) {\n convexPolygons.push(polygon);\n convexPolygonsIndices.push(polygonIndices);\n } else {\n this.polygonPool.free(polygon);\n this.polygonIndicesPool.free(polygonIndices);\n }\n polygon = this.polygonPool.obtain();\n polygon.length = 0;\n polygon.push(x1);\n polygon.push(y1);\n polygon.push(x2);\n polygon.push(y2);\n polygon.push(x3);\n polygon.push(y3);\n polygonIndices = this.polygonIndicesPool.obtain();\n polygonIndices.length = 0;\n polygonIndices.push(t1);\n polygonIndices.push(t2);\n polygonIndices.push(t3);\n lastWinding = Triangulator.winding(x1, y1, x2, y2, x3, y3);\n fanBaseIndex = t1;\n }\n }\n if (polygon.length > 0) {\n convexPolygons.push(polygon);\n convexPolygonsIndices.push(polygonIndices);\n }\n for (var i = 0, n = convexPolygons.length; i < n; i++) {\n polygonIndices = convexPolygonsIndices[i];\n if (polygonIndices.length == 0) continue;\n var firstIndex = polygonIndices[0];\n var lastIndex = polygonIndices[polygonIndices.length - 1];\n polygon = convexPolygons[i];\n var o = polygon.length - 4;\n var prevPrevX = polygon[o],\n prevPrevY = polygon[o + 1];\n var prevX = polygon[o + 2],\n prevY = polygon[o + 3];\n var firstX = polygon[0],\n firstY = polygon[1];\n var secondX = polygon[2],\n secondY = polygon[3];\n var winding = Triangulator.winding(prevPrevX, prevPrevY, prevX, prevY, firstX, firstY);\n for (var ii = 0; ii < n; ii++) {\n if (ii == i) continue;\n var otherIndices = convexPolygonsIndices[ii];\n if (otherIndices.length != 3) continue;\n var otherFirstIndex = otherIndices[0];\n var otherSecondIndex = otherIndices[1];\n var otherLastIndex = otherIndices[2];\n var otherPoly = convexPolygons[ii];\n var x3 = otherPoly[otherPoly.length - 2],\n y3 = otherPoly[otherPoly.length - 1];\n if (otherFirstIndex != firstIndex || otherSecondIndex != lastIndex) continue;\n var winding1 = Triangulator.winding(prevPrevX, prevPrevY, prevX, prevY, x3, y3);\n var winding2 = Triangulator.winding(x3, y3, firstX, firstY, secondX, secondY);\n if (winding1 == winding && winding2 == winding) {\n otherPoly.length = 0;\n otherIndices.length = 0;\n polygon.push(x3);\n polygon.push(y3);\n polygonIndices.push(otherLastIndex);\n prevPrevX = prevX;\n prevPrevY = prevY;\n prevX = x3;\n prevY = y3;\n ii = 0;\n }\n }\n }\n for (var i = convexPolygons.length - 1; i >= 0; i--) {\n polygon = convexPolygons[i];\n if (polygon.length == 0) {\n convexPolygons.splice(i, 1);\n this.polygonPool.free(polygon);\n polygonIndices = convexPolygonsIndices[i];\n convexPolygonsIndices.splice(i, 1);\n this.polygonIndicesPool.free(polygonIndices);\n }\n }\n return convexPolygons;\n };\n Triangulator.isConcave = function (index, vertexCount, vertices, indices) {\n var previous = indices[(vertexCount + index - 1) % vertexCount] << 1;\n var current = indices[index] << 1;\n var next = indices[(index + 1) % vertexCount] << 1;\n return !this.positiveArea(\n vertices[previous],\n vertices[previous + 1],\n vertices[current],\n vertices[current + 1],\n vertices[next],\n vertices[next + 1],\n );\n };\n Triangulator.positiveArea = function (p1x, p1y, p2x, p2y, p3x, p3y) {\n return p1x * (p3y - p2y) + p2x * (p1y - p3y) + p3x * (p2y - p1y) >= 0;\n };\n Triangulator.winding = function (p1x, p1y, p2x, p2y, p3x, p3y) {\n var px = p2x - p1x,\n py = p2y - p1y;\n return p3x * py - p3y * px + px * p1y - p1x * py >= 0 ? 1 : -1;\n };\n return Triangulator;\n })();\n core.Triangulator = Triangulator;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var IntSet = (function () {\n function IntSet() {\n this.array = new Array();\n }\n IntSet.prototype.add = function (value) {\n var contains = this.contains(value);\n this.array[value | 0] = value | 0;\n return !contains;\n };\n IntSet.prototype.contains = function (value) {\n return this.array[value | 0] != undefined;\n };\n IntSet.prototype.remove = function (value) {\n this.array[value | 0] = undefined;\n };\n IntSet.prototype.clear = function () {\n this.array.length = 0;\n };\n return IntSet;\n })();\n core.IntSet = IntSet;\n var Color = (function () {\n function Color(r, g, b, a) {\n if (r === void 0) {\n r = 0;\n }\n if (g === void 0) {\n g = 0;\n }\n if (b === void 0) {\n b = 0;\n }\n if (a === void 0) {\n a = 0;\n }\n this.r = r;\n this.g = g;\n this.b = b;\n this.a = a;\n }\n Color.prototype.set = function (r, g, b, a) {\n this.r = r;\n this.g = g;\n this.b = b;\n this.a = a;\n this.clamp();\n return this;\n };\n Color.prototype.setFromColor = function (c) {\n this.r = c.r;\n this.g = c.g;\n this.b = c.b;\n this.a = c.a;\n return this;\n };\n Color.prototype.setFromString = function (hex) {\n hex = hex.charAt(0) == '#' ? hex.substr(1) : hex;\n this.r = parseInt(hex.substr(0, 2), 16) / 255.0;\n this.g = parseInt(hex.substr(2, 2), 16) / 255.0;\n this.b = parseInt(hex.substr(4, 2), 16) / 255.0;\n this.a = (hex.length != 8 ? 255 : parseInt(hex.substr(6, 2), 16)) / 255.0;\n return this;\n };\n Color.prototype.add = function (r, g, b, a) {\n this.r += r;\n this.g += g;\n this.b += b;\n this.a += a;\n this.clamp();\n return this;\n };\n Color.prototype.clamp = function () {\n if (this.r < 0) this.r = 0;\n else if (this.r > 1) this.r = 1;\n if (this.g < 0) this.g = 0;\n else if (this.g > 1) this.g = 1;\n if (this.b < 0) this.b = 0;\n else if (this.b > 1) this.b = 1;\n if (this.a < 0) this.a = 0;\n else if (this.a > 1) this.a = 1;\n return this;\n };\n Color.WHITE = new Color(1, 1, 1, 1);\n Color.RED = new Color(1, 0, 0, 1);\n Color.GREEN = new Color(0, 1, 0, 1);\n Color.BLUE = new Color(0, 0, 1, 1);\n Color.MAGENTA = new Color(1, 0, 1, 1);\n return Color;\n })();\n core.Color = Color;\n var MathUtils = (function () {\n function MathUtils() {}\n MathUtils.clamp = function (value, min, max) {\n if (value < min) return min;\n if (value > max) return max;\n return value;\n };\n MathUtils.cosDeg = function (degrees) {\n return Math.cos(degrees * MathUtils.degRad);\n };\n MathUtils.sinDeg = function (degrees) {\n return Math.sin(degrees * MathUtils.degRad);\n };\n MathUtils.signum = function (value) {\n return value > 0 ? 1 : value < 0 ? -1 : 0;\n };\n MathUtils.toInt = function (x) {\n return x > 0 ? Math.floor(x) : Math.ceil(x);\n };\n MathUtils.cbrt = function (x) {\n var y = Math.pow(Math.abs(x), 1 / 3);\n return x < 0 ? -y : y;\n };\n MathUtils.randomTriangular = function (min, max) {\n return MathUtils.randomTriangularWith(min, max, (min + max) * 0.5);\n };\n MathUtils.randomTriangularWith = function (min, max, mode) {\n var u = Math.random();\n var d = max - min;\n if (u <= (mode - min) / d) return min + Math.sqrt(u * d * (mode - min));\n return max - Math.sqrt((1 - u) * d * (max - mode));\n };\n MathUtils.PI = 3.1415927;\n MathUtils.PI2 = MathUtils.PI * 2;\n MathUtils.radiansToDegrees = 180 / MathUtils.PI;\n MathUtils.radDeg = MathUtils.radiansToDegrees;\n MathUtils.degreesToRadians = MathUtils.PI / 180;\n MathUtils.degRad = MathUtils.degreesToRadians;\n return MathUtils;\n })();\n core.MathUtils = MathUtils;\n var Interpolation = (function () {\n function Interpolation() {}\n Interpolation.prototype.apply = function (start, end, a) {\n return start + (end - start) * this.applyInternal(a);\n };\n return Interpolation;\n })();\n core.Interpolation = Interpolation;\n var Pow = (function (_super) {\n __extends(Pow, _super);\n function Pow(power) {\n var _this = _super.call(this) || this;\n _this.power = 2;\n _this.power = power;\n return _this;\n }\n Pow.prototype.applyInternal = function (a) {\n if (a <= 0.5) return Math.pow(a * 2, this.power) / 2;\n return Math.pow((a - 1) * 2, this.power) / (this.power % 2 == 0 ? -2 : 2) + 1;\n };\n return Pow;\n })(Interpolation);\n core.Pow = Pow;\n var PowOut = (function (_super) {\n __extends(PowOut, _super);\n function PowOut(power) {\n return _super.call(this, power) || this;\n }\n PowOut.prototype.applyInternal = function (a) {\n return Math.pow(a - 1, this.power) * (this.power % 2 == 0 ? -1 : 1) + 1;\n };\n return PowOut;\n })(Pow);\n core.PowOut = PowOut;\n var Utils = (function () {\n function Utils() {}\n Utils.arrayCopy = function (source, sourceStart, dest, destStart, numElements) {\n for (var i = sourceStart, j = destStart; i < sourceStart + numElements; i++, j++) {\n dest[j] = source[i];\n }\n };\n Utils.setArraySize = function (array, size, value) {\n if (value === void 0) {\n value = 0;\n }\n var oldSize = array.length;\n if (oldSize == size) return array;\n array.length = size;\n if (oldSize < size) {\n for (var i = oldSize; i < size; i++) array[i] = value;\n }\n return array;\n };\n Utils.ensureArrayCapacity = function (array, size, value) {\n if (value === void 0) {\n value = 0;\n }\n if (array.length >= size) return array;\n return Utils.setArraySize(array, size, value);\n };\n Utils.newArray = function (size, defaultValue) {\n var array = new Array(size);\n for (var i = 0; i < size; i++) array[i] = defaultValue;\n return array;\n };\n Utils.newFloatArray = function (size) {\n if (Utils.SUPPORTS_TYPED_ARRAYS) {\n return new Float32Array(size);\n } else {\n var array = new Array(size);\n for (var i = 0; i < array.length; i++) array[i] = 0;\n return array;\n }\n };\n Utils.newShortArray = function (size) {\n if (Utils.SUPPORTS_TYPED_ARRAYS) {\n return new Int16Array(size);\n } else {\n var array = new Array(size);\n for (var i = 0; i < array.length; i++) array[i] = 0;\n return array;\n }\n };\n Utils.toFloatArray = function (array) {\n return Utils.SUPPORTS_TYPED_ARRAYS ? new Float32Array(array) : array;\n };\n Utils.toSinglePrecision = function (value) {\n return Utils.SUPPORTS_TYPED_ARRAYS ? Math.fround(value) : value;\n };\n Utils.webkit602BugfixHelper = function (alpha, blend) {};\n Utils.SUPPORTS_TYPED_ARRAYS = typeof Float32Array !== 'undefined';\n return Utils;\n })();\n core.Utils = Utils;\n var DebugUtils = (function () {\n function DebugUtils() {}\n DebugUtils.logBones = function (skeleton) {\n for (var i = 0; i < skeleton.bones.length; i++) {\n var bone = skeleton.bones[i];\n var mat = bone.matrix;\n console.log(\n bone.data.name + ', ' + mat.a + ', ' + mat.b + ', ' + mat.c + ', ' + mat.d + ', ' + mat.tx + ', ' + mat.ty,\n );\n }\n };\n return DebugUtils;\n })();\n core.DebugUtils = DebugUtils;\n var Pool = (function () {\n function Pool(instantiator) {\n this.items = new Array();\n this.instantiator = instantiator;\n }\n Pool.prototype.obtain = function () {\n return this.items.length > 0 ? this.items.pop() : this.instantiator();\n };\n Pool.prototype.free = function (item) {\n if (item.reset) item.reset();\n this.items.push(item);\n };\n Pool.prototype.freeAll = function (items) {\n for (var i = 0; i < items.length; i++) {\n if (items[i].reset) items[i].reset();\n this.items[i] = items[i];\n }\n };\n Pool.prototype.clear = function () {\n this.items.length = 0;\n };\n return Pool;\n })();\n core.Pool = Pool;\n var Vector2 = (function () {\n function Vector2(x, y) {\n if (x === void 0) {\n x = 0;\n }\n if (y === void 0) {\n y = 0;\n }\n this.x = x;\n this.y = y;\n }\n Vector2.prototype.set = function (x, y) {\n this.x = x;\n this.y = y;\n return this;\n };\n Vector2.prototype.length = function () {\n var x = this.x;\n var y = this.y;\n return Math.sqrt(x * x + y * y);\n };\n Vector2.prototype.normalize = function () {\n var len = this.length();\n if (len != 0) {\n this.x /= len;\n this.y /= len;\n }\n return this;\n };\n return Vector2;\n })();\n core.Vector2 = Vector2;\n var TimeKeeper = (function () {\n function TimeKeeper() {\n this.maxDelta = 0.064;\n this.framesPerSecond = 0;\n this.delta = 0;\n this.totalTime = 0;\n this.lastTime = Date.now() / 1000;\n this.frameCount = 0;\n this.frameTime = 0;\n }\n TimeKeeper.prototype.update = function () {\n var now = Date.now() / 1000;\n this.delta = now - this.lastTime;\n this.frameTime += this.delta;\n this.totalTime += this.delta;\n if (this.delta > this.maxDelta) this.delta = this.maxDelta;\n this.lastTime = now;\n this.frameCount++;\n if (this.frameTime > 1) {\n this.framesPerSecond = this.frameCount / this.frameTime;\n this.frameTime = 0;\n this.frameCount = 0;\n }\n };\n return TimeKeeper;\n })();\n core.TimeKeeper = TimeKeeper;\n var WindowedMean = (function () {\n function WindowedMean(windowSize) {\n if (windowSize === void 0) {\n windowSize = 32;\n }\n this.addedValues = 0;\n this.lastValue = 0;\n this.mean = 0;\n this.dirty = true;\n this.values = new Array(windowSize);\n }\n WindowedMean.prototype.hasEnoughData = function () {\n return this.addedValues >= this.values.length;\n };\n WindowedMean.prototype.addValue = function (value) {\n if (this.addedValues < this.values.length) this.addedValues++;\n this.values[this.lastValue++] = value;\n if (this.lastValue > this.values.length - 1) this.lastValue = 0;\n this.dirty = true;\n };\n WindowedMean.prototype.getMean = function () {\n if (this.hasEnoughData()) {\n if (this.dirty) {\n var mean = 0;\n for (var i = 0; i < this.values.length; i++) {\n mean += this.values[i];\n }\n this.mean = mean / this.values.length;\n this.dirty = false;\n }\n return this.mean;\n } else {\n return 0;\n }\n };\n return WindowedMean;\n })();\n core.WindowedMean = WindowedMean;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var Attachment = (function () {\n function Attachment(name) {\n if (name == null) throw new Error('name cannot be null.');\n this.name = name;\n }\n return Attachment;\n })();\n core.Attachment = Attachment;\n var VertexAttachment = (function (_super) {\n __extends(VertexAttachment, _super);\n function VertexAttachment(name) {\n var _this = _super.call(this, name) || this;\n _this.id = (VertexAttachment.nextID++ & 65535) << 11;\n _this.worldVerticesLength = 0;\n return _this;\n }\n VertexAttachment.prototype.computeWorldVerticesOld = function (slot, worldVertices) {\n this.computeWorldVertices(slot, 0, this.worldVerticesLength, worldVertices, 0, 2);\n };\n VertexAttachment.prototype.computeWorldVertices = function (slot, start, count, worldVertices, offset, stride) {\n count = offset + (count >> 1) * stride;\n var skeleton = slot.bone.skeleton;\n var deformArray = slot.attachmentVertices;\n var vertices = this.vertices;\n var bones = this.bones;\n if (bones == null) {\n if (deformArray.length > 0) vertices = deformArray;\n var mat = slot.bone.matrix;\n var x = mat.tx;\n var y = mat.ty;\n var a = mat.a,\n b = mat.c,\n c = mat.b,\n d = mat.d;\n for (var v_1 = start, w = offset; w < count; v_1 += 2, w += stride) {\n var vx = vertices[v_1],\n vy = vertices[v_1 + 1];\n worldVertices[w] = vx * a + vy * b + x;\n worldVertices[w + 1] = vx * c + vy * d + y;\n }\n return;\n }\n var v = 0,\n skip = 0;\n for (var i = 0; i < start; i += 2) {\n var n = bones[v];\n v += n + 1;\n skip += n;\n }\n var skeletonBones = skeleton.bones;\n if (deformArray.length == 0) {\n for (var w = offset, b = skip * 3; w < count; w += stride) {\n var wx = 0,\n wy = 0;\n var n = bones[v++];\n n += v;\n for (; v < n; v++, b += 3) {\n var mat = skeletonBones[bones[v]].matrix;\n var vx = vertices[b],\n vy = vertices[b + 1],\n weight = vertices[b + 2];\n wx += (vx * mat.a + vy * mat.c + mat.tx) * weight;\n wy += (vx * mat.b + vy * mat.d + mat.ty) * weight;\n }\n worldVertices[w] = wx;\n worldVertices[w + 1] = wy;\n }\n } else {\n var deform = deformArray;\n for (var w = offset, b = skip * 3, f = skip << 1; w < count; w += stride) {\n var wx = 0,\n wy = 0;\n var n = bones[v++];\n n += v;\n for (; v < n; v++, b += 3, f += 2) {\n var mat = skeletonBones[bones[v]].matrix;\n var vx = vertices[b] + deform[f],\n vy = vertices[b + 1] + deform[f + 1],\n weight = vertices[b + 2];\n wx += (vx * mat.a + vy * mat.c + mat.tx) * weight;\n wy += (vx * mat.b + vy * mat.d + mat.ty) * weight;\n }\n worldVertices[w] = wx;\n worldVertices[w + 1] = wy;\n }\n }\n };\n VertexAttachment.prototype.applyDeform = function (sourceAttachment) {\n return this == sourceAttachment;\n };\n VertexAttachment.nextID = 0;\n return VertexAttachment;\n })(Attachment);\n core.VertexAttachment = VertexAttachment;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var AttachmentType;\n (function (AttachmentType) {\n AttachmentType[(AttachmentType['Region'] = 0)] = 'Region';\n AttachmentType[(AttachmentType['BoundingBox'] = 1)] = 'BoundingBox';\n AttachmentType[(AttachmentType['Mesh'] = 2)] = 'Mesh';\n AttachmentType[(AttachmentType['LinkedMesh'] = 3)] = 'LinkedMesh';\n AttachmentType[(AttachmentType['Path'] = 4)] = 'Path';\n AttachmentType[(AttachmentType['Point'] = 5)] = 'Point';\n })((AttachmentType = core.AttachmentType || (core.AttachmentType = {})));\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var BoundingBoxAttachment = (function (_super) {\n __extends(BoundingBoxAttachment, _super);\n function BoundingBoxAttachment(name) {\n var _this = _super.call(this, name) || this;\n _this.color = new core.Color(1, 1, 1, 1);\n return _this;\n }\n return BoundingBoxAttachment;\n })(core.VertexAttachment);\n core.BoundingBoxAttachment = BoundingBoxAttachment;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var ClippingAttachment = (function (_super) {\n __extends(ClippingAttachment, _super);\n function ClippingAttachment(name) {\n var _this = _super.call(this, name) || this;\n _this.color = new core.Color(0.2275, 0.2275, 0.8078, 1);\n return _this;\n }\n return ClippingAttachment;\n })(core.VertexAttachment);\n core.ClippingAttachment = ClippingAttachment;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var MeshAttachment = (function (_super) {\n __extends(MeshAttachment, _super);\n function MeshAttachment(name) {\n var _this = _super.call(this, name) || this;\n _this.color = new core.Color(1, 1, 1, 1);\n _this.inheritDeform = false;\n _this.tempColor = new core.Color(0, 0, 0, 0);\n return _this;\n }\n MeshAttachment.prototype.updateUVs = function (region, uvs) {\n var regionUVs = this.regionUVs;\n var n = regionUVs.length;\n if (!uvs || uvs.length != n) {\n uvs = core.Utils.newFloatArray(n);\n }\n if (region == null) {\n return;\n }\n var texture = region.texture;\n var r = texture._uvs;\n var w1 = region.width,\n h1 = region.height,\n w2 = region.originalWidth,\n h2 = region.originalHeight;\n var x = region.offsetX,\n y = region.pixiOffsetY;\n for (var i = 0; i < n; i += 2) {\n var u = this.regionUVs[i],\n v = this.regionUVs[i + 1];\n u = (u * w2 - x) / w1;\n v = (v * h2 - y) / h1;\n uvs[i] = (r.x0 * (1 - u) + r.x1 * u) * (1 - v) + (r.x3 * (1 - u) + r.x2 * u) * v;\n uvs[i + 1] = (r.y0 * (1 - u) + r.y1 * u) * (1 - v) + (r.y3 * (1 - u) + r.y2 * u) * v;\n }\n return uvs;\n };\n MeshAttachment.prototype.applyDeform = function (sourceAttachment) {\n return this == sourceAttachment || (this.inheritDeform && this.parentMesh == sourceAttachment);\n };\n MeshAttachment.prototype.getParentMesh = function () {\n return this.parentMesh;\n };\n MeshAttachment.prototype.setParentMesh = function (parentMesh) {\n this.parentMesh = parentMesh;\n if (parentMesh != null) {\n this.bones = parentMesh.bones;\n this.vertices = parentMesh.vertices;\n this.worldVerticesLength = parentMesh.worldVerticesLength;\n this.regionUVs = parentMesh.regionUVs;\n this.triangles = parentMesh.triangles;\n this.hullLength = parentMesh.hullLength;\n this.worldVerticesLength = parentMesh.worldVerticesLength;\n }\n };\n return MeshAttachment;\n })(core.VertexAttachment);\n core.MeshAttachment = MeshAttachment;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var PathAttachment = (function (_super) {\n __extends(PathAttachment, _super);\n function PathAttachment(name) {\n var _this = _super.call(this, name) || this;\n _this.closed = false;\n _this.constantSpeed = false;\n _this.color = new core.Color(1, 1, 1, 1);\n return _this;\n }\n return PathAttachment;\n })(core.VertexAttachment);\n core.PathAttachment = PathAttachment;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var PointAttachment = (function (_super) {\n __extends(PointAttachment, _super);\n function PointAttachment(name) {\n var _this = _super.call(this, name) || this;\n _this.color = new core.Color(0.38, 0.94, 0, 1);\n return _this;\n }\n PointAttachment.prototype.computeWorldPosition = function (bone, point) {\n var mat = bone.matrix;\n point.x = this.x * mat.a + this.y * mat.c + bone.worldX;\n point.y = this.x * mat.b + this.y * mat.d + bone.worldY;\n return point;\n };\n PointAttachment.prototype.computeWorldRotation = function (bone) {\n var mat = bone.matrix;\n var cos = core.MathUtils.cosDeg(this.rotation),\n sin = core.MathUtils.sinDeg(this.rotation);\n var x = cos * mat.a + sin * mat.c;\n var y = cos * mat.b + sin * mat.d;\n return Math.atan2(y, x) * core.MathUtils.radDeg;\n };\n return PointAttachment;\n })(core.VertexAttachment);\n core.PointAttachment = PointAttachment;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var RegionAttachment = (function (_super) {\n __extends(RegionAttachment, _super);\n function RegionAttachment(name) {\n var _this = _super.call(this, name) || this;\n _this.x = 0;\n _this.y = 0;\n _this.scaleX = 1;\n _this.scaleY = 1;\n _this.rotation = 0;\n _this.width = 0;\n _this.height = 0;\n _this.color = new core.Color(1, 1, 1, 1);\n _this.offset = core.Utils.newFloatArray(8);\n _this.uvs = core.Utils.newFloatArray(8);\n _this.tempColor = new core.Color(1, 1, 1, 1);\n return _this;\n }\n RegionAttachment.prototype.updateOffset = function () {\n var regionScaleX = (this.width / this.region.originalWidth) * this.scaleX;\n var regionScaleY = (this.height / this.region.originalHeight) * this.scaleY;\n var localX = (-this.width / 2) * this.scaleX + this.region.offsetX * regionScaleX;\n var localY = (-this.height / 2) * this.scaleY + this.region.offsetY * regionScaleY;\n var localX2 = localX + this.region.width * regionScaleX;\n var localY2 = localY + this.region.height * regionScaleY;\n var radians = (this.rotation * Math.PI) / 180;\n var cos = Math.cos(radians);\n var sin = Math.sin(radians);\n var localXCos = localX * cos + this.x;\n var localXSin = localX * sin;\n var localYCos = localY * cos + this.y;\n var localYSin = localY * sin;\n var localX2Cos = localX2 * cos + this.x;\n var localX2Sin = localX2 * sin;\n var localY2Cos = localY2 * cos + this.y;\n var localY2Sin = localY2 * sin;\n var offset = this.offset;\n offset[RegionAttachment.OX1] = localXCos - localYSin;\n offset[RegionAttachment.OY1] = localYCos + localXSin;\n offset[RegionAttachment.OX2] = localXCos - localY2Sin;\n offset[RegionAttachment.OY2] = localY2Cos + localXSin;\n offset[RegionAttachment.OX3] = localX2Cos - localY2Sin;\n offset[RegionAttachment.OY3] = localY2Cos + localX2Sin;\n offset[RegionAttachment.OX4] = localX2Cos - localYSin;\n offset[RegionAttachment.OY4] = localYCos + localX2Sin;\n };\n RegionAttachment.prototype.setRegion = function (region) {\n this.region = region;\n var uvs = this.uvs;\n if (region.rotate) {\n uvs[2] = region.u;\n uvs[3] = region.v2;\n uvs[4] = region.u;\n uvs[5] = region.v;\n uvs[6] = region.u2;\n uvs[7] = region.v;\n uvs[0] = region.u2;\n uvs[1] = region.v2;\n } else {\n uvs[0] = region.u;\n uvs[1] = region.v2;\n uvs[2] = region.u;\n uvs[3] = region.v;\n uvs[4] = region.u2;\n uvs[5] = region.v;\n uvs[6] = region.u2;\n uvs[7] = region.v2;\n }\n };\n RegionAttachment.prototype.computeWorldVertices = function (bone, worldVertices, offset, stride) {\n var vertexOffset = this.offset;\n var mat = bone.matrix;\n var x = mat.tx,\n y = mat.ty;\n var a = mat.a,\n b = mat.c,\n c = mat.b,\n d = mat.d;\n var offsetX = 0,\n offsetY = 0;\n offsetX = vertexOffset[RegionAttachment.OX1];\n offsetY = vertexOffset[RegionAttachment.OY1];\n worldVertices[offset] = offsetX * a + offsetY * b + x;\n worldVertices[offset + 1] = offsetX * c + offsetY * d + y;\n offset += stride;\n offsetX = vertexOffset[RegionAttachment.OX2];\n offsetY = vertexOffset[RegionAttachment.OY2];\n worldVertices[offset] = offsetX * a + offsetY * b + x;\n worldVertices[offset + 1] = offsetX * c + offsetY * d + y;\n offset += stride;\n offsetX = vertexOffset[RegionAttachment.OX3];\n offsetY = vertexOffset[RegionAttachment.OY3];\n worldVertices[offset] = offsetX * a + offsetY * b + x;\n worldVertices[offset + 1] = offsetX * c + offsetY * d + y;\n offset += stride;\n offsetX = vertexOffset[RegionAttachment.OX4];\n offsetY = vertexOffset[RegionAttachment.OY4];\n worldVertices[offset] = offsetX * a + offsetY * b + x;\n worldVertices[offset + 1] = offsetX * c + offsetY * d + y;\n };\n RegionAttachment.OX1 = 0;\n RegionAttachment.OY1 = 1;\n RegionAttachment.OX2 = 2;\n RegionAttachment.OY2 = 3;\n RegionAttachment.OX3 = 4;\n RegionAttachment.OY3 = 5;\n RegionAttachment.OX4 = 6;\n RegionAttachment.OY4 = 7;\n RegionAttachment.X1 = 0;\n RegionAttachment.Y1 = 1;\n RegionAttachment.C1R = 2;\n RegionAttachment.C1G = 3;\n RegionAttachment.C1B = 4;\n RegionAttachment.C1A = 5;\n RegionAttachment.U1 = 6;\n RegionAttachment.V1 = 7;\n RegionAttachment.X2 = 8;\n RegionAttachment.Y2 = 9;\n RegionAttachment.C2R = 10;\n RegionAttachment.C2G = 11;\n RegionAttachment.C2B = 12;\n RegionAttachment.C2A = 13;\n RegionAttachment.U2 = 14;\n RegionAttachment.V2 = 15;\n RegionAttachment.X3 = 16;\n RegionAttachment.Y3 = 17;\n RegionAttachment.C3R = 18;\n RegionAttachment.C3G = 19;\n RegionAttachment.C3B = 20;\n RegionAttachment.C3A = 21;\n RegionAttachment.U3 = 22;\n RegionAttachment.V3 = 23;\n RegionAttachment.X4 = 24;\n RegionAttachment.Y4 = 25;\n RegionAttachment.C4R = 26;\n RegionAttachment.C4G = 27;\n RegionAttachment.C4B = 28;\n RegionAttachment.C4A = 29;\n RegionAttachment.U4 = 30;\n RegionAttachment.V4 = 31;\n return RegionAttachment;\n })(core.Attachment);\n core.RegionAttachment = RegionAttachment;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var JitterEffect = (function () {\n function JitterEffect(jitterX, jitterY) {\n this.jitterX = 0;\n this.jitterY = 0;\n this.jitterX = jitterX;\n this.jitterY = jitterY;\n }\n JitterEffect.prototype.begin = function (skeleton) {};\n JitterEffect.prototype.transform = function (position, uv, light, dark) {\n position.x += core.MathUtils.randomTriangular(-this.jitterX, this.jitterY);\n position.y += core.MathUtils.randomTriangular(-this.jitterX, this.jitterY);\n };\n JitterEffect.prototype.end = function () {};\n return JitterEffect;\n })();\n core.JitterEffect = JitterEffect;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n var core;\n (function (core) {\n var SwirlEffect = (function () {\n function SwirlEffect(radius) {\n this.centerX = 0;\n this.centerY = 0;\n this.radius = 0;\n this.angle = 0;\n this.worldX = 0;\n this.worldY = 0;\n this.radius = radius;\n }\n SwirlEffect.prototype.begin = function (skeleton) {\n this.worldX = skeleton.x + this.centerX;\n this.worldY = skeleton.y + this.centerY;\n };\n SwirlEffect.prototype.transform = function (position, uv, light, dark) {\n var radAngle = this.angle * core.MathUtils.degreesToRadians;\n var x = position.x - this.worldX;\n var y = position.y - this.worldY;\n var dist = Math.sqrt(x * x + y * y);\n if (dist < this.radius) {\n var theta = SwirlEffect.interpolation.apply(0, radAngle, (this.radius - dist) / this.radius);\n var cos = Math.cos(theta);\n var sin = Math.sin(theta);\n position.x = cos * x - sin * y + this.worldX;\n position.y = sin * x + cos * y + this.worldY;\n }\n };\n SwirlEffect.prototype.end = function () {};\n SwirlEffect.interpolation = new core.PowOut(2);\n return SwirlEffect;\n })();\n core.SwirlEffect = SwirlEffect;\n })((core = pixi_spine.core || (pixi_spine.core = {})));\n})(pixi_spine || (pixi_spine = {}));\n(function () {\n if (!Math.fround) {\n Math.fround = Math.fround = (function (array) {\n return function (x) {\n return (array[0] = x), array[0];\n };\n })(new Float32Array(1));\n }\n})();\nvar pixi_spine;\n(function (pixi_spine) {\n pixi_spine.core.Bone.yDown = true;\n var tempRgb = [0, 0, 0];\n var SpineSprite = (function (_super) {\n __extends(SpineSprite, _super);\n function SpineSprite() {\n var _this = (_super !== null && _super.apply(this, arguments)) || this;\n _this.region = null;\n return _this;\n }\n return SpineSprite;\n })(PIXI.Sprite);\n pixi_spine.SpineSprite = SpineSprite;\n var SpineMesh = (function (_super) {\n __extends(SpineMesh, _super);\n function SpineMesh(texture, vertices, uvs, indices, drawMode) {\n return _super.call(this, texture, vertices, uvs, indices, drawMode) || this;\n }\n return SpineMesh;\n })(PIXI.mesh.Mesh);\n pixi_spine.SpineMesh = SpineMesh;\n var Spine = (function (_super) {\n __extends(Spine, _super);\n function Spine(spineData) {\n var _this = _super.call(this) || this;\n if (!spineData) {\n throw new Error('The spineData param is required.');\n }\n if (typeof spineData === 'string') {\n throw new Error(\n 'spineData param cant be string. Please use spine.Spine.fromAtlas(\"YOUR_RESOURCE_NAME\") from now on.',\n );\n }\n _this.spineData = spineData;\n _this.skeleton = new pixi_spine.core.Skeleton(spineData);\n _this.skeleton.updateWorldTransform();\n _this.stateData = new pixi_spine.core.AnimationStateData(spineData);\n _this.state = new pixi_spine.core.AnimationState(_this.stateData);\n _this.slotContainers = [];\n _this.tempClipContainers = [];\n for (var i = 0, n = _this.skeleton.slots.length; i < n; i++) {\n var slot = _this.skeleton.slots[i];\n var attachment = slot.attachment;\n var slotContainer = _this.newContainer();\n _this.slotContainers.push(slotContainer);\n _this.addChild(slotContainer);\n _this.tempClipContainers.push(null);\n if (attachment instanceof pixi_spine.core.RegionAttachment) {\n var spriteName = attachment.region.name;\n var sprite = _this.createSprite(slot, attachment, spriteName);\n slot.currentSprite = sprite;\n slot.currentSpriteName = spriteName;\n slotContainer.addChild(sprite);\n } else if (attachment instanceof pixi_spine.core.MeshAttachment) {\n var mesh = _this.createMesh(slot, attachment);\n slot.currentMesh = mesh;\n slot.currentMeshName = attachment.name;\n slotContainer.addChild(mesh);\n } else if (attachment instanceof pixi_spine.core.ClippingAttachment) {\n _this.createGraphics(slot, attachment);\n slotContainer.addChild(slot.clippingContainer);\n slotContainer.addChild(slot.currentGraphics);\n } else {\n continue;\n }\n }\n _this.autoUpdate = true;\n _this.tintRgb = new Float32Array([1, 1, 1]);\n return _this;\n }\n Object.defineProperty(Spine.prototype, 'autoUpdate', {\n get: function () {\n return this.updateTransform === Spine.prototype.autoUpdateTransform;\n },\n set: function (value) {\n this.updateTransform = value ? Spine.prototype.autoUpdateTransform : PIXI.Container.prototype.updateTransform;\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(Spine.prototype, 'tint', {\n get: function () {\n return PIXI.utils.rgb2hex(this.tintRgb);\n },\n set: function (value) {\n this.tintRgb = PIXI.utils.hex2rgb(value, this.tintRgb);\n },\n enumerable: true,\n configurable: true,\n });\n Object.defineProperty(Spine.prototype, 'delayLimit', {\n get: function () {\n var limit = typeof this.localDelayLimit !== 'undefined' ? this.localDelayLimit : Spine.globalDelayLimit;\n return limit || Number.MAX_VALUE;\n },\n enumerable: true,\n configurable: true,\n });\n Spine.prototype.update = function (dt) {\n var delayLimit = this.delayLimit;\n if (dt > delayLimit) dt = delayLimit;\n this.state.update(dt);\n this.state.apply(this.skeleton);\n if (!this.skeleton) return;\n this.skeleton.updateWorldTransform();\n var slots = this.skeleton.slots;\n var globalClr = this.color;\n var light = null,\n dark = null;\n if (globalClr) {\n light = globalClr.light;\n dark = globalClr.dark;\n } else {\n light = this.tintRgb;\n }\n var thack = PIXI.TransformBase && this.transformHack() == 1;\n for (var i = 0, n = slots.length; i < n; i++) {\n var slot = slots[i];\n var attachment = slot.attachment;\n var slotContainer = this.slotContainers[i];\n if (!attachment) {\n slotContainer.visible = false;\n continue;\n }\n var spriteColor = null;\n var attColor = attachment.color;\n if (attachment instanceof pixi_spine.core.RegionAttachment) {\n var region = attachment.region;\n if (region) {\n if (slot.currentMesh) {\n slot.currentMesh.visible = false;\n slot.currentMesh = null;\n slot.currentMeshName = undefined;\n }\n var ar = region;\n if (!slot.currentSpriteName || slot.currentSpriteName !== ar.name) {\n var spriteName = ar.name;\n if (slot.currentSprite) {\n slot.currentSprite.visible = false;\n }\n slot.sprites = slot.sprites || {};\n if (slot.sprites[spriteName] !== undefined) {\n slot.sprites[spriteName].visible = true;\n } else {\n var sprite = this.createSprite(slot, attachment, spriteName);\n slotContainer.addChild(sprite);\n }\n slot.currentSprite = slot.sprites[spriteName];\n slot.currentSpriteName = spriteName;\n }\n }\n if (slotContainer.transform) {\n var transform = slotContainer.transform;\n var transAny = transform;\n var lt = null;\n if (transAny.matrix2d) {\n lt = transAny.matrix2d;\n transAny._dirtyVersion++;\n transAny.version = transAny._dirtyVersion;\n transAny.isStatic = true;\n transAny.operMode = 0;\n } else {\n if (thack) {\n if (transAny.position) {\n transform = new PIXI.TransformBase();\n transform._parentID = -1;\n transform._worldID = slotContainer.transform._worldID;\n slotContainer.transform = transform;\n }\n lt = transform.localTransform;\n } else {\n transAny.setFromMatrix(slot.bone.matrix);\n }\n }\n if (lt) {\n slot.bone.matrix.copy(lt);\n }\n } else {\n var lt = slotContainer.localTransform || new PIXI.Matrix();\n slot.bone.matrix.copy(lt);\n slotContainer.localTransform = lt;\n slotContainer.displayObjectUpdateTransform = SlotContainerUpdateTransformV3;\n }\n if (slot.currentSprite.color) {\n spriteColor = slot.currentSprite.color;\n } else {\n tempRgb[0] = light[0] * slot.color.r * attColor.r;\n tempRgb[1] = light[1] * slot.color.g * attColor.g;\n tempRgb[2] = light[2] * slot.color.b * attColor.b;\n slot.currentSprite.tint = PIXI.utils.rgb2hex(tempRgb);\n }\n slot.currentSprite.blendMode = slot.blendMode;\n } else if (attachment instanceof pixi_spine.core.MeshAttachment) {\n if (slot.currentSprite) {\n slot.currentSprite.visible = false;\n slot.currentSprite = null;\n slot.currentSpriteName = undefined;\n if (slotContainer.transform) {\n var transform = new PIXI.TransformStatic();\n transform._parentID = -1;\n transform._worldID = slotContainer.transform._worldID;\n slotContainer.transform = transform;\n } else {\n slotContainer.localTransform = new PIXI.Matrix();\n slotContainer.displayObjectUpdateTransform = PIXI.DisplayObject.prototype.updateTransform;\n }\n }\n if (!slot.currentMeshName || slot.currentMeshName !== attachment.name) {\n var meshName = attachment.name;\n if (slot.currentMesh) {\n slot.currentMesh.visible = false;\n }\n slot.meshes = slot.meshes || {};\n if (slot.meshes[meshName] !== undefined) {\n slot.meshes[meshName].visible = true;\n } else {\n var mesh = this.createMesh(slot, attachment);\n slotContainer.addChild(mesh);\n }\n slot.currentMesh = slot.meshes[meshName];\n slot.currentMeshName = meshName;\n }\n attachment.computeWorldVerticesOld(slot, slot.currentMesh.vertices);\n if (slot.currentMesh.color) {\n spriteColor = slot.currentMesh.color;\n } else if (PIXI.VERSION[0] !== '3') {\n var tintRgb = slot.currentMesh.tintRgb;\n tintRgb[0] = light[0] * slot.color.r * attColor.r;\n tintRgb[1] = light[1] * slot.color.g * attColor.g;\n tintRgb[2] = light[2] * slot.color.b * attColor.b;\n }\n slot.currentMesh.blendMode = slot.blendMode;\n } else if (attachment instanceof pixi_spine.core.ClippingAttachment) {\n if (!slot.currentGraphics) {\n this.createGraphics(slot, attachment);\n slotContainer.addChild(slot.clippingContainer);\n slotContainer.addChild(slot.currentGraphics);\n }\n this.updateGraphics(slot, attachment);\n } else {\n slotContainer.visible = false;\n continue;\n }\n slotContainer.visible = true;\n if (spriteColor) {\n var r0 = slot.color.r * attColor.r;\n var g0 = slot.color.g * attColor.g;\n var b0 = slot.color.b * attColor.b;\n spriteColor.setLight(\n light[0] * r0 + dark[0] * (1.0 - r0),\n light[1] * g0 + dark[1] * (1.0 - g0),\n light[2] * b0 + dark[2] * (1.0 - b0),\n );\n if (slot.darkColor) {\n r0 = slot.darkColor.r;\n g0 = slot.darkColor.g;\n b0 = slot.darkColor.b;\n } else {\n r0 = 0.0;\n g0 = 0.0;\n b0 = 0.0;\n }\n spriteColor.setDark(\n light[0] * r0 + dark[0] * (1 - r0),\n light[1] * g0 + dark[1] * (1 - g0),\n light[2] * b0 + dark[2] * (1 - b0),\n );\n }\n slotContainer.alpha = slot.color.a;\n }\n var drawOrder = this.skeleton.drawOrder;\n var clippingAttachment = null;\n var clippingContainer = null;\n for (var i = 0, n = drawOrder.length; i < n; i++) {\n var slot = slots[drawOrder[i].data.index];\n var slotContainer = this.slotContainers[drawOrder[i].data.index];\n if (!clippingContainer) {\n if (slotContainer.parent !== null && slotContainer.parent !== this) {\n slotContainer.parent.removeChild(slotContainer);\n slotContainer.parent = this;\n }\n }\n if (slot.currentGraphics && slot.attachment) {\n clippingContainer = slot.clippingContainer;\n clippingAttachment = slot.attachment;\n clippingContainer.children.length = 0;\n this.children[i] = slotContainer;\n if (clippingAttachment.endSlot == slot.data) {\n clippingAttachment.endSlot = null;\n }\n } else {\n if (clippingContainer) {\n var c = this.tempClipContainers[i];\n if (!c) {\n c = this.tempClipContainers[i] = this.newContainer();\n c.visible = false;\n }\n this.children[i] = c;\n slotContainer.parent = null;\n clippingContainer.addChild(slotContainer);\n if (clippingAttachment.endSlot == slot.data) {\n clippingContainer.renderable = true;\n clippingContainer = null;\n clippingAttachment = null;\n }\n } else {\n this.children[i] = slotContainer;\n }\n }\n }\n };\n Spine.prototype.setSpriteRegion = function (attachment, sprite, region) {\n sprite.region = region;\n sprite.texture = region.texture;\n if (!region.size) {\n sprite.scale.x = (attachment.scaleX * attachment.width) / region.originalWidth;\n sprite.scale.y = (-attachment.scaleY * attachment.height) / region.originalHeight;\n } else {\n sprite.scale.x = region.size.width / region.originalWidth;\n sprite.scale.y = -region.size.height / region.originalHeight;\n }\n };\n Spine.prototype.setMeshRegion = function (attachment, mesh, region) {\n mesh.region = region;\n mesh.texture = region.texture;\n region.texture._updateUvs();\n attachment.updateUVs(region, mesh.uvs);\n mesh.dirty++;\n };\n Spine.prototype.autoUpdateTransform = function () {\n if (Spine.globalAutoUpdate) {\n this.lastTime = this.lastTime || Date.now();\n var timeDelta = (Date.now() - this.lastTime) * 0.001;\n this.lastTime = Date.now();\n this.update(timeDelta);\n } else {\n this.lastTime = 0;\n }\n PIXI.Container.prototype.updateTransform.call(this);\n };\n Spine.prototype.createSprite = function (slot, attachment, defName) {\n var region = attachment.region;\n if (slot.tempAttachment === attachment) {\n region = slot.tempRegion;\n slot.tempAttachment = null;\n slot.tempRegion = null;\n }\n var texture = region.texture;\n var sprite = this.newSprite(texture);\n sprite.rotation = attachment.rotation * pixi_spine.core.MathUtils.degRad;\n sprite.anchor.x = 0.5;\n sprite.anchor.y = 0.5;\n sprite.position.x = attachment.x;\n sprite.position.y = attachment.y;\n sprite.alpha = attachment.color.a;\n sprite.region = attachment.region;\n this.setSpriteRegion(attachment, sprite, attachment.region);\n slot.sprites = slot.sprites || {};\n slot.sprites[defName] = sprite;\n return sprite;\n };\n Spine.prototype.createMesh = function (slot, attachment) {\n var region = attachment.region;\n if (slot.tempAttachment === attachment) {\n region = slot.tempRegion;\n slot.tempAttachment = null;\n slot.tempRegion = null;\n }\n var strip = this.newMesh(\n region.texture,\n new Float32Array(attachment.regionUVs.length),\n new Float32Array(attachment.regionUVs.length),\n new Uint16Array(attachment.triangles),\n PIXI.mesh.Mesh.DRAW_MODES.TRIANGLES,\n );\n strip.canvasPadding = 1.5;\n strip.alpha = attachment.color.a;\n strip.region = attachment.region;\n this.setMeshRegion(attachment, strip, region);\n slot.meshes = slot.meshes || {};\n slot.meshes[attachment.name] = strip;\n return strip;\n };\n Spine.prototype.createGraphics = function (slot, clip) {\n var graphics = this.newGraphics();\n var poly = new PIXI.Polygon([]);\n graphics.clear();\n graphics.beginFill(0xffffff, 1);\n graphics.drawPolygon(poly);\n graphics.renderable = false;\n slot.currentGraphics = graphics;\n slot.clippingContainer = this.newContainer();\n slot.clippingContainer.mask = slot.currentGraphics;\n return graphics;\n };\n Spine.prototype.updateGraphics = function (slot, clip) {\n var vertices = slot.currentGraphics.graphicsData[0].shape.points;\n var n = clip.worldVerticesLength;\n vertices.length = n;\n clip.computeWorldVertices(slot, 0, n, vertices, 0, 2);\n slot.currentGraphics.dirty++;\n slot.currentGraphics.clearDirty++;\n };\n Spine.prototype.hackTextureBySlotIndex = function (slotIndex, texture, size) {\n if (texture === void 0) {\n texture = null;\n }\n if (size === void 0) {\n size = null;\n }\n var slot = this.skeleton.slots[slotIndex];\n if (!slot) {\n return false;\n }\n var attachment = slot.attachment;\n var region = attachment.region;\n if (texture) {\n region = new pixi_spine.core.TextureRegion();\n region.texture = texture;\n region.size = size;\n }\n if (slot.currentSprite && slot.currentSprite.region != region) {\n this.setSpriteRegion(attachment, slot.currentSprite, region);\n slot.currentSprite.region = region;\n } else if (slot.currentMesh && slot.currentMesh.region != region) {\n this.setMeshRegion(attachment, slot.currentMesh, region);\n } else {\n slot.tempRegion = region;\n slot.tempAttachment = attachment;\n }\n return true;\n };\n Spine.prototype.hackTextureBySlotName = function (slotName, texture, size) {\n if (texture === void 0) {\n texture = null;\n }\n if (size === void 0) {\n size = null;\n }\n var index = this.skeleton.findSlotIndex(slotName);\n if (index == -1) {\n return false;\n }\n return this.hackTextureBySlotIndex(index, texture, size);\n };\n Spine.prototype.newContainer = function () {\n return new PIXI.Container();\n };\n Spine.prototype.newSprite = function (tex) {\n return new SpineSprite(tex);\n };\n Spine.prototype.newGraphics = function () {\n return new PIXI.Graphics();\n };\n Spine.prototype.newMesh = function (texture, vertices, uvs, indices, drawMode) {\n return new SpineMesh(texture, vertices, uvs, indices, drawMode);\n };\n Spine.prototype.transformHack = function () {\n return 1;\n };\n Spine.prototype.hackAttachmentGroups = function (nameSuffix, group, outGroup) {\n if (!nameSuffix) {\n return;\n }\n var list_d = [],\n list_n = [];\n for (var i = 0, len = this.skeleton.slots.length; i < len; i++) {\n var slot = this.skeleton.slots[i];\n var name_2 = slot.currentSpriteName || slot.currentMeshName || '';\n var target = slot.currentSprite || slot.currentMesh;\n if (name_2.endsWith(nameSuffix)) {\n target.parentGroup = group;\n list_n.push(target);\n } else if (outGroup && target) {\n target.parentGroup = outGroup;\n list_d.push(target);\n }\n }\n return [list_d, list_n];\n };\n Spine.prototype.destroy = function (options) {\n for (var i = 0, n = this.skeleton.slots.length; i < n; i++) {\n var slot = this.skeleton.slots[i];\n for (var name_3 in slot.meshes) {\n slot.meshes[name_3].destroy(options);\n }\n slot.meshes = null;\n for (var name_4 in slot.sprites) {\n slot.sprites[name_4].destroy(options);\n }\n slot.sprites = null;\n }\n for (var i = 0, n = this.slotContainers.length; i < n; i++) {\n this.slotContainers[i].destroy(options);\n }\n this.spineData = null;\n this.skeleton = null;\n this.slotContainers = null;\n this.stateData = null;\n this.state = null;\n this.tempClipContainers = null;\n _super.prototype.destroy.call(this, options);\n };\n Spine.globalAutoUpdate = true;\n Spine.globalDelayLimit = 0;\n Spine.clippingPolygon = [];\n return Spine;\n })(PIXI.Container);\n pixi_spine.Spine = Spine;\n function SlotContainerUpdateTransformV3() {\n var pt = this.parent.worldTransform;\n var wt = this.worldTransform;\n var lt = this.localTransform;\n wt.a = lt.a * pt.a + lt.b * pt.c;\n wt.b = lt.a * pt.b + lt.b * pt.d;\n wt.c = lt.c * pt.a + lt.d * pt.c;\n wt.d = lt.c * pt.b + lt.d * pt.d;\n wt.tx = lt.tx * pt.a + lt.ty * pt.c + pt.tx;\n wt.ty = lt.tx * pt.b + lt.ty * pt.d + pt.ty;\n this.worldAlpha = this.alpha * this.parent.worldAlpha;\n this._currentBounds = null;\n }\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n PIXI.spine = pixi_spine;\n var TextureProto = PIXI.Texture.prototype;\n if (!TextureProto._updateUvs) {\n TextureProto._updateUvs = TextureProto.updateUvs;\n }\n})(pixi_spine || (pixi_spine = {}));\nvar pixi_spine;\n(function (pixi_spine) {\n function isJson(resource) {\n return resource.type === PIXI.loaders.Resource.TYPE.JSON;\n }\n function atlasParser() {\n return function atlasParser(resource, next) {\n if (!resource.data || !isJson(resource) || !resource.data.bones) {\n return next();\n }\n var metadata = resource.metadata || {};\n var metadataSkeletonScale = metadata ? resource.metadata.spineSkeletonScale : null;\n var metadataAtlas = metadata ? resource.metadata.spineAtlas : null;\n if (metadataAtlas === false) {\n return next();\n }\n if (metadataAtlas && metadataAtlas.pages) {\n var spineJsonParser = new pixi_spine.core.SkeletonJson(\n new pixi_spine.core.AtlasAttachmentLoader(metadataAtlas),\n );\n if (metadataSkeletonScale) {\n spineJsonParser.scale = metadataSkeletonScale;\n }\n var skeletonData = spineJsonParser.readSkeletonData(resource.data);\n resource.spineData = skeletonData;\n resource.spineAtlas = metadataAtlas;\n return next();\n }\n var metadataAtlasSuffix = metadata.spineAtlasSuffix || '.atlas';\n var atlasPath = resource.url;\n var queryStringPos = atlasPath.indexOf('?');\n if (queryStringPos > 0) {\n atlasPath = atlasPath.substr(0, queryStringPos);\n }\n atlasPath = atlasPath.substr(0, atlasPath.lastIndexOf('.')) + metadataAtlasSuffix;\n if (resource.metadata && resource.metadata.spineAtlasFile) {\n atlasPath = resource.metadata.spineAtlasFile;\n }\n atlasPath = atlasPath.replace(this.baseUrl, '');\n var atlasOptions = {\n crossOrigin: resource.crossOrigin,\n xhrType: PIXI.loaders.Resource.XHR_RESPONSE_TYPE.TEXT,\n metadata: metadata.spineMetadata || null,\n parentResource: resource,\n };\n var imageOptions = {\n crossOrigin: resource.crossOrigin,\n metadata: metadata.imageMetadata || null,\n parentResource: resource,\n };\n var baseUrl = resource.url.substr(0, resource.url.lastIndexOf('/') + 1);\n baseUrl = baseUrl.replace(this.baseUrl, '');\n var namePrefix = metadata.imageNamePrefix || resource.name + '_atlas_page_';\n var adapter = metadata.images\n ? staticImageLoader(metadata.images)\n : metadata.image\n ? staticImageLoader({ default: metadata.image })\n : metadata.imageLoader\n ? metadata.imageLoader(this, namePrefix, baseUrl, imageOptions)\n : imageLoaderAdapter(this, namePrefix, baseUrl, imageOptions);\n var createSkeletonWithRawAtlas = function (rawData) {\n new pixi_spine.core.TextureAtlas(rawData, adapter, function (spineAtlas) {\n if (spineAtlas) {\n var spineJsonParser = new pixi_spine.core.SkeletonJson(\n new pixi_spine.core.AtlasAttachmentLoader(spineAtlas),\n );\n if (metadataSkeletonScale) {\n spineJsonParser.scale = metadataSkeletonScale;\n }\n resource.spineData = spineJsonParser.readSkeletonData(resource.data);\n resource.spineAtlas = spineAtlas;\n }\n next();\n });\n };\n if (resource.metadata && resource.metadata.atlasRawData) {\n createSkeletonWithRawAtlas(resource.metadata.atlasRawData);\n } else {\n this.add(resource.name + '_atlas', atlasPath, atlasOptions, function (atlasResource) {\n if (!atlasResource.error) {\n createSkeletonWithRawAtlas(atlasResource.data);\n } else {\n next();\n }\n });\n }\n };\n }\n pixi_spine.atlasParser = atlasParser;\n function imageLoaderAdapter(loader, namePrefix, baseUrl, imageOptions) {\n if (baseUrl && baseUrl.lastIndexOf('/') !== baseUrl.length - 1) {\n baseUrl += '/';\n }\n return function (line, callback) {\n var name = namePrefix + line;\n var url = baseUrl + line;\n var cachedResource = loader.resources[name];\n if (cachedResource) {\n function done() {\n callback(cachedResource.texture.baseTexture);\n }\n if (cachedResource.texture) {\n done();\n } else {\n cachedResource.onAfterMiddleware.add(done);\n }\n } else {\n loader.add(name, url, imageOptions, function (resource) {\n if (!resource.error) {\n callback(resource.texture.baseTexture);\n } else {\n callback(null);\n }\n });\n }\n };\n }\n pixi_spine.imageLoaderAdapter = imageLoaderAdapter;\n function syncImageLoaderAdapter(baseUrl, crossOrigin) {\n if (baseUrl && baseUrl.lastIndexOf('/') !== baseUrl.length - 1) {\n baseUrl += '/';\n }\n return function (line, callback) {\n callback(PIXI.BaseTexture.fromImage(line, crossOrigin));\n };\n }\n pixi_spine.syncImageLoaderAdapter = syncImageLoaderAdapter;\n function staticImageLoader(pages) {\n return function (line, callback) {\n var page = pages[line] || pages['default'];\n if (page && page.baseTexture) callback(page.baseTexture);\n else callback(page);\n };\n }\n pixi_spine.staticImageLoader = staticImageLoader;\n if (PIXI.loaders.Loader) {\n PIXI.loaders.Loader.addPixiMiddleware(atlasParser);\n PIXI.loader.use(atlasParser());\n }\n})(pixi_spine || (pixi_spine = {}));\n\nexport default pixi_spine;\n//# sourceMappingURL=pixi-spine.js.map\n","import { Texture } from 'pixi.js';\n\nlet texCache: { [name: string]: { tex: Texture; count: number } } = {};\n\nfunction cacheImage(data: any) {\n const oldImg = data.image;\n const newImg = data.image.cloneNode();\n // newImg.src = oldImg.src;\n data.image = newImg;\n\n return {\n tex: Texture.from(oldImg),\n count: 0,\n };\n}\n\nexport function retainTexture(name: string, data: any) {\n let cache = texCache[name];\n if (!cache) {\n cache = cacheImage(data);\n texCache[name] = cache;\n }\n cache.count++;\n return cache.tex;\n}\n\nexport function getTexture(name: string, data: any) {\n let cache = texCache[name];\n if (!cache) {\n cache = cacheImage(data);\n texCache[name] = cache;\n }\n return cache.tex;\n}\n\nexport function cleanTextures() {\n for (let k in texCache) {\n let cache = texCache[k];\n if (cache && cache.tex) {\n cache.tex.destroy(true);\n }\n }\n texCache = {};\n}\n\nexport function releaseTexture(name: string) {\n // 如果要取消上一个timeout,注意count--不要写timeout里面\n setTimeout(() => {\n // 延迟销毁,避免快速重用\n const cache = texCache[name];\n if (cache) {\n cache.count--;\n if (cache.count <= 0) {\n if (cache.tex) {\n cache.tex.destroy(true);\n cache.tex = null;\n }\n delete texCache[name];\n }\n }\n }, 100);\n}\n","import { resource } from '@eva/eva.js';\nimport pixispine from './pixi-spine.js';\nimport { cleanTextures, getTexture, releaseTexture, retainTexture } from './TexCache';\nlet dataMap: any = {};\n\nfunction createSpineData(name, imgName, data, scale) {\n let spineData: any = null;\n const img = getTexture(imgName, data); // Texture.from(data.image);\n // const img = Texture.from(imgName,data.image);\n // @ts-ignore\n new pixispine.core.TextureAtlas(\n (data as any).atlas,\n // @ts-ignore\n (line, callback) => {\n callback(img.baseTexture);\n },\n spineAtlas => {\n if (spineAtlas) {\n // @ts-ignore\n const attachmentLoader = new pixispine.core.AtlasAttachmentLoader(spineAtlas);\n // @ts-ignore\n const spineJsonParser = new pixispine.core.SkeletonJson(attachmentLoader);\n if (scale) {\n spineJsonParser.scale = scale;\n }\n spineData = spineJsonParser.readSkeletonData(data.ske);\n }\n },\n );\n const obj = { spineData, ref: 0, imgName: imgName };\n dataMap[name] = obj;\n return obj;\n}\nresource.registerInstance('SPINE' as any, info => {\n return createSpineData(info.name, info.name, info.data, (info as any).scale);\n});\n\nresource.registerDestroy('SPINE' as any, info => {\n if (info.instance) {\n // if (info.instance.img) {\n // 用true,baseTexture的缓存和webgl的绑定一起删除\n // info.instance.img.destroy(true);\n\n // }\n releaseTexture(info.name as string);\n info.instance = null;\n }\n});\n\nexport default async function getSpineData(name: string) {\n // const res = await resource.getResource(name);\n // if (!res.instance) {\n // console.log(`加载资源${name}失败`);\n // return;\n // }\n // retainTexture(res.name as string, res.data.image);\n // return res.instance.spineData;\n const res = await resource.getResource(name);\n let data = dataMap[name];\n if (!data) {\n if (res.complete) {\n data = createSpineData(name, res.name, res.data, (res as any).scale);\n } else if (!data) {\n return;\n }\n }\n\n retainTexture(res.name as string, res.data);\n\n data.ref++;\n return data.spineData;\n}\n\nexport function clearCache() {\n cleanTextures();\n dataMap = {};\n}\n\nexport function releaseSpineData(name) {\n // const res = await resource.getResource(name);\n // if (!res) {\n // return;\n // }\n // if (!res.instance) {\n // console.log(`释放资源${name}失败`);\n // return;\n // }\n // releaseTexture(res.name as string);\n const data = dataMap[name];\n if (!data) {\n return;\n }\n data.ref--;\n if (data.ref <= 0) {\n releaseTexture(data.imgName as string);\n delete dataMap[name];\n resource.destroy(name);\n }\n}\n","import { DisplayObject } from 'pixi.js';\nimport { decorators, ComponentChanged, OBSERVER_TYPE } from '@eva/eva.js';\nimport { Renderer, RendererSystem, RendererManager, ContainerManager } from '@eva/plugin-renderer';\nimport Spine from './Spine';\nimport pixispine from './pixi-spine.js';\nimport getSpineData, { releaseSpineData } from './SpineData';\nconst MaxRetryCount = 20;\n\n@decorators.componentObserver({\n Spine: ['resource'],\n})\nexport default class SpineSystem extends Renderer {\n static systemName = 'SpineSystem';\n armatures: Record<number, DisplayObject> = {};\n renderSystem: RendererSystem;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n init() {\n this.renderSystem = this.game.getSystem(RendererSystem) as RendererSystem;\n this.renderSystem.rendererManager.register(this);\n this.game.canvas.addEventListener(\n 'webglcontextrestored',\n () => {\n // 重建所有spine\n const objs = this.game.gameObjects;\n // clearCache();\n let toAdd: any[] = [];\n for (let k in this.armatures) {\n const id = +k;\n for (let i = 0; i < objs.length; ++i) {\n let obj = objs[i];\n if (obj.id === id) {\n let sp = obj.getComponent(Spine);\n if (sp) {\n this.remove({\n type: OBSERVER_TYPE.REMOVE,\n gameObject: obj,\n component: sp,\n componentName: Spine.componentName,\n });\n toAdd.push({\n type: OBSERVER_TYPE.ADD,\n gameObject: obj,\n component: sp,\n componentName: Spine.componentName,\n });\n }\n break;\n }\n }\n }\n\n setTimeout(() => {\n toAdd.forEach(obj => {\n this.add(obj);\n });\n }, 1000);\n },\n false,\n );\n }\n\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'Spine') {\n if (changed.type === OBSERVER_TYPE.ADD) {\n this.add(changed);\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n switch (changed.prop.prop[0]) {\n case 'resource':\n this.change(changed);\n break;\n }\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed);\n }\n }\n }\n async add(changed: ComponentChanged, count?: number) {\n const component = changed.component as Spine;\n clearTimeout(component.addHandler);\n const spineData = await getSpineData(component.resource);\n if (!spineData) {\n component.addHandler = setTimeout(() => {\n if (!component.destroied) {\n if (count === undefined) {\n // 最大重试次数\n count = MaxRetryCount;\n }\n count--;\n if (count > 0) {\n this.add(changed, count);\n } else {\n console.log('retry exceed max times', component.resource);\n }\n }\n }, 1000);\n return;\n }\n this.remove(changed);\n const container = this.renderSystem.containerManager.getContainer(changed.gameObject.id);\n if (!container) {\n // console.warn('添加spine的container不存在');\n return;\n }\n // @ts-ignore\n const armature: any = new pixispine.Spine(spineData);\n this.armatures[changed.gameObject.id] = armature;\n if (changed.gameObject && changed.gameObject.transform) {\n const tran = changed.gameObject.transform;\n armature.x = tran.size.width * tran.origin.x;\n armature.y = tran.size.height * tran.origin.y;\n }\n\n container.addChildAt(armature, 0);\n component.usingResource = component.resource;\n component.armature = armature;\n if (component.autoPlay) {\n try {\n armature.state.setAnimation(0, component.animationName, true);\n } catch (e) {\n console.log(e);\n }\n }\n // @ts-ignore\n component.emit('loaded', { resource: component.resource });\n armature.state.addListener({\n // @ts-ignore\n start: (track, event) => {\n component.emit('start', { track, name: track.animation.name });\n },\n // @ts-ignore\n complete: (track, event) => {\n component.emit('complete', { track, name: track.animation.name });\n },\n // @ts-ignore\n interrupt: (track, event) => {\n component.emit('interrupt', { track, name: track.animation.name });\n },\n end: (\n track, // @ts-ignore\n event,\n ) => {\n component.emit('end', { track, name: track.animation.name });\n },\n event: (track, event) => {\n // @ts-ignore\n component.emit('event', track, event);\n },\n });\n }\n change(changed: ComponentChanged) {\n this.remove(changed);\n this.add(changed);\n }\n remove(changed: ComponentChanged) {\n const component = changed.component as Spine;\n clearTimeout(component.addHandler);\n const armature = this.armatures[changed.gameObject.id];\n\n const container = this.renderSystem.containerManager.getContainer(changed.gameObject.id);\n if (container && armature) {\n container.removeChild(armature);\n } else {\n // console.warn('remove时container不存在');\n }\n\n if (component.armature) {\n component.armature.destroy({ children: true });\n\n if (component.usingResource) {\n releaseSpineData(component.usingResource);\n }\n }\n\n component.armature = null;\n delete this.armatures[changed.gameObject.id];\n if (changed.type === OBSERVER_TYPE.CHANGE) {\n // // @ts-ignore\n // component.removeAllListeners();\n }\n }\n}\n"],"names":["__extends","decorators","Component","loaders","Texture","Rectangle","Sprite","Graphics","mesh","Matrix","Container","SCALE_MODES","utils","TransformBase","TransformStatic","DisplayObject","Polygon","BaseTexture","this","resource","RendererSystem","Spine","OBSERVER_TYPE","Renderer"],"mappings":"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B,MAAM,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/B,MAAM,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/B,MAAM,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/B,MAAM,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/B,MAAM,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,gBAAgB,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC;IAChC,MAAM,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC;IAChC,MAAM,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC;IAChC,MAAM,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC;IAChC,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC;IAChC,MAAM,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC;IAChC,MAAM,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC;IAChC,MAAM,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC;IAChC,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC;IAC/B,MAAM,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC;IAChC,MAAM,gBAAgB,CAAC,GAAG,GAAG,EAAE,CAAC;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"}
|