!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.PIXI=t()}}(function(){return function t(e,i,r){function n(o,a){if(!i[o]){if(!e[o]){var h="function"==typeof require&&require;if(!a&&h)return h(o,!0);if(s)return s(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var u=i[o]={exports:{}};e[o][0].call(u.exports,function(t){var i=e[o][1][t];return n(i?i:t)},u,u.exports,t,e,i,r)}return i[o].exports}for(var s="function"==typeof require&&require,o=0;o<r.length;o++)n(r[o]);return n}({1:[function(t,e){e.exports={core:t("./core"),extras:t("./extras"),filters:t("./filters"),interaction:t("./interaction"),loaders:t("./loaders"),spine:t("./spine"),text:t("./text")}},{"./core":9,"./extras":55,"./filters":81,"./interaction":84,"./loaders":92,"./spine":95,"./text":98}],2:[function(t,e){e.exports=function(){try{var t=document.createElement("canvas");return!(!window.WebGLRenderingContext||!t.getContext("webgl")&&!t.getContext("experimental-webgl"))}catch(e){return!1}}},{}],3:[function(t,e){e.exports={name:"pixi.js",version:"3.0.0",description:"Pixi.js is a fast lightweight 2D library that works across all devices.",author:"Mat Groves",contributors:["Chad Engler <chad@pantherdev.com>","Richard Davey <rdavey@gmail.com>"],main:"./src/index.js",homepage:"http://goodboydigital.com/",bugs:"https://github.com/GoodBoyDigital/pixi.js/issues",license:"MIT",repository:{type:"git",url:"https://github.com/GoodBoyDigital/pixi.js.git"},scripts:{test:"gulp test",docs:"./node_modules/.bin/jsdoc -c ./gulp/util/jsdoc.conf.json"},devDependencies:{browserify:"^8.0.2",chai:"^1.10.0",del:"^1.1.0",gulp:"^3.8.10","gulp-jshint":"^1.9.0","gulp-plumber":"^0.6.6","gulp-rename":"^1.2.0","gulp-uglify":"^1.0.2","gulp-util":"^3.0.1","ink-docstrap":"^0.4.12",jsdoc:"^3.3.0-alpha13","jshint-summary":"^0.4.0",karma:"^0.12.28","karma-firefox-launcher":"^0.1.0","karma-mocha":"^0.1.10","karma-spec-reporter":"^0.0.16",mocha:"^2.1.0","require-dir":"^0.1.0","run-sequence":"^1.0.2","vinyl-buffer":"^1.0.0","vinyl-source-stream":"^1.0.0",watchify:"^2.2.1"},dependencies:{"webgl-enabled":"^1.0.2"}}},{}],4:[function(t,e){e.exports={WEBGL_RENDERER:1,CANVAS_RENDERER:2,VERSION:t("../../package.json").version,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},RETINA_PREFIX:"@2x",defaultRenderOptions:{view:null,resolution:1,antialias:!1,autoResize:!1,transparent:!1,backgroundColor:0,clearBeforeRender:!0,preserveDrawingBuffer:!1},SHAPES:{POLY:0,RECT:1,CIRC:2,ELIP:3,RREC:4}}},{"../../package.json":3}],5:[function(t,e){function i(){this.position=new r.Point,this.scale=new r.Point(1,1),this.pivot=new r.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new r.Matrix,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new r.Rectangle(0,0,1,1),this._currentBounds=null,this._mask=null,this._cacheIsDirty=!1}var r=t("../math");i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){var t=this;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,this._mask&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(t){for(var e=[],i=0;i<t.length;i++)for(var r=t[i].passes,n=0;n<r.length;n++)e.push(r[n]);this._filterBlock={target:this,filterPasses:e}}this._filters=t}}}),i.prototype.updateTransform=function(){if(this.parent){var t,e,i,n,s,o,a=this.parent.worldTransform,h=this.worldTransform;this.rotation%r.PI_2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),t=this._cr*this.scale.x,e=this._sr*this.scale.x,i=-this._sr*this.scale.y,n=this._cr*this.scale.y,s=this.position.x,o=this.position.y,(this.pivot.x||this.pivot.y)&&(s-=this.pivot.x*t+this.pivot.y*i,o-=this.pivot.x*e+this.pivot.y*n),h.a=t*a.a+e*a.c,h.b=t*a.b+e*a.d,h.c=i*a.a+n*a.c,h.d=i*a.b+n*a.d,h.tx=s*a.a+o*a.c+a.tx,h.ty=s*a.b+o*a.d+a.ty):(t=this.scale.x,n=this.scale.y,s=this.position.x-this.pivot.x*t,o=this.position.y-this.pivot.y*n,h.a=t*a.a,h.b=t*a.b,h.c=n*a.c,h.d=n*a.d,h.tx=s*a.a+o*a.c+a.tx,h.ty=s*a.b+o*a.d+a.ty),this.worldAlpha=this.alpha*this.parent.worldAlpha}},i.prototype.displayObjectUpdateTransform=i.prototype.updateTransform,i.prototype.getBounds=function(){return r.Rectangle.EMPTY},i.prototype.getLocalBounds=function(){return this.getBounds(r.Matrix.IDENTITY)},i.prototype.toGlobal=function(t){return this.displayObjectUpdateTransform(),this.worldTransform.apply(t)},i.prototype.toLocal=function(t,e){return e&&(t=e.toGlobal(t)),this.displayObjectUpdateTransform(),this.worldTransform.applyInverse(t)},i.prototype.renderWebGL=function(){},i.prototype.renderCanvas=function(){}},{"../math":12}],6:[function(t,e){function i(){n.call(this),this.children=[],this._cacheAsBitmap=!1,this._cachedSprite=null}var r=t("../math"),n=t("./DisplayObject"),s=t("../textures/RenderTexture"),o=new r.Matrix;i.prototype=Object.create(n.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{width:{get:function(){return this.scale.x*this.getLocalBounds().width},set:function(t){var e=this.getLocalBounds().width;this.scale.x=0!==e?t/e:1,this._width=t}},height:{get:function(){return this.scale.y*this.getLocalBounds().height},set:function(t){var e=this.getLocalBounds().height;this.scale.y=0!==e?t/e:1,this._height=t}},cacheAsBitmap:{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap!==t&&(t?this._generateCachedSprite():this._destroyCachedSprite(),this._cacheAsBitmap=t)}}}),i.prototype.addChild=function(t){return this.addChildAt(t,this.children.length)},i.prototype.addChildAt=function(t,e){if(t!==this){if(e>=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)}},i.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),r=this.getChildIndex(e);if(0>i||0>r)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[r]=t}},i.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},i.prototype.setChildIndex=function(t,e){if(0>e||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},i.prototype.getChildAt=function(t){if(0>t||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},i.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},i.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e.parent=null,this.children.splice(t,1),e},i.prototype.removeChildren=function(t,e){var i=t||0,r="number"==typeof e?e:this.children.length,n=r-i;if(n>0&&r>=n){for(var s=this.children.splice(i,n),o=0;o<s.length;++o)s[o].parent=null;return s}if(0===n&&0===this.children.length)return[];throw new RangeError("removeChildren: numeric values are outside the acceptable range.")},i.prototype.updateCachedSprite=function(){this._generateCachedSprite()},i.prototype.generateTexture=function(t,e,i){var r=this.getLocalBounds(),n=new s(i,0|r.width,0|r.height,i,e,t);return o.tx=-r.x,o.ty=-r.y,n.render(this,o),n},i.prototype.updateTransform=function(){if(this.visible&&(this.displayObjectUpdateTransform(),!this._cacheAsBitmap))for(var t=0,e=this.children.length;e>t;++t)this.children[t].updateTransform()},i.prototype.displayObjectContainerUpdateTransform=i.prototype.updateTransform,i.prototype.getBounds=function(){if(0===this.children.length)return r.Rectangle.EMPTY;for(var t,e,i,n=1/0,s=1/0,o=-1/0,a=-1/0,h=!1,l=0,u=this.children.length;u>l;++l){var c=this.children[l];c.visible&&(h=!0,t=this.children[l].getBounds(),n=n<t.x?n:t.x,s=s<t.y?s:t.y,e=t.width+t.x,i=t.height+t.y,o=o>e?o:e,a=a>i?a:i)}return h?(this._bounds.x=n,this._bounds.y=s,this._bounds.width=o-n,this._bounds.height=a-s,this._bounds):r.Rectangle.EMPTY},i.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=r.Matrix.IDENTITY;for(var e=0,i=this.children.length;i>e;++e)this.children[e].updateTransform();return this.worldTransform=t,this.getBounds()},i.prototype.renderWebGL=function(t){if(this.visible&&!(this.alpha<=0)){if(this._cacheAsBitmap)return void this._renderCachedSprite(t);var e,i;if(this._mask||this._filters){for(this._filters&&(t.spriteBatch.flush(),t.filterManager.pushFilter(this._filterBlock)),this._mask&&(t.spriteBatch.stop(),t.maskManager.pushMask(this.mask,t),t.spriteBatch.start()),this.texture&&t.spriteBatch.render(this),e=0,i=this.children.length;i>e;e++)this.children[e].renderWebGL(t);t.spriteBatch.stop(),this._mask&&t.maskManager.popMask(this._mask,t),this._filters&&t.filterManager.popFilter(),t.spriteBatch.start()}else for(this.texture&&t.spriteBatch.render(this),e=0,i=this.children.length;i>e;++e)this.children[e].renderWebGL(t)}},i.prototype.renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)){if(this._cacheAsBitmap)return void this._renderCachedSprite(t);this._mask&&t.maskManager.pushMask(this._mask,t);for(var e=0,i=this.children.length;i>e;++e)this.children[e].renderCanvas(t);this._mask&&t.maskManager.popMask(t)}},i.prototype._renderCachedSprite=function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?this._cachedSprite.renderWebGL(t):this._cachedSprite.renderCanvas(t)},i.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.texture.resize(0|t.width,0|t.height);else{var e=new s(renderer,0|t.width,0|t.height);this._cachedSprite=new Sprite(e),this._cachedSprite.worldTransform=this.worldTransform}var i=this._filters;this._filters=null,this._cachedSprite.filters=i,o.tx=-t.x,o.ty=-t.y,this._cachedSprite.texture.render(this,o,!0),this._cachedSprite.anchor.x=-(t.x/t.width),this._cachedSprite.anchor.y=-(t.y/t.height),this._filters=i},i.prototype._destroyCachedSprite=function(){this._cachedSprite&&(this._cachedSprite.destroy(!0,!0),this._cachedSprite=null)}},{"../math":12,"../textures/RenderTexture":43,"./DisplayObject":5}],7:[function(t,e){function i(t){s.call(this),this.anchor=new r.Point,this._texture=null,this._width=0,this._height=0,this.tint=16777215,this.blendMode=h.blendModes.NORMAL,this.shader=null,this.renderable=!0,this.texture=t||n.EMPTY}var r=t("../math"),n=t("../textures/Texture"),s=t("./DisplayObjectContainer"),o=t("../renderers/canvas/utils/CanvasTinter"),a=t("../utils"),h=t("../const");i.prototype.destroy=function(t,e){s.prototype.destroy.call(this),this.anchor=null,t&&this._texture.destroy(e),this._texture=null,this.shader=null},i.prototype=Object.create(s.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{width:{get:function(){return this.scale.x*this.texture.frame.width},set:function(t){this.scale.x=t/this.texture.frame.width,this._width=t}},height:{get:function(){return this.scale.y*this.texture.frame.height},set:function(t){this.scale.y=t/this.texture.frame.height,this._height=t}},texture:{get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture=t,this.cachedTint=16777215,t&&(t.baseTexture.hasLoaded?this._onTextureUpdate():t.once("update",this._onTextureUpdate.bind(this))))}}}),i.prototype._onTextureUpdate=function(){this._width&&(this.scale.x=this._width/this.texture.frame.width),this._height&&(this.scale.y=this._height/this.texture.frame.height)},i.prototype.getBounds=function(t){var e,i,r,n,s=this.texture.frame.width,o=this.texture.frame.height,a=s*(1-this.anchor.x),h=s*-this.anchor.x,l=o*(1-this.anchor.y),u=o*-this.anchor.y,c=t||this.worldTransform,d=c.a,f=c.b,p=c.c,v=c.d,m=c.tx,g=c.ty;if(0===f&&0===p)0>d&&(d*=-1),0>v&&(v*=-1),e=d*h+m,i=d*a+m,r=v*u+g,n=v*l+g;else{var x=d*h+p*u+m,y=v*u+f*h+g,b=d*a+p*u+m,T=v*u+f*a+g,w=d*a+p*l+m,S=v*l+f*a+g,A=d*h+p*l+m,_=v*l+f*h+g;e=x,e=e>b?b:e,e=e>w?w:e,e=e>A?A:e,r=y,r=r>T?T:r,r=r>S?S:r,r=r>_?_:r,i=x,i=b>i?b:i,i=w>i?w:i,i=A>i?A:i,n=y,n=T>n?T:n,n=S>n?S:n,n=_>n?_:n}var C=this._bounds;return C.x=e,C.width=i-e,C.y=r,C.height=n-r,this._currentBounds=C,C},i.prototype.renderCanvas=function(t){if(!(!this.visible||this.alpha<=0||this.texture.crop.width<=0||this.texture.crop.height<=0)){if(this.blendMode!==t.currentBlendMode&&(t.currentBlendMode=this.blendMode,t.context.globalCompositeOperation=t.blendModes[t.currentBlendMode]),this._mask&&t.maskManager.pushMask(this._mask,t),this.texture.valid){var e=this.texture.baseTexture.resolution/t.resolution;t.context.globalAlpha=this.worldAlpha,t.smoothProperty&&t.scaleMode!==this.texture.baseTexture.scaleMode&&(t.scaleMode=this.texture.baseTexture.scaleMode,t.context[t.smoothProperty]=t.scaleMode===h.scaleModes.LINEAR);var i=(this.texture.trim?this.texture.trim.x:0)-this.anchor.x*this.texture.trim.width,r=(this.texture.trim?this.texture.trim.y:0)-this.anchor.y*this.texture.trim.height;t.roundPixels?(t.context.setTransform(this.worldTransform.a,this.worldTransform.b,this.worldTransform.c,this.worldTransform.d,this.worldTransform.tx*t.resolution|0,this.worldTransform.ty*t.resolution|0),i=0|i,r=0|r):t.context.setTransform(this.worldTransform.a,this.worldTransform.b,this.worldTransform.c,this.worldTransform.d,this.worldTransform.tx*t.resolution,this.worldTransform.ty*t.resolution),16777215!==this.tint?(this.cachedTint!==this.tint&&(this.cachedTint=this.tint,this.tintedTexture=o.getTintedTexture(this,this.tint)),t.context.drawImage(this.tintedTexture,0,0,this.texture.crop.width,this.texture.crop.height,i/e,r/e,this.texture.crop.width/e,this.texture.crop.height/e)):t.context.drawImage(this.texture.baseTexture.source,this.texture.crop.x,this.texture.crop.y,this.texture.crop.width,this.texture.crop.height,i/e,r/e,this.texture.crop.width/e,this.texture.crop.height/e)}for(var n=0,s=this.children.length;s>n;n++)this.children[n].renderCanvas(t);this._mask&&t.maskManager.popMask(t)}},i.fromFrame=function(t){var e=a.TextureCache[t];if(!e)throw new Error('The frameId "'+t+'" does not exist in the texture cache'+this);return new i(e)},i.fromImage=function(t,e,r){return new i(n.fromImage(t,e,r))}},{"../const":4,"../math":12,"../renderers/canvas/utils/CanvasTinter":24,"../textures/Texture":44,"../utils":50,"./DisplayObjectContainer":6}],8:[function(t,e){function i(){r.call(this)}{var r=t("./DisplayObjectContainer");t("../renderers/webgl/utils/WebGLFastSpriteBatch")}i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.updateTransform=function(){this.displayObjectUpdateTransform()},i.prototype.renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),t.fastSpriteBatch.begin(this),t.fastSpriteBatch.render(this),t.spriteBatch.start())},i.prototype.renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context,i=this.worldTransform,r=!0;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var n=0;n<this.children.length;++n){var s=this.children[n];if(s.visible){var o=s.texture.frame;if(e.globalAlpha=this.worldAlpha*s.alpha,s.rotation%(2*Math.PI)===0)r&&(e.setTransform(i.a,i.b,i.c,i.d,i.tx,i.ty),r=!1),e.drawImage(s.texture.baseTexture.source,o.x,o.y,o.width,o.height,s.anchor.x*-o.width*s.scale.x+s.position.x+.5|0,s.anchor.y*-o.height*s.scale.y+s.position.y+.5|0,o.width*s.scale.x,o.height*s.scale.y);else{r||(r=!0),s.displayObjectUpdateTransform();var a=s.worldTransform;t.roundPixels?e.setTransform(a.a,a.b,a.c,a.d,0|a.tx,0|a.ty):e.setTransform(a.a,a.b,a.c,a.d,a.tx,a.ty),e.drawImage(s.texture.baseTexture.source,o.x,o.y,o.width,o.height,s.anchor.x*-o.width+.5|0,s.anchor.y*-o.height+.5|0,o.width,o.height)}}}}}},{"../renderers/webgl/utils/WebGLFastSpriteBatch":38,"./DisplayObjectContainer":6}],9:[function(t,e){var i=e.exports={CONST:t("./const"),utils:t("./utils"),math:t("./math"),DisplayObject:t("./display/DisplayObject"),DisplayObjectContainer:t("./display/DisplayObjectContainer"),Sprite:t("./display/Sprite"),SpriteBatch:t("./display/SpriteBatch"),Graphics:t("./primitives/Graphics"),GraphicsData:t("./primitives/GraphicsData"),Texture:t("./textures/Texture"),BaseTexture:t("./textures/BaseTexture"),RenderTexture:t("./textures/RenderTexture"),VideoBaseTexture:t("./textures/VideoBaseTexture"),CanvasRenderer:t("./renderers/canvas/CanvasRenderer"),CanvasGraphics:t("./renderers/canvas/utils/CanvasGraphics"),CanvasBuffer:t("./renderers/canvas/utils/CanvasBuffer"),WebGLRenderer:t("./renderers/webgl/WebGLRenderer"),WebGLGraphics:t("./renderers/webgl/utils/WebGLGraphics"),autoDetectRenderer:function(e,r,n,s){return e=e||800,r=r||600,!s&&t("webgl-enabled")()?new i.WebGLRenderer(e,r,n):new i.CanvasRenderer(e,r,n)},autoDetectRecommendedRenderer:function(t,e,r){var n=/Android/i.test(navigator.userAgent);return i.autoDetectRenderer(t,e,r,n)}}},{"./const":4,"./display/DisplayObject":5,"./display/DisplayObjectContainer":6,"./display/Sprite":7,"./display/SpriteBatch":8,"./math":12,"./primitives/Graphics":18,"./primitives/GraphicsData":19,"./renderers/canvas/CanvasRenderer":20,"./renderers/canvas/utils/CanvasBuffer":21,"./renderers/canvas/utils/CanvasGraphics":22,"./renderers/webgl/WebGLRenderer":25,"./renderers/webgl/utils/WebGLGraphics":39,"./textures/BaseTexture":42,"./textures/RenderTexture":43,"./textures/Texture":44,"./textures/VideoBaseTexture":46,"./utils":50,"webgl-enabled":2}],10:[function(t,e){function i(){this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0}var r=t("./Point");i.prototype.constructor=i,e.exports=i,i.prototype.fromArray=function(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5]},i.prototype.toArray=function(t){this.array||(this.array=new Float32Array(9));var e=this.array;return t?(e[0]=this.a,e[1]=this.b,e[2]=0,e[3]=this.c,e[4]=this.d,e[5]=0,e[6]=this.tx,e[7]=this.ty,e[8]=1):(e[0]=this.a,e[1]=this.c,e[2]=this.tx,e[3]=this.b,e[4]=this.d,e[5]=this.ty,e[6]=0,e[7]=0,e[8]=1),e},i.prototype.apply=function(t,e){return e=e||new r,e.x=this.a*t.x+this.c*t.y+this.tx,e.y=this.b*t.x+this.d*t.y+this.ty,e},i.prototype.applyInverse=function(t,e){e=e||new r;var i=1/(this.a*this.d+this.c*-this.b);return e.x=this.d*i*t.x+-this.c*i*t.y+(this.ty*this.c-this.tx*this.d)*i,e.y=this.a*i*t.y+-this.b*i*t.x+(-this.ty*this.a+this.tx*this.b)*i,e},i.prototype.translate=function(t,e){return this.tx+=t,this.ty+=e,this},i.prototype.scale=function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},i.prototype.rotate=function(t){var e=Math.cos(t),i=Math.sin(t),r=this.a,n=this.c,s=this.tx;return this.a=r*e-this.b*i,this.b=r*i+this.b*e,this.c=n*e-this.d*i,this.d=n*i+this.d*e,this.tx=s*e-this.ty*i,this.ty=s*i+this.ty*e,this},i.prototype.append=function(t){var e=this.a,i=this.b,r=this.c,n=this.d;return this.a=t.a*e+t.b*r,this.b=t.a*i+t.b*n,this.c=t.c*e+t.d*r,this.d=t.c*i+t.d*n,this.tx=t.tx*e+t.ty*r+this.tx,this.ty=t.tx*i+t.ty*n+this.ty,this},i.prototype.identity=function(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this},i.IDENTITY=new i},{"./Point":11}],11:[function(t,e){function i(t,e){this.x=t||0,this.y=e||0}i.prototype.constructor=i,e.exports=i,i.prototype.clone=function(){return new i(this.x,this.y)},i.prototype.set=function(t,e){this.x=t||0,this.y=e||(0!==e?this.x:0)}},{}],12:[function(t,e){e.exports={PI_2:2*Math.PI,RAD_TO_DEG:180/Math.PI,DEG_TO_RAD:Math.PI/180,Point:t("./Point"),Matrix:t("./Matrix"),Circle:t("./shapes/Circle"),Ellipse:t("./shapes/Ellipse"),Polygon:t("./shapes/Polygon"),Rectangle:t("./shapes/Rectangle"),RoundedRectangle:t("./shapes/RoundedRectangle")}},{"./Matrix":10,"./Point":11,"./shapes/Circle":13,"./shapes/Ellipse":14,"./shapes/Polygon":15,"./shapes/Rectangle":16,"./shapes/RoundedRectangle":17}],13:[function(t,e){function i(t,e,i){this.x=t||0,this.y=e||0,this.radius=i||0,this.type=n.SHAPES.CIRC}var r=t("./Rectangle"),n=t("../../const");i.prototype.constructor=i,e.exports=i,i.prototype.clone=function(){return new i(this.x,this.y,this.radius)},i.prototype.contains=function(t,e){if(this.radius<=0)return!1;var i=this.x-t,r=this.y-e,n=this.radius*this.radius;return i*=i,r*=r,n>=i+r},i.prototype.getBounds=function(){return new r(this.x-this.radius,this.y-this.radius,2*this.radius,2*this.radius)}},{"../../const":4,"./Rectangle":16}],14:[function(t,e){function i(t,e,i,r){this.x=t||0,this.y=e||0,this.width=i||0,this.height=r||0,this.type=n.SHAPES.ELIP}var r=t("./Rectangle"),n=t("../../const");i.prototype.constructor=i,e.exports=i,i.prototype.clone=function(){return new i(this.x,this.y,this.width,this.height)},i.prototype.contains=function(t,e){if(this.width<=0||this.height<=0)return!1;var i=(t-this.x)/this.width,r=(e-this.y)/this.height;return i*=i,r*=r,1>=i+r},i.prototype.getBounds=function(){return new r(this.x-this.width,this.y-this.height,this.width,this.height)}},{"../../const":4,"./Rectangle":16}],15:[function(t,e){function i(t){if(t instanceof Array||(t=Array.prototype.slice.call(arguments)),t[0]instanceof r){for(var e=[],i=0,s=t.length;s>i;i++)e.push(t[i].x,t[i].y);t=e}this.closed=!0,this.points=t,this.type=n.SHAPES.POLY}var r=t("../Point"),n=t("../../const");i.prototype.constructor=i,e.exports=i,i.prototype.clone=function(){return new i(this.points.slice())},i.prototype.contains=function(t,e){for(var i=!1,r=this.points.length/2,n=0,s=r-1;r>n;s=n++){var o=this.points[2*n],a=this.points[2*n+1],h=this.points[2*s],l=this.points[2*s+1],u=a>e!=l>e&&(h-o)*(e-a)/(l-a)+o>t;u&&(i=!i)}return i}},{"../../const":4,"../Point":11}],16:[function(t,e){function i(t,e,i,n){this.x=t||0,this.y=e||0,this.width=i||0,this.height=n||0,this.type=r.SHAPES.RECT}var r=t("../../const");i.prototype.constructor=i,e.exports=i,i.EMPTY=new i(0,0,0,0),i.prototype.clone=function(){return new i(this.x,this.y,this.width,this.height)},i.prototype.contains=function(t,e){return this.width<=0||this.height<=0?!1:t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height?!0:!1}},{"../../const":4}],17:[function(t,e){function i(t,e,i,n,s){this.x=t||0,this.y=e||0,this.width=i||0,this.height=n||0,this.radius=s||20,this.type=r.SHAPES.RREC}var r=t("../../const");i.prototype.constructor=i,e.exports=i,i.prototype.clone=function(){return new i(this.x,this.y,this.width,this.height,this.radius)},i.prototype.contains=function(t,e){return this.width<=0||this.height<=0?!1:t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height?!0:!1}},{"../../const":4}],18:[function(t,e){function i(){r.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=c.blendModes.NORMAL,this.currentPath=null,this._webGL={},this.isMask=!1,this.boundsPadding=0,this._localBounds=new u.Rectangle(0,0,1,1),this.dirty=!0,this.glDirty=!1,this.cachedSpriteDirty=!1}var r=t("../display/DisplayObjectContainer"),n=t("../display/Sprite"),s=t("../textures/Texture"),o=t("../renderers/canvas/utils/CanvasBuffer"),a=t("../renderers/canvas/utils/CanvasGraphics"),h=t("../renderers/webgl/utils/WebGLGraphics"),l=t("./GraphicsData"),u=t("../math"),c=t("../const");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{cacheAsBitmap:{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():(this.destroyCachedSprite(),this.dirty=!0)}}}),l.prototype.clone=function(){var t=new i;t.renderable=this.renderable,t.fillAlpha=this.fillAlpha,t.lineWidth=this.lineWidth,t.lineColor=this.lineColor,t.tint=this.tint,t.blendMode=this.blendMode,t.isMask=this.isMask,t.boundsPadding=this.boundsPadding,t.dirty=this.dirty,t.glDirty=this.glDirty,t.cachedSpriteDirty=this.cachedSpriteDirty;for(var e=0;e<this.graphicsData.length;++e)t.graphicsData.push(this.graphicsData.clone());return t.currentPath=t.graphicsData[t.graphicsData.length-1],t.updateLocalBounds(),t},i.prototype.lineStyle=function(t,e,i){return this.lineWidth=t||0,this.lineColor=e||0,this.lineAlpha=arguments.length<3?1:i,this.currentPath&&(this.currentPath.shape.points.length?this.drawShape(new u.Polygon(this.currentPath.shape.points.slice(-2))):(this.currentPath.lineWidth=this.lineWidth,this.currentPath.lineColor=this.lineColor,this.currentPath.lineAlpha=this.lineAlpha)),this},i.prototype.moveTo=function(t,e){return this.drawShape(new u.Polygon([t,e])),this},i.prototype.lineTo=function(t,e){return this.currentPath.shape.points.push(t,e),this.dirty=!0,this},i.prototype.quadraticCurveTo=function(t,e,i,r){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);var n,s,o=20,a=this.currentPath.shape.points;0===a.length&&this.moveTo(0,0);for(var h=a[a.length-2],l=a[a.length-1],u=0,c=1;o>=c;++c)u=c/o,n=h+(t-h)*u,s=l+(e-l)*u,a.push(n+(t+(i-t)*u-n)*u,s+(e+(r-e)*u-s)*u);return this.dirty=!0,this},i.prototype.bezierCurveTo=function(t,e,i,r,n,s){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);for(var o,a,h,l,u,c=20,d=this.currentPath.shape.points,f=d[d.length-2],p=d[d.length-1],v=0,m=1;c>=m;++m)v=m/c,o=1-v,a=o*o,h=a*o,l=v*v,u=l*v,d.push(h*f+3*a*v*t+3*o*l*i+u*n,h*p+3*a*v*e+3*o*l*r+u*s);return this.dirty=!0,this},i.prototype.arcTo=function(t,e,i,r,n){this.currentPath?0===this.currentPath.shape.points.length&&this.currentPath.shape.points.push(t,e):this.moveTo(t,e);var s=this.currentPath.shape.points,o=s[s.length-2],a=s[s.length-1],h=a-e,l=o-t,u=r-e,c=i-t,d=Math.abs(h*c-l*u);if(1e-8>d||0===n)(s[s.length-2]!==t||s[s.length-1]!==e)&&s.push(t,e);else{var f=h*h+l*l,p=u*u+c*c,v=h*u+l*c,m=n*Math.sqrt(f)/d,g=n*Math.sqrt(p)/d,x=m*v/f,y=g*v/p,b=m*c+g*l,T=m*u+g*h,w=l*(g+x),S=h*(g+x),A=c*(m+y),_=u*(m+y),C=Math.atan2(S-T,w-b),E=Math.atan2(_-T,A-b);this.arc(b+t,T+e,n,C,E,l*u>c*h)}return this.dirty=!0,this},i.prototype.arc=function(t,e,i,r,n,s){var o,a=t+Math.cos(r)*i,h=e+Math.sin(r)*i;if(this.currentPath?(o=this.currentPath.shape.points,0===o.length?o.push(a,h):(o[o.length-2]!==a||o[o.length-1]!==h)&&o.push(a,h)):(this.moveTo(a,h),o=this.currentPath.shape.points),r===n)return this;!s&&r>=n?n+=2*Math.PI:s&&n>=r&&(r+=2*Math.PI);var l=s?-1*(r-n):n-r,u=Math.abs(l)/(2*Math.PI)*40;if(0===l)return this;for(var c=l/(2*u),d=2*c,f=Math.cos(c),p=Math.sin(c),v=u-1,m=v%1/v,g=0;v>=g;++g){var x=g+m*g,y=c+r+d*x,b=Math.cos(y),T=-Math.sin(y);o.push((f*b+p*T)*i+t,(f*-T+p*b)*i+e)}return this.dirty=!0,this},i.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},i.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},i.prototype.drawRect=function(t,e,i,r){return this.drawShape(new u.Rectangle(t,e,i,r)),this},i.prototype.drawRoundedRect=function(t,e,i,r,n){return this.drawShape(new u.RoundedRectangle(t,e,i,r,n)),this},i.prototype.drawCircle=function(t,e,i){return this.drawShape(new u.Circle(t,e,i)),this},i.prototype.drawEllipse=function(t,e,i,r){return this.drawShape(new u.Ellipse(t,e,i,r)),this},i.prototype.drawPolygon=function(t){return t instanceof Array||(t=Array.prototype.slice.call(arguments)),this.drawShape(new u.Polygon(t)),this},i.prototype.clear=function(){return this.lineWidth=0,this.filling=!1,this.dirty=!0,this.clearDirty=!0,this.graphicsData=[],this},i.prototype.generateTexture=function(t,e){t=t||1;var i=this.getBounds(),r=new o(i.width*t,i.height*t),n=s.fromCanvas(r.canvas,e);return n.baseTexture.resolution=t,r.context.scale(t,t),r.context.translate(-i.x,-i.y),a.renderGraphics(this,r.context),n},i.prototype.renderWebGL=function(t){if(this.visible&&!(this.alpha<=0)&&this.isMask!==!0){if(this._cacheAsBitmap)return(this.dirty||this.cachedSpriteDirty)&&(this._generateCachedSprite(),this.updateCachedSpriteTexture(),this.cachedSpriteDirty=!1,this.dirty=!1),this._cachedSprite.worldAlpha=this.worldAlpha,void n.prototype.renderWebGL.call(this._cachedSprite,t);if(t.spriteBatch.stop(),t.blendModeManager.setBlendMode(this.blendMode),this._mask&&t.maskManager.pushMask(this._mask,t),this._filters&&t.filterManager.pushFilter(this._filterBlock),this.blendMode!==t.spriteBatch.currentBlendMode){t.spriteBatch.currentBlendMode=this.blendMode;var e=t.blendModes[t.spriteBatch.currentBlendMode];t.spriteBatch.gl.blendFunc(e[0],e[1])}if(this.glDirty&&(this.dirty=!0,this.glDirty=!1),h.renderGraphics(this,t),this.children.length){t.spriteBatch.start();for(var i=0,r=this.children.length;r>i;++i)this.children[i].renderWebGL(t);t.spriteBatch.stop()}this._filters&&t.filterManager.popFilter(),this._mask&&t.maskManager.popMask(this.mask,t),t.drawCount++,t.spriteBatch.start()}},i.prototype.renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.isMask!==!0){if(this._cacheAsBitmap)return(this.dirty||this.cachedSpriteDirty)&&(this._generateCachedSprite(),this.updateCachedSpriteTexture(),this.cachedSpriteDirty=!1,this.dirty=!1),this._cachedSprite.alpha=this.alpha,void n.prototype.renderCanvas.call(this._cachedSprite,t);var e=t.context,i=this.worldTransform;this.blendMode!==t.currentBlendMode&&(t.currentBlendMode=this.blendMode,e.globalCompositeOperation=t.blendModes[t.currentBlendMode]),this._mask&&t.maskManager.pushMask(this._mask,t);var r=t.resolution;e.setTransform(i.a*r,i.b*r,i.c*r,i.d*r,i.tx*r,i.ty*r),a.renderGraphics(this,e);for(var s=0,o=this.children.length;o>s;++s)this.children[s].renderCanvas(t);this._mask&&t.maskManager.popMask(t)}},i.prototype.getBounds=function(t){if(this.isMask)return u.Rectangle.EMPTY;this.dirty&&(this.updateLocalBounds(),this.glDirty=!0,this.cachedSpriteDirty=!0,this.dirty=!1);var e=this._localBounds,i=e.x,r=e.width+e.x,n=e.y,s=e.height+e.y,o=t||this.worldTransform,a=o.a,h=o.b,l=o.c,c=o.d,d=o.tx,f=o.ty,p=a*r+l*s+d,v=c*s+h*r+f,m=a*i+l*s+d,g=c*s+h*i+f,x=a*i+l*n+d,y=c*n+h*i+f,b=a*r+l*n+d,T=c*n+h*r+f,w=p,S=v,A=p,_=v;return A=A>m?m:A,A=A>x?x:A,A=A>b?b:A,_=_>g?g:_,_=_>y?y:_,_=_>T?T:_,w=m>w?m:w,w=x>w?x:w,w=b>w?b:w,S=g>S?g:S,S=y>S?y:S,S=T>S?T:S,this._bounds.x=A,this._bounds.width=w-A,this._bounds.y=_,this._bounds.height=S-_,this._bounds},i.prototype.updateLocalBounds=function(){var t=1/0,e=-1/0,i=1/0,r=-1/0;if(this.graphicsData.length)for(var n,s,o,a,h,l,u=0;u<this.graphicsData.length;u++){var d=this.graphicsData[u],f=d.type,p=d.lineWidth;if(n=d.shape,f===c.SHAPES.RECT||f===c.SHAPES.RREC)o=n.x-p/2,a=n.y-p/2,h=n.width+p,l=n.height+p,t=t>o?o:t,e=o+h>e?o+h:e,i=i>a?a:i,r=a+l>r?a+l:r;else if(f===c.SHAPES.CIRC)o=n.x,a=n.y,h=n.radius+p/2,l=n.radius+p/2,t=t>o-h?o-h:t,e=o+h>e?o+h:e,i=i>a-l?a-l:i,r=a+l>r?a+l:r;else if(f===c.SHAPES.ELIP)o=n.x,a=n.y,h=n.width+p/2,l=n.height+p/2,t=t>o-h?o-h:t,e=o+h>e?o+h:e,i=i>a-l?a-l:i,r=a+l>r?a+l:r;else{s=n.points;for(var v=0;v<s.length;v+=2)o=s[v],a=s[v+1],t=t>o-p?o-p:t,e=o+p>e?o+p:e,i=i>a-p?a-p:i,r=a+p>r?a+p:r}}else t=0,e=0,i=0,r=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=e-t+2*m,this._localBounds.y=i-m,this._localBounds.height=r-i+2*m },i.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new o(t.width,t.height),i=s.fromCanvas(e.canvas);this._cachedSprite=new n(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-(t.x/t.width),this._cachedSprite.anchor.y=-(t.y/t.height),this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,a.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},i.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},i.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},i.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null;var e=new l(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(e),e.type===c.SHAPES.POLY&&(e.shape.closed=this.filling,this.currentPath=e),this.dirty=!0,e}},{"../const":4,"../display/DisplayObjectContainer":6,"../display/Sprite":7,"../math":12,"../renderers/canvas/utils/CanvasBuffer":21,"../renderers/canvas/utils/CanvasGraphics":22,"../renderers/webgl/utils/WebGLGraphics":39,"../textures/Texture":44,"./GraphicsData":19}],19:[function(t,e){function i(t,e,i,r,n,s,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=r,this.fillAlpha=n,this._fillTint=r,this.fill=s,this.shape=o,this.type=o.type}i.prototype.constructor=i,e.exports=i,i.prototype.clone=function(){return new i(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)}},{}],20:[function(t,e){function i(t,e,i){if(n.sayHello("Canvas"),i)for(var o in s.defaultRenderOptions)"undefined"==typeof i[o]&&(i[o]=s.defaultRenderOptions[o]);else i=s.defaultRenderOptions;this.type=s.CANVAS_RENDERER,this.resolution=i.resolution,this.clearBeforeRender=i.clearBeforeRender,this._backgroundColor=0,this._backgroundColorString="#000000",this.backgroundColor=i.backgroundColor||this._backgroundColor,this.transparent=i.transparent,this.autoResize=i.autoResize||!1,this.width=t||800,this.height=e||600,this.width*=this.resolution,this.height*=this.resolution,this.view=i.view||document.createElement("canvas"),this.context=this.view.getContext("2d",{alpha:this.transparent}),this.refresh=!0,this.view.width=this.width*this.resolution,this.view.height=this.height*this.resolution,this.count=0,this.maskManager=new r,this.roundPixels=!1,this.scaleMode=null,this.smoothProperty=null,this.context.imageSmoothingEnabled?this.smoothProperty="imageSmoothingEnabled":this.context.webkitImageSmoothingEnabled?this.smoothProperty="webkitImageSmoothingEnabled":this.context.mozImageSmoothingEnabled?this.smoothProperty="mozImageSmoothingEnabled":this.context.oImageSmoothingEnabled?this.smoothProperty="oImageSmoothingEnabled":this.context.msImageSmoothingEnabled&&(this.smoothProperty="msImageSmoothingEnabled"),this.currentBlendMode=s.blendModes.NORMAL,this.blendModes=null,this._mapBlendModes(),this.resize(t,e)}var r=t("./utils/CanvasMaskManager"),n=t("../../utils"),s=t("../../const");i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{backgroundColor:{get:function(){return this._backgroundColor},set:function(t){this._backgroundColor=t,this._backgroundColorString=n.hex2string(t)}}}),i.prototype.render=function(t){t.updateTransform(),this.context.setTransform(1,0,0,1,0,0),this.context.globalAlpha=1,this.currentBlendMode=s.blendModes.NORMAL,this.context.globalCompositeOperation=this.blendModes[s.blendModes.NORMAL],navigator.isCocoonJS&&this.view.screencanvas&&(this.context.fillStyle="black",this.context.clear()),this.clearBeforeRender&&(this.transparent?this.context.clearRect(0,0,this.width,this.height):(this.context.fillStyle=this._backgroundColorString,this.context.fillRect(0,0,this.width,this.height))),this.renderDisplayObject(t)},i.prototype.destroy=function(t){t&&this.view.parent&&this.view.parent.removeChild(this.view),this.view=null,this.context=null,this.maskManager=null},i.prototype.resize=function(t,e){this.width=t*this.resolution,this.height=e*this.resolution,this.view.width=this.width,this.view.height=this.height,this.autoResize&&(this.view.style.width=this.width/this.resolution+"px",this.view.style.height=this.height/this.resolution+"px")},i.prototype.renderDisplayObject=function(t){t.renderCanvas(this)},i.prototype._mapBlendModes=function(){this.blendModes||(this.blendModes={},n.canUseNewCanvasBlendModes()?(this.blendModes[s.blendModes.NORMAL]="source-over",this.blendModes[s.blendModes.ADD]="lighter",this.blendModes[s.blendModes.MULTIPLY]="multiply",this.blendModes[s.blendModes.SCREEN]="screen",this.blendModes[s.blendModes.OVERLAY]="overlay",this.blendModes[s.blendModes.DARKEN]="darken",this.blendModes[s.blendModes.LIGHTEN]="lighten",this.blendModes[s.blendModes.COLOR_DODGE]="color-dodge",this.blendModes[s.blendModes.COLOR_BURN]="color-burn",this.blendModes[s.blendModes.HARD_LIGHT]="hard-light",this.blendModes[s.blendModes.SOFT_LIGHT]="soft-light",this.blendModes[s.blendModes.DIFFERENCE]="difference",this.blendModes[s.blendModes.EXCLUSION]="exclusion",this.blendModes[s.blendModes.HUE]="hue",this.blendModes[s.blendModes.SATURATION]="saturation",this.blendModes[s.blendModes.COLOR]="color",this.blendModes[s.blendModes.LUMINOSITY]="luminosity"):(this.blendModes[s.blendModes.NORMAL]="source-over",this.blendModes[s.blendModes.ADD]="lighter",this.blendModes[s.blendModes.MULTIPLY]="source-over",this.blendModes[s.blendModes.SCREEN]="source-over",this.blendModes[s.blendModes.OVERLAY]="source-over",this.blendModes[s.blendModes.DARKEN]="source-over",this.blendModes[s.blendModes.LIGHTEN]="source-over",this.blendModes[s.blendModes.COLOR_DODGE]="source-over",this.blendModes[s.blendModes.COLOR_BURN]="source-over",this.blendModes[s.blendModes.HARD_LIGHT]="source-over",this.blendModes[s.blendModes.SOFT_LIGHT]="source-over",this.blendModes[s.blendModes.DIFFERENCE]="source-over",this.blendModes[s.blendModes.EXCLUSION]="source-over",this.blendModes[s.blendModes.HUE]="source-over",this.blendModes[s.blendModes.SATURATION]="source-over",this.blendModes[s.blendModes.COLOR]="source-over",this.blendModes[s.blendModes.LUMINOSITY]="source-over"))}},{"../../const":4,"../../utils":50,"./utils/CanvasMaskManager":23}],21:[function(t,e){function i(t,e){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.canvas.width=t,this.canvas.height=e}i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{width:{get:function(){return this.canvas.width},set:function(t){this.canvas.width=t}},height:{get:function(){return this.canvas.height},set:function(t){this.canvas.height=t}}}),i.prototype.clear=function(){this.context.setTransform(1,0,0,1,0,0),this.context.clearRect(0,0,this.canvas.width,this.canvas.height)},i.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e}},{}],22:[function(t,e){var i=t("../../../const"),r=e.exports={};r.renderGraphics=function(t,e){var r=t.worldAlpha;t.dirty&&(this.updateGraphicsTint(t),t.dirty=!1);for(var n=0;n<t.graphicsData.length;n++){var s=t.graphicsData[n],o=s.shape,a=s._fillTint,h=s._lineTint;if(e.lineWidth=s.lineWidth,s.type===i.SHAPES.POLY){e.beginPath();var l=o.points;e.moveTo(l[0],l[1]);for(var u=1;u<l.length/2;u++)e.lineTo(l[2*u],l[2*u+1]);o.closed&&e.lineTo(l[0],l[1]),l[0]===l[l.length-2]&&l[1]===l[l.length-1]&&e.closePath(),s.fill&&(e.globalAlpha=s.fillAlpha*r,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),s.lineWidth&&(e.globalAlpha=s.lineAlpha*r,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}else if(s.type===i.SHAPES.RECT)(s.fillColor||0===s.fillColor)&&(e.globalAlpha=s.fillAlpha*r,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fillRect(o.x,o.y,o.width,o.height)),s.lineWidth&&(e.globalAlpha=s.lineAlpha*r,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.strokeRect(o.x,o.y,o.width,o.height));else if(s.type===i.SHAPES.CIRC)e.beginPath(),e.arc(o.x,o.y,o.radius,0,2*Math.PI),e.closePath(),s.fill&&(e.globalAlpha=s.fillAlpha*r,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),s.lineWidth&&(e.globalAlpha=s.lineAlpha*r,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke());else if(s.type===i.SHAPES.ELIP){var c=2*o.width,d=2*o.height,f=o.x-c/2,p=o.y-d/2;e.beginPath();var v=.5522848,m=c/2*v,g=d/2*v,x=f+c,y=p+d,b=f+c/2,T=p+d/2;e.moveTo(f,T),e.bezierCurveTo(f,T-g,b-m,p,b,p),e.bezierCurveTo(b+m,p,x,T-g,x,T),e.bezierCurveTo(x,T+g,b+m,y,b,y),e.bezierCurveTo(b-m,y,f,T+g,f,T),e.closePath(),s.fill&&(e.globalAlpha=s.fillAlpha*r,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),s.lineWidth&&(e.globalAlpha=s.lineAlpha*r,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}else if(s.type===i.SHAPES.RREC){var w=o.x,S=o.y,A=o.width,_=o.height,C=o.radius,E=Math.min(A,_)/2|0;C=C>E?E:C,e.beginPath(),e.moveTo(w,S+C),e.lineTo(w,S+_-C),e.quadraticCurveTo(w,S+_,w+C,S+_),e.lineTo(w+A-C,S+_),e.quadraticCurveTo(w+A,S+_,w+A,S+_-C),e.lineTo(w+A,S+C),e.quadraticCurveTo(w+A,S,w+A-C,S),e.lineTo(w+C,S),e.quadraticCurveTo(w,S,w,S+C),e.closePath(),(s.fillColor||0===s.fillColor)&&(e.globalAlpha=s.fillAlpha*r,e.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),e.fill()),s.lineWidth&&(e.globalAlpha=s.lineAlpha*r,e.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),e.stroke())}}},r.renderGraphicsMask=function(t,e){var r=t.graphicsData.length;if(0!==r){e.beginPath();for(var n=0;r>n;n++){var s=t.graphicsData[n],o=s.shape;if(s.type===i.SHAPES.POLY){var a=o.points;e.moveTo(a[0],a[1]);for(var h=1;h<a.length/2;h++)e.lineTo(a[2*h],a[2*h+1]);a[0]===a[a.length-2]&&a[1]===a[a.length-1]&&e.closePath()}else if(s.type===i.SHAPES.RECT)e.rect(o.x,o.y,o.width,o.height),e.closePath();else if(s.type===i.SHAPES.CIRC)e.arc(o.x,o.y,o.radius,0,2*Math.PI),e.closePath();else if(s.type===i.SHAPES.ELIP){var l=2*o.width,u=2*o.height,c=o.x-l/2,d=o.y-u/2,f=.5522848,p=l/2*f,v=u/2*f,m=c+l,g=d+u,x=c+l/2,y=d+u/2;e.moveTo(c,y),e.bezierCurveTo(c,y-v,x-p,d,x,d),e.bezierCurveTo(x+p,d,m,y-v,m,y),e.bezierCurveTo(m,y+v,x+p,g,x,g),e.bezierCurveTo(x-p,g,c,y+v,c,y),e.closePath()}else if(s.type===i.SHAPES.RREC){var b=o.x,T=o.y,w=o.width,S=o.height,A=o.radius,_=Math.min(w,S)/2|0;A=A>_?_:A,e.moveTo(b,T+A),e.lineTo(b,T+S-A),e.quadraticCurveTo(b,T+S,b+A,T+S),e.lineTo(b+w-A,T+S),e.quadraticCurveTo(b+w,T+S,b+w,T+S-A),e.lineTo(b+w,T+A),e.quadraticCurveTo(b+w,T,b+w-A,T),e.lineTo(b+A,T),e.quadraticCurveTo(b,T,b,T+A),e.closePath()}}}},r.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,r=(255&t.tint)/255,n=0;n<t.graphicsData.length;n++){var s=t.graphicsData[n],o=0|s.fillColor,a=0|s.lineColor;s._fillTint=((o>>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*r*255,s._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*r*255}}},{"../../../const":4}],23:[function(t,e){function i(){}var r=t("./CanvasGraphics");i.prototype.constructor=i,e.exports=i,i.prototype.pushMask=function(t,e){e.context.save();var i=t.alpha,n=t.worldTransform,s=e.resolution;e.context.setTransform(n.a*s,n.b*s,n.c*s,n.d*s,n.tx*s,n.ty*s),r.renderGraphicsMask(t,e.context),e.context.clip(),t.worldAlpha=i},i.prototype.popMask=function(t){t.context.restore()}},{"./CanvasGraphics":22}],24:[function(t,e){var i=t("../../../utils"),r=e.exports={};r.getTintedTexture=function(t,e){var i=t.texture;e=r.roundColor(e);var n="#"+("00000"+(0|e).toString(16)).substr(-6);if(i.tintCache=i.tintCache||{},i.tintCache[n])return i.tintCache[n];var s=r.canvas||document.createElement("canvas");if(r.tintMethod(i,e,s),r.convertTintToImage){var o=new Image;o.src=s.toDataURL(),i.tintCache[n]=o}else i.tintCache[n]=s,r.canvas=null;return s},r.tintWithMultiply=function(t,e,i){var r=i.getContext("2d"),n=t.crop;i.width=n.width,i.height=n.height,r.fillStyle="#"+("00000"+(0|e).toString(16)).substr(-6),r.fillRect(0,0,n.width,n.height),r.globalCompositeOperation="multiply",r.drawImage(t.baseTexture.source,n.x,n.y,n.width,n.height,0,0,n.width,n.height),r.globalCompositeOperation="destination-atop",r.drawImage(t.baseTexture.source,n.x,n.y,n.width,n.height,0,0,n.width,n.height)},r.tintWithOverlay=function(t,e,i){var r=i.getContext("2d"),n=t.crop;i.width=n.width,i.height=n.height,r.globalCompositeOperation="copy",r.fillStyle="#"+("00000"+(0|e).toString(16)).substr(-6),r.fillRect(0,0,n.width,n.height),r.globalCompositeOperation="destination-atop",r.drawImage(t.baseTexture.source,n.x,n.y,n.width,n.height,0,0,n.width,n.height)},r.tintWithPerPixel=function(t,e,r){var n=r.getContext("2d"),s=t.crop;r.width=s.width,r.height=s.height,n.globalCompositeOperation="copy",n.drawImage(t.baseTexture.source,s.x,s.y,s.width,s.height,0,0,s.width,s.height);for(var o=i.hex2rgb(e),a=o[0],h=o[1],l=o[2],u=n.getImageData(0,0,s.width,s.height),c=u.data,d=0;d<c.length;d+=4)c[d+0]*=a,c[d+1]*=h,c[d+2]*=l;n.putImageData(u,0,0)},r.roundColor=function(t){var e=r.cacheStepsPerColorChannel,n=i.hex2rgb(t);return n[0]=Math.min(255,n[0]/e*e),n[1]=Math.min(255,n[1]/e*e),n[2]=Math.min(255,n[2]/e*e),i.rgb2hex(n)},r.cacheStepsPerColorChannel=8,r.convertTintToImage=!1,r.canUseMultiply=i.canUseNewCanvasBlendModes(),r.tintMethod=r.canUseMultiply?r.tintWithMultiply:r.tintWithPerPixel},{"../../../utils":50}],25:[function(t,e){function i(t,e,i){if(c.sayHello("webGL"),i)for(var f in d.defaultRenderOptions)"undefined"==typeof i[f]&&(i[f]=d.defaultRenderOptions[f]);else i=d.defaultRenderOptions;this.uuid=c.uuid(),this.type=d.WEBGL_RENDERER,this.resolution=i.resolution,this.transparent=i.transparent,this._backgroundColor=0,this._backgroundColorRgb=[0,0,0],this.backgroundColor=i.backgroundColor||this._backgroundColor,this.autoResize=i.autoResize||!1,this.preserveDrawingBuffer=i.preserveDrawingBuffer,this.clearBeforeRender=i.clearBeforeRender,this.width=t||800,this.height=e||600,this.view=i.view||document.createElement("canvas"),this.contextLostBound=this.handleContextLost.bind(this),this.contextRestoredBound=this.handleContextRestored.bind(this),this.view.addEventListener("webglcontextlost",this.contextLostBound,!1),this.view.addEventListener("webglcontextrestored",this.contextRestoredBound,!1),this._contextOptions={alpha:this.transparent,antialias:i.antialias,premultipliedAlpha:this.transparent&&"notMultiplied"!==this.transparent,stencil:!0,preserveDrawingBuffer:i.preserveDrawingBuffer},this.projection=new u.Point,this.offset=new u.Point(0,0),this.drawCount=0,this.shaderManager=new s(this),this.spriteBatch=new r(this),this.fastSpriteBatch=new n(this),this.maskManager=new o(this),this.filterManager=new a(this),this.stencilManager=new h(this),this.blendModeManager=new l(this),this.blendModes=null,this._boundUpdateTexture=this.updateTexture.bind(this),this._boundDestroyTexture=this.destroyTexture.bind(this),this._initContext(),this._mapBlendModes()}var r=t("./utils/WebGLSpriteBatch"),n=t("./utils/WebGLFastSpriteBatch"),s=t("./managers/WebGLShaderManager"),o=t("./managers/WebGLMaskManager"),a=t("./managers/WebGLFilterManager"),h=t("./managers/WebGLStencilManager"),l=t("./managers/WebGLBlendModeManager"),u=t("../../math"),c=t("../../utils"),d=t("../../const");i.prototype.constructor=i,e.exports=i,c.eventTarget.mixin(i.prototype),Object.defineProperties(i.prototype,{backgroundColor:{get:function(){return this._backgroundColor},set:function(t){this._backgroundColor=t,c.hex2rgb(t,this._backgroundColorRgb)}}}),i.prototype._initContext=function(){var t=this.view.getContext("webgl",this._contextOptions)||this.view.getContext("experimental-webgl",this._contextOptions);if(this.gl=t,!t)throw new Error("This browser does not support webGL. Try using the canvas renderer");this.glContextId=i.glContextId++,t.id=this.glContextId,t.renderer=this,t.disable(t.DEPTH_TEST),t.disable(t.CULL_FACE),t.enable(t.BLEND),this.emit("context",t),this.resize(this.width,this.height)},i.prototype.render=function(t){if(!this.gl.isContextLost()){t.updateTransform();var e=this.gl;e.viewport(0,0,this.width,this.height),e.bindFramebuffer(e.FRAMEBUFFER,null),this.clearBeforeRender&&(this.transparent?e.clearColor(0,0,0,0):e.clearColor(this._backgroundColorRgb[0],this._backgroundColorRgb[1],this._backgroundColorRgb[2],1),e.clear(e.COLOR_BUFFER_BIT)),this.renderDisplayObject(t,this.projection)}},i.prototype.renderDisplayObject=function(t,e,i){this.blendModeManager.setBlendMode(d.blendModes.NORMAL),this.drawCount=0,this.flipY=i?-1:1,this.projection=e,this.offset=this.offset,this.spriteBatch.begin(),this.filterManager.begin(i),t.renderWebGL(this),this.spriteBatch.end()},i.prototype.resize=function(t,e){this.width=t*this.resolution,this.height=e*this.resolution,this.view.width=this.width,this.view.height=this.height,this.autoResize&&(this.view.style.width=this.width/this.resolution+"px",this.view.style.height=this.height/this.resolution+"px"),this.gl.viewport(0,0,this.width,this.height),this.projection.x=this.width/2/this.resolution,this.projection.y=-this.height/2/this.resolution},i.prototype.updateTexture=function(t){if(t=t.baseTexture||t,t.hasLoaded){var e=this.gl;return t._glTextures[e.id]||(t._glTextures[e.id]=e.createTexture(),t.on("update",this._boundUpdateTexture),t.on("dispose",this._boundDestroyTexture)),e.bindTexture(e.TEXTURE_2D,t._glTextures[e.id]),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t.premultipliedAlpha),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t.source),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t.scaleMode===d.scaleModes.LINEAR?e.LINEAR:e.NEAREST),t.mipmap&&c.isPowerOfTwo(t.width,t.height)?(e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t.scaleMode===d.scaleModes.LINEAR?e.LINEAR_MIPMAP_LINEAR:e.NEAREST_MIPMAP_NEAREST),e.generateMipmap(e.TEXTURE_2D)):e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t.scaleMode===d.scaleModes.LINEAR?e.LINEAR:e.NEAREST),t._powerOf2?(e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT)):(e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)),t._glTextures[e.id]}},i.prototype.destroyTexture=function(t){t=t.baseTexture||t,t.hasLoaded&&t._glTextures[this.gl.id]&&this.gl.deleteTexture(t._glTextures[this.gl.id])},i.prototype.handleContextLost=function(t){t.preventDefault()},i.prototype.handleContextRestored=function(){this._initContext();for(var t in c.TextureCache){var e=c.TextureCache[t].baseTexture;e._glTextures=[]}},i.prototype.destroy=function(t){t&&this.view.parent&&this.view.parent.removeChild(this.view),this.view.removeEventListener("webglcontextlost",this.contextLostBound),this.view.removeEventListener("webglcontextrestored",this.contextRestoredBound),this.shaderManager.destroy(),this.spriteBatch.destroy(),this.maskManager.destroy(),this.filterManager.destroy(),this._backgroundColor=0,this._backgroundColorRgb=null,this.view=null,this.contextLostBound=null,this.contextRestoredBound=null,this._contextOptions=null,this.projection=null,this.offset=null,this.drawCount=0,this.shaderManager=null,this.spriteBatch=null,this.maskManager=null,this.filterManager=null,this.stencilManager=null,this.blendModeManager=null,this.blendModes=null,this.gl=null,this.blendModes=null},i.prototype._mapBlendModes=function(){var t=this.gl;this.blendModes||(this.blendModes={},this.blendModes[d.blendModes.NORMAL]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.ADD]=[t.SRC_ALPHA,t.DST_ALPHA],this.blendModes[d.blendModes.MULTIPLY]=[t.DST_COLOR,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.SCREEN]=[t.SRC_ALPHA,t.ONE],this.blendModes[d.blendModes.OVERLAY]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.DARKEN]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.LIGHTEN]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.COLOR_DODGE]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.COLOR_BURN]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.HARD_LIGHT]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.SOFT_LIGHT]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.DIFFERENCE]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.EXCLUSION]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.HUE]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.SATURATION]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.COLOR]=[t.ONE,t.ONE_MINUS_SRC_ALPHA],this.blendModes[d.blendModes.LUMINOSITY]=[t.ONE,t.ONE_MINUS_SRC_ALPHA])},i.glContextId=0},{"../../const":4,"../../math":12,"../../utils":50,"./managers/WebGLBlendModeManager":26,"./managers/WebGLFilterManager":27,"./managers/WebGLMaskManager":29,"./managers/WebGLShaderManager":30,"./managers/WebGLStencilManager":31,"./utils/WebGLFastSpriteBatch":38,"./utils/WebGLSpriteBatch":41}],26:[function(t,e){function i(t){r.call(this,t),this.currentBlendMode=99999}var r=t("./WebGLManager");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.setBlendMode=function(t){if(this.currentBlendMode===t)return!1;this.currentBlendMode=t;var e=this.renderer.blendModes[this.currentBlendMode];return this.renderer.gl.blendFunc(e[0],e[1]),!0}},{"./WebGLManager":28}],27:[function(t,e){function i(t){r.call(this,t),this.filterStack=[],this.texturePool=[],this.offsetX=0,this.offsetY=0;var e=this;this.renderer.on("context",function(){e.texturePool.length=0,e.initShaderBuffers()})}var r=t("./WebGLManager"),n=t("../utils/FilterTexture"),s=t("../shaders/Shader");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.begin=function(t){this.defaultShader=this.renderer.shaderManager.defaultShader,this.width=2*this.renderer.projection.x,this.height=2*-this.renderer.projection.y,this.buffer=t},i.prototype.pushFilter=function(t){var e=this.renderer.gl,i=this.renderer.projection,r=this.renderer.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),this.filterStack.push(t);var s=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width,this.height):o=new n(this.renderer.gl,this.width,this.height),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=s.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h;var l=a.x,u=a.y;a.x<0&&(a.width+=a.x,a.x=0),a.y<0&&(a.height+=a.y,a.y=0),l+a.width>this.width&&(a.width=this.width-l),u+a.height>this.height&&(a.height=this.height-u),a.width<0&&(a.width=0),a.height<0&&(a.height=0),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width,a.height),i.x=a.width/2,i.y=-a.height/2,r.x=-a.x,r.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},i.prototype.popFilter=function(){var t=this.renderer.gl,e=this.filterStack.pop(),i=e._filterArea,r=e._glFilterTexture,s=this.renderer.projection,o=this.renderer.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width,i.height),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=r,h=this.texturePool.pop();h||(h=new n(this.renderer.gl,this.width,this.height)),h.resize(this.width,this.height),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l<e.filterPasses.length-1;l++){var u=e.filterPasses[l];t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,a.texture),this.applyFilterPass(u,i,i.width,i.height);var c=a;a=h,h=c}t.enable(t.BLEND),r=a,this.texturePool.push(h)}var d=e.filterPasses[e.filterPasses.length-1];this.offsetX-=i.x,this.offsetY-=i.y;var f=this.width,p=this.height,v=0,m=0,g=this.buffer;if(0===this.filterStack.length)t.colorMask(!0,!0,!0,!0);else{var x=this.filterStack[this.filterStack.length-1];i=x._filterArea,f=i.width,p=i.height,v=i.x,m=i.y,g=x._glFilterTexture.frameBuffer}s.x=f/2,s.y=-p/2,o.x=v,o.y=m,i=e._filterArea;var y=i.x-v,b=i.y-m;t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=y,this.vertexArray[1]=b+i.height,this.vertexArray[2]=y+i.width,this.vertexArray[3]=b+i.height,this.vertexArray[4]=y,this.vertexArray[5]=b,this.vertexArray[6]=y+i.width,this.vertexArray[7]=b,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray),t.viewport(0,0,f,p),t.bindFramebuffer(t.FRAMEBUFFER,g),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,r.texture),this.applyFilterPass(d,i,f,p),this.texturePool.push(r),e._glFilterTexture=null},i.prototype.applyFilterPass=function(t,e,i,r){var n=this.renderer.gl,o=t.shaders[n.id];o||(o=new s(n),o.fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(),t.shaders[n.id]=o),this.renderer.shaderManager.setShader(o),n.uniform2f(o.projectionVector,i/2,-r/2),n.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),n.bindBuffer(n.ARRAY_BUFFER,this.vertexBuffer),n.vertexAttribPointer(o.aVertexPosition,2,n.FLOAT,!1,0,0),n.bindBuffer(n.ARRAY_BUFFER,this.uvBuffer),n.vertexAttribPointer(o.aTextureCoord,2,n.FLOAT,!1,0,0),n.bindBuffer(n.ARRAY_BUFFER,this.colorBuffer),n.vertexAttribPointer(o.aColor,2,n.FLOAT,!1,0,0),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,this.indexBuffer),n.drawElements(n.TRIANGLES,6,n.UNSIGNED_SHORT,0),this.renderer.drawCount++},i.prototype.initShaderBuffers=function(){var t=this.renderer.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},i.prototype.destroy=function(){var t=this.renderer.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e<this.texturePool.length;e++)this.texturePool[e].destroy();this.texturePool=null,t.deleteBuffer(this.vertexBuffer),t.deleteBuffer(this.uvBuffer),t.deleteBuffer(this.colorBuffer),t.deleteBuffer(this.indexBuffer),this.renderer=null}},{"../shaders/Shader":35,"../utils/FilterTexture":37,"./WebGLManager":28}],28:[function(t,e){function i(t){this.renderer=t}i.prototype.constructor=i,e.exports=i,i.prototype.destroy=function(){this.renderer=null}},{}],29:[function(t,e){function i(t){r.call(this,t)}var r=t("./WebGLManager"),n=t("../utils/WebGLGraphics");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.pushMask=function(t){t.dirty&&n.updateGraphics(t,this.renderer.gl),t._webGL[this.renderer.gl.id].data.length&&this.renderer.stencilManager.pushStencil(t,t._webGL[this.renderer.gl.id].data[0],this.renderer)},i.prototype.popMask=function(t){this.renderer.stencilManager.popStencil(t,t._webGL[this.renderer.gl.id].data[0],this.renderer)}},{"../utils/WebGLGraphics":39,"./WebGLManager":28}],30:[function(t,e){function i(t){r.call(this,t),this.maxAttibs=10,this.attribState=[],this.tempAttribState=[];for(var e=0;e<this.maxAttibs;e++)this.attribState[e]=!1;this.stack=[],this._currentId=-1,this.currentShader=null,this.primitiveShader=null,this.complexPrimitiveShader=null,this.defaultShader=null,this.fastShader=null,this.stripShader=null;var i=this;this.renderer.on("context",function(t){var e=t.data;i.primitiveShader=new n(e),i.complexPrimitiveShader=new s(e),i.defaultShader=new o(e),i.fastShader=new a(e),i.stripShader=new h(e),i.setShader(i.defaultShader)})}var r=t("./WebGLManager"),n=t("../shaders/PrimitiveShader"),s=t("../shaders/ComplexPrimitiveShader"),o=t("../shaders/Shader"),a=t("../shaders/FastShader"),h=t("../shaders/StripShader");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.setAttribs=function(t){var e;for(e=0;e<this.tempAttribState.length;e++)this.tempAttribState[e]=!1;for(var i in t)this.tempAttribState[t[i]]=!0;var r=this.renderer.gl;for(e=0;e<this.attribState.length;e++)this.attribState[e]!==this.tempAttribState[e]&&(this.attribState[e]=this.tempAttribState[e],this.attribState[e]?r.enableVertexAttribArray(e):r.disableVertexAttribArray(e))},i.prototype.setShader=function(t){return this._currentId===t.uuid?!1:(this._currentId=t.uuid,this.currentShader=t,this.renderer.gl.useProgram(t.program),this.setAttribs(t.attributes),!0)},i.prototype.destroy=function(){this.attribState=null,this.tempAttribState=null,this.primitiveShader.destroy(),this.primitiveShader=null,this.complexPrimitiveShader.destroy(),this.complexPrimitiveShader=null,this.defaultShader.destroy(),this.defaultShader=null,this.fastShader.destroy(),this.fastShader=null,this.stripShader.destroy(),this.stripShader=null,this.renderer=null}},{"../shaders/ComplexPrimitiveShader":32,"../shaders/FastShader":33,"../shaders/PrimitiveShader":34,"../shaders/Shader":35,"../shaders/StripShader":36,"./WebGLManager":28}],31:[function(t,e){function i(t){r.call(this,t),this.stencilStack=[],this.reverse=!0,this.count=0}var r=t("./WebGLManager"),n=t("../../../utils");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.pushStencil=function(t,e){var i=this.renderer.gl;this.bindGraphics(t,e,this.renderer),0===this.stencilStack.length&&(i.enable(i.STENCIL_TEST),i.clear(i.STENCIL_BUFFER_BIT),this.reverse=!0,this.count=0),this.stencilStack.push(e);var r=this.count;i.colorMask(!1,!1,!1,!1),i.stencilFunc(i.ALWAYS,0,255),i.stencilOp(i.KEEP,i.KEEP,i.INVERT),1===e.mode?(i.drawElements(i.TRIANGLE_FAN,e.indices.length-4,i.UNSIGNED_SHORT,0),this.reverse?(i.stencilFunc(i.EQUAL,255-r,255),i.stencilOp(i.KEEP,i.KEEP,i.DECR)):(i.stencilFunc(i.EQUAL,r,255),i.stencilOp(i.KEEP,i.KEEP,i.INCR)),i.drawElements(i.TRIANGLE_FAN,4,i.UNSIGNED_SHORT,2*(e.indices.length-4)),this.reverse?i.stencilFunc(i.EQUAL,255-(r+1),255):i.stencilFunc(i.EQUAL,r+1,255),this.reverse=!this.reverse):(this.reverse?(i.stencilFunc(i.EQUAL,r,255),i.stencilOp(i.KEEP,i.KEEP,i.INCR)):(i.stencilFunc(i.EQUAL,255-r,255),i.stencilOp(i.KEEP,i.KEEP,i.DECR)),i.drawElements(i.TRIANGLE_STRIP,e.indices.length,i.UNSIGNED_SHORT,0),this.reverse?i.stencilFunc(i.EQUAL,r+1,255):i.stencilFunc(i.EQUAL,255-(r+1),255)),i.colorMask(!0,!0,!0,!0),i.stencilOp(i.KEEP,i.KEEP,i.KEEP),this.count++},i.prototype.bindGraphics=function(t,e){this._currentGraphics=t;var i,r=this.renderer.gl,s=this.renderer.projection,o=this.renderer.offset;1===e.mode?(i=this.renderer.shaderManager.complexPrimitiveShader,this.renderer.shaderManager.setShader(i),r.uniform1f(i.flipY,this.renderer.flipY),r.uniformMatrix3fv(i.translationMatrix,!1,t.worldTransform.toArray(!0)),r.uniform2f(i.projectionVector,s.x,-s.y),r.uniform2f(i.offsetVector,-o.x,-o.y),r.uniform3fv(i.tintColor,n.hex2rgb(t.tint)),r.uniform3fv(i.color,e.color),r.uniform1f(i.alpha,t.worldAlpha*e.alpha),r.bindBuffer(r.ARRAY_BUFFER,e.buffer),r.vertexAttribPointer(i.aVertexPosition,2,r.FLOAT,!1,8,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,e.indexBuffer)):(i=this.renderer.shaderManager.primitiveShader,this.renderer.shaderManager.setShader(i),r.uniformMatrix3fv(i.translationMatrix,!1,t.worldTransform.toArray(!0)),r.uniform1f(i.flipY,this.renderer.flipY),r.uniform2f(i.projectionVector,s.x,-s.y),r.uniform2f(i.offsetVector,-o.x,-o.y),r.uniform3fv(i.tintColor,n.hex2rgb(t.tint)),r.uniform1f(i.alpha,t.worldAlpha),r.bindBuffer(r.ARRAY_BUFFER,e.buffer),r.vertexAttribPointer(i.aVertexPosition,2,r.FLOAT,!1,24,0),r.vertexAttribPointer(i.aColor,4,r.FLOAT,!1,24,8),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,e.indexBuffer)) },i.prototype.popStencil=function(t,e){var i=this.renderer.gl;if(this.stencilStack.pop(),this.count--,0===this.stencilStack.length)i.disable(i.STENCIL_TEST);else{var r=this.count;this.bindGraphics(t,e,this.renderer),i.colorMask(!1,!1,!1,!1),1===e.mode?(this.reverse=!this.reverse,this.reverse?(i.stencilFunc(i.EQUAL,255-(r+1),255),i.stencilOp(i.KEEP,i.KEEP,i.INCR)):(i.stencilFunc(i.EQUAL,r+1,255),i.stencilOp(i.KEEP,i.KEEP,i.DECR)),i.drawElements(i.TRIANGLE_FAN,4,i.UNSIGNED_SHORT,2*(e.indices.length-4)),i.stencilFunc(i.ALWAYS,0,255),i.stencilOp(i.KEEP,i.KEEP,i.INVERT),i.drawElements(i.TRIANGLE_FAN,e.indices.length-4,i.UNSIGNED_SHORT,0),this.reverse?i.stencilFunc(i.EQUAL,r,255):i.stencilFunc(i.EQUAL,255-r,255)):(this.reverse?(i.stencilFunc(i.EQUAL,r+1,255),i.stencilOp(i.KEEP,i.KEEP,i.DECR)):(i.stencilFunc(i.EQUAL,255-(r+1),255),i.stencilOp(i.KEEP,i.KEEP,i.INCR)),i.drawElements(i.TRIANGLE_STRIP,e.indices.length,i.UNSIGNED_SHORT,0),this.reverse?i.stencilFunc(i.EQUAL,r,255):i.stencilFunc(i.EQUAL,255-r,255)),i.colorMask(!0,!0,!0,!0),i.stencilOp(i.KEEP,i.KEEP,i.KEEP)}},i.prototype.destroy=function(){this.renderer=null,this.stencilStack=null}},{"../../../utils":50,"./WebGLManager":28}],32:[function(t,e){function i(t){r.call(this,t,["attribute vec2 aVertexPosition;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform vec3 tint;","uniform float alpha;","uniform vec3 color;","uniform float flipY;","varying vec4 vColor;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, (v.y / projectionVector.y * -flipY) + flipY , 0.0, 1.0);"," vColor = vec4(color * alpha * tint, alpha);","}"].join("\n"),["precision mediump float;","varying vec4 vColor;","void main(void) {"," gl_FragColor = vColor;","}"].join("\n"),{tint:{type:"3f",value:[0,0,0]},flipY:{type:"1f",value:0},alpha:{type:"1f",value:0},translationMatrix:{type:"mat3",value:new Float32Array(9)}})}var r=t("./Shader");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i},{"./Shader":35}],33:[function(t,e){function i(t){r.call(this,t,["attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute vec4 aColor;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying vec4 vColor;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = aColor;","}"].join("\n"),null,{uMatrix:{type:"mat3",value:new Float32Array(9)}},{aPositionCoord:0,aRotation:0,aScale:0})}var r=t("./Shader");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i},{"./Shader":35}],34:[function(t,e){function i(t){r.call(this,t,["attribute vec2 aVertexPosition;","attribute vec4 aColor;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform float alpha;","uniform float flipY;","uniform vec3 tint;","varying vec4 vColor;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, (v.y / projectionVector.y * -flipY) + flipY , 0.0, 1.0);"," vColor = aColor * vec4(tint * alpha, alpha);","}"].join("\n"),["precision mediump float;","varying vec4 vColor;","void main(void) {"," gl_FragColor = vColor;","}"].join("\n"),{tint:{type:"3f",value:[0,0,0]},flipY:{type:"1f",value:0},alpha:{type:"1f",value:0},translationMatrix:{type:"mat3",value:new Float32Array(9)}})}var r=t("./Shader");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i},{"./Shader":35}],35:[function(t,e){function i(t,e,i,n,s){this.uuid=r.uuid(),this.gl=t,this.program=null,this.uniforms={uSampler:{type:"sampler2D",value:0},projectionVector:{type:"2f",value:{x:0,y:0}},offsetVector:{type:"2f",value:{x:0,y:0}},dimensions:{type:"4f",value:new Float32Array(4)}};for(var o in n)this.uniforms[o]=n[o];this.attributes={aVertexPosition:0,aTextureCoord:0,aColor:0};for(var a in s)this.attributes[a]=s[a];this.textureCount=0,this.vertexSrc=e||["attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute vec4 aColor;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying vec4 vColor;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);","}"].join("\n"),this.fragmentSrc=i||["precision lowp float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;","}"].join("\n"),this.init()}var r=t("../../../utils");i.prototype.constructor=i,e.exports=i,i.prototype.init=function(){this.compile(),this.gl.useProgram(this.program),this.cacheUniformLocations(Object.keys(this.uniforms)),this.cacheAttributeLocations(Object.keys(this.attributes))},i.prototype.cacheUniformLocations=function(t){for(var e=0;e<t.length;++e)this.uniforms[t[e]]._location=this.gl.getUniformLocation(this.program,t[e])},i.prototype.cacheAttributeLocations=function(t){for(var e=0;e<t.length;++e)this.attributes[t[e]]=this.gl.getAttribLocation(this.program,t[e])},i.prototype.compile=function(){var t=this.gl,e=this._glCompile(t.VERTEX_SHADER,this.vertexSrc),i=this._glCompile(t.FRAGMENT_SHADER,this.fragmentSrc),r=t.createProgram();return t.attachShader(r,e),t.attachShader(r,i),t.linkProgram(r),t.getProgramParameter(r,t.LINK_STATUS)||(window.console.error("Pixi.js Error: Could not initialize shader."),window.console.error("gl.VALIDATE_STATUS",t.getProgramParameter(r,t.VALIDATE_STATUS)),window.console.error("gl.getError()",t.getError()),""!==t.getProgramInfoLog(r)&&window.console.warn("Pixi.js Warning: gl.getProgramInfoLog()",t.getProgramInfoLog(r)),t.deleteProgram(r),r=null),t.deleteShader(e),t.deleteShader(i),this.program=r},i.prototype.syncUniforms=function(){var t=this.gl;this.textureCount=1;for(var e in this.uniforms){var i,n,s=this.uniforms[e],o=s._location,a=s.value;switch(s.type){case"i":case"1i":t.uniform1i(o,a);break;case"f":case"1f":t.uniform1f(o,a);break;case"2f":t.uniform2f(o,a[0],a[1]);break;case"3f":t.uniform3f(o,a[0],a[1],a[2]);break;case"4f":t.uniform4f(o,a[0],a[1],a[2],a[3]);break;case"v2":t.uniform2f(o,a.x,a.y);break;case"v3":t.uniform3f(o,a.x,a.y,a.z);break;case"v4":t.uniform4f(o,a.x,a.y,a.z,a.w);break;case"1iv":t.uniform1iv(o,a);break;case"3iv":t.uniform3iv(o,a);break;case"1fv":t.uniform1fv(o,a);break;case"2fv":t.uniform2fv(o,a);break;case"3fv":t.uniform3fv(o,a);break;case"4fv":t.uniform4fv(o,a);break;case"m2":case"mat2":case"Matrix2fv":t.uniformMatrix2fv(o,s.transpose,a);break;case"m3":case"mat3":case"Matrix3fv":t.uniformMatrix3fv(o,s.transpose,a);break;case"m4":case"mat4":case"Matrix4fv":t.uniformMatrix4fv(o,s.transpose,a);break;case"c":"number"==typeof a&&(a=r.hex2rgb(a)),t.uniform3f(o,a[0],a[1],a[2]);break;case"iv1":t.uniform1iv(o,a);break;case"iv":t.uniform3iv(o,a);break;case"fv1":t.uniform1fv(o,a);break;case"fv":t.uniform3fv(o,a);break;case"v2v":for(s._array||(s._array=new Float32Array(2*a.length)),i=0,n=a.length;n>i;++i)s._array[2*i]=a[i].x,s._array[2*i+1]=a[i].y;t.uniform2fv(o,s._array);break;case"v3v":for(s._array||(s._array=new Float32Array(3*a.length)),i=0,n=a.length;n>i;++i)s._array[3*i]=a[i].x,s._array[3*i+1]=a[i].y,s._array[3*i+2]=a[i].z;t.uniform3fv(o,s._array);break;case"v4v":for(s._array||(s._array=new Float32Array(4*a.length)),i=0,n=a.length;n>i;++i)s._array[4*i]=a[i].x,s._array[4*i+1]=a[i].y,s._array[4*i+2]=a[i].z,s._array[4*i+3]=a[i].w;t.uniform4fv(o,s._array);break;case"t":case"sampler2D":if(!s.value||!s.value.baseTexture||!s.value.baseTexture.hasLoaded)break;t.activeTexture(t["TEXTURE"+this.textureCount]),t.bindTexture(t.TEXTURE_2D,s.value.baseTexture._glTextures[t.id]),t.uniform1i(s._location,this.textureCount),this.textureCount++,s._init||(this.initSampler2D(s),s._init=!0);break;default:window.console.warn("Pixi.js Shader Warning: Unknown uniform type: "+s.type)}}},i.prototype.initSampler2D=function(t){var e=this.gl;if(t.textureData){var i=t.textureData,r=i.magFilter?i.magFilter:e.LINEAR,n=i.minFilter?i.minFilter:e.LINEAR,s=i.wrapS?i.wrapS:e.CLAMP_TO_EDGE,o=i.wrapT?i.wrapT:e.CLAMP_TO_EDGE,a=i.luminance?e.LUMINANCE:e.RGBA;if(i.repeat&&(s=e.REPEAT,o=e.REPEAT),e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,!!i.flipY),i.width){var h=i.width?i.width:512,l=i.height?i.height:2,u=i.border?i.border:0;e.texImage2D(e.TEXTURE_2D,0,a,h,l,u,a,e.UNSIGNED_BYTE,null)}else e.texImage2D(e.TEXTURE_2D,0,a,e.RGBA,e.UNSIGNED_BYTE,t.value.baseTexture.source);e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,r),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,s),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,o)}},i.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.gl=null,this.uniforms=null,this.attributes=null,this.vertexSrc=null,this.fragmentSrc=null},i.prototype._glCompile=function(t,e){var i=this.gl.createShader(t);return Array.isArray(e),this.gl.shaderSource(i,e),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS)?i:(window.console.log(this.gl.getShaderInfoLog(i)),null)}},{"../../../utils":50}],36:[function(t,e){function i(t){r.call(this,t,["attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;","}"].join("\n"),["precision mediump float;","uniform float alpha;","uniform sampler2D uSampler;","varying vec2 vTextureCoord;","void main(void) {"," gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y)) * alpha;","}"].join("\n"),{alpha:{type:"1f",value:0},translationMatrix:{type:"mat3",value:new Float32Array(9)}})}var r=t("./Shader");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i},{"./Shader":35}],37:[function(t,e){function i(t,e,i,n){this.gl=t,this.frameBuffer=t.createFramebuffer(),this.texture=t.createTexture(),n=n||r.scaleModes.DEFAULT,t.bindTexture(t.TEXTURE_2D,this.texture),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===r.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===r.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.bindFramebuffer(t.FRAMEBUFFER,this.frameBuffer),t.bindFramebuffer(t.FRAMEBUFFER,this.frameBuffer),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,this.texture,0),this.renderBuffer=t.createRenderbuffer(),t.bindRenderbuffer(t.RENDERBUFFER,this.renderBuffer),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,this.renderBuffer),t.bindRenderbuffer(t.RENDERBUFFER,null),this.resize(e,i)}var r=t("../../../const");i.prototype.constructor=i,e.exports=i,i.prototype.clear=function(){var t=this.gl;t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT)},i.prototype.resize=function(t,e){if(this.width!==t||this.height!==e){this.width=t,this.height=e;var i=this.gl;i.bindTexture(i.TEXTURE_2D,this.texture),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,t,e,0,i.RGBA,i.UNSIGNED_BYTE,null),i.bindRenderbuffer(i.RENDERBUFFER,this.renderBuffer),i.renderbufferStorage(i.RENDERBUFFER,i.DEPTH_STENCIL,t,e),i.bindRenderbuffer(i.RENDERBUFFER,null)}},i.prototype.destroy=function(){var t=this.gl;t.deleteFramebuffer(this.frameBuffer),t.deleteTexture(this.texture),this.frameBuffer=null,this.texture=null}},{"../../../const":4}],38:[function(t,e){function i(t){this.renderer=t,this.vertSize=10,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var r=0,n=0;i>r;r+=6,n+=4)this.indices[r+0]=n+0,this.indices[r+1]=n+1,this.indices[r+2]=n+2,this.indices[r+3]=n+0,this.indices[r+4]=n+2,this.indices[r+5]=n+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.currentBlendMode=0,this.shader=null,this.matrix=null;var s=this;this.renderer.on("context",function(){s.setupContext()})}i.prototype.constructor=i,e.exports=i,i.prototype.setupContext=function(){var t=this.renderer.gl;this.vertexBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,this.indices,t.STATIC_DRAW),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertices,t.DYNAMIC_DRAW)},i.prototype.begin=function(t){this.shader=this.renderer.shaderManager.fastShader,this.matrix=t.worldTransform.toArray(!0),this.start()},i.prototype.end=function(){this.flush()},i.prototype.render=function(t){var e=t.children,i=e[0];if(i.texture._uvs){this.currentBaseTexture=i.texture.baseTexture,i.blendMode!==this.renderer.blendModeManager.currentBlendMode&&(this.flush(),this.renderer.blendModeManager.setBlendMode(i.blendMode));for(var r=0,n=e.length;n>r;r++)this.renderSprite(e[r]);this.flush()}},i.prototype.renderSprite=function(t){if(t.visible&&(t.texture.baseTexture===this.currentBaseTexture||(this.flush(),this.currentBaseTexture=t.texture.baseTexture,t.texture._uvs))){var e,i,r,n,s,o,a,h,l=this.vertices;if(e=t.texture._uvs,i=t.texture.frame.width,r=t.texture.frame.height,t.texture.trim){var u=t.texture.trim;s=u.x-t.anchor.x*u.width,n=s+t.texture.crop.width,a=u.y-t.anchor.y*u.height,o=a+t.texture.crop.height}else n=t.texture.frame.width*(1-t.anchor.x),s=t.texture.frame.width*-t.anchor.x,o=t.texture.frame.height*(1-t.anchor.y),a=t.texture.frame.height*-t.anchor.y;h=4*this.currentBatchSize*this.vertSize,l[h++]=s,l[h++]=a,l[h++]=t.position.x,l[h++]=t.position.y,l[h++]=t.scale.x,l[h++]=t.scale.y,l[h++]=t.rotation,l[h++]=e.x0,l[h++]=e.y1,l[h++]=t.alpha,l[h++]=n,l[h++]=a,l[h++]=t.position.x,l[h++]=t.position.y,l[h++]=t.scale.x,l[h++]=t.scale.y,l[h++]=t.rotation,l[h++]=e.x1,l[h++]=e.y1,l[h++]=t.alpha,l[h++]=n,l[h++]=o,l[h++]=t.position.x,l[h++]=t.position.y,l[h++]=t.scale.x,l[h++]=t.scale.y,l[h++]=t.rotation,l[h++]=e.x2,l[h++]=e.y2,l[h++]=t.alpha,l[h++]=s,l[h++]=o,l[h++]=t.position.x,l[h++]=t.position.y,l[h++]=t.scale.x,l[h++]=t.scale.y,l[h++]=t.rotation,l[h++]=e.x3,l[h++]=e.y3,l[h++]=t.alpha,this.currentBatchSize++,this.currentBatchSize>=this.size&&this.flush()}},i.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.renderer.gl;if(this.currentBaseTexture._glTextures[t.id]?t.bindTexture(t.TEXTURE_2D,this.currentBaseTexture._glTextures[t.id]):this.renderer.updateTexture(this.currentBaseTexture,t),this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderer.drawCount++}},i.prototype.stop=function(){this.flush()},i.prototype.start=function(){var t=this.renderer.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderer.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.attributes.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.attributes.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.attributes.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.attributes.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.attributes.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.attributes.aColor,1,t.FLOAT,!1,i,36)}},{}],39:[function(t,e){var i=t("../../../utils"),r=t("../../../math"),n=t("../../../const"),s=t("./WebGLGraphicsData"),o=e.exports={};o.renderGraphics=function(t,e){var r,n=e.gl,s=e.projection,a=e.offset,h=e.shaderManager.primitiveShader;t.dirty&&o.updateGraphics(t,n);for(var l=t._webGL[n.id],u=0;u<l.data.length;u++)1===l.data[u].mode?(r=l.data[u],e.stencilManager.pushStencil(t,r,e),n.drawElements(n.TRIANGLE_FAN,4,n.UNSIGNED_SHORT,2*(r.indices.length-4)),e.stencilManager.popStencil(t,r,e)):(r=l.data[u],e.shaderManager.setShader(h),h=e.shaderManager.primitiveShader,n.uniformMatrix3fv(h.translationMatrix,!1,t.worldTransform.toArray(!0)),n.uniform1f(h.flipY,1),n.uniform2f(h.projectionVector,s.x,-s.y),n.uniform2f(h.offsetVector,-a.x,-a.y),n.uniform3fv(h.tintColor,i.hex2rgb(t.tint)),n.uniform1f(h.alpha,t.worldAlpha),n.bindBuffer(n.ARRAY_BUFFER,r.buffer),n.vertexAttribPointer(h.aVertexPosition,2,n.FLOAT,!1,24,0),n.vertexAttribPointer(h.aColor,4,n.FLOAT,!1,24,8),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,r.indexBuffer),n.drawElements(n.TRIANGLE_STRIP,r.indices.length,n.UNSIGNED_SHORT,0))},o.updateGraphics=function(t,e){var i=t._webGL[e.id];i||(i=t._webGL[e.id]={lastIndex:0,data:[],gl:e}),t.dirty=!1;var r;if(t.clearDirty){for(t.clearDirty=!1,r=0;r<i.data.length;r++){var s=i.data[r];s.reset(),o.graphicsDataPool.push(s)}i.data=[],i.lastIndex=0}var a;for(r=i.lastIndex;r<t.graphicsData.length;r++){var h=t.graphicsData[r];if(h.type===n.SHAPES.POLY){if(h.points=h.shape.points.slice(),h.shape.closed&&(h.points[0]!==h.points[h.points.length-2]||h.points[1]!==h.points[h.points.length-1])&&h.points.push(h.points[0],h.points[1]),h.fill&&h.points.length>=6)if(h.points.length<12){a=o.switchMode(i,0);var l=o.buildPoly(h,a);l||(a=o.switchMode(i,1),o.buildComplexPoly(h,a))}else a=o.switchMode(i,1),o.buildComplexPoly(h,a);h.lineWidth>0&&(a=o.switchMode(i,0),o.buildLine(h,a))}else a=o.switchMode(i,0),h.type===n.SHAPES.RECT?o.buildRectangle(h,a):h.type===n.SHAPES.CIRC||h.type===n.SHAPES.ELIP?o.buildCircle(h,a):h.type===n.SHAPES.RREC&&o.buildRoundedRectangle(h,a);i.lastIndex++}for(r=0;r<i.data.length;r++)a=i.data[r],a.dirty&&a.upload()},o.switchMode=function(t,e){var i;return t.data.length?(i=t.data[t.data.length-1],(i.mode!==e||1===e)&&(i=o.graphicsDataPool.pop()||new s(t.gl),i.mode=e,t.data.push(i))):(i=o.graphicsDataPool.pop()||new s(t.gl),i.mode=e,t.data.push(i)),i.dirty=!0,i},o.buildRectangle=function(t,e){var r=t.shape,n=r.x,s=r.y,a=r.width,h=r.height;if(t.fill){var l=i.hex2rgb(t.fillColor),u=t.fillAlpha,c=l[0]*u,d=l[1]*u,f=l[2]*u,p=e.points,v=e.indices,m=p.length/6;p.push(n,s),p.push(c,d,f,u),p.push(n+a,s),p.push(c,d,f,u),p.push(n,s+h),p.push(c,d,f,u),p.push(n+a,s+h),p.push(c,d,f,u),v.push(m,m,m+1,m+2,m+3,m+3)}if(t.lineWidth){var g=t.points;t.points=[n,s,n+a,s,n+a,s+h,n,s+h,n,s],o.buildLine(t,e),t.points=g}},o.buildRoundedRectangle=function(t,e){var r=t.shape,n=r.x,s=r.y,a=r.width,h=r.height,l=r.radius,u=[];if(u.push(n,s+l),u=u.concat(o.quadraticBezierCurve(n,s+h-l,n,s+h,n+l,s+h)),u=u.concat(o.quadraticBezierCurve(n+a-l,s+h,n+a,s+h,n+a,s+h-l)),u=u.concat(o.quadraticBezierCurve(n+a,s+l,n+a,s,n+a-l,s)),u=u.concat(o.quadraticBezierCurve(n+l,s,n,s,n,s+l)),t.fill){var c=i.hex2rgb(t.fillColor),d=t.fillAlpha,f=c[0]*d,p=c[1]*d,v=c[2]*d,m=e.points,g=e.indices,x=m.length/6,y=i.PolyK.Triangulate(u),b=0;for(b=0;b<y.length;b+=3)g.push(y[b]+x),g.push(y[b]+x),g.push(y[b+1]+x),g.push(y[b+2]+x),g.push(y[b+2]+x);for(b=0;b<u.length;b++)m.push(u[b],u[++b],f,p,v,d)}if(t.lineWidth){var T=t.points;t.points=u,o.buildLine(t,e),t.points=T}},o.quadraticBezierCurve=function(t,e,i,r,n,s){function o(t,e,i){var r=e-t;return t+r*i}for(var a,h,l,u,c,d,f=20,p=[],v=0,m=0;f>=m;m++)v=m/f,a=o(t,i,v),h=o(e,r,v),l=o(i,n,v),u=o(r,s,v),c=o(a,l,v),d=o(h,u,v),p.push(c,d);return p},o.buildCircle=function(t,e){var r,s,a=t.shape,h=a.x,l=a.y;t.type===n.SHAPES.CIRC?(r=a.radius,s=a.radius):(r=a.width,s=a.height);var u=40,c=2*Math.PI/u,d=0;if(t.fill){var f=i.hex2rgb(t.fillColor),p=t.fillAlpha,v=f[0]*p,m=f[1]*p,g=f[2]*p,x=e.points,y=e.indices,b=x.length/6;for(y.push(b),d=0;u+1>d;d++)x.push(h,l,v,m,g,p),x.push(h+Math.sin(c*d)*r,l+Math.cos(c*d)*s,v,m,g,p),y.push(b++,b++);y.push(b-1)}if(t.lineWidth){var T=t.points;for(t.points=[],d=0;u+1>d;d++)t.points.push(h+Math.sin(c*d)*r,l+Math.cos(c*d)*s);o.buildLine(t,e),t.points=T}},o.buildLine=function(t,e){var n=0,s=t.points;if(0!==s.length){if(t.lineWidth%2)for(n=0;n<s.length;n++)s[n]+=.5;var o=new r.Point(s[0],s[1]),a=new r.Point(s[s.length-2],s[s.length-1]);if(o.x===a.x&&o.y===a.y){s=s.slice(),s.pop(),s.pop(),a=new r.Point(s[s.length-2],s[s.length-1]);var h=a.x+.5*(o.x-a.x),l=a.y+.5*(o.y-a.y);s.unshift(h,l),s.push(h,l)}var u,c,d,f,p,v,m,g,x,y,b,T,w,S,A,_,C,E,R,M,F,B,D,P=e.points,L=e.indices,O=s.length/2,I=s.length,k=P.length/6,U=t.lineWidth/2,N=i.hex2rgb(t.lineColor),j=t.lineAlpha,Y=N[0]*j,X=N[1]*j,G=N[2]*j;for(d=s[0],f=s[1],p=s[2],v=s[3],x=-(f-v),y=d-p,D=Math.sqrt(x*x+y*y),x/=D,y/=D,x*=U,y*=U,P.push(d-x,f-y,Y,X,G,j),P.push(d+x,f+y,Y,X,G,j),n=1;O-1>n;n++)d=s[2*(n-1)],f=s[2*(n-1)+1],p=s[2*n],v=s[2*n+1],m=s[2*(n+1)],g=s[2*(n+1)+1],x=-(f-v),y=d-p,D=Math.sqrt(x*x+y*y),x/=D,y/=D,x*=U,y*=U,b=-(v-g),T=p-m,D=Math.sqrt(b*b+T*T),b/=D,T/=D,b*=U,T*=U,A=-y+f-(-y+v),_=-x+p-(-x+d),C=(-x+d)*(-y+v)-(-x+p)*(-y+f),E=-T+g-(-T+v),R=-b+p-(-b+m),M=(-b+m)*(-T+v)-(-b+p)*(-T+g),F=A*R-E*_,Math.abs(F)<.1?(F+=10.1,P.push(p-x,v-y,Y,X,G,j),P.push(p+x,v+y,Y,X,G,j)):(u=(_*M-R*C)/F,c=(E*C-A*M)/F,B=(u-p)*(u-p)+(c-v)+(c-v),B>19600?(w=x-b,S=y-T,D=Math.sqrt(w*w+S*S),w/=D,S/=D,w*=U,S*=U,P.push(p-w,v-S),P.push(Y,X,G,j),P.push(p+w,v+S),P.push(Y,X,G,j),P.push(p-w,v-S),P.push(Y,X,G,j),I++):(P.push(u,c),P.push(Y,X,G,j),P.push(p-(u-p),v-(c-v)),P.push(Y,X,G,j)));for(d=s[2*(O-2)],f=s[2*(O-2)+1],p=s[2*(O-1)],v=s[2*(O-1)+1],x=-(f-v),y=d-p,D=Math.sqrt(x*x+y*y),x/=D,y/=D,x*=U,y*=U,P.push(p-x,v-y),P.push(Y,X,G,j),P.push(p+x,v+y),P.push(Y,X,G,j),L.push(k),n=0;I>n;n++)L.push(k++);L.push(k-1)}},o.buildComplexPoly=function(t,e){var r=t.points.slice();if(!(r.length<6)){var n=e.indices;e.points=r,e.alpha=t.fillAlpha,e.color=i.hex2rgb(t.fillColor);for(var s,o,a=1/0,h=-1/0,l=1/0,u=-1/0,c=0;c<r.length;c+=2)s=r[c],o=r[c+1],a=a>s?s:a,h=s>h?s:h,l=l>o?o:l,u=o>u?o:u;r.push(a,l,h,l,h,u,a,u);var d=r.length/2;for(c=0;d>c;c++)n.push(c)}},o.buildPoly=function(t,e){var r=t.points;if(!(r.length<6)){var n=e.points,s=e.indices,o=r.length/2,a=i.hex2rgb(t.fillColor),h=t.fillAlpha,l=a[0]*h,u=a[1]*h,c=a[2]*h,d=i.PolyK.Triangulate(r);if(!d)return!1;var f=n.length/6,p=0;for(p=0;p<d.length;p+=3)s.push(d[p]+f),s.push(d[p]+f),s.push(d[p+1]+f),s.push(d[p+2]+f),s.push(d[p+2]+f);for(p=0;o>p;p++)n.push(r[2*p],r[2*p+1],l,u,c,h);return!0}},o.graphicsDataPool=[]},{"../../../const":4,"../../../math":12,"../../../utils":50,"./WebGLGraphicsData":40}],40:[function(t,e){function i(t){this.gl=t,this.color=[0,0,0],this.points=[],this.indices=[],this.buffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.mode=1,this.alpha=1,this.dirty=!0}i.prototype.constructor=i,e.exports=i,i.prototype.reset=function(){this.points.length=0,this.indices.length=0},i.prototype.upload=function(){var t=this.gl;this.glPoints=new Float32Array(this.points),t.bindBuffer(t.ARRAY_BUFFER,this.buffer),t.bufferData(t.ARRAY_BUFFER,this.glPoints,t.STATIC_DRAW),this.glIndicies=new Uint16Array(this.indices),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,this.glIndicies,t.STATIC_DRAW),this.dirty=!1}},{}],41:[function(t,e){function i(t){this.renderer=t,this.vertSize=5,this.size=2e3;var e=4*this.size*4*this.vertSize,i=6*this.size;this.vertices=new ArrayBuffer(e),this.positions=new Float32Array(this.vertices),this.colors=new Uint32Array(this.vertices),this.indices=new Uint16Array(i),this.lastIndexCount=0;for(var r=0,n=0;i>r;r+=6,n+=4)this.indices[r+0]=n+0,this.indices[r+1]=n+1,this.indices[r+2]=n+2,this.indices[r+3]=n+0,this.indices[r+4]=n+2,this.indices[r+5]=n+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.dirty=!0,this.textures=[],this.blendModes=[],this.shaders=[],this.sprites=[],this.shader=null;var s=this;this.renderer.on("context",function(){s.setupContext()})}var r=t("../../../textures/TextureUvs"),n=t("../shaders/Shader");i.prototype.constructor=i,e.exports=i,i.prototype.setupContext=function(){var t=this.renderer.gl;this.shader=new n(t),this.vertexBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,this.indices,t.STATIC_DRAW),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertices,t.DYNAMIC_DRAW),this.currentBlendMode=99999},i.prototype.begin=function(){this.start()},i.prototype.end=function(){this.flush()},i.prototype.render=function(t){var e=t.texture;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture);var i=e._uvs;if(i){var r,n,s,o,a=t.anchor.x,h=t.anchor.y;if(e.trim){var l=e.trim;n=l.x-a*l.width,r=n+e.crop.width,o=l.y-h*l.height,s=o+e.crop.height}else r=e.frame.width*(1-a),n=e.frame.width*-a,s=e.frame.height*(1-h),o=e.frame.height*-h;var u=4*this.currentBatchSize*this.vertSize,c=e.baseTexture.resolution,d=t.worldTransform,f=d.a/c,p=d.b/c,v=d.c/c,m=d.d/c,g=d.tx,x=d.ty,y=this.colors,b=this.positions;this.renderer.roundPixels?(b[u]=f*n+v*o+g|0,b[u+1]=m*o+p*n+x|0,b[u+5]=f*r+v*o+g|0,b[u+6]=m*o+p*r+x|0,b[u+10]=f*r+v*s+g|0,b[u+11]=m*s+p*r+x|0,b[u+15]=f*n+v*s+g|0,b[u+16]=m*s+p*n+x|0):(b[u]=f*n+v*o+g,b[u+1]=m*o+p*n+x,b[u+5]=f*r+v*o+g,b[u+6]=m*o+p*r+x,b[u+10]=f*r+v*s+g,b[u+11]=m*s+p*r+x,b[u+15]=f*n+v*s+g,b[u+16]=m*s+p*n+x),b[u+2]=i.x0,b[u+3]=i.y0,b[u+7]=i.x1,b[u+8]=i.y1,b[u+12]=i.x2,b[u+13]=i.y2,b[u+17]=i.x3,b[u+18]=i.y3;var T=t.tint;y[u+4]=y[u+9]=y[u+14]=y[u+19]=(T>>16)+(65280&T)+((255&T)<<16)+(255*t.worldAlpha<<24),this.sprites[this.currentBatchSize++]=t}},i.prototype.renderTilingSprite=function(t){var e=t.tilingTexture;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new r);var i=t._uvs;t.tilePosition.x%=e.baseTexture.width*t.tileScaleOffset.x,t.tilePosition.y%=e.baseTexture.height*t.tileScaleOffset.y;var n=t.tilePosition.x/(e.baseTexture.width*t.tileScaleOffset.x),s=t.tilePosition.y/(e.baseTexture.height*t.tileScaleOffset.y),o=t.width/e.baseTexture.width/(t.tileScale.x*t.tileScaleOffset.x),a=t.height/e.baseTexture.height/(t.tileScale.y*t.tileScaleOffset.y);i.x0=0-n,i.y0=0-s,i.x1=1*o-n,i.y1=0-s,i.x2=1*o-n,i.y2=1*a-s,i.x3=0-n,i.y3=1*a-s;var h=t.tint,l=(h>>16)+(65280&h)+((255&h)<<16)+(255*t.alpha<<24),u=this.positions,c=this.colors,d=t.width,f=t.height,p=t.anchor.x,v=t.anchor.y,m=d*(1-p),g=d*-p,x=f*(1-v),y=f*-v,b=4*this.currentBatchSize*this.vertSize,T=e.baseTexture.resolution,w=t.worldTransform,S=w.a/T,A=w.b/T,_=w.c/T,C=w.d/T,E=w.tx,R=w.ty;u[b++]=S*g+_*y+E,u[b++]=C*y+A*g+R,u[b++]=i.x0,u[b++]=i.y0,c[b++]=l,u[b++]=S*m+_*y+E,u[b++]=C*y+A*m+R,u[b++]=i.x1,u[b++]=i.y1,c[b++]=l,u[b++]=S*m+_*x+E,u[b++]=C*x+A*m+R,u[b++]=i.x2,u[b++]=i.y2,c[b++]=l,u[b++]=S*g+_*x+E,u[b++]=C*x+A*g+R,u[b++]=i.x3,u[b++]=i.y3,c[b++]=l,this.sprites[this.currentBatchSize++]=t},i.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.renderer.gl;if(this.dirty){this.dirty=!1,e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=4*this.vertSize;e.vertexAttribPointer(this.shader.attributes.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(this.shader.attributes.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(this.shader.attributes.aColor,4,e.UNSIGNED_BYTE,!0,i,16)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{var r=this.positions.subarray(0,4*this.currentBatchSize*this.vertSize);e.bufferSubData(e.ARRAY_BUFFER,0,r)}for(var s,o,a,h,l=0,u=0,c=null,d=this.renderer.blendModeManager.currentBlendMode,f=null,p=!1,v=!1,m=0,g=this.currentBatchSize;g>m;m++){if(h=this.sprites[m],s=h.texture.baseTexture,o=h.blendMode,a=h.shader||this.shader,p=d!==o,v=f!==a,(c!==s||p||v)&&(this.renderBatch(c,l,u),u=m,l=0,c=s,p&&(d=o,this.renderer.blendModeManager.setBlendMode(d)),v)){f=a,t=f.shaders?f.shaders[e.id]:f,t||(t=new n(e,null,f.fragmentSrc,f.uniforms),f.shaders[e.id]=t),this.renderer.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderer.projection;e.uniform2f(t.uniforms.projectionVector._location,x.x,x.y);var y=this.renderer.offset;e.uniform2f(t.uniforms.offsetVector._location,y.x,y.y)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0}},i.prototype.renderBatch=function(t,e,i){if(0!==e){var r=this.renderer.gl;t._glTextures[r.id]?r.bindTexture(r.TEXTURE_2D,t._glTextures[r.id]):this.renderer.updateTexture(t),r.drawElements(r.TRIANGLES,6*e,r.UNSIGNED_SHORT,6*i*2),this.renderer.drawCount++}},i.prototype.stop=function(){this.flush(),this.dirty=!0},i.prototype.start=function(){this.dirty=!0},i.prototype.destroy=function(){this.renderer.gl.deleteBuffer(this.vertexBuffer),this.renderer.gl.deleteBuffer(this.indexBuffer),this.vertices=null,this.indices=null,this.vertexBuffer=null,this.indexBuffer=null,this.currentBaseTexture=null,this.renderer=null}},{"../../../textures/TextureUvs":45,"../shaders/Shader":35}],42:[function(t,e){function i(t,e){this.uuid=r.uuid(),this.resolution=1,this.width=100,this.height=100,this.scaleMode=e||n.scaleModes.DEFAULT,this.hasLoaded=!1,this.isLoading=!1,this.source=null,this.premultipliedAlpha=!0,this.imageUrl=null,this._powerOf2=!1,this.mipmap=!1,this._glTextures={},this._needsUpdate=!1,t&&this.loadSource(t)}var r=t("../utils"),n=t("../const");i.prototype.constructor=i,e.exports=i,r.eventTarget.mixin(i.prototype),Object.defineProperties(i.prototype,{needsUpdate:{get:function(){return this._needsUpdate},set:function(t){this._needsUpdate=t,t&&this.emit("update",this)}}}),i.prototype.loadSource=function(t){var e=this.isLoading;if(this.hasLoaded=!1,this.isLoading=!1,e&&this.source&&(this.source.onload=null,this.source.onerror=null),this.source=t,(this.source.complete||this.source.getContext)&&this.source.width&&this.source.height)this._sourceLoaded();else if(!t.getContext){this.isLoading=!0;var i=this;t.onload=function(){t.onload=null,t.onerror=null,i.isLoading&&(i.isLoading=!1,i._sourceLoaded(),i.emit("loaded",i))},t.onerror=function(){t.onload=null,t.onerror=null,i.isLoading&&(i.isLoading=!1,i.emit("error",i))},t.complete&&(this.isLoading=!1,t.onload=null,t.onerror=null,t.width&&t.height?(this._sourceLoaded(),e&&this.emit("loaded",this)):e&&this.emit("error",this))}},i.prototype._sourceLoaded=function(){this.hasLoaded=!0,this.width=this.source.naturalWidth||this.source.width,this.height=this.source.naturalHeight||this.source.height,this.needsUpdate=!0},i.prototype.destroy=function(){this.imageUrl?(delete r.BaseTextureCache[this.imageUrl],delete r.TextureCache[this.imageUrl],this.imageUrl=null,navigator.isCocoonJS||(this.source.src="")):this.source&&this.source._pixiId&&delete r.BaseTextureCache[this.source._pixiId],this.source=null,this.dispose()},i.prototype.dispose=function(){this.emit("dispose",this)},i.prototype.updateSourceImage=function(t){this.source.src=t,this.loadSource(this.source)},i.fromImage=function(t,e,s){var o=r.BaseTextureCache[t];if(void 0===e&&0!==t.indexOf("data:")&&(e=!0),!o){var a=new Image;e&&(a.crossOrigin=""),a.src=t,o=new i(a,s),o.imageUrl=t,r.BaseTextureCache[t]=o,-1!==t.indexOf(n.RETINA_PREFIX+".")&&(o.resolution=2) }return o},i.fromCanvas=function(t,e){t._pixiId||(t._pixiId="canvas_"+r.uuid());var n=r.BaseTextureCache[t._pixiId];return n||(n=new i(t,e),r.BaseTextureCache[t._pixiId]=n),n}},{"../const":4,"../utils":50}],43:[function(t,e){function i(t,e,i,l,u){if(!t)throw new Error("Unable to create RenderTexture, you must pass a renderer into the constructor.");if(this.width=e||100,this.height=i||100,this.resolution=u||1,this.frame=new a.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=new a.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.render=null,this.baseTexture=new r,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=l||h.scaleModes.DEFAULT,this.baseTexture.hasLoaded=!0,n.call(this,this.baseTexture,new a.Rectangle(0,0,this.width,this.height)),this.renderer=t,this.renderer.type===h.WEBGL_RENDERER){var c=this.renderer.gl;this.textureBuffer=new s(c,this.width*this.resolution,this.height*this.resolution,this.baseTexture.scaleMode),this.baseTexture._glTextures[c.id]=this.textureBuffer.texture,this.render=this.renderWebGL,this.projection=new a.Point(.5*this.width,.5*-this.height)}else this.render=this.renderCanvas,this.textureBuffer=new o(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this._updateUvs()}var r=t("./BaseTexture"),n=t("./Texture"),s=t("../renderers/webgl/utils/FilterTexture"),o=t("../renderers/canvas/utils/CanvasBuffer"),a=t("../math"),h=t("../const");i.prototype=Object.create(n.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.resize=function(t,e,i){(t!==this.width||e!==this.height)&&(this.valid=t>0&&e>0,this.width=this.frame.width=this.crop.width=t,this.height=this.frame.height=this.crop.height=e,i&&(this.baseTexture.width=this.width,this.baseTexture.height=this.height),this.renderer.type===h.WEBGL_RENDERER&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width*this.resolution,this.height*this.resolution))},i.prototype.clear=function(){this.valid&&(this.renderer.type===h.WEBGL_RENDERER&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},i.prototype.renderWebGL=function(t,e,i,r){if(this.valid){"undefined"==typeof r&&(r=!0);var n,s;r&&(n=t.worldAlpha,s=t.worldTransform.toArray());var o=t.worldTransform;o.identity(),o.translate(0,2*this.projection.y),e&&o.append(e),o.scale(1,-1),t.worldAlpha=1;var a,h,l=t.children;for(a=0,h=l.length;h>a;++a)l[a].updateTransform();var u=this.renderer.gl;if(u.viewport(0,0,this.width*this.resolution,this.height*this.resolution),u.bindFramebuffer(u.FRAMEBUFFER,this.textureBuffer.frameBuffer),i&&this.textureBuffer.clear(),this.renderer.spriteBatch.dirty=!0,this.renderer.renderDisplayObject(t,this.projection,this.textureBuffer.frameBuffer),this.renderer.spriteBatch.dirty=!0,r)for(t.worldAlpha=n,t.worldTransform.fromArray(s),a=0,h=l.length;h>a;++a)l[a].updateTransform()}},i.prototype.renderCanvas=function(t,e,i,r){if(this.valid){"undefined"==typeof r&&(r=!0);var n,s;r&&(n=t.worldAlpha,s=t.worldTransform.toArray());var o=t.worldTransform;o.identity(),e&&o.append(e),t.worldAlpha=1;var a,h,l=t.children;for(a=0,h=l.length;h>a;++a)l[a].updateTransform();i&&this.textureBuffer.clear();var u=this.textureBuffer.context,c=this.renderer.resolution;if(this.renderer.resolution=this.resolution,this.renderer.renderDisplayObject(t,u),this.renderer.resolution=c,r)for(t.worldAlpha=n,t.worldTransform.fromArray(s),a=0,h=l.length;h>a;++a)l[a].updateTransform()}},i.prototype.getImage=function(){var t=new Image;return t.src=this.getBase64(),t},i.prototype.getBase64=function(){return this.getCanvas().toDataURL()},i.prototype.getCanvas=function(){if(this.renderer.type===h.WEBGL_RENDERER){var t=this.renderer.gl,e=this.textureBuffer.width,i=this.textureBuffer.height,r=new Uint8Array(4*e*i);t.bindFramebuffer(t.FRAMEBUFFER,this.textureBuffer.frameBuffer),t.readPixels(0,0,e,i,t.RGBA,t.UNSIGNED_BYTE,r),t.bindFramebuffer(t.FRAMEBUFFER,null);var n=new o(e,i),s=n.context.getImageData(0,0,e,i);return s.data.set(r),n.context.putImageData(s,0,0),n.canvas}return this.textureBuffer.canvas}},{"../const":4,"../math":12,"../renderers/canvas/utils/CanvasBuffer":21,"../renderers/webgl/utils/FilterTexture":37,"./BaseTexture":42,"./Texture":44}],44:[function(t,e){function i(t,e,r,n){this.noFrame=!1,e||(this.noFrame=!0,e=new a.Rectangle(0,0,1,1)),t instanceof i&&(t=t.baseTexture),this.baseTexture=t,this._frame=e,this.trim=n,this.valid=!1,this.requiresUpdate=!1,this._uvs=null,this.width=0,this.height=0,this.crop=r||new a.Rectangle(0,0,1,1),t.hasLoaded?(this.noFrame&&(e=new a.Rectangle(0,0,t.width,t.height)),this.frame=e):t.addEventListener("loaded",this.onBaseTextureLoaded.bind(this))}var r=t("./BaseTexture"),n=t("./VideoBaseTexture"),s=t("./TextureUvs"),o=t("../utils/eventTarget"),a=t("../math"),h=t("../utils");i.prototype.constructor=i,e.exports=i,o.mixin(i.prototype),Object.defineProperties(i.prototype,{needsUpdate:{get:function(){return this.baseTexture.needsUpdate},set:function(t){this.baseTexture.needsUpdate=t}},frame:{get:function(){return this._frame},set:function(t){if(this._frame=t,this.noFrame=!1,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,!this.trim&&(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this._frame.width=this.trim.width,this._frame.height=this.trim.height),this.valid&&this._updateUvs()}}}),i.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;t.removeEventListener("loaded",this.onLoaded),this.noFrame&&(this.frame=new a.Rectangle(0,0,t.width,t.height)),this.dispatchEvent({type:"update",content:this})},i.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},i.prototype._updateUvs=function(){this._uvs||(this._uvs=new s);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},i.fromImage=function(t,e,n){var s=h.TextureCache[t];return s||(s=new i(r.fromImage(t,e,n)),h.TextureCache[t]=s),s},i.fromFrame=function(t){var e=h.TextureCache[t];if(!e)throw new Error('The frameId "'+t+'" does not exist in the texture cache ');return e},i.fromCanvas=function(t,e){return new i(r.fromCanvas(t,e))},i.fromVideo=function(t,e){return new i(n.baseTextureFromVideo(t,e))},i.addTextureToCache=function(t,e){h.TextureCache[e]=t},i.removeTextureFromCache=function(t){var e=h.TextureCache[t];return delete h.TextureCache[t],delete h.BaseTextureCache[t],e},i.emptyTexture=new i(new r)},{"../math":12,"../utils":50,"../utils/eventTarget":49,"./BaseTexture":42,"./TextureUvs":45,"./VideoBaseTexture":46}],45:[function(t,e){function i(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0}e.exports=i},{}],46:[function(t,e){function i(t,e){if(!t)throw new Error("No video source element specified.");(t.readyState===t.HAVE_ENOUGH_DATA||t.readyState===t.HAVE_FUTURE_DATA)&&t.width&&t.height&&(t.complete=!0),n.call(this,t,e),this.autoUpdate=!1,this._boundOnUpdate=this._onUpdate.bind(this),this._boundOnCanPlay=this._onCanPlay.bind(this),t.complete||(t.addEventListener("canplay",this._boundOnCanPlay),t.addEventListener("canplaythrough",this._boundOnCanPlay),t.addEventListener("play",this._onPlayStart.bind(this)),t.addEventListener("pause",this._onPlayStop.bind(this))),this.__loaded=!1}function r(t,e){e||(e="video/"+t.substr(t.lastIndexOf(".")+1));var i=document.createElement("source");return i.src=t,i.type=e,i}var n=t("./BaseTexture"),s=t("../utils");i.prototype=Object.create(n.prototype),i.prototype.constructor=i,e.exports=i,i.prototype._onUpdate=function(){this.autoUpdate&&(window.requestAnimationFrame(this._boundOnUpdate),this.needsUpdate=!0)},i.prototype._onPlayStart=function(){this.autoUpdate||(window.requestAnimationFrame(this._boundOnUpdate),this.autoUpdate=!0)},i.prototype._onPlayStop=function(){this.autoUpdate=!1},i.prototype._onCanPlay=function(){this.hasLoaded=!0,this.source&&(this.source.removeEventListener("canplay",this._boundOnCanPlay),this.source.removeEventListener("canplaythrough",this._boundOnCanPlay),this.width=this.source.videoWidth,this.height=this.source.videoHeight,this.source.play(),this.__loaded||(this.__loaded=!0,this.emit("loaded",this)))},i.prototype.destroy=function(){this.source&&this.source._pixiId&&(s.BaseTextureCache[this.source._pixiId]=null,delete s.BaseTextureCache[this.source._pixiId],this.source._pixiId=null,delete this.source._pixiId),n.prototype.destroy.call(this)},i.fromVideo=function(t,e){t._pixiId||(t._pixiId="video_"+s.uuid());var r=s.BaseTextureCache[t._pixiId];return r||(r=new i(t,e),s.BaseTextureCache[t._pixiId]=r),r},i.fromUrl=function(t,e){var n=document.createElement("video");if(Array.isArray(t))for(var s=0;s<t.length;++s)n.appendChild(r(t.src||t,t.mime));else n.appendChild(r(t.src||t,t.mime));return n.load(),n.play(),i.textureFromVideo(n,e)},i.fromUrls=i.fromUrl},{"../utils":50,"./BaseTexture":42}],47:[function(t,e){function i(t,e,i){this.__isEventObject=!0,this.stopped=!1,this.stoppedImmediate=!1,this.target=t,this.type=e,this.data=i,this.timeStamp=Date.now()}i.prototype.constructor=i,e.exports=i,i.prototype.stopPropagation=function(){this.stopped=!0},i.prototype.stopImmediatePropagation=function(){this.stoppedImmediate=!0}},{}],48:[function(t,e){var i=e.exports={};i.Triangulate=function(t){var e=!0,r=t.length>>1;if(3>r)return[];for(var n=[],s=[],o=0;r>o;o++)s.push(o);o=0;for(var a=r;a>3;){var h=s[(o+0)%a],l=s[(o+1)%a],u=s[(o+2)%a],c=t[2*h],d=t[2*h+1],f=t[2*l],p=t[2*l+1],v=t[2*u],m=t[2*u+1],g=!1;if(i._convex(c,d,f,p,v,m,e)){g=!0;for(var x=0;a>x;x++){var y=s[x];if(y!==h&&y!==l&&y!==u&&i._PointInTriangle(t[2*y],t[2*y+1],c,d,f,p,v,m)){g=!1;break}}}if(g)n.push(h,l,u),s.splice((o+1)%a,1),a--,o=0;else if(o++>3*a){if(!e)return null;for(n=[],s=[],o=0;r>o;o++)s.push(o);o=0,a=r,e=!1}}return n.push(s[0],s[1],s[2]),n},i._PointInTriangle=function(t,e,i,r,n,s,o,a){var h=o-i,l=a-r,u=n-i,c=s-r,d=t-i,f=e-r,p=h*h+l*l,v=h*u+l*c,m=h*d+l*f,g=u*u+c*c,x=u*d+c*f,y=1/(p*g-v*v),b=(g*m-v*x)*y,T=(p*x-v*m)*y;return b>=0&&T>=0&&1>b+T},i._convex=function(t,e,i,r,n,s,o){return(e-r)*(n-i)+(i-t)*(s-r)>=0===o}},{}],49:[function(t,e){function i(t){t.listeners=function(t){return this._listeners=this._listeners||{},this._listeners[t]?this._listeners[t].slice():[]},t.emit=t.dispatchEvent=function(t,e){if(this._listeners=this._listeners||{},this._listeners[t]){"object"==typeof t&&(e=t,t=t.type),e&&e.__isEventObject===!0||(e=new r(this,t,e));var i,n=this._listeners[t].slice(0),s=n.length,o=n[0];for(i=0;s>i;o=n[++i])if(o.call(this,e),e.stoppedImmediate)return this;return e.stopped?this:(this.parent&&this.parent.emit&&this.parent.emit.call(this.parent,t,e),this)}},t.on=t.addEventListener=function(t,e){return this._listeners=this._listeners||{},(this._listeners[t]=this._listeners[t]||[]).push(e),this},t.once=function(t,e){function i(){e.apply(r.off(t,i),arguments)}this._listeners=this._listeners||{};var r=this;return i._originalHandler=e,this.on(t,i)},t.off=t.removeEventListener=function(t,e){if(this._listeners=this._listeners||{},!this._listeners[t])return this;for(var i=this._listeners[t],r=e?i.length:0;r-->0;)(i[r]===e||i[r]._originalHandler===e)&&i.splice(r,1);return 0===i.length&&delete this._listeners[t],this},t.removeAllListeners=function(t){return this._listeners=this._listeners||{},this._listeners[t]?(delete this._listeners[t],this):this}}var r=t("./EventData");e.exports={mixin:function(t){i(t)}}},{"./EventData":47}],50:[function(t,e){var i=t("../const"),r=e.exports={_uid:0,_saidHello:!1,PolyK:t("./PolyK"),EventData:t("./EventData"),eventTarget:t("./eventTarget"),uuid:function(){return++r._uid},hex2rgb:function(t,e){return e=e||[],e[0]=(t>>16&255)/255,e[1]=(t>>8&255)/255,e[2]=(255&t)/255,e},hex2string:function(t){return t=t.toString(16),t="000000".substr(0,6-t.length)+t,"#"+t},rgb2hex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},canUseNewCanvasBlendModes:function(){if("undefined"==typeof document)return!1;var t=document.createElement("canvas"),e=t.getContext("2d");return t.width=1,t.height=1,e.fillStyle="#000",e.fillRect(0,0,1,1),e.globalCompositeOperation="multiply",e.fillStyle="#fff",e.fillRect(0,0,1,1),0===e.getImageData(0,0,1,1).data[0]},getNextPowerOfTwo:function(t){if(t>0&&0===(t&t-1))return t;for(var e=1;t>e;)e<<=1;return e},isPowerOfTwo:function(t,e){return t>0&&0===(t&t-1)&&e>0&&0===(e&e-1)},sayHello:function(t){if(!r._saidHello){if(navigator.userAgent.toLowerCase().indexOf("chrome")>-1){var e=["%c %c %c Pixi.js "+i.VERSION+" - "+t+" %c %c http://www.pixijs.com/ %c %c ♥%c♥%c♥ ","background: #ff66a5","background: #ff66a5","color: #ff66a5; background: #030307;","background: #ff66a5","background: #ffc3dc","background: #ff66a5","color: #ff2424; background: #fff","color: #ff2424; background: #fff","color: #ff2424; background: #fff"];console.log.apply(console,e)}else window.console&&console.log("Pixi.js "+i.VERSION+" - "+t+" - http://www.pixijs.com/");r._saidHello=!0}},AjaxRequest:function(){var t=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];if(!window.ActiveXObject)return window.XMLHttpRequest?new window.XMLHttpRequest:!1;for(var e=0;e<t.length;e++)try{return new window.ActiveXObject(t[e])}catch(i){}},AnimCache:{},FrameCache:{},TextureCache:{},BaseTextureCache:{}}},{"../const":4,"./EventData":47,"./PolyK":48,"./eventTarget":49}],51:[function(t){function e(t){i.Sprite.call(this,t[0]),this.textures=t,this.animationSpeed=1,this.loop=!0,this.onComplete=null,this.currentFrame=0,this.playing=!1}var i=t("../core");e.prototype=Object.create(i.Sprite.prototype),e.prototype.constructor=e,Object.defineProperties(e.prototype,{totalFrames:{get:function(){return this.textures.length}}}),e.prototype.stop=function(){this.playing=!1},e.prototype.play=function(){this.playing=!0},e.prototype.gotoAndStop=function(t){this.playing=!1,this.currentFrame=t;var e=Math.round(this.currentFrame);this.setTexture(this.textures[e%this.textures.length])},e.prototype.gotoAndPlay=function(t){this.currentFrame=t,this.playing=!0},e.prototype.updateTransform=function(){if(this.displayObjectContainerUpdateTransform(),this.playing){this.currentFrame+=this.animationSpeed;var t=Math.round(this.currentFrame);0>t?this.loop?(this.currentFrame+=this.textures.length,this.texture=this.textures[this.currentFrame]):(this.gotoAndStop(0),this.onComplete&&this.onComplete()):this.loop||t<this.textures.length?this.texture=this.textures[t%this.textures.length]:t>=this.textures.length&&(this.gotoAndStop(this.textures.length-1),this.onComplete&&this.onComplete())}},e.fromFrames=function(t){for(var r=[],n=0;n<t.length;++n)r.push(new i.Texture.fromFrame(t[n]));return new e(r)},e.fromImages=function(t){for(var r=[],n=0;n<t.length;++n)r.push(new i.Texture.fromImage(t[n]));return new e(r)}},{"../core":9}],52:[function(t,e){function i(t,e){r.call(this,t),this.points=e,this.vertices=new Float32Array(4*e.length),this.uvs=new Float32Array(4*e.length),this.colors=new Float32Array(2*e.length),this.indices=new Uint16Array(2*e.length),this.refresh()}var r=t("./Strip");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,r=this.colors;e[0]=0,e[1]=0,e[2]=0,e[3]=1,r[0]=1,r[1]=1,i[0]=0,i[1]=1;for(var n,s,o,a=t.length,h=1;a>h;h++)n=t[h],s=4*h,o=h/(a-1),h%2?(e[s]=o,e[s+1]=0,e[s+2]=o,e[s+3]=1):(e[s]=o,e[s+1]=0,e[s+2]=o,e[s+3]=1),s=2*h,r[s]=1,r[s+1]=1,s=2*h,i[s]=s,i[s+1]=s+1}},i.prototype.updateTransform=function(){var t=this.points;if(!(t.length<1)){for(var e,i,r,n,s,o,a=t[0],h=0,l=0,u=this.vertices,c=t.length,d=0;c>d;d++)i=t[d],r=4*d,e=d<t.length-1?t[d+1]:i,l=-(e.x-a.x),h=e.y-a.y,n=10*(1-d/(c-1)),n>1&&(n=1),s=Math.sqrt(h*h+l*l),o=this.texture.height/2,h/=s,l/=s,h*=o,l*=o,u[r]=i.x+h,u[r+1]=i.y+l,u[r+2]=i.x-h,u[r+3]=i.y-l,a=i;this.displayObjectContainerUpdateTransform()}},i.prototype.setTexture=function(t){this.texture=t}},{"./Strip":53}],53:[function(t,e){function i(t){r.DisplayObjectContainer.call(this),this.texture=t,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),this.dirty=!0,this.blendMode=r.CONST.blendModes.NORMAL,this.canvasPadding=0,this.drawMode=i.DrawModes.TRIANGLE_STRIP}var r=t("../core");i.prototype=Object.create(r.DisplayObjectContainer.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.renderWebGL=function(t){!this.visible||this.alpha<=0||(t.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(t),t.shaderManager.setShader(t.shaderManager.stripShader),this._renderStrip(t),t.spriteBatch.start())},i.prototype._initWebGL=function(t){var e=t.gl;this._vertexBuffer=e.createBuffer(),this._indexBuffer=e.createBuffer(),this._uvBuffer=e.createBuffer(),this._colorBuffer=e.createBuffer(),e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.DYNAMIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.bindBuffer(e.ARRAY_BUFFER,this._colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colors,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)},i.prototype._renderStrip=function(t){var e=t.gl,r=t.projection,n=t.offset,s=t.shaderManager.stripShader,o=this.drawMode===i.DrawModes.TRIANGLE_STRIP?e.TRIANGLE_STRIP:e.TRIANGLES;t.blendModeManager.setBlendMode(this.blendMode),e.uniformMatrix3fv(s.translationMatrix,!1,this.worldTransform.toArray(!0)),e.uniform2f(s.projectionVector,r.x,-r.y),e.uniform2f(s.offsetVector,-n.x,-n.y),e.uniform1f(s.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertices,e.STATIC_DRAW),e.vertexAttribPointer(s.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvs,e.STATIC_DRAW),e.vertexAttribPointer(s.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,this.indices,e.STATIC_DRAW)):(e.bindBuffer(e.ARRAY_BUFFER,this._vertexBuffer),e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices),e.vertexAttribPointer(s.aVertexPosition,2,e.FLOAT,!1,0,0),e.bindBuffer(e.ARRAY_BUFFER,this._uvBuffer),e.vertexAttribPointer(s.aTextureCoord,2,e.FLOAT,!1,0,0),e.activeTexture(e.TEXTURE0),this.texture.baseTexture._dirty[e.id]?t.updateTexture(this.texture.baseTexture):e.bindTexture(e.TEXTURE_2D,this.texture.baseTexture._glTextures[e.id]),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),e.drawElements(o,this.indices.length,e.UNSIGNED_SHORT,0)},i.prototype.renderCanvas=function(t){var e=t.context,r=this.worldTransform;t.roundPixels?e.setTransform(r.a,r.b,r.c,r.d,0|r.tx,0|r.ty):e.setTransform(r.a,r.b,r.c,r.d,r.tx,r.ty),this.drawMode===i.DrawModes.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(e):this._renderCanvasTriangles(e)},i.prototype._renderCanvasTriangleStrip=function(t){for(var e=this.vertices,i=this.uvs,r=e.length/2,n=0;r-2>n;n++){var s=2*n;this._renderCanvasDrawTriangle(t,e,i,s,s+2,s+4)}},i.prototype._renderCanvasTriangles=function(t){for(var e=this.vertices,i=this.uvs,r=this.indices,n=r.length,s=0;n>s;s+=3){var o=2*r[s],a=2*r[s+1],h=2*r[s+2];this._renderCanvasDrawTriangle(t,e,i,o,a,h)}},i.prototype._renderCanvasDrawTriangle=function(t,e,i,r,n,s){var o=this.texture.baseTexture.source,a=this.texture.width,h=this.texture.height,l=e[r],u=e[n],c=e[s],d=e[r+1],f=e[n+1],p=e[s+1],v=i[r]*a,m=i[n]*a,g=i[s]*a,x=i[r+1]*h,y=i[n+1]*h,b=i[s+1]*h;if(this.canvasPadding>0){var T=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,S=(l+u+c)/3,A=(d+f+p)/3,_=l-S,C=d-A,E=Math.sqrt(_*_+C*C);l=S+_/E*(E+T),d=A+C/E*(E+w),_=u-S,C=f-A,E=Math.sqrt(_*_+C*C),u=S+_/E*(E+T),f=A+C/E*(E+w),_=c-S,C=p-A,E=Math.sqrt(_*_+C*C),c=S+_/E*(E+T),p=A+C/E*(E+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(u,f),t.lineTo(c,p),t.closePath(),t.clip();var R=v*y+x*g+m*b-y*g-x*m-v*b,M=l*y+x*c+u*b-y*c-x*u-l*b,F=v*u+l*g+m*c-u*g-l*m-v*c,B=v*y*c+x*u*g+l*m*b-l*y*g-x*m*c-v*u*b,D=d*y+x*p+f*b-y*p-x*f-d*b,P=v*f+d*g+m*p-f*g-d*m-v*p,L=v*y*p+x*f*g+d*m*b-d*y*g-x*m*p-v*f*b;t.transform(M/R,D/R,F/R,P/R,B/R,L/R),t.drawImage(o,0,0),t.restore()},i.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,r=i.length/2;e.beginPath();for(var n=1;r-2>n;n++){var s=2*n,o=i[s],a=i[s+2],h=i[s+4],l=i[s+1],u=i[s+3],c=i[s+5];e.moveTo(o,l),e.lineTo(a,u),e.lineTo(h,c)}e.fillStyle="#FF0000",e.fill(),e.closePath()},i.prototype.onTextureUpdate=function(){this.updateFrame=!0},i.prototype.getBounds=function(t){for(var e=t||this.worldTransform,i=e.a,n=e.b,s=e.c,o=e.d,a=e.tx,h=e.ty,l=-1/0,u=-1/0,c=1/0,d=1/0,f=this.vertices,p=0,v=f.length;v>p;p+=2){var m=f[p],g=f[p+1],x=i*m+s*g+a,y=o*g+n*m+h;c=c>x?x:c,d=d>y?y:d,l=x>l?x:l,u=y>u?y:u}if(c===-1/0||1/0===u)return r.math.Rectangle.EMPTY;var b=this._bounds;return b.x=c,b.width=l-c,b.y=d,b.height=u-d,this._currentBounds=b,b},i.DrawModes={TRIANGLE_STRIP:0,TRIANGLES:1}},{"../core":9}],54:[function(t,e){function i(t,e,i){r.Sprite.call(this,t),this._width=e||100,this._height=i||100,this.tileScale=new r.math.Point(1,1),this.tileScaleOffset=new r.math.Point(1,1),this.tilePosition=new r.math.Point(0,0),this.renderable=!0,this.tint=16777215,this.blendMode=r.CONST.blendModes.NORMAL}var r=t("../core");i.prototype=Object.create(r.Sprite.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{width:{get:function(){return this._width},set:function(t){this._width=t}},height:{get:function(){return this._height},set:function(t){this._height=t}},texture:{get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture=t,this.refreshTexture=!0,this.cachedTint=16777215)}}}),i.prototype.renderWebGL=function(t){if(this.visible&&!(this.alpha<=0)){var e,i;for(this._mask&&(t.spriteBatch.stop(),t.maskManager.pushMask(this.mask,t),t.spriteBatch.start()),this._filters&&(t.spriteBatch.flush(),t.filterManager.pushFilter(this._filterBlock)),!this.tilingTexture||this.refreshTexture?(this.generateTilingTexture(!0),this.tilingTexture&&this.tilingTexture.needsUpdate&&(t.updateTexture(this.tilingTexture.baseTexture),this.tilingTexture.needsUpdate=!1)):t.spriteBatch.renderTilingSprite(this),e=0,i=this.children.length;i>e;e++)this.children[e].renderWebGL(t);t.spriteBatch.stop(),this._filters&&t.filterManager.popFilter(),this._mask&&t.maskManager.popMask(this._mask,t),t.spriteBatch.start()}},i.prototype.renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)){var e=t.context;this._mask&&t.maskManager.pushMask(this._mask,e),e.globalAlpha=this.worldAlpha;var i,r,n=this.worldTransform,s=t.resolution;if(e.setTransform(n.a*s,n.b*s,n.c*s,n.d*s,n.tx*s,n.ty*s),!this.__tilePattern||this.refreshTexture){if(this.generateTilingTexture(!1),!this.tilingTexture)return;this.__tilePattern=e.createPattern(this.tilingTexture.baseTexture.source,"repeat")}this.blendMode!==t.currentBlendMode&&(t.currentBlendMode=this.blendMode,e.globalCompositeOperation=t.blendModes[t.currentBlendMode]);var o=this.tilePosition,a=this.tileScale;for(o.x%=this.tilingTexture.baseTexture.width,o.y%=this.tilingTexture.baseTexture.height,e.scale(a.x,a.y),e.translate(o.x+this.anchor.x*-this._width,o.y+this.anchor.y*-this._height),e.fillStyle=this.__tilePattern,e.fillRect(-o.x,-o.y,this._width/a.x,this._height/a.y),e.translate(-o.x+this.anchor.x*this._width,-o.y+this.anchor.y*this._height),e.scale(1/a.x,1/a.y),this._mask&&t.maskManager.popMask(t.context),i=0,r=this.children.length;r>i;++i)this.children[i].renderCanvas(t)}},i.prototype.getBounds=function(){var t,e,i,r,n=this._width,s=this._height,o=n*(1-this.anchor.x),a=n*-this.anchor.x,h=s*(1-this.anchor.y),l=s*-this.anchor.y,u=this.worldTransform,c=u.a,d=u.b,f=u.c,p=u.d,v=u.tx,m=u.ty,g=c*a+f*l+v,x=p*l+d*a+m,y=c*o+f*l+v,b=p*l+d*o+m,T=c*o+f*h+v,w=p*h+d*o+m,S=c*a+f*h+v,A=p*h+d*a+m;t=g,t=t>y?y:t,t=t>T?T:t,t=t>S?S:t,i=x,i=i>b?b:i,i=i>w?w:i,i=i>A?A:i,e=g,e=y>e?y:e,e=T>e?T:e,e=S>e?S:e,r=x,r=b>r?b:r,r=w>r?w:r,r=A>r?A:r;var _=this._bounds;return _.x=t,_.width=e-t,_.y=i,_.height=r-i,this._currentBounds=_,_},i.prototype.onTextureUpdate=function(){},i.prototype.generateTilingTexture=function(t){if(this.texture.baseTexture.hasLoaded){var e,i,n=this.originalTexture||this.texture,s=n.frame,o=s.width!==n.baseTexture.width||s.height!==n.baseTexture.height,a=!1;if(t?(e=r.utils.getNextPowerOfTwo(s.width),i=r.utils.getNextPowerOfTwo(s.height),(s.width!==e||s.height!==i||n.baseTexture.width!==e||n.baseTexture.height||i)&&(a=!0)):o&&(e=s.width,i=s.height,a=!0),a){var h;this.tilingTexture&&this.tilingTexture.isTiling?(h=this.tilingTexture.canvasBuffer,h.resize(e,i),this.tilingTexture.baseTexture.width=e,this.tilingTexture.baseTexture.height=i,this.tilingTexture.needsUpdate=!0):(h=new r.CanvasBuffer(e,i),this.tilingTexture=r.Texture.fromCanvas(h.canvas),this.tilingTexture.canvasBuffer=h,this.tilingTexture.isTiling=!0),h.context.drawImage(n.baseTexture.source,n.crop.x,n.crop.y,n.crop.width,n.crop.height,0,0,e,i),this.tileScaleOffset.x=s.width/e,this.tileScaleOffset.y=s.height/i}else this.tilingTexture&&this.tilingTexture.isTiling&&this.tilingTexture.destroy(!0),this.tileScaleOffset.x=1,this.tileScaleOffset.y=1,this.tilingTexture=n;this.refreshTexture=!1,this.originalTexture=this.texture,this.texture=this.tilingTexture,this.tilingTexture.baseTexture._powerOf2=!0}}},{"../core":9}],55:[function(t,e){e.exports={MovieClip:t("./MovieClip"),Rope:t("./Rope"),Strip:t("./Strip"),TilingSprite:t("./TilingSprite")}},{"./MovieClip":51,"./Rope":52,"./Strip":53,"./TilingSprite":54}],56:[function(t,e){function i(t,e){this.passes=[this],this.shaders=[],this.padding=0,this.uniforms=e||{},this.fragmentSrc="string"==typeof t?t.split(""):t||[]}i.prototype.constructor=i,e.exports=i,i.prototype.syncUniforms=function(){for(var t=0,e=this.shaders.length;e>t;++t)this.shaders[t].dirty=!0}},{}],57:[function(t,e){function i(t){r.call(this),t.baseTexture._powerOf2=!0,this.uniforms={mask:{type:"sampler2D",value:t},mapDimensions:{type:"2f",value:{x:1,y:5112}},dimensions:{type:"4fv",value:[0,0,0,0]},offset:{type:"2f",value:{x:0,y:0}}},t.baseTexture.hasLoaded?(this.uniforms.mask.value.x=t.width,this.uniforms.mask.value.y=t.height):(this.boundLoadedFunction=this.onTextureLoaded.bind(this),t.baseTexture.on("loaded",this.boundLoadedFunction)),this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D uSampler;","uniform sampler2D mask;","uniform vec2 mapDimensions;","uniform vec4 dimensions;","uniform vec2 offset;","void main() {"," vec2 mapCords = vTextureCoord.xy;"," mapCords += (dimensions.zw + offset)/ dimensions.xy ;"," mapCords.y *= -1.0;"," mapCords.y += 1.0;"," mapCords *= dimensions.xy / mapDimensions;"," vec4 original = texture2D(uSampler, vTextureCoord);"," float maskAlpha = texture2D(mask, mapCords).r;"," original *= maskAlpha;"," gl_FragColor = original;","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.onTextureLoaded=function(){this.uniforms.mapDimensions.value.x=this.uniforms.mask.value.width,this.uniforms.mapDimensions.value.y=this.uniforms.mask.value.height,this.uniforms.mask.value.baseTexture.off("loaded",this.boundLoadedFunction)},Object.defineProperties(i.prototype,{map:{get:function(){return this.uniforms.mask.value},set:function(t){this.uniforms.mask.value=t}},offset:{get:function(){return this.uniforms.offset.value},set:function(t){this.uniforms.offset.value=t}}})},{"./AbstractFilter":56}],58:[function(t,e){function i(){r.call(this),this.uniforms={dimensions:{type:"4fv",value:new Float32Array([1e4,100,10,10])},pixelSize:{type:"1f",value:8}},this.fragmentSrc=["precision mediump float;","uniform vec4 dimensions;","uniform float pixelSize;","uniform sampler2D uSampler;","float character(float n, vec2 p)","{"," p = floor(p*vec2(4.0, -4.0) + 2.5);"," if (clamp(p.x, 0.0, 4.0) == p.x && clamp(p.y, 0.0, 4.0) == p.y)"," {"," if (int(mod(n/exp2(p.x + 5.0*p.y), 2.0)) == 1) return 1.0;"," }"," return 0.0;","}","void main()","{"," vec2 uv = gl_FragCoord.xy;"," vec3 col = texture2D(uSampler, floor( uv / pixelSize ) * pixelSize / dimensions.xy).rgb;"," #ifdef HAS_GREENSCREEN"," float gray = (col.r + col.b)/2.0;"," #else"," float gray = (col.r + col.g + col.b)/3.0;"," #endif"," float n = 65536.0; // ."," if (gray > 0.2) n = 65600.0; // :"," if (gray > 0.3) n = 332772.0; // *"," if (gray > 0.4) n = 15255086.0; // o"," if (gray > 0.5) n = 23385164.0; // &"," if (gray > 0.6) n = 15252014.0; // 8"," if (gray > 0.7) n = 13199452.0; // @"," if (gray > 0.8) n = 11512810.0; // #"," vec2 p = mod( uv / ( pixelSize * 0.5 ), 2.0) - vec2(1.0);"," col = col * character(n, p);"," gl_FragColor = vec4(col, 1.0);","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{size:{get:function(){return this.uniforms.pixelSize.value},set:function(t){this.uniforms.pixelSize.value=t}}})},{"./AbstractFilter":56}],59:[function(t,e){function i(){r.call(this),this.blurXFilter=new n,this.blurYFilter=new s,this.passes=[this.blurXFilter,this.blurYFilter]}var r=t("./AbstractFilter"),n=t("./BlurXFilter"),s=t("./BlurYFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{blur:{get:function(){return this.blurXFilter.blur},set:function(t){this.blurXFilter.blur=this.blurYFilter.blur=t}},blurX:{get:function(){return this.blurXFilter.blur},set:function(t){this.blurXFilter.blur=t}},blurY:{get:function(){return this.blurYFilter.blur},set:function(t){this.blurYFilter.blur=t}}})},{"./AbstractFilter":56,"./BlurXFilter":60,"./BlurYFilter":61}],60:[function(t,e){function i(){r.call(this),this.uniforms={blur:{type:"1f",value:1/512}},this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform float blur;","uniform sampler2D uSampler;","void main(void) {"," vec4 sum = vec4(0.0);"," sum += texture2D(uSampler, vec2(vTextureCoord.x - 4.0*blur, vTextureCoord.y)) * 0.05;"," sum += texture2D(uSampler, vec2(vTextureCoord.x - 3.0*blur, vTextureCoord.y)) * 0.09;"," sum += texture2D(uSampler, vec2(vTextureCoord.x - 2.0*blur, vTextureCoord.y)) * 0.12;"," sum += texture2D(uSampler, vec2(vTextureCoord.x - blur, vTextureCoord.y)) * 0.15;"," sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y)) * 0.16;"," sum += texture2D(uSampler, vec2(vTextureCoord.x + blur, vTextureCoord.y)) * 0.15;"," sum += texture2D(uSampler, vec2(vTextureCoord.x + 2.0*blur, vTextureCoord.y)) * 0.12;"," sum += texture2D(uSampler, vec2(vTextureCoord.x + 3.0*blur, vTextureCoord.y)) * 0.09;"," sum += texture2D(uSampler, vec2(vTextureCoord.x + 4.0*blur, vTextureCoord.y)) * 0.05;"," gl_FragColor = sum;","}"]}var r=t("./AbstractFilter"),n=1/7e3;i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{blur:{get:function(){return this.uniforms.blur.value/n },set:function(t){this.uniforms.blur.value=n*t}}})},{"./AbstractFilter":56}],61:[function(t,e){function i(){r.call(this),this.uniforms={blur:{type:"1f",value:1/512}},this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform float blur;","uniform sampler2D uSampler;","void main(void) {"," vec4 sum = vec4(0.0);"," sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - 4.0*blur)) * 0.05;"," sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - 3.0*blur)) * 0.09;"," sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - 2.0*blur)) * 0.12;"," sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - blur)) * 0.15;"," sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y)) * 0.16;"," sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + blur)) * 0.15;"," sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + 2.0*blur)) * 0.12;"," sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + 3.0*blur)) * 0.09;"," sum += texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + 4.0*blur)) * 0.05;"," gl_FragColor = sum;","}"]}var r=t("./AbstractFilter"),n=1/7e3;i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{blur:{get:function(){return this.uniforms.blur.value/n},set:function(t){this.uniforms.blur.value=n*t}}})},{"./AbstractFilter":56}],62:[function(t,e){function i(){r.call(this),this.uniforms={matrix:{type:"mat4",value:[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]}},this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform float invert;","uniform mat4 matrix;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * matrix;","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{matrix:{get:function(){return this.uniforms.matrix.value},set:function(t){this.uniforms.matrix.value=t}}})},{"./AbstractFilter":56}],63:[function(t,e){function i(){r.call(this),this.uniforms={step:{type:"1f",value:5}},this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D uSampler;","uniform float step;","void main(void) {"," vec4 color = texture2D(uSampler, vTextureCoord);"," color = floor(color * step) / step;"," gl_FragColor = color;","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{step:{get:function(){return this.uniforms.step.value},set:function(t){this.uniforms.step.value=t}}})},{"./AbstractFilter":56}],64:[function(t,e){function i(t,e,i){r.call(this),this.uniforms={matrix:{type:"1fv",value:new Float32Array(t)},texelSizeX:{type:"1f",value:1/e},texelSizeY:{type:"1f",value:1/i}},this.fragmentSrc=["precision mediump float;","varying mediump vec2 vTextureCoord;","uniform sampler2D texture;","uniform float texelSizeX;","uniform float texelSizeY;","uniform float matrix[9];","vec2 px = vec2(texelSizeX, texelSizeY);","void main(void) {"," vec4 c11 = texture2D(texture, vTextureCoord - px);"," vec4 c12 = texture2D(texture, vec2(vTextureCoord.x, vTextureCoord.y - px.y));"," vec4 c13 = texture2D(texture, vec2(vTextureCoord.x + px.x, vTextureCoord.y - px.y));"," vec4 c21 = texture2D(texture, vec2(vTextureCoord.x - px.x, vTextureCoord.y) );"," vec4 c22 = texture2D(texture, vTextureCoord);"," vec4 c23 = texture2D(texture, vec2(vTextureCoord.x + px.x, vTextureCoord.y) );"," vec4 c31 = texture2D(texture, vec2(vTextureCoord.x - px.x, vTextureCoord.y + px.y) );"," vec4 c32 = texture2D(texture, vec2(vTextureCoord.x, vTextureCoord.y + px.y) );"," vec4 c33 = texture2D(texture, vTextureCoord + px );"," gl_FragColor = "," c11 * matrix[0] + c12 * matrix[1] + c13 * matrix[2] +"," c21 * matrix[3] + c22 * matrix[4] + c23 * matrix[5] +"," c31 * matrix[6] + c32 * matrix[7] + c33 * matrix[8];"," gl_FragColor.a = c22.a;","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{matrix:{get:function(){return this.uniforms.matrix.value},set:function(t){this.uniforms.matrix.value=new Float32Array(t)}},width:{get:function(){return this.uniforms.texelSizeX.value},set:function(t){this.uniforms.texelSizeX.value=1/t}},height:{get:function(){return this.uniforms.texelSizeY.value},set:function(t){this.uniforms.texelSizeY.value=1/t}}})},{"./AbstractFilter":56}],65:[function(t,e){function i(){r.call(this),this.uniforms={blur:{type:"1f",value:1/512}},this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform float blur;","uniform sampler2D uSampler;","void main(void) {"," float lum = length(texture2D(uSampler, vTextureCoord.xy).rgb);"," gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);"," if (lum < 1.00) {"," if (mod(gl_FragCoord.x + gl_FragCoord.y, 10.0) == 0.0) {"," gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);"," }"," }"," if (lum < 0.75) {"," if (mod(gl_FragCoord.x - gl_FragCoord.y, 10.0) == 0.0) {"," gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);"," }"," }"," if (lum < 0.50) {"," if (mod(gl_FragCoord.x + gl_FragCoord.y - 5.0, 10.0) == 0.0) {"," gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);"," }"," }"," if (lum < 0.3) {"," if (mod(gl_FragCoord.x - gl_FragCoord.y - 5.0, 10.0) == 0.0) {"," gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);"," }"," }","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{blur:{get:function(){return this.uniforms.blur.value/(1/7e3)},set:function(t){this.uniforms.blur.value=1/7e3*t}}})},{"./AbstractFilter":56}],66:[function(t,e){function i(t){r.call(this),t.baseTexture._powerOf2=!0,this.uniforms={displacementMap:{type:"sampler2D",value:t},scale:{type:"2f",value:{x:30,y:30}},offset:{type:"2f",value:{x:0,y:0}},mapDimensions:{type:"2f",value:{x:1,y:5112}},dimensions:{type:"4fv",value:[0,0,0,0]}},t.baseTexture.hasLoaded?this.onTextureLoaded():(this.boundLoadedFunction=this.onTextureLoaded.bind(this),t.baseTexture.on("loaded",this.boundLoadedFunction)),this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D displacementMap;","uniform sampler2D uSampler;","uniform vec2 scale;","uniform vec2 offset;","uniform vec4 dimensions;","uniform vec2 mapDimensions;","void main(void) {"," vec2 mapCords = vTextureCoord.xy;"," mapCords += (dimensions.zw + offset)/ dimensions.xy ;"," mapCords.y *= -1.0;"," mapCords.y += 1.0;"," vec2 matSample = texture2D(displacementMap, mapCords).xy;"," matSample -= 0.5;"," matSample *= scale;"," matSample /= mapDimensions;"," gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.x + matSample.x, vTextureCoord.y + matSample.y));"," gl_FragColor.rgb = mix( gl_FragColor.rgb, gl_FragColor.rgb, 1.0);","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.onTextureLoaded=function(){this.uniforms.mapDimensions.value.x=this.uniforms.displacementMap.value.width,this.uniforms.mapDimensions.value.y=this.uniforms.displacementMap.value.height,this.uniforms.displacementMap.value.baseTexture.off("loaded",this.boundLoadedFunction)},Object.defineProperties(i.prototype,{map:{get:function(){return this.uniforms.displacementMap.value},set:function(t){this.uniforms.displacementMap.value=t}},scale:{get:function(){return this.uniforms.scale.value},set:function(t){this.uniforms.scale.value=t}},offset:{get:function(){return this.uniforms.offset.value},set:function(t){this.uniforms.offset.value=t}}})},{"./AbstractFilter":56}],67:[function(t,e){function i(){r.call(this),this.uniforms={scale:{type:"1f",value:1},angle:{type:"1f",value:5},dimensions:{type:"4fv",value:[0,0,0,0]}},this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform vec4 dimensions;","uniform sampler2D uSampler;","uniform float angle;","uniform float scale;","float pattern() {"," float s = sin(angle), c = cos(angle);"," vec2 tex = vTextureCoord * dimensions.xy;"," vec2 point = vec2("," c * tex.x - s * tex.y,"," s * tex.x + c * tex.y"," ) * scale;"," return (sin(point.x) * sin(point.y)) * 4.0;","}","void main() {"," vec4 color = texture2D(uSampler, vTextureCoord);"," float average = (color.r + color.g + color.b) / 3.0;"," gl_FragColor = vec4(vec3(average * 10.0 - 5.0 + pattern()), color.a);","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{scale:{get:function(){return this.uniforms.scale.value},set:function(t){this.uniforms.scale.value=t}},angle:{get:function(){return this.uniforms.angle.value},set:function(t){this.uniforms.angle.value=t}}})},{"./AbstractFilter":56}],68:[function(t,e){function i(){this.visible=!0,this.renderable=!0}i.prototype.constructor=i,e.exports=i},{}],69:[function(t,e){function i(){r.call(this),this.uniforms={gray:{type:"1f",value:1}},this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D uSampler;","uniform float gray;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);"," gl_FragColor.rgb = mix(gl_FragColor.rgb, vec3(0.2126*gl_FragColor.r + 0.7152*gl_FragColor.g + 0.0722*gl_FragColor.b), gray);","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{gray:{get:function(){return this.uniforms.gray.value},set:function(t){this.uniforms.gray.value=t}}})},{"./AbstractFilter":56}],70:[function(t,e){function i(){r.call(this),this.uniforms={invert:{type:"1f",value:1}},this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform float invert;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);"," gl_FragColor.rgb = mix( (vec3(1)-gl_FragColor.rgb) * gl_FragColor.a, gl_FragColor.rgb, 1.0 - invert);","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{invert:{get:function(){return this.uniforms.invert.value},set:function(t){this.uniforms.invert.value=t}}})},{"./AbstractFilter":56}],71:[function(t,e){function i(){r.call(this),this.uniforms={noise:{type:"1f",value:.5}},this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform float noise;","uniform sampler2D uSampler;","float rand(vec2 co) {"," return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);","}","void main() {"," vec4 color = texture2D(uSampler, vTextureCoord);"," float diff = (rand(vTextureCoord) - 0.5) * noise;"," color.r += diff;"," color.g += diff;"," color.b += diff;"," gl_FragColor = color;","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{noise:{get:function(){return this.uniforms.noise.value},set:function(t){this.dirty=!0,this.uniforms.noise.value=t}}})},{"./AbstractFilter":56}],72:[function(t,e){function i(t){r.call(this),t.baseTexture._powerOf2=!0,this.uniforms={displacementMap:{type:"sampler2D",value:t},scale:{type:"2f",value:{x:15,y:15}},offset:{type:"2f",value:{x:0,y:0}},mapDimensions:{type:"2f",value:{x:1,y:1}},dimensions:{type:"4f",value:[0,0,0,0]},LightPos:{type:"3f",value:[0,1,0]}},t.baseTexture.hasLoaded?this.onTextureLoaded():(this.boundLoadedFunction=this.onTextureLoaded.bind(this),t.baseTexture.on("loaded",this.boundLoadedFunction)),this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying float vColor;","uniform sampler2D displacementMap;","uniform sampler2D uSampler;","uniform vec4 dimensions;","const vec2 Resolution = vec2(1.0,1.0);","uniform vec3 LightPos;","const vec4 LightColor = vec4(1.0, 1.0, 1.0, 1.0);","const vec4 AmbientColor = vec4(1.0, 1.0, 1.0, 0.5);","const vec3 Falloff = vec3(0.0, 1.0, 0.2);","uniform vec3 LightDir;","uniform vec2 mapDimensions;","void main(void) {"," vec2 mapCords = vTextureCoord.xy;"," vec4 color = texture2D(uSampler, vTextureCoord.st);"," vec3 nColor = texture2D(displacementMap, vTextureCoord.st).rgb;"," mapCords *= vec2(dimensions.x/512.0, dimensions.y/512.0);"," mapCords.y *= -1.0;"," mapCords.y += 1.0;"," vec4 DiffuseColor = texture2D(uSampler, vTextureCoord);"," vec3 NormalMap = texture2D(displacementMap, mapCords).rgb;"," vec3 LightDir = vec3(LightPos.xy - (mapCords.xy), LightPos.z);"," float D = length(LightDir);"," vec3 N = normalize(NormalMap * 2.0 - 1.0);"," vec3 L = normalize(LightDir);"," vec3 Diffuse = (LightColor.rgb * LightColor.a) * max(dot(N, L), 0.0);"," vec3 Ambient = AmbientColor.rgb * AmbientColor.a;"," float Attenuation = 1.0 / ( Falloff.x + (Falloff.y*D) + (Falloff.z*D*D) );"," vec3 Intensity = Ambient + Diffuse * Attenuation;"," vec3 FinalColor = DiffuseColor.rgb * Intensity;"," gl_FragColor = vColor * vec4(FinalColor, DiffuseColor.a);","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.onTextureLoaded=function(){this.uniforms.mapDimensions.value.x=this.uniforms.displacementMap.value.width,this.uniforms.mapDimensions.value.y=this.uniforms.displacementMap.value.height,this.uniforms.displacementMap.value.baseTexture.off("loaded",this.boundLoadedFunction)},Object.defineProperties(i.prototype,{map:{get:function(){return this.uniforms.displacementMap.value},set:function(t){this.uniforms.displacementMap.value=t}},scale:{get:function(){return this.uniforms.scale.value},set:function(t){this.uniforms.scale.value=t}},offset:{get:function(){return this.uniforms.offset.value},set:function(t){this.uniforms.offset.value=t}}})},{"./AbstractFilter":56}],73:[function(t,e){function i(){r.call(this),this.uniforms={invert:{type:"1f",value:0},dimensions:{type:"4fv",value:new Float32Array([1e4,100,10,10])},pixelSize:{type:"2f",value:{x:10,y:10}}},this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform vec2 testDim;","uniform vec4 dimensions;","uniform vec2 pixelSize;","uniform sampler2D uSampler;","void main(void) {"," vec2 coord = vTextureCoord;"," vec2 size = dimensions.xy/pixelSize;"," vec2 color = floor( ( vTextureCoord * size ) ) / size + pixelSize/dimensions.xy * 0.5;"," gl_FragColor = texture2D(uSampler, color);","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{size:{get:function(){return this.uniforms.pixelSize.value},set:function(t){this.uniforms.pixelSize.value=t}}})},{"./AbstractFilter":56}],74:[function(t,e){function i(){r.call(this),this.passes=[this],this.uniforms={red:{type:"2f",value:{x:20,y:20}},green:{type:"2f",value:{x:-20,y:20}},blue:{type:"2f",value:{x:20,y:-20}},dimensions:{type:"4fv",value:[0,0,0,0]}},this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform vec2 red;","uniform vec2 green;","uniform vec2 blue;","uniform vec4 dimensions;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor.r = texture2D(uSampler, vTextureCoord + red/dimensions.xy).r;"," gl_FragColor.g = texture2D(uSampler, vTextureCoord + green/dimensions.xy).g;"," gl_FragColor.b = texture2D(uSampler, vTextureCoord + blue/dimensions.xy).b;"," gl_FragColor.a = texture2D(uSampler, vTextureCoord).a;","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{red:{get:function(){return this.uniforms.red.value},set:function(t){this.uniforms.red.value=t}},green:{get:function(){return this.uniforms.green.value},set:function(t){this.uniforms.green.value=t}},blue:{get:function(){return this.uniforms.blue.value},set:function(t){this.uniforms.blue.value=t}}})},{"./AbstractFilter":56}],75:[function(t,e){function i(){r.call(this),this.uniforms={sepia:{type:"1f",value:1}},this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform float sepia;","uniform sampler2D uSampler;","const mat3 sepiaMatrix = mat3(0.3588, 0.7044, 0.1368, 0.2990, 0.5870, 0.1140, 0.2392, 0.4696, 0.0912);","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);"," gl_FragColor.rgb = mix( gl_FragColor.rgb, gl_FragColor.rgb * sepiaMatrix, sepia);","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{sepia:{get:function(){return this.uniforms.sepia.value},set:function(t){this.uniforms.sepia.value=t}}})},{"./AbstractFilter":56}],76:[function(t,e){function i(){r.call(this),this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","uniform sampler2D uSampler;","const vec2 delta = vec2(1.0/10.0, 0.0);","float random(vec3 scale, float seed) {"," return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);","}","void main(void) {"," vec4 color = vec4(0.0);"," float total = 0.0;"," float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);"," for (float t = -30.0; t <= 30.0; t++) {"," float percent = (t + offset - 0.5) / 30.0;"," float weight = 1.0 - abs(percent);"," vec4 sample = texture2D(uSampler, vTextureCoord + delta * percent);"," sample.rgb *= sample.a;"," color += sample * weight;"," total += weight;"," }"," gl_FragColor = color / total;"," gl_FragColor.rgb /= gl_FragColor.a + 0.00001;","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i},{"./AbstractFilter":56}],77:[function(t,e){function i(){r.call(this),this.tiltShiftXFilter=new n,this.tiltShiftYFilter=new s,this.tiltShiftXFilter.updateDelta(),this.tiltShiftXFilter.updateDelta(),this.passes=[this.tiltShiftXFilter,this.tiltShiftYFilter]}var r=t("./AbstractFilter"),n=t("./TiltShiftXFilter"),s=t("./TiltShiftYFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{blur:{get:function(){return this.tiltShiftXFilter.blur},set:function(t){this.tiltShiftXFilter.blur=this.tiltShiftYFilter.blur=t}},gradientBlur:{get:function(){return this.tiltShiftXFilter.gradientBlur},set:function(t){this.tiltShiftXFilter.gradientBlur=this.tiltShiftYFilter.gradientBlur=t}},start:{get:function(){return this.tiltShiftXFilter.start},set:function(t){this.tiltShiftXFilter.start=this.tiltShiftYFilter.start=t}},end:{get:function(){return this.tiltShiftXFilter.end},set:function(t){this.tiltShiftXFilter.end=this.tiltShiftYFilter.end=t}}})},{"./AbstractFilter":56,"./TiltShiftXFilter":78,"./TiltShiftYFilter":79}],78:[function(t,e){function i(){r.call(this),this.uniforms={blur:{type:"1f",value:100},gradientBlur:{type:"1f",value:600},start:{type:"2f",value:{x:0,y:window.screenHeight/2}},end:{type:"2f",value:{x:600,y:window.screenHeight/2}},delta:{type:"2f",value:{x:30,y:30}},texSize:{type:"2f",value:{x:window.screenWidth,y:window.screenHeight}}},this.updateDelta(),this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","uniform sampler2D uSampler;","uniform float blur;","uniform float gradientBlur;","uniform vec2 start;","uniform vec2 end;","uniform vec2 delta;","uniform vec2 texSize;","float random(vec3 scale, float seed) {"," return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);","}","void main(void) {"," vec4 color = vec4(0.0);"," float total = 0.0;"," float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);"," vec2 normal = normalize(vec2(start.y - end.y, end.x - start.x));"," float radius = smoothstep(0.0, 1.0, abs(dot(vTextureCoord * texSize - start, normal)) / gradientBlur) * blur;"," for (float t = -30.0; t <= 30.0; t++) {"," float percent = (t + offset - 0.5) / 30.0;"," float weight = 1.0 - abs(percent);"," vec4 sample = texture2D(uSampler, vTextureCoord + delta / texSize * percent * radius);"," sample.rgb *= sample.a;"," color += sample * weight;"," total += weight;"," }"," gl_FragColor = color / total;"," gl_FragColor.rgb /= gl_FragColor.a + 0.00001;","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.updateDelta=function(){var t=this.uniforms.end.value.x-this.uniforms.start.value.x,e=this.uniforms.end.value.y-this.uniforms.start.value.y,i=Math.sqrt(t*t+e*e);this.uniforms.delta.value.x=t/i,this.uniforms.delta.value.y=e/i},Object.defineProperties(i.prototype,{blur:{get:function(){return this.uniforms.blur.value},set:function(t){this.uniforms.blur.value=t}},gradientBlur:{get:function(){return this.uniforms.gradientBlur.value},set:function(t){this.uniforms.gradientBlur.value=t}},start:{get:function(){return this.uniforms.start.value},set:function(t){this.uniforms.start.value=t,this.updateDelta()}},end:{get:function(){return this.uniforms.end.value},set:function(t){this.uniforms.end.value=t,this.updateDelta()}}})},{"./AbstractFilter":56}],79:[function(t,e){function i(){r.call(this),this.uniforms={blur:{type:"1f",value:100},gradientBlur:{type:"1f",value:600},start:{type:"2f",value:{x:0,y:window.screenHeight/2}},end:{type:"2f",value:{x:600,y:window.screenHeight/2}},delta:{type:"2f",value:{x:30,y:30}},texSize:{type:"2f",value:{x:window.screenWidth,y:window.screenHeight}}},this.updateDelta(),this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","uniform sampler2D uSampler;","uniform float blur;","uniform float gradientBlur;","uniform vec2 start;","uniform vec2 end;","uniform vec2 delta;","uniform vec2 texSize;","float random(vec3 scale, float seed) {"," return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed);","}","void main(void) {"," vec4 color = vec4(0.0);"," float total = 0.0;"," float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0);"," vec2 normal = normalize(vec2(start.y - end.y, end.x - start.x));"," float radius = smoothstep(0.0, 1.0, abs(dot(vTextureCoord * texSize - start, normal)) / gradientBlur) * blur;"," for (float t = -30.0; t <= 30.0; t++) {"," float percent = (t + offset - 0.5) / 30.0;"," float weight = 1.0 - abs(percent);"," vec4 sample = texture2D(uSampler, vTextureCoord + delta / texSize * percent * radius);"," sample.rgb *= sample.a;"," color += sample * weight;"," total += weight;"," }"," gl_FragColor = color / total;"," gl_FragColor.rgb /= gl_FragColor.a + 0.00001;","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,i.prototype.updateDelta=function(){var t=this.uniforms.end.value.x-this.uniforms.start.value.x,e=this.uniforms.end.value.y-this.uniforms.start.value.y,i=Math.sqrt(t*t+e*e);this.uniforms.delta.value.x=-e/i,this.uniforms.delta.value.y=t/i},Object.defineProperties(i.prototype,{blur:{get:function(){return this.uniforms.blur.value},set:function(t){this.uniforms.blur.value=t}},gradientBlur:{get:function(){return this.uniforms.gradientBlur.value},set:function(t){this.uniforms.gradientBlur.value=t}},start:{get:function(){return this.uniforms.start.value},set:function(t){this.uniforms.start.value=t,this.updateDelta()}},end:{get:function(){return this.uniforms.end.value},set:function(t){this.uniforms.end.value=t,this.updateDelta()}}})},{"./AbstractFilter":56}],80:[function(t,e){function i(){r.call(this),this.uniforms={radius:{type:"1f",value:.5},angle:{type:"1f",value:5},offset:{type:"2f",value:{x:.5,y:.5}}},this.fragmentSrc=["precision mediump float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform float radius;","uniform float angle;","uniform vec2 offset;","uniform sampler2D uSampler;","void main(void) {"," vec2 coord = vTextureCoord - offset;"," float distance = length(coord);"," if (distance < radius) {"," float ratio = (radius - distance) / radius;"," float angleMod = ratio * ratio * angle;"," float s = sin(angleMod);"," float c = cos(angleMod);"," coord = vec2(coord.x * c - coord.y * s, coord.x * s + coord.y * c);"," }"," gl_FragColor = texture2D(uSampler, coord+offset);","}"]}var r=t("./AbstractFilter");i.prototype=Object.create(r.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{offset:{get:function(){return this.uniforms.offset.value},set:function(t){this.uniforms.offset.value=t}},radius:{get:function(){return this.uniforms.radius.value},set:function(t){this.uniforms.radius.value=t}},angle:{get:function(){return this.uniforms.angle.value},set:function(t){this.uniforms.angle.value=t}}})},{"./AbstractFilter":56}],81:[function(t,e){e.exports={AbstractFilter:t("./AbstractFilter"),AlphaMaskFilter:t("./AlphaMaskFilter"),AsciiFilter:t("./AsciiFilter"),BlurFilter:t("./BlurFilter"),BlurXFilter:t("./BlurXFilter"),BlurYFilter:t("./BlurYFilter"),ColorMatrixFilter:t("./ColorMatrixFilter"),ColorStepFilter:t("./ColorStepFilter"),ConvolutionFilter:t("./ConvolutionFilter"),CrossHatchFilter:t("./CrossHatchFilter"),DisplacementFilter:t("./DisplacementFilter"),DotScreenFilter:t("./DotScreenFilter"),FilterBlock:t("./FilterBlock"),GrayFilter:t("./GrayFilter"),InvertFilter:t("./InvertFilter"),NoiseFilter:t("./NoiseFilter"),NormalMapFilter:t("./NormalMapFilter"),PixelateFilter:t("./PixelateFilter"),RGBSplitFilter:t("./RGBSplitFilter"),SepiaFilter:t("./SepiaFilter"),SmartBlurFilter:t("./SmartBlurFilter"),TiltShiftFilter:t("./TiltShiftFilter"),TiltShiftXFilter:t("./TiltShiftXFilter"),TiltShiftYFilter:t("./TiltShiftYFilter"),TwistFilter:t("./TwistFilter")}},{"./AbstractFilter":56,"./AlphaMaskFilter":57,"./AsciiFilter":58,"./BlurFilter":59,"./BlurXFilter":60,"./BlurYFilter":61,"./ColorMatrixFilter":62,"./ColorStepFilter":63,"./ConvolutionFilter":64,"./CrossHatchFilter":65,"./DisplacementFilter":66,"./DotScreenFilter":67,"./FilterBlock":68,"./GrayFilter":69,"./InvertFilter":70,"./NoiseFilter":71,"./NormalMapFilter":72,"./PixelateFilter":73,"./RGBSplitFilter":74,"./SepiaFilter":75,"./SmartBlurFilter":76,"./TiltShiftFilter":77,"./TiltShiftXFilter":78,"./TiltShiftYFilter":79,"./TwistFilter":80}],82:[function(t,e){function i(){this.global=new r.math.Point,this.target=null,this.originalEvent=null}var r=t("../core");i.prototype.constructor=i,e.exports=i,i.prototype.getLocalPosition=function(t,e){var i=t.worldTransform,n=this.global,s=i.a,o=i.c,a=i.tx,h=i.b,l=i.d,u=i.ty,c=1/(s*l+o*-h);return e=e||new r.math.Point,e.x=l*c*n.x+-o*c*n.y+(u*o-a*l)*c,e.y=s*c*n.y+-h*c*n.x+(-u*s+a*h)*c,e}},{"../core":9}],83:[function(t,e){function i(t){this.stage=t,this.mouse=new n,this.touches={},this.tempPoint=new r.math.Point,this.mouseoverEnabled=!0,this.pool=[],this.interactiveItems=[],this.interactionDOMElement=null,this.eventsAdded=!1,this.onMouseMove=this.onMouseMove.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this.onMouseOut=this.onMouseOut.bind(this),this.onMouseUp=this.onMouseUp.bind(this),this.onTouchStart=this.onTouchStart.bind(this),this.onTouchEnd=this.onTouchEnd.bind(this),this.onTouchMove=this.onTouchMove.bind(this),this.last=0,this.currentCursorStyle="inherit",this.mouseOut=!1,this.resolution=1,this._tempPoint=new r.math.Point}var r=t("../core"),n=t("./InteractionData"),s=30,o=!0;i.prototype.constructor=i,e.exports=i,i.prototype.collectInteractiveSprite=function(t,e){for(var i=t.children,r=i.length,n=r-1;n>=0;n--){var s=i[n];s._interactive?(e.interactiveChildren=!0,this.interactiveItems.push(s),s.children.length>0&&this.collectInteractiveSprite(s,s)):(s.__iParent=null,s.children.length>0&&this.collectInteractiveSprite(s,e))}},i.prototype.setTargetElement=function(t,e){this.removeEvents(),this.interactionDOMElement=t,this.resolution=e||1,this.addEvents()},i.prototype.addEvents=function(){this.interactionDOMElement&&(window.navigator.msPointerEnabled&&(this.interactionDOMElement.style["-ms-content-zooming"]="none",this.interactionDOMElement.style["-ms-touch-action"]="none"),this.interactionDOMElement.addEventListener("mousemove",this.onMouseMove,!0),this.interactionDOMElement.addEventListener("mousedown",this.onMouseDown,!0),this.interactionDOMElement.addEventListener("mouseout",this.onMouseOut,!0),this.interactionDOMElement.addEventListener("touchstart",this.onTouchStart,!0),this.interactionDOMElement.addEventListener("touchend",this.onTouchEnd,!0),this.interactionDOMElement.addEventListener("touchmove",this.onTouchMove,!0),window.addEventListener("mouseup",this.onMouseUp,!0),this.eventsAdded=!0)},i.prototype.removeEvents=function(){this.interactionDOMElement&&(window.navigator.msPointerEnabled&&(this.interactionDOMElement.style["-ms-content-zooming"]="",this.interactionDOMElement.style["-ms-touch-action"]=""),this.interactionDOMElement.removeEventListener("mousemove",this.onMouseMove,!0),this.interactionDOMElement.removeEventListener("mousedown",this.onMouseDown,!0),this.interactionDOMElement.removeEventListener("mouseout",this.onMouseOut,!0),this.interactionDOMElement.removeEventListener("touchstart",this.onTouchStart,!0),this.interactionDOMElement.removeEventListener("touchend",this.onTouchEnd,!0),this.interactionDOMElement.removeEventListener("touchmove",this.onTouchMove,!0),this.interactionDOMElement=null,window.removeEventListener("mouseup",this.onMouseUp,!0),this.eventsAdded=!1)},i.prototype.update=function(){if(this.interactionDOMElement){var t=Date.now(),e=t-this.last;if(e=e*s/1e3,!(1>e)){this.last=t;var i=0;this.dirty&&this.rebuildInteractiveGraph();var r=this.interactiveItems.length,n="inherit",o=!1;for(i=0;r>i;i++){var a=this.interactiveItems[i];a.__hit=this.hitTest(a,this.mouse),this.mouse.target=a,a.__hit&&!o?(a.buttonMode&&(n=a.defaultCursor),a.interactiveChildren||(o=!0),a.__isOver||(a.mouseover&&a.mouseover(this.mouse),a.__isOver=!0)):a.__isOver&&(a.mouseout&&a.mouseout(this.mouse),a.__isOver=!1)}this.currentCursorStyle!==n&&(this.currentCursorStyle=n,this.interactionDOMElement.style.cursor=n)}}},i.prototype.rebuildInteractiveGraph=function(){this.dirty=!1;for(var t=this.interactiveItems.length,e=0;t>e;e++)this.interactiveItems[e].interactiveChildren=!1;this.interactiveItems.length=0,this.stage.interactive&&this.interactiveItems.push(this.stage),this.collectInteractiveSprite(this.stage,this.stage)},i.prototype.onMouseMove=function(t){this.dirty&&this.rebuildInteractiveGraph(),this.mouse.originalEvent=t;var e=this.interactionDOMElement.getBoundingClientRect();this.mouse.global.x=(t.clientX-e.left)*(this.interactionDOMElement.width/e.width)/this.resolution,this.mouse.global.y=(t.clientY-e.top)*(this.interactionDOMElement.height/e.height)/this.resolution;for(var i=this.interactiveItems.length,r=0;i>r;r++){var n=this.interactiveItems[r];n.mousemove&&n.mousemove(this.mouse)}},i.prototype.onMouseDown=function(t){this.dirty&&this.rebuildInteractiveGraph(),this.mouse.originalEvent=t,o&&this.mouse.originalEvent.preventDefault();for(var e=this.interactiveItems.length,i=this.mouse.originalEvent,r=2===i.button||3===i.which,n=r?"rightdown":"mousedown",s=r?"rightclick":"click",a=r?"__rightIsDown":"__mouseIsDown",h=r?"__isRightDown":"__isDown",l=0;e>l;l++){var u=this.interactiveItems[l];if((u[n]||u[s])&&(u[a]=!0,u.__hit=this.hitTest(u,this.mouse),u.__hit&&(u[n]&&u[n](this.mouse),u[h]=!0,!u.interactiveChildren)))break}},i.prototype.onMouseOut=function(t){this.dirty&&this.rebuildInteractiveGraph(),this.mouse.originalEvent=t;var e=this.interactiveItems.length; this.interactionDOMElement.style.cursor="inherit";for(var i=0;e>i;i++){var r=this.interactiveItems[i];r.__isOver&&(this.mouse.target=r,r.mouseout&&r.mouseout(this.mouse),r.__isOver=!1)}this.mouseOut=!0,this.mouse.global.x=-1e4,this.mouse.global.y=-1e4},i.prototype.onMouseUp=function(t){this.dirty&&this.rebuildInteractiveGraph(),this.mouse.originalEvent=t;for(var e=this.interactiveItems.length,i=!1,r=this.mouse.originalEvent,n=2===r.button||3===r.which,s=n?"rightup":"mouseup",o=n?"rightclick":"click",a=n?"rightupoutside":"mouseupoutside",h=n?"__isRightDown":"__isDown",l=0;e>l;l++){var u=this.interactiveItems[l];(u[o]||u[s]||u[a])&&(u.__hit=this.hitTest(u,this.mouse),u.__hit&&!i?(u[s]&&u[s](this.mouse),u[h]&&u[o]&&u[o](this.mouse),u.interactiveChildren||(i=!0)):u[h]&&u[a]&&u[a](this.mouse),u[h]=!1)}},i.prototype.hitTest=function(t,e){var i=e.global;if(!t.worldVisible)return!1;t.worldTransform.applyInverse(i,this._tempPoint);var n,s=this._tempPoint.x,o=this._tempPoint.y;if(e.target=t,t.hitArea&&t.hitArea.contains)return t.hitArea.contains(s,o);if(t instanceof r.Sprite){var a,h=t.texture.frame.width,l=t.texture.frame.height,u=-h*t.anchor.x;if(s>u&&u+h>s&&(a=-l*t.anchor.y,o>a&&a+l>o))return!0}else if(t instanceof r.Graphics){var c=t.graphicsData;for(n=0;n<c.length;n++){var d=c[n];if(d.fill&&d.shape&&d.shape.contains(s,o))return!0}}var f=t.children.length;for(n=0;f>n;n++){var p=t.children[n],v=this.hitTest(p,e);if(v)return e.target=t,!0}return!1},i.prototype.onTouchMove=function(t){this.dirty&&this.rebuildInteractiveGraph();var e,i=this.interactionDOMElement.getBoundingClientRect(),r=t.changedTouches,n=0;for(n=0;n<r.length;n++){var s=r[n];e=this.touches[s.identifier],e.originalEvent=t,e.global.x=(s.clientX-i.left)*(this.interactionDOMElement.width/i.width)/this.resolution,e.global.y=(s.clientY-i.top)*(this.interactionDOMElement.height/i.height)/this.resolution,!navigator.isCocoonJS||i.left||i.top||t.target.style.width||t.target.style.height||(e.global.x=s.clientX,e.global.y=s.clientY);for(var o=0;o<this.interactiveItems.length;o++){var a=this.interactiveItems[o];a.touchmove&&a.__touchData&&a.__touchData[s.identifier]&&a.touchmove(e)}}},i.prototype.onTouchStart=function(t){this.dirty&&this.rebuildInteractiveGraph();var e=this.interactionDOMElement.getBoundingClientRect();o&&t.preventDefault();for(var i=t.changedTouches,r=0;r<i.length;r++){var s=i[r],a=this.pool.pop();a||(a=new n),a.originalEvent=t,this.touches[s.identifier]=a,a.global.x=(s.clientX-e.left)*(this.interactionDOMElement.width/e.width)/this.resolution,a.global.y=(s.clientY-e.top)*(this.interactionDOMElement.height/e.height)/this.resolution,!navigator.isCocoonJS||e.left||e.top||t.target.style.width||t.target.style.height||(a.global.x=s.clientX,a.global.y=s.clientY);for(var h=this.interactiveItems.length,l=0;h>l;l++){var u=this.interactiveItems[l];if((u.touchstart||u.tap)&&(u.__hit=this.hitTest(u,a),u.__hit&&(u.touchstart&&u.touchstart(a),u.__isDown=!0,u.__touchData=u.__touchData||{},u.__touchData[s.identifier]=a,!u.interactiveChildren)))break}}},i.prototype.onTouchEnd=function(t){this.dirty&&this.rebuildInteractiveGraph();for(var e=this.interactionDOMElement.getBoundingClientRect(),i=t.changedTouches,r=0;r<i.length;r++){var n=i[r],s=this.touches[n.identifier],o=!1;s.global.x=(n.clientX-e.left)*(this.interactionDOMElement.width/e.width)/this.resolution,s.global.y=(n.clientY-e.top)*(this.interactionDOMElement.height/e.height)/this.resolution,!navigator.isCocoonJS||e.left||e.top||t.target.style.width||t.target.style.height||(s.global.x=n.clientX,s.global.y=n.clientY);for(var a=this.interactiveItems.length,h=0;a>h;h++){var l=this.interactiveItems[h];l.__touchData&&l.__touchData[n.identifier]&&(l.__hit=this.hitTest(l,l.__touchData[n.identifier]),s.originalEvent=t,(l.touchend||l.tap)&&(l.__hit&&!o?(l.touchend&&l.touchend(s),l.__isDown&&l.tap&&l.tap(s),l.interactiveChildren||(o=!0)):l.__isDown&&l.touchendoutside&&l.touchendoutside(s),l.__isDown=!1),l.__touchData[n.identifier]=null)}this.pool.push(s),this.touches[n.identifier]=null}}},{"../core":9,"./InteractionData":82}],84:[function(t,e){e.exports={InteractionData:t("./InteractionData"),InteractionManager:t("./InteractionManager")}},{"./InteractionData":82,"./InteractionManager":83}],85:[function(t,e){function i(t,e){this.url=t,this.baseUrl=t.replace(/[^\/]*$/,""),this.crossorigin=e,this.loaded=!1}var r=t("../core"),n=t("./ImageLoader");i.prototype.constructor=i,e.exports=i,r.utils.eventTarget.mixin(i.prototype),i.prototype.load=function(){this.ajaxRequest=new r.utils.AjaxRequest,this.ajaxRequest.onreadystatechange=this.onAtlasLoaded.bind(this),this.ajaxRequest.open("GET",this.url,!0),this.ajaxRequest.overrideMimeType&&this.ajaxRequest.overrideMimeType("application/json"),this.ajaxRequest.send(null)},i.prototype.onAtlasLoaded=function(){if(4===this.ajaxRequest.readyState)if(200===this.ajaxRequest.status||-1===window.location.href.indexOf("http")){this.atlas={meta:{image:[]},frames:[]};var t=this.ajaxRequest.responseText.split(/\r?\n/),e=-3,i=0,s=null,o=!1,a=0,h=0,l=this.onLoaded.bind(this);for(a=0;a<t.length;a++)if(t[a]=t[a].replace(/^\s+|\s+$/g,""),""===t[a]&&(o=a+1),t[a].length>0){if(o===a)this.atlas.meta.image.push(t[a]),i=this.atlas.meta.image.length-1,this.atlas.frames.push({}),e=-3;else if(e>0)if(e%7===1)null!=s&&(this.atlas.frames[i][s.name]=s),s={name:t[a],frame:{}};else{var u=t[a].split(" ");if(e%7===3)s.frame.x=Number(u[1].replace(",","")),s.frame.y=Number(u[2]);else if(e%7===4)s.frame.w=Number(u[1].replace(",","")),s.frame.h=Number(u[2]);else if(e%7===5){var c={x:0,y:0,w:Number(u[1].replace(",","")),h:Number(u[2])};c.w>s.frame.w||c.h>s.frame.h?(s.trimmed=!0,s.realSize=c):s.trimmed=!1}}e++}if(null!=s&&(this.atlas.frames[i][s.name]=s),this.atlas.meta.image.length>0){for(this.images=[],h=0;h<this.atlas.meta.image.length;h++){var d=this.baseUrl+this.atlas.meta.image[h],f=this.atlas.frames[h];this.images.push(new n(d,this.crossorigin));for(a in f){var p=f[a].frame;p&&(r.utils.TextureCache[a]=new r.Texture(this.images[h].texture.baseTexture,{x:p.x,y:p.y,width:p.w,height:p.h}),f[a].trimmed&&(r.utils.TextureCache[a].realSize=f[a].realSize,r.utils.TextureCache[a].trim.x=0,r.utils.TextureCache[a].trim.y=0))}}for(this.currentImageId=0,h=0;h<this.images.length;h++)this.images[h].on("loaded",l);this.images[this.currentImageId].load()}else this.onLoaded()}else this.onError()},i.prototype.onLoaded=function(){this.images.length-1>this.currentImageId?(this.currentImageId++,this.images[this.currentImageId].load()):(this.loaded=!0,this.emit("loaded",{content:this}))},i.prototype.onError=function(){this.emit("error",{content:this})}},{"../core":9,"./ImageLoader":87}],86:[function(t,e){function i(t,e){this.url=t,this.crossorigin=e,this.baseUrl=t.replace(/[^\/]*$/,""),this.texture=null}var r=t("../core"),n=t("./ImageLoader");i.prototype.constructor=i,e.exports=i,r.utils.eventTarget.mixin(i.prototype),i.prototype.load=function(){this.ajaxRequest=new r.utils.AjaxRequest,this.ajaxRequest.onreadystatechange=this.onXMLLoaded.bind(this),this.ajaxRequest.open("GET",this.url,!0),this.ajaxRequest.overrideMimeType&&this.ajaxRequest.overrideMimeType("application/xml"),this.ajaxRequest.send(null)},i.prototype.onXMLLoaded=function(){if(4===this.ajaxRequest.readyState&&(200===this.ajaxRequest.status||-1===window.location.protocol.indexOf("http"))){var t=this.ajaxRequest.responseXML;if(!t||/MSIE 9/i.test(navigator.userAgent)||navigator.isCocoonJS)if("function"==typeof window.DOMParser){var e=new DOMParser;t=e.parseFromString(this.ajaxRequest.responseText,"text/xml")}else{var i=document.createElement("div");i.innerHTML=this.ajaxRequest.responseText,t=i}var s=this.baseUrl+t.getElementsByTagName("page")[0].getAttribute("file"),o=new n(s,this.crossorigin);this.texture=o.texture.baseTexture;var a={},h=t.getElementsByTagName("info")[0],l=t.getElementsByTagName("common")[0];a.font=h.getAttribute("face"),a.size=parseInt(h.getAttribute("size"),10),a.lineHeight=parseInt(l.getAttribute("lineHeight"),10),a.chars={};for(var u=t.getElementsByTagName("char"),c=0;c<u.length;c++){var d=parseInt(u[c].getAttribute("id"),10),f=new r.math.Rectangle(parseInt(u[c].getAttribute("x"),10),parseInt(u[c].getAttribute("y"),10),parseInt(u[c].getAttribute("width"),10),parseInt(u[c].getAttribute("height"),10));a.chars[d]={xOffset:parseInt(u[c].getAttribute("xoffset"),10),yOffset:parseInt(u[c].getAttribute("yoffset"),10),xAdvance:parseInt(u[c].getAttribute("xadvance"),10),kerning:{},texture:r.utils.TextureCache[d]=new r.Texture(this.texture,f)}}var p=t.getElementsByTagName("kerning");for(c=0;c<p.length;c++){var v=parseInt(p[c].getAttribute("first"),10),m=parseInt(p[c].getAttribute("second"),10),g=parseInt(p[c].getAttribute("amount"),10);a.chars[m].kerning[v]=g}r.BitmapText.fonts[a.font]=a,o.addEventListener("loaded",this.onLoaded.bind(this)),o.load()}},i.prototype.onLoaded=function(){this.emit("loaded",{content:this})}},{"../core":9,"./ImageLoader":87}],87:[function(t,e){function i(t,e){this.texture=r.Texture.fromImage(t,e),this.frames=[]}var r=t("../core");i.prototype.constructor=i,e.exports=i,r.utils.eventTarget.mixin(i.prototype),i.prototype.load=function(){this.texture.baseTexture.hasLoaded?this.onLoaded():(this.texture.baseTexture.on("loaded",this.onLoaded.bind(this)),this.texture.baseTexture.on("error",this.onError.bind(this)))},i.prototype.onLoaded=function(){this.emit("loaded",{content:this})},i.prototype.onError=function(){this.emit("error",{content:this})},i.prototype.loadFramedSpriteSheet=function(t,e,i){this.frames=[];for(var n=Math.floor(this.texture.width/t),s=Math.floor(this.texture.height/e),o=0,a=0;s>a;++a)for(var h=0;n>h;++h,++o){var l=new r.Texture(this.texture.baseTexture,new r.math.Rectangle(h*t,a*e,t,e));this.frames.push(l),i&&(r.utils.TextureCache[i+"-"+o]=l)}this.load()}},{"../core":9}],88:[function(t,e){function i(t,e){this.url=t,this.crossorigin=e,this.baseUrl=t.replace(/[^\/]*$/,""),this.loaded=!1}var r=t("../core"),n=t("../spine/SpineRuntime"),s=t("./ImageLoader"),o=t("./SpineTextureLoader");i.prototype.constructor=i,e.exports=i,r.utils.eventTarget.mixin(i.prototype),i.prototype.load=function(){window.XDomainRequest&&this.crossorigin?(this.ajaxRequest=new window.XDomainRequest,this.ajaxRequest.timeout=3e3,this.ajaxRequest.onerror=this.onError.bind(this),this.ajaxRequest.ontimeout=this.onError.bind(this),this.ajaxRequest.onprogress=function(){},this.ajaxRequest.onload=this.onJSONLoaded.bind(this)):(this.ajaxRequest=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP"),this.ajaxRequest.onreadystatechange=this.onReadyStateChanged.bind(this)),this.ajaxRequest.open("GET",this.url,!0),this.ajaxRequest.send()},i.prototype.onReadyStateChanged=function(){4!==this.ajaxRequest.readyState||200!==this.ajaxRequest.status&&-1!==window.location.href.indexOf("http")||this.onJSONLoaded()},i.prototype.onJSONLoaded=function(){if(!this.ajaxRequest.responseText)return void this.onError();if(this.json=JSON.parse(this.ajaxRequest.responseText),this.json.frames){var t=this.baseUrl+this.json.meta.image,e=new s(t,this.crossorigin),a=this.json.frames;this.texture=e.texture.baseTexture,e.addEventListener("loaded",this.onLoaded.bind(this)),e.addEventListener("error",this.onError.bind(this));for(var h in a){var l=a[h].frame;if(l){var u=new r.math.Rectangle(l.x,l.y,l.w,l.h),c=u.clone(),d=null;if(a[h].trimmed){var f=a[h].sourceSize,p=a[h].spriteSourceSize;d=new r.math.Rectangle(p.x,p.y,f.w,f.h)}r.utils.TextureCache[h]=new r.Texture(this.texture,u,c,d)}}e.load()}else if(this.json.bones)if(r.utils.AnimCache[this.url])this.onLoaded();else{var v=this.url.substr(0,this.url.lastIndexOf("."))+".atlas",m=new i(v,this.crossorigin),g=this;m.onJSONLoaded=function(){if(!this.ajaxRequest.responseText)return void this.onError();var t=new o(this.url.substring(0,this.url.lastIndexOf("/"))),e=new n.Atlas(this.ajaxRequest.responseText,t),i=new n.AtlasAttachmentLoader(e),s=new n.SkeletonJson(i),a=s.readSkeletonData(g.json);r.utils.AnimCache[g.url]=a,g.spine=a,g.spineAtlas=e,g.spineAtlasLoader=m,t.loadingCount>0?t.addEventListener("loadedBaseTexture",function(t){t.content.content.loadingCount<=0&&g.onLoaded()}):g.onLoaded()},m.load()}else this.onLoaded()},i.prototype.onLoaded=function(){this.loaded=!0,this.dispatchEvent({type:"loaded",content:this})},i.prototype.onError=function(){this.dispatchEvent({type:"error",content:this})}},{"../core":9,"../spine/SpineRuntime":94,"./ImageLoader":87,"./SpineTextureLoader":90}],89:[function(t,e){function i(t,e){this.url=t,this.crossorigin=e,this.loaded=!1}var r=t("../core"),n=t("./JsonLoader");i.prototype.constructor=i,e.exports=i,r.utils.eventTarget.mixin(i.prototype),i.prototype.load=function(){var t=this,e=new n(this.url,this.crossorigin);e.on("loaded",function(e){t.json=e.data.content.json,t.onLoaded()}),e.load()},i.prototype.onLoaded=function(){this.loaded=!0,this.emit("loaded",{content:this})}},{"../core":9,"./JsonLoader":88}],90:[function(t,e){function i(t,e){this.basePath=t,this.crossorigin=e,this.loadingCount=0}var r=t("../core");i.prototype.constructor=i,e.exports=i,r.utils.eventTarget.mixin(i.prototype),i.prototype.load=function(t,e){if(t.rendererObject=r.BaseTexture.fromImage(this.basePath+"/"+e,this.crossorigin),!t.rendererObject.hasLoaded){var i=this;++i.loadingCount,t.rendererObject.addEventListener("loaded",function(){--i.loadingCount,i.dispatchEvent({type:"loadedBaseTexture",content:i})})}},i.prototype.unload=function(t){t.destroy(!0)}},{"../core":9}],91:[function(t,e){function i(t,e){this.url=t,this.crossorigin=e,this.baseUrl=t.replace(/[^\/]*$/,""),this.texture=null,this.frames={}}var r=t("../core"),n=t("./JsonLoader");i.prototype.constructor=i,e.exports=i,r.utils.eventTarget.mixin(i.prototype),i.prototype.load=function(){var t=this,e=new n(this.url,this.crossorigin);e.on("loaded",function(e){t.json=e.data.content.json,t.onLoaded()}),e.load()},i.prototype.onLoaded=function(){this.emit("loaded",{content:this})}},{"../core":9,"./JsonLoader":88}],92:[function(t,e){e.exports={AtlasLoader:t("./AtlasLoader"),BitmapFontLoader:t("./BitmapFontLoader"),ImageLoader:t("./ImageLoader"),JsonLoader:t("./JsonLoader"),SpineLoader:t("./SpineLoader"),SpriteSheetLoader:t("./SpriteSheetLoader")}},{"./AtlasLoader":85,"./BitmapFontLoader":86,"./ImageLoader":87,"./JsonLoader":88,"./SpineLoader":89,"./SpriteSheetLoader":91}],93:[function(t,e){function i(t){if(r.DisplayObjectContainer.call(this),this.spineData=r.utils.AnimCache[t],!this.spineData)throw new Error("Spine data must be preloaded using SpineLoader or AssetLoader: "+t);this.skeleton=new n.Skeleton(this.spineData),this.skeleton.updateWorldTransform(),this.stateData=new n.AnimationStateData(this.spineData),this.state=new n.AnimationState(this.stateData),this.slotContainers=[];for(var e=0,i=this.skeleton.drawOrder.length;i>e;e++){var s=this.skeleton.drawOrder[e],o=s.attachment,a=new r.DisplayObjectContainer;if(this.slotContainers.push(a),this.addChild(a),o instanceof n.RegionAttachment){var h=o.rendererObject.name,l=this.createSprite(s,o);s.currentSprite=l,s.currentSpriteName=h,a.addChild(l)}else{if(!(o instanceof n.MeshAttachment))continue;var u=this.createMesh(s,o);s.currentMesh=u,s.currentMeshName=o.name,a.addChild(u)}}this.autoUpdate=!0}var r=t("../core"),n=t("./SpineRuntime");n.Bone.yDown=!0,i.prototype=Object.create(r.DisplayObjectContainer.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{autoUpdate:{get:function(){return this.updateTransform===i.prototype.autoUpdateTransform},set:function(t){this.updateTransform=t?i.prototype.autoUpdateTransform:r.DisplayObjectContainer.prototype.updateTransform}}}),i.prototype.update=function(t){this.state.update(t),this.state.apply(this.skeleton),this.skeleton.updateWorldTransform();for(var e=this.skeleton.drawOrder,i=0,s=e.length;s>i;i++){var o=e[i],a=o.attachment,h=this.slotContainers[i];if(a){var l=a.type;if(l===n.AttachmentType.region){if(a.rendererObject&&(!o.currentSpriteName||o.currentSpriteName!==a.rendererObject.name)){var u=a.rendererObject.name;if(void 0!==o.currentSprite&&(o.currentSprite.visible=!1),o.sprites=o.sprites||{},void 0!==o.sprites[u])o.sprites[u].visible=!0;else{var c=this.createSprite(o,a);h.addChild(c)}o.currentSprite=o.sprites[u],o.currentSpriteName=u}var d=o.bone;h.position.x=d.worldX+a.x*d.m00+a.y*d.m01,h.position.y=d.worldY+a.x*d.m10+a.y*d.m11,h.scale.x=d.worldScaleX,h.scale.y=d.worldScaleY,h.rotation=-(o.bone.worldRotation*n.degRad),o.currentSprite.tint=r.utils.rgb2hex([o.r,o.g,o.b])}else{if(l!==n.AttachmentType.skinnedmesh){h.visible=!1;continue}if(!o.currentMeshName||o.currentMeshName!==a.name){var f=a.name;if(void 0!==o.currentMesh&&(o.currentMesh.visible=!1),o.meshes=o.meshes||{},void 0!==o.meshes[f])o.meshes[f].visible=!0;else{var p=this.createMesh(o,a);h.addChild(p)}o.currentMesh=o.meshes[f],o.currentMeshName=f}a.computeWorldVertices(o.bone.skeleton.x,o.bone.skeleton.y,o,o.currentMesh.vertices)}h.visible=!0,h.alpha=o.a}else h.visible=!1}},i.prototype.autoUpdateTransform=function(){this.lastTime=this.lastTime||Date.now();var t=.001*(Date.now()-this.lastTime);this.lastTime=Date.now(),this.update(t),r.DisplayObjectContainer.prototype.updateTransform.call(this)},i.prototype.createSprite=function(t,e){var i=e.rendererObject,s=i.page.rendererObject,o=new r.math.Rectangle(i.x,i.y,i.rotate?i.height:i.width,i.rotate?i.width:i.height),a=new r.Texture(s,o),h=new r.Sprite(a),l=i.rotate?.5*Math.PI:0;return h.scale.set(i.width/i.originalWidth,i.height/i.originalHeight),h.rotation=l-e.rotation*n.degRad,h.anchor.x=h.anchor.y=.5,t.sprites=t.sprites||{},t.sprites[i.name]=h,h},i.prototype.createMesh=function(t,e){var i=e.rendererObject,n=i.page.rendererObject,s=new r.Texture(n),o=new r.Strip(s);return o.drawMode=r.Strip.DrawModes.TRIANGLES,o.canvasPadding=1.5,o.vertices=new Float32Array(e.uvs.length),o.uvs=e.uvs,o.indices=e.triangles,t.meshes=t.meshes||{},t.meshes[e.name]=o,o}},{"../core":9,"./SpineRuntime":94}],94:[function(t,e){var i=e.exports={radDeg:180/Math.PI,degRad:Math.PI/180,temp:[],Float32Array:"undefined"==typeof Float32Array?Array:Float32Array,Uint16Array:"undefined"==typeof Uint16Array?Array:Uint16Array};i.BoneData=function(t,e){this.name=t,this.parent=e},i.BoneData.prototype={length:0,x:0,y:0,rotation:0,scaleX:1,scaleY:1,inheritScale:!0,inheritRotation:!0,flipX:!1,flipY:!1},i.SlotData=function(t,e){this.name=t,this.boneData=e},i.SlotData.prototype={r:1,g:1,b:1,a:1,attachmentName:null,additiveBlending:!1},i.IkConstraintData=function(t){this.name=t,this.bones=[]},i.IkConstraintData.prototype={target:null,bendDirection:1,mix:1},i.Bone=function(t,e,i){this.data=t,this.skeleton=e,this.parent=i,this.setToSetupPose()},i.Bone.yDown=!1,i.Bone.prototype={x:0,y:0,rotation:0,rotationIK:0,scaleX:1,scaleY:1,flipX:!1,flipY:!1,m00:0,m01:0,worldX:0,m10:0,m11:0,worldY:0,worldRotation:0,worldScaleX:1,worldScaleY:1,worldFlipX:!1,worldFlipY:!1,updateWorldTransform:function(){var t=this.parent;if(t)this.worldX=this.x*t.m00+this.y*t.m01+t.worldX,this.worldY=this.x*t.m10+this.y*t.m11+t.worldY,this.data.inheritScale?(this.worldScaleX=t.worldScaleX*this.scaleX,this.worldScaleY=t.worldScaleY*this.scaleY):(this.worldScaleX=this.scaleX,this.worldScaleY=this.scaleY),this.worldRotation=this.data.inheritRotation?t.worldRotation+this.rotationIK:this.rotationIK,this.worldFlipX=t.worldFlipX!=this.flipX,this.worldFlipY=t.worldFlipY!=this.flipY;else{var e=this.skeleton.flipX,r=this.skeleton.flipY;this.worldX=e?-this.x:this.x,this.worldY=r!=i.Bone.yDown?-this.y:this.y,this.worldScaleX=this.scaleX,this.worldScaleY=this.scaleY,this.worldRotation=this.rotationIK,this.worldFlipX=e!=this.flipX,this.worldFlipY=r!=this.flipY}var n=this.worldRotation*i.degRad,s=Math.cos(n),o=Math.sin(n);this.worldFlipX?(this.m00=-s*this.worldScaleX,this.m01=o*this.worldScaleY):(this.m00=s*this.worldScaleX,this.m01=-o*this.worldScaleY),this.worldFlipY!=i.Bone.yDown?(this.m10=-o*this.worldScaleX,this.m11=-s*this.worldScaleY):(this.m10=o*this.worldScaleX,this.m11=s*this.worldScaleY)},setToSetupPose:function(){var t=this.data;this.x=t.x,this.y=t.y,this.rotation=t.rotation,this.rotationIK=this.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this.flipX=t.flipX,this.flipY=t.flipY},worldToLocal:function(t){var e=t[0]-this.worldX,r=t[1]-this.worldY,n=this.m00,s=this.m10,o=this.m01,a=this.m11;this.worldFlipX!=(this.worldFlipY!=i.Bone.yDown)&&(n=-n,a=-a);var h=1/(n*a-o*s);t[0]=e*n*h-r*o*h,t[1]=r*a*h-e*s*h},localToWorld:function(t){var e=t[0],i=t[1];t[0]=e*this.m00+i*this.m01+this.worldX,t[1]=e*this.m10+i*this.m11+this.worldY}},i.Slot=function(t,e){this.data=t,this.bone=e,this.setToSetupPose()},i.Slot.prototype={r:1,g:1,b:1,a:1,_attachmentTime:0,attachment:null,attachmentVertices:[],setAttachment:function(t){this.attachment=t,this._attachmentTime=this.bone.skeleton.time,this.attachmentVertices.length=0},setAttachmentTime:function(t){this._attachmentTime=this.bone.skeleton.time-t},getAttachmentTime:function(){return this.bone.skeleton.time-this._attachmentTime},setToSetupPose:function(){var t=this.data;this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a;for(var e=this.bone.skeleton.data.slots,i=0,r=e.length;r>i;i++)if(e[i]==t){this.setAttachment(t.attachmentName?this.bone.skeleton.getAttachmentBySlotIndex(i,t.attachmentName):null);break}}},i.IkConstraint=function(t,e){this.data=t,this.mix=t.mix,this.bendDirection=t.bendDirection,this.bones=[];for(var i=0,r=t.bones.length;r>i;i++)this.bones.push(e.findBone(t.bones[i].name));this.target=e.findBone(t.target.name)},i.IkConstraint.prototype={apply:function(){var t=this.target,e=this.bones;switch(e.length){case 1:i.IkConstraint.apply1(e[0],t.worldX,t.worldY,this.mix);break;case 2:i.IkConstraint.apply2(e[0],e[1],t.worldX,t.worldY,this.bendDirection,this.mix)}}},i.IkConstraint.apply1=function(t,e,r,n){var s=t.data.inheritRotation&&t.parent?t.parent.worldRotation:0,o=t.rotation,a=Math.atan2(r-t.worldY,e-t.worldX)*i.radDeg-s;t.rotationIK=o+(a-o)*n},i.IkConstraint.apply2=function(t,e,r,n,s,o){var a=e.rotation,h=t.rotation;if(!o)return e.rotationIK=a,void(t.rotationIK=h);var l,u,c=i.temp,d=t.parent;d?(c[0]=r,c[1]=n,d.worldToLocal(c),r=(c[0]-t.x)*d.worldScaleX,n=(c[1]-t.y)*d.worldScaleY):(r-=t.x,n-=t.y),e.parent==t?(l=e.x,u=e.y):(c[0]=e.x,c[1]=e.y,e.parent.localToWorld(c),t.worldToLocal(c),l=c[0],u=c[1]);var f=l*t.worldScaleX,p=u*t.worldScaleY,v=Math.atan2(p,f),m=Math.sqrt(f*f+p*p),g=e.data.length*e.worldScaleX,x=2*m*g;if(1e-4>x)return void(e.rotationIK=a+(Math.atan2(n,r)*i.radDeg-h-a)*o);var y=(r*r+n*n-m*m-g*g)/x;-1>y?y=-1:y>1&&(y=1);var b=Math.acos(y)*s,T=m+g*y,w=g*Math.sin(b),S=Math.atan2(n*T-r*w,r*T+n*w),A=(S-v)*i.radDeg-h;A>180?A-=360:-180>A&&(A+=360),t.rotationIK=h+A*o,A=(b+v)*i.radDeg-a,A>180?A-=360:-180>A&&(A+=360),e.rotationIK=a+(A+t.worldRotation-e.parent.worldRotation)*o},i.Skin=function(t){this.name=t,this.attachments={}},i.Skin.prototype={addAttachment:function(t,e,i){this.attachments[t+":"+e]=i},getAttachment:function(t,e){return this.attachments[t+":"+e]},_attachAll:function(t,e){for(var i in e.attachments){var r=i.indexOf(":"),n=parseInt(i.substring(0,r)),s=i.substring(r+1),o=t.slots[n];if(o.attachment&&o.attachment.name==s){var a=this.getAttachment(n,s);a&&o.setAttachment(a)}}}},i.Animation=function(t,e,i){this.name=t,this.timelines=e,this.duration=i},i.Animation.prototype={apply:function(t,e,i,r,n){r&&0!=this.duration&&(i%=this.duration,e%=this.duration);for(var s=this.timelines,o=0,a=s.length;a>o;o++)s[o].apply(t,e,i,n,1)},mix:function(t,e,i,r,n,s){r&&0!=this.duration&&(i%=this.duration,e%=this.duration);for(var o=this.timelines,a=0,h=o.length;h>a;a++)o[a].apply(t,e,i,n,s)}},i.Animation.binarySearch=function(t,e,i){var r=0,n=Math.floor(t.length/i)-2;if(!n)return i;for(var s=n>>>1;;){if(t[(s+1)*i]<=e?r=s+1:n=s,r==n)return(r+1)*i;s=r+n>>>1}},i.Animation.binarySearch1=function(t,e){var i=0,r=t.length-2;if(!r)return 1;for(var n=r>>>1;;){if(t[n+1]<=e?i=n+1:r=n,i==r)return i+1;n=i+r>>>1}},i.Animation.linearSearch=function(t,e,i){for(var r=0,n=t.length-i;n>=r;r+=i)if(t[r]>e)return r;return-1},i.Curves=function(){this.curves=[]},i.Curves.prototype={setLinear:function(t){this.curves[19*t]=0},setStepped:function(t){this.curves[19*t]=1},setCurve:function(t,e,i,r,n){var s=.1,o=s*s,a=o*s,h=3*s,l=3*o,u=6*o,c=6*a,d=2*-e+r,f=2*-i+n,p=3*(e-r)+1,v=3*(i-n)+1,m=e*h+d*l+p*a,g=i*h+f*l+v*a,x=d*u+p*c,y=f*u+v*c,b=p*c,T=v*c,w=19*t,S=this.curves;S[w++]=2;for(var A=m,_=g,C=w+19-1;C>w;w+=2)S[w]=A,S[w+1]=_,m+=x,g+=y,x+=b,y+=T,A+=m,_+=g},getCurvePercent:function(t,e){e=0>e?0:e>1?1:e;var i=this.curves,r=19*t,n=i[r];if(0===n)return e;if(1==n)return 0;r++;for(var s=0,o=r,a=r+19-1;a>r;r+=2)if(s=i[r],s>=e){var h,l;return r==o?(h=0,l=0):(h=i[r-2],l=i[r-1]),l+(i[r+1]-l)*(e-h)/(s-h)}var u=i[r-1];return u+(1-u)*(e-s)/(1-s)}},i.RotateTimeline=function(t){this.curves=new i.Curves(t),this.frames=[],this.frames.length=2*t},i.RotateTimeline.prototype={boneIndex:0,getFrameCount:function(){return this.frames.length/2},setFrame:function(t,e,i){t*=2,this.frames[t]=e,this.frames[t+1]=i},apply:function(t,e,r,n,s){var o=this.frames;if(!(r<o[0])){var a=t.bones[this.boneIndex];if(r>=o[o.length-2]){for(var h=a.data.rotation+o[o.length-1]-a.rotation;h>180;)h-=360;for(;-180>h;)h+=360;return void(a.rotation+=h*s)}var l=i.Animation.binarySearch(o,r,2),u=o[l-1],c=o[l],d=1-(r-c)/(o[l-2]-c);d=this.curves.getCurvePercent(l/2-1,d);for(var h=o[l+1]-u;h>180;)h-=360;for(;-180>h;)h+=360;for(h=a.data.rotation+(u+h*d)-a.rotation;h>180;)h-=360;for(;-180>h;)h+=360;a.rotation+=h*s}}},i.TranslateTimeline=function(t){this.curves=new i.Curves(t),this.frames=[],this.frames.length=3*t},i.TranslateTimeline.prototype={boneIndex:0,getFrameCount:function(){return this.frames.length/3},setFrame:function(t,e,i,r){t*=3,this.frames[t]=e,this.frames[t+1]=i,this.frames[t+2]=r},apply:function(t,e,r,n,s){var o=this.frames;if(!(r<o[0])){var a=t.bones[this.boneIndex];if(r>=o[o.length-3])return a.x+=(a.data.x+o[o.length-2]-a.x)*s,void(a.y+=(a.data.y+o[o.length-1]-a.y)*s);var h=i.Animation.binarySearch(o,r,3),l=o[h-2],u=o[h-1],c=o[h],d=1-(r-c)/(o[h+-3]-c);d=this.curves.getCurvePercent(h/3-1,d),a.x+=(a.data.x+l+(o[h+1]-l)*d-a.x)*s,a.y+=(a.data.y+u+(o[h+2]-u)*d-a.y)*s}}},i.ScaleTimeline=function(t){this.curves=new i.Curves(t),this.frames=[],this.frames.length=3*t},i.ScaleTimeline.prototype={boneIndex:0,getFrameCount:function(){return this.frames.length/3},setFrame:function(t,e,i,r){t*=3,this.frames[t]=e,this.frames[t+1]=i,this.frames[t+2]=r},apply:function(t,e,r,n,s){var o=this.frames;if(!(r<o[0])){var a=t.bones[this.boneIndex];if(r>=o[o.length-3])return a.scaleX+=(a.data.scaleX*o[o.length-2]-a.scaleX)*s,void(a.scaleY+=(a.data.scaleY*o[o.length-1]-a.scaleY)*s);var h=i.Animation.binarySearch(o,r,3),l=o[h-2],u=o[h-1],c=o[h],d=1-(r-c)/(o[h+-3]-c);d=this.curves.getCurvePercent(h/3-1,d),a.scaleX+=(a.data.scaleX*(l+(o[h+1]-l)*d)-a.scaleX)*s,a.scaleY+=(a.data.scaleY*(u+(o[h+2]-u)*d)-a.scaleY)*s}}},i.ColorTimeline=function(t){this.curves=new i.Curves(t),this.frames=[],this.frames.length=5*t},i.ColorTimeline.prototype={slotIndex:0,getFrameCount:function(){return this.frames.length/5},setFrame:function(t,e,i,r,n,s){t*=5,this.frames[t]=e,this.frames[t+1]=i,this.frames[t+2]=r,this.frames[t+3]=n,this.frames[t+4]=s},apply:function(t,e,r,n,s){var o=this.frames;if(!(r<o[0])){var a,h,l,u;if(r>=o[o.length-5]){var c=o.length-1;a=o[c-3],h=o[c-2],l=o[c-1],u=o[c]}else{var d=i.Animation.binarySearch(o,r,5),f=o[d-4],p=o[d-3],v=o[d-2],m=o[d-1],g=o[d],x=1-(r-g)/(o[d-5]-g);x=this.curves.getCurvePercent(d/5-1,x),a=f+(o[d+1]-f)*x,h=p+(o[d+2]-p)*x,l=v+(o[d+3]-v)*x,u=m+(o[d+4]-m)*x}var y=t.slots[this.slotIndex];1>s?(y.r+=(a-y.r)*s,y.g+=(h-y.g)*s,y.b+=(l-y.b)*s,y.a+=(u-y.a)*s):(y.r=a,y.g=h,y.b=l,y.a=u)}}},i.AttachmentTimeline=function(t){this.curves=new i.Curves(t),this.frames=[],this.frames.length=t,this.attachmentNames=[],this.attachmentNames.length=t},i.AttachmentTimeline.prototype={slotIndex:0,getFrameCount:function(){return this.frames.length},setFrame:function(t,e,i){this.frames[t]=e,this.attachmentNames[t]=i},apply:function(t,e,r){var n=this.frames;if(r<n[0])return void(e>r&&this.apply(t,e,Number.MAX_VALUE,null,0));e>r&&(e=-1);var s=r>=n[n.length-1]?n.length-1:i.Animation.binarySearch1(n,r)-1;if(!(n[s]<e)){var o=this.attachmentNames[s];t.slots[this.slotIndex].setAttachment(o?t.getAttachmentBySlotIndex(this.slotIndex,o):null)}}},i.EventTimeline=function(t){this.frames=[],this.frames.length=t,this.events=[],this.events.length=t},i.EventTimeline.prototype={getFrameCount:function(){return this.frames.length},setFrame:function(t,e,i){this.frames[t]=e,this.events[t]=i},apply:function(t,e,r,n,s){if(n){var o=this.frames,a=o.length;if(e>r)this.apply(t,e,Number.MAX_VALUE,n,s),e=-1;else if(e>=o[a-1])return;if(!(r<o[0])){var h;if(e<o[0])h=0;else{h=i.Animation.binarySearch1(o,e);for(var l=o[h];h>0&&o[h-1]==l;)h--}for(var u=this.events;a>h&&r>=o[h];h++)n.push(u[h])}}}},i.DrawOrderTimeline=function(t){this.frames=[],this.frames.length=t,this.drawOrders=[],this.drawOrders.length=t},i.DrawOrderTimeline.prototype={getFrameCount:function(){return this.frames.length},setFrame:function(t,e,i){this.frames[t]=e,this.drawOrders[t]=i},apply:function(t,e,r){var n=this.frames;if(!(r<n[0])){var s;s=r>=n[n.length-1]?n.length-1:i.Animation.binarySearch1(n,r)-1;var o=t.drawOrder,a=t.slots,h=this.drawOrders[s];if(h)for(var l=0,u=h.length;u>l;l++)o[l]=t.slots[h[l]];else for(var l=0,u=a.length;u>l;l++)o[l]=a[l]}}},i.FfdTimeline=function(t){this.curves=new i.Curves(t),this.frames=[],this.frames.length=t,this.frameVertices=[],this.frameVertices.length=t},i.FfdTimeline.prototype={slotIndex:0,attachment:0,getFrameCount:function(){return this.frames.length},setFrame:function(t,e,i){this.frames[t]=e,this.frameVertices[t]=i},apply:function(t,e,r,n,s){var o=t.slots[this.slotIndex];if(o.attachment==this.attachment){var a=this.frames;if(!(r<a[0])){var h=this.frameVertices,l=h[0].length,u=o.attachmentVertices;if(u.length!=l&&(s=1),u.length=l,r>=a[a.length-1]){var c=h[a.length-1];if(1>s)for(var d=0;l>d;d++)u[d]+=(c[d]-u[d])*s;else for(var d=0;l>d;d++)u[d]=c[d]}else{var f=i.Animation.binarySearch1(a,r),p=a[f],v=1-(r-p)/(a[f-1]-p);v=this.curves.getCurvePercent(f-1,0>v?0:v>1?1:v);var m=h[f-1],g=h[f];if(1>s)for(var d=0;l>d;d++){var x=m[d];u[d]+=(x+(g[d]-x)*v-u[d])*s}else for(var d=0;l>d;d++){var x=m[d];u[d]=x+(g[d]-x)*v}}}}}},i.IkConstraintTimeline=function(t){this.curves=new i.Curves(t),this.frames=[],this.frames.length=3*t},i.IkConstraintTimeline.prototype={ikConstraintIndex:0,getFrameCount:function(){return this.frames.length/3},setFrame:function(t,e,i,r){t*=3,this.frames[t]=e,this.frames[t+1]=i,this.frames[t+2]=r},apply:function(t,e,r,n,s){var o=this.frames;if(!(r<o[0])){var a=t.ikConstraints[this.ikConstraintIndex];if(r>=o[o.length-3])return a.mix+=(o[o.length-2]-a.mix)*s,void(a.bendDirection=o[o.length-1]);var h=i.Animation.binarySearch(o,r,3),l=o[h+-2],u=o[h],c=1-(r-u)/(o[h+-3]-u);c=this.curves.getCurvePercent(h/3-1,c);var d=l+(o[h+1]-l)*c;a.mix+=(d-a.mix)*s,a.bendDirection=o[h+-1]}}},i.FlipXTimeline=function(t){this.curves=new i.Curves(t),this.frames=[],this.frames.length=2*t},i.FlipXTimeline.prototype={boneIndex:0,getFrameCount:function(){return this.frames.length/2},setFrame:function(t,e,i){t*=2,this.frames[t]=e,this.frames[t+1]=i?1:0},apply:function(t,e,r){var n=this.frames;if(r<n[0])return void(e>r&&this.apply(t,e,Number.MAX_VALUE,null,0));e>r&&(e=-1);var s=(r>=n[n.length-2]?n.length:i.Animation.binarySearch(n,r,2))-2;n[s]<e||(t.bones[boneIndex].flipX=0!=n[s+1])}},i.FlipYTimeline=function(t){this.curves=new i.Curves(t),this.frames=[],this.frames.length=2*t},i.FlipYTimeline.prototype={boneIndex:0,getFrameCount:function(){return this.frames.length/2},setFrame:function(t,e,i){t*=2,this.frames[t]=e,this.frames[t+1]=i?1:0},apply:function(t,e,r){var n=this.frames;if(r<n[0])return void(e>r&&this.apply(t,e,Number.MAX_VALUE,null,0));e>r&&(e=-1);var s=(r>=n[n.length-2]?n.length:i.Animation.binarySearch(n,r,2))-2;n[s]<e||(t.bones[boneIndex].flipY=0!=n[s+1]) }},i.SkeletonData=function(){this.bones=[],this.slots=[],this.skins=[],this.events=[],this.animations=[],this.ikConstraints=[]},i.SkeletonData.prototype={name:null,defaultSkin:null,width:0,height:0,version:null,hash:null,findBone:function(t){for(var e=this.bones,i=0,r=e.length;r>i;i++)if(e[i].name==t)return e[i];return null},findBoneIndex:function(t){for(var e=this.bones,i=0,r=e.length;r>i;i++)if(e[i].name==t)return i;return-1},findSlot:function(t){for(var e=this.slots,i=0,r=e.length;r>i;i++)if(e[i].name==t)return slot[i];return null},findSlotIndex:function(t){for(var e=this.slots,i=0,r=e.length;r>i;i++)if(e[i].name==t)return i;return-1},findSkin:function(t){for(var e=this.skins,i=0,r=e.length;r>i;i++)if(e[i].name==t)return e[i];return null},findEvent:function(t){for(var e=this.events,i=0,r=e.length;r>i;i++)if(e[i].name==t)return e[i];return null},findAnimation:function(t){for(var e=this.animations,i=0,r=e.length;r>i;i++)if(e[i].name==t)return e[i];return null},findIkConstraint:function(t){for(var e=this.ikConstraints,i=0,r=e.length;r>i;i++)if(e[i].name==t)return e[i];return null}},i.Skeleton=function(t){this.data=t,this.bones=[];for(var e=0,r=t.bones.length;r>e;e++){var n=t.bones[e],s=n.parent?this.bones[t.bones.indexOf(n.parent)]:null;this.bones.push(new i.Bone(n,this,s))}this.slots=[],this.drawOrder=[];for(var e=0,r=t.slots.length;r>e;e++){var o=t.slots[e],a=this.bones[t.bones.indexOf(o.boneData)],h=new i.Slot(o,a);this.slots.push(h),this.drawOrder.push(h)}this.ikConstraints=[];for(var e=0,r=t.ikConstraints.length;r>e;e++)this.ikConstraints.push(new i.IkConstraint(t.ikConstraints[e],this));this.boneCache=[],this.updateCache()},i.Skeleton.prototype={x:0,y:0,skin:null,r:1,g:1,b:1,a:1,time:0,flipX:!1,flipY:!1,updateCache:function(){var t=this.ikConstraints,e=t.length,i=e+1,r=this.boneCache;r.length>i&&(r.length=i);for(var n=0,s=r.length;s>n;n++)r[n].length=0;for(;r.length<i;)r[r.length]=[];var o=r[0],a=this.bones;t:for(var n=0,s=a.length;s>n;n++){var h=a[n],l=h;do{for(var u=0;e>u;u++)for(var c=t[u],d=c.bones[0],f=c.bones[c.bones.length-1];;){if(l==f){r[u].push(h),r[u+1].push(h);continue t}if(f==d)break;f=f.parent}l=l.parent}while(l);o[o.length]=h}},updateWorldTransform:function(){for(var t=this.bones,e=0,i=t.length;i>e;e++){var r=t[e];r.rotationIK=r.rotation}for(var e=0,n=this.boneCache.length-1;;){for(var s=this.boneCache[e],o=0,a=s.length;a>o;o++)s[o].updateWorldTransform();if(e==n)break;this.ikConstraints[e].apply(),e++}},setToSetupPose:function(){this.setBonesToSetupPose(),this.setSlotsToSetupPose()},setBonesToSetupPose:function(){for(var t=this.bones,e=0,i=t.length;i>e;e++)t[e].setToSetupPose();for(var r=this.ikConstraints,e=0,i=r.length;i>e;e++){var n=r[e];n.bendDirection=n.data.bendDirection,n.mix=n.data.mix}},setSlotsToSetupPose:function(){for(var t=this.slots,e=this.drawOrder,i=0,r=t.length;r>i;i++)e[i]=t[i],t[i].setToSetupPose(i)},getRootBone:function(){return this.bones.length?this.bones[0]:null},findBone:function(t){for(var e=this.bones,i=0,r=e.length;r>i;i++)if(e[i].data.name==t)return e[i];return null},findBoneIndex:function(t){for(var e=this.bones,i=0,r=e.length;r>i;i++)if(e[i].data.name==t)return i;return-1},findSlot:function(t){for(var e=this.slots,i=0,r=e.length;r>i;i++)if(e[i].data.name==t)return e[i];return null},findSlotIndex:function(t){for(var e=this.slots,i=0,r=e.length;r>i;i++)if(e[i].data.name==t)return i;return-1},setSkinByName:function(t){var e=this.data.findSkin(t);if(!e)throw"Skin not found: "+t;this.setSkin(e)},setSkin:function(t){if(t)if(this.skin)t._attachAll(this,this.skin);else for(var e=this.slots,i=0,r=e.length;r>i;i++){var n=e[i],s=n.data.attachmentName;if(s){var o=t.getAttachment(i,s);o&&n.setAttachment(o)}}this.skin=t},getAttachmentBySlotName:function(t,e){return this.getAttachmentBySlotIndex(this.data.findSlotIndex(t),e)},getAttachmentBySlotIndex:function(t,e){if(this.skin){var i=this.skin.getAttachment(t,e);if(i)return i}return this.data.defaultSkin?this.data.defaultSkin.getAttachment(t,e):null},setAttachment:function(t,e){for(var i=this.slots,r=0,n=i.length;n>r;r++){var s=i[r];if(s.data.name==t){var o=null;if(e&&(o=this.getAttachmentBySlotIndex(r,e),!o))throw"Attachment not found: "+e+", for slot: "+t;return void s.setAttachment(o)}}throw"Slot not found: "+t},findIkConstraint:function(t){for(var e=this.ikConstraints,i=0,r=e.length;r>i;i++)if(e[i].data.name==t)return e[i];return null},update:function(t){this.time+=t}},i.EventData=function(t){this.name=t},i.EventData.prototype={intValue:0,floatValue:0,stringValue:null},i.Event=function(t){this.data=t},i.Event.prototype={intValue:0,floatValue:0,stringValue:null},i.AttachmentType={region:0,boundingbox:1,mesh:2,skinnedmesh:3},i.RegionAttachment=function(t){this.name=t,this.offset=[],this.offset.length=8,this.uvs=[],this.uvs.length=8},i.RegionAttachment.prototype={type:i.AttachmentType.region,x:0,y:0,rotation:0,scaleX:1,scaleY:1,width:0,height:0,r:1,g:1,b:1,a:1,path:null,rendererObject:null,regionOffsetX:0,regionOffsetY:0,regionWidth:0,regionHeight:0,regionOriginalWidth:0,regionOriginalHeight:0,setUVs:function(t,e,i,r,n){var s=this.uvs;n?(s[2]=t,s[3]=r,s[4]=t,s[5]=e,s[6]=i,s[7]=e,s[0]=i,s[1]=r):(s[0]=t,s[1]=r,s[2]=t,s[3]=e,s[4]=i,s[5]=e,s[6]=i,s[7]=r)},updateOffset:function(){var t=this.width/this.regionOriginalWidth*this.scaleX,e=this.height/this.regionOriginalHeight*this.scaleY,r=-this.width/2*this.scaleX+this.regionOffsetX*t,n=-this.height/2*this.scaleY+this.regionOffsetY*e,s=r+this.regionWidth*t,o=n+this.regionHeight*e,a=this.rotation*i.degRad,h=Math.cos(a),l=Math.sin(a),u=r*h+this.x,c=r*l,d=n*h+this.y,f=n*l,p=s*h+this.x,v=s*l,m=o*h+this.y,g=o*l,x=this.offset;x[0]=u-f,x[1]=d+c,x[2]=u-g,x[3]=m+c,x[4]=p-g,x[5]=m+v,x[6]=p-f,x[7]=d+v},computeVertices:function(t,e,i,r){t+=i.worldX,e+=i.worldY;var n=i.m00,s=i.m01,o=i.m10,a=i.m11,h=this.offset;r[0]=h[0]*n+h[1]*s+t,r[1]=h[0]*o+h[1]*a+e,r[2]=h[2]*n+h[3]*s+t,r[3]=h[2]*o+h[3]*a+e,r[4]=h[4]*n+h[5]*s+t,r[5]=h[4]*o+h[5]*a+e,r[6]=h[6]*n+h[7]*s+t,r[7]=h[6]*o+h[7]*a+e}},i.MeshAttachment=function(t){this.name=t},i.MeshAttachment.prototype={type:i.AttachmentType.mesh,vertices:null,uvs:null,regionUVs:null,triangles:null,hullLength:0,r:1,g:1,b:1,a:1,path:null,rendererObject:null,regionU:0,regionV:0,regionU2:0,regionV2:0,regionRotate:!1,regionOffsetX:0,regionOffsetY:0,regionWidth:0,regionHeight:0,regionOriginalWidth:0,regionOriginalHeight:0,edges:null,width:0,height:0,updateUVs:function(){var t=this.regionU2-this.regionU,e=this.regionV2-this.regionV,r=this.regionUVs.length;if(this.uvs&&this.uvs.length==r||(this.uvs=new i.Float32Array(r)),this.regionRotate)for(var n=0;r>n;n+=2)this.uvs[n]=this.regionU+this.regionUVs[n+1]*t,this.uvs[n+1]=this.regionV+e-this.regionUVs[n]*e;else for(var n=0;r>n;n+=2)this.uvs[n]=this.regionU+this.regionUVs[n]*t,this.uvs[n+1]=this.regionV+this.regionUVs[n+1]*e},computeWorldVertices:function(t,e,i,r){var n=i.bone;t+=n.worldX,e+=n.worldY;var s=n.m00,o=n.m01,a=n.m10,h=n.m11,l=this.vertices,u=l.length;i.attachmentVertices.length==u&&(l=i.attachmentVertices);for(var c=0;u>c;c+=2){var d=l[c],f=l[c+1];r[c]=d*s+f*o+t,r[c+1]=d*a+f*h+e}}},i.SkinnedMeshAttachment=function(t){this.name=t},i.SkinnedMeshAttachment.prototype={type:i.AttachmentType.skinnedmesh,bones:null,weights:null,uvs:null,regionUVs:null,triangles:null,hullLength:0,r:1,g:1,b:1,a:1,path:null,rendererObject:null,regionU:0,regionV:0,regionU2:0,regionV2:0,regionRotate:!1,regionOffsetX:0,regionOffsetY:0,regionWidth:0,regionHeight:0,regionOriginalWidth:0,regionOriginalHeight:0,edges:null,width:0,height:0,updateUVs:function(){var t=this.regionU2-this.regionU,e=this.regionV2-this.regionV,r=this.regionUVs.length;if(this.uvs&&this.uvs.length==r||(this.uvs=new i.Float32Array(r)),this.regionRotate)for(var n=0;r>n;n+=2)this.uvs[n]=this.regionU+this.regionUVs[n+1]*t,this.uvs[n+1]=this.regionV+e-this.regionUVs[n]*e;else for(var n=0;r>n;n+=2)this.uvs[n]=this.regionU+this.regionUVs[n]*t,this.uvs[n+1]=this.regionV+this.regionUVs[n+1]*e},computeWorldVertices:function(t,e,i,r){var n,s,o,a,h,l,u,c=i.bone.skeleton.bones,d=this.weights,f=this.bones,p=0,v=0,m=0,g=0,x=f.length;if(i.attachmentVertices.length)for(var y=i.attachmentVertices;x>v;p+=2){for(s=0,o=0,n=f[v++]+v;n>v;v++,m+=3,g+=2)a=c[f[v]],h=d[m]+y[g],l=d[m+1]+y[g+1],u=d[m+2],s+=(h*a.m00+l*a.m01+a.worldX)*u,o+=(h*a.m10+l*a.m11+a.worldY)*u;r[p]=s+t,r[p+1]=o+e}else for(;x>v;p+=2){for(s=0,o=0,n=f[v++]+v;n>v;v++,m+=3)a=c[f[v]],h=d[m],l=d[m+1],u=d[m+2],s+=(h*a.m00+l*a.m01+a.worldX)*u,o+=(h*a.m10+l*a.m11+a.worldY)*u;r[p]=s+t,r[p+1]=o+e}}},i.BoundingBoxAttachment=function(t){this.name=t,this.vertices=[]},i.BoundingBoxAttachment.prototype={type:i.AttachmentType.boundingbox,computeWorldVertices:function(t,e,i,r){t+=i.worldX,e+=i.worldY;for(var n=i.m00,s=i.m01,o=i.m10,a=i.m11,h=this.vertices,l=0,u=h.length;u>l;l+=2){var c=h[l],d=h[l+1];r[l]=c*n+d*s+t,r[l+1]=c*o+d*a+e}}},i.AnimationStateData=function(t){this.skeletonData=t,this.animationToMixTime={}},i.AnimationStateData.prototype={defaultMix:0,setMixByName:function(t,e,i){var r=this.skeletonData.findAnimation(t);if(!r)throw"Animation not found: "+t;var n=this.skeletonData.findAnimation(e);if(!n)throw"Animation not found: "+e;this.setMix(r,n,i)},setMix:function(t,e,i){this.animationToMixTime[t.name+":"+e.name]=i},getMix:function(t,e){var i=t.name+":"+e.name;return this.animationToMixTime.hasOwnProperty(i)?this.animationToMixTime[i]:this.defaultMix}},i.TrackEntry=function(){},i.TrackEntry.prototype={next:null,previous:null,animation:null,loop:!1,delay:0,time:0,lastTime:-1,endTime:0,timeScale:1,mixTime:0,mixDuration:0,mix:1,onStart:null,onEnd:null,onComplete:null,onEvent:null},i.AnimationState=function(t){this.data=t,this.tracks=[],this.events=[]},i.AnimationState.prototype={onStart:null,onEnd:null,onComplete:null,onEvent:null,timeScale:1,update:function(t){t*=this.timeScale;for(var e=0;e<this.tracks.length;e++){var i=this.tracks[e];if(i){if(i.time+=t*i.timeScale,i.previous){var r=t*i.previous.timeScale;i.previous.time+=r,i.mixTime+=r}var n=i.next;n?(n.time=i.lastTime-n.delay,n.time>=0&&this.setCurrent(e,n)):!i.loop&&i.lastTime>=i.endTime&&this.clearTrack(e)}}},apply:function(t){for(var e=0;e<this.tracks.length;e++){var i=this.tracks[e];if(i){this.events.length=0;var r=i.time,n=i.lastTime,s=i.endTime,o=i.loop;!o&&r>s&&(r=s);var a=i.previous;if(a){var h=a.time;!a.loop&&h>a.endTime&&(h=a.endTime),a.animation.apply(t,h,h,a.loop,null);var l=i.mixTime/i.mixDuration*i.mix;l>=1&&(l=1,i.previous=null),i.animation.mix(t,i.lastTime,r,o,this.events,l)}else 1==i.mix?i.animation.apply(t,i.lastTime,r,o,this.events):i.animation.mix(t,i.lastTime,r,o,this.events,i.mix);for(var u=0,c=this.events.length;c>u;u++){var d=this.events[u];i.onEvent&&i.onEvent(e,d),this.onEvent&&this.onEvent(e,d)}if(o?n%s>r%s:s>n&&r>=s){var f=Math.floor(r/s);i.onComplete&&i.onComplete(e,f),this.onComplete&&this.onComplete(e,f)}i.lastTime=i.time}}},clearTracks:function(){for(var t=0,e=this.tracks.length;e>t;t++)this.clearTrack(t);this.tracks.length=0},clearTrack:function(t){if(!(t>=this.tracks.length)){var e=this.tracks[t];e&&(e.onEnd&&e.onEnd(t),this.onEnd&&this.onEnd(t),this.tracks[t]=null)}},_expandToIndex:function(t){if(t<this.tracks.length)return this.tracks[t];for(;t>=this.tracks.length;)this.tracks.push(null);return null},setCurrent:function(t,e){var i=this._expandToIndex(t);if(i){var r=i.previous;i.previous=null,i.onEnd&&i.onEnd(t),this.onEnd&&this.onEnd(t),e.mixDuration=this.data.getMix(i.animation,e.animation),e.mixDuration>0&&(e.mixTime=0,e.previous=r&&i.mixTime/i.mixDuration<.5?r:i)}this.tracks[t]=e,e.onStart&&e.onStart(t),this.onStart&&this.onStart(t)},setAnimationByName:function(t,e,i){var r=this.data.skeletonData.findAnimation(e);if(!r)throw"Animation not found: "+e;return this.setAnimation(t,r,i)},setAnimation:function(t,e,r){var n=new i.TrackEntry;return n.animation=e,n.loop=r,n.endTime=e.duration,this.setCurrent(t,n),n},addAnimationByName:function(t,e,i,r){var n=this.data.skeletonData.findAnimation(e);if(!n)throw"Animation not found: "+e;return this.addAnimation(t,n,i,r)},addAnimation:function(t,e,r,n){var s=new i.TrackEntry;s.animation=e,s.loop=r,s.endTime=e.duration;var o=this._expandToIndex(t);if(o){for(;o.next;)o=o.next;o.next=s}else this.tracks[t]=s;return 0>=n&&(o?n+=o.endTime-this.data.getMix(o.animation,e):n=0),s.delay=n,s},getCurrent:function(t){return t>=this.tracks.length?null:this.tracks[t]}},i.SkeletonJson=function(t){this.attachmentLoader=t},i.SkeletonJson.prototype={scale:1,readSkeletonData:function(t,e){var r=new i.SkeletonData;r.name=e;var n=t.skeleton;n&&(r.hash=n.hash,r.version=n.spine,r.width=n.width||0,r.height=n.height||0);for(var s=t.bones,o=0,a=s.length;a>o;o++){var h=s[o],l=null;if(h.parent&&(l=r.findBone(h.parent),!l))throw"Parent bone not found: "+h.parent;var u=new i.BoneData(h.name,l);u.length=(h.length||0)*this.scale,u.x=(h.x||0)*this.scale,u.y=(h.y||0)*this.scale,u.rotation=h.rotation||0,u.scaleX=h.hasOwnProperty("scaleX")?h.scaleX:1,u.scaleY=h.hasOwnProperty("scaleY")?h.scaleY:1,u.inheritScale=h.hasOwnProperty("inheritScale")?h.inheritScale:!0,u.inheritRotation=h.hasOwnProperty("inheritRotation")?h.inheritRotation:!0,r.bones.push(u)}var c=t.ik;if(c)for(var o=0,a=c.length;a>o;o++){for(var d=c[o],f=new i.IkConstraintData(d.name),s=d.bones,p=0,v=s.length;v>p;p++){var m=r.findBone(s[p]);if(!m)throw"IK bone not found: "+s[p];f.bones.push(m)}if(f.target=r.findBone(d.target),!f.target)throw"Target bone not found: "+d.target;f.bendDirection=!d.hasOwnProperty("bendPositive")||d.bendPositive?1:-1,f.mix=d.hasOwnProperty("mix")?d.mix:1,r.ikConstraints.push(f)}for(var g=t.slots,o=0,a=g.length;a>o;o++){var x=g[o],u=r.findBone(x.bone);if(!u)throw"Slot bone not found: "+x.bone;var y=new i.SlotData(x.name,u),b=x.color;b&&(y.r=this.toColor(b,0),y.g=this.toColor(b,1),y.b=this.toColor(b,2),y.a=this.toColor(b,3)),y.attachmentName=x.attachment,y.additiveBlending=x.additive&&"true"==x.additive,r.slots.push(y)}var T=t.skins;for(var w in T)if(T.hasOwnProperty(w)){var S=T[w],A=new i.Skin(w);for(var _ in S)if(S.hasOwnProperty(_)){var C=r.findSlotIndex(_),E=S[_];for(var R in E)if(E.hasOwnProperty(R)){var M=this.readAttachment(A,R,E[R]);M&&A.addAttachment(C,R,M)}}r.skins.push(A),"default"==A.name&&(r.defaultSkin=A)}var F=t.events;for(var B in F)if(F.hasOwnProperty(B)){var D=F[B],P=new i.EventData(B);P.intValue=D["int"]||0,P.floatValue=D["float"]||0,P.stringValue=D.string||null,r.events.push(P)}var L=t.animations;for(var O in L)L.hasOwnProperty(O)&&this.readAnimation(O,L[O],r);return r},readAttachment:function(t,e,r){e=r.name||e;var n=i.AttachmentType[r.type||"region"],s=r.path||e,o=this.scale;if(n==i.AttachmentType.region){var a=this.attachmentLoader.newRegionAttachment(t,e,s);if(!a)return null;a.path=s,a.x=(r.x||0)*o,a.y=(r.y||0)*o,a.scaleX=r.hasOwnProperty("scaleX")?r.scaleX:1,a.scaleY=r.hasOwnProperty("scaleY")?r.scaleY:1,a.rotation=r.rotation||0,a.width=(r.width||0)*o,a.height=(r.height||0)*o;var h=r.color;return h&&(a.r=this.toColor(h,0),a.g=this.toColor(h,1),a.b=this.toColor(h,2),a.a=this.toColor(h,3)),a.updateOffset(),a}if(n==i.AttachmentType.mesh){var l=this.attachmentLoader.newMeshAttachment(t,e,s);return l?(l.path=s,l.vertices=this.getFloatArray(r,"vertices",o),l.triangles=this.getIntArray(r,"triangles"),l.regionUVs=this.getFloatArray(r,"uvs",1),l.updateUVs(),h=r.color,h&&(l.r=this.toColor(h,0),l.g=this.toColor(h,1),l.b=this.toColor(h,2),l.a=this.toColor(h,3)),l.hullLength=2*(r.hull||0),r.edges&&(l.edges=this.getIntArray(r,"edges")),l.width=(r.width||0)*o,l.height=(r.height||0)*o,l):null}if(n==i.AttachmentType.skinnedmesh){var l=this.attachmentLoader.newSkinnedMeshAttachment(t,e,s);if(!l)return null;l.path=s;for(var u=this.getFloatArray(r,"uvs",1),c=this.getFloatArray(r,"vertices",1),d=[],f=[],p=0,v=c.length;v>p;){var m=0|c[p++];f[f.length]=m;for(var g=p+4*m;g>p;)f[f.length]=c[p],d[d.length]=c[p+1]*o,d[d.length]=c[p+2]*o,d[d.length]=c[p+3],p+=4}return l.bones=f,l.weights=d,l.triangles=this.getIntArray(r,"triangles"),l.regionUVs=u,l.updateUVs(),h=r.color,h&&(l.r=this.toColor(h,0),l.g=this.toColor(h,1),l.b=this.toColor(h,2),l.a=this.toColor(h,3)),l.hullLength=2*(r.hull||0),r.edges&&(l.edges=this.getIntArray(r,"edges")),l.width=(r.width||0)*o,l.height=(r.height||0)*o,l}if(n==i.AttachmentType.boundingbox){for(var x=this.attachmentLoader.newBoundingBoxAttachment(t,e),c=r.vertices,p=0,v=c.length;v>p;p++)x.vertices.push(c[p]*o);return x}throw"Unknown attachment type: "+n},readAnimation:function(t,e,r){var n=[],s=0,o=e.slots;for(var a in o)if(o.hasOwnProperty(a)){var h=o[a],l=r.findSlotIndex(a);for(var u in h)if(h.hasOwnProperty(u)){var c=h[u];if("color"==u){var d=new i.ColorTimeline(c.length);d.slotIndex=l;for(var f=0,p=0,v=c.length;v>p;p++){var m=c[p],g=m.color,x=this.toColor(g,0),y=this.toColor(g,1),b=this.toColor(g,2),T=this.toColor(g,3);d.setFrame(f,m.time,x,y,b,T),this.readCurve(d,f,m),f++}n.push(d),s=Math.max(s,d.frames[5*d.getFrameCount()-5])}else{if("attachment"!=u)throw"Invalid timeline type for a slot: "+u+" ("+a+")";var d=new i.AttachmentTimeline(c.length);d.slotIndex=l;for(var f=0,p=0,v=c.length;v>p;p++){var m=c[p];d.setFrame(f++,m.time,m.name)}n.push(d),s=Math.max(s,d.frames[d.getFrameCount()-1])}}}var w=e.bones;for(var S in w)if(w.hasOwnProperty(S)){var A=r.findBoneIndex(S);if(-1==A)throw"Bone not found: "+S;var _=w[S];for(var u in _)if(_.hasOwnProperty(u)){var c=_[u];if("rotate"==u){var d=new i.RotateTimeline(c.length);d.boneIndex=A;for(var f=0,p=0,v=c.length;v>p;p++){var m=c[p];d.setFrame(f,m.time,m.angle),this.readCurve(d,f,m),f++}n.push(d),s=Math.max(s,d.frames[2*d.getFrameCount()-2])}else if("translate"==u||"scale"==u){var d,C=1;"scale"==u?d=new i.ScaleTimeline(c.length):(d=new i.TranslateTimeline(c.length),C=this.scale),d.boneIndex=A;for(var f=0,p=0,v=c.length;v>p;p++){var m=c[p],E=(m.x||0)*C,R=(m.y||0)*C;d.setFrame(f,m.time,E,R),this.readCurve(d,f,m),f++}n.push(d),s=Math.max(s,d.frames[3*d.getFrameCount()-3])}else{if("flipX"!=u&&"flipY"!=u)throw"Invalid timeline type for a bone: "+u+" ("+S+")";var E="flipX"==u,d=E?new i.FlipXTimeline(c.length):new i.FlipYTimeline(c.length);d.boneIndex=A;for(var M=E?"x":"y",f=0,p=0,v=c.length;v>p;p++){var m=c[p];d.setFrame(f,m.time,m[M]||!1),f++}n.push(d),s=Math.max(s,d.frames[2*d.getFrameCount()-2])}}}var F=e.ik;for(var B in F)if(F.hasOwnProperty(B)){var D=r.findIkConstraint(B),c=F[B],d=new i.IkConstraintTimeline(c.length);d.ikConstraintIndex=r.ikConstraints.indexOf(D);for(var f=0,p=0,v=c.length;v>p;p++){var m=c[p],P=m.hasOwnProperty("mix")?m.mix:1,L=!m.hasOwnProperty("bendPositive")||m.bendPositive?1:-1;d.setFrame(f,m.time,P,L),this.readCurve(d,f,m),f++}n.push(d),s=Math.max(s,d.frames[3*d.frameCount-3])}var O=e.ffd;for(var I in O){var k=r.findSkin(I),h=O[I];for(a in h){var l=r.findSlotIndex(a),U=h[a];for(var N in U){var c=U[N],d=new i.FfdTimeline(c.length),j=k.getAttachment(l,N);if(!j)throw"FFD attachment not found: "+N;d.slotIndex=l,d.attachment=j;var Y,X=j.type==i.AttachmentType.mesh;Y=X?j.vertices.length:j.weights.length/3*2;for(var f=0,p=0,v=c.length;v>p;p++){var G,m=c[p];if(m.vertices){var W=m.vertices,G=[];G.length=Y;var V=m.offset||0,z=W.length;if(1==this.scale)for(var H=0;z>H;H++)G[H+V]=W[H];else for(var H=0;z>H;H++)G[H+V]=W[H]*this.scale;if(X)for(var q=j.vertices,H=0,z=G.length;z>H;H++)G[H]+=q[H]}else X?G=j.vertices:(G=[],G.length=Y);d.setFrame(f,m.time,G),this.readCurve(d,f,m),f++}n[n.length]=d,s=Math.max(s,d.frames[d.frameCount-1])}}}var K=e.drawOrder;if(K||(K=e.draworder),K){for(var d=new i.DrawOrderTimeline(K.length),J=r.slots.length,f=0,p=0,v=K.length;v>p;p++){var Q=K[p],$=null;if(Q.offsets){$=[],$.length=J;for(var H=J-1;H>=0;H--)$[H]=-1;var Z=Q.offsets,te=[];te.length=J-Z.length;for(var ee=0,ie=0,H=0,z=Z.length;z>H;H++){var re=Z[H],l=r.findSlotIndex(re.slot);if(-1==l)throw"Slot not found: "+re.slot;for(;ee!=l;)te[ie++]=ee++;$[ee+re.offset]=ee++}for(;J>ee;)te[ie++]=ee++;for(var H=J-1;H>=0;H--)-1==$[H]&&($[H]=te[--ie])}d.setFrame(f++,Q.time,$)}n.push(d),s=Math.max(s,d.frames[d.getFrameCount()-1])}var ne=e.events;if(ne){for(var d=new i.EventTimeline(ne.length),f=0,p=0,v=ne.length;v>p;p++){var se=ne[p],oe=r.findEvent(se.name);if(!oe)throw"Event not found: "+se.name;var ae=new i.Event(oe);ae.intValue=se.hasOwnProperty("int")?se["int"]:oe.intValue,ae.floatValue=se.hasOwnProperty("float")?se["float"]:oe.floatValue,ae.stringValue=se.hasOwnProperty("string")?se.string:oe.stringValue,d.setFrame(f++,se.time,ae)}n.push(d),s=Math.max(s,d.frames[d.getFrameCount()-1])}r.animations.push(new i.Animation(t,n,s))},readCurve:function(t,e,i){var r=i.curve;r?"stepped"==r?t.curves.setStepped(e):r instanceof Array&&t.curves.setCurve(e,r[0],r[1],r[2],r[3]):t.curves.setLinear(e)},toColor:function(t,e){if(8!=t.length)throw"Color hexidecimal length must be 8, recieved: "+t;return parseInt(t.substring(2*e,2*e+2),16)/255},getFloatArray:function(t,e,r){var n=t[e],s=new i.Float32Array(n.length),o=0,a=n.length;if(1==r)for(;a>o;o++)s[o]=n[o];else for(;a>o;o++)s[o]=n[o]*r;return s},getIntArray:function(t,e){for(var r=t[e],n=new i.Uint16Array(r.length),s=0,o=r.length;o>s;s++)n[s]=0|r[s];return n}},i.Atlas=function(t,e){this.textureLoader=e,this.pages=[],this.regions=[];var r=new i.AtlasReader(t),n=[];n.length=4;for(var s=null;;){var o=r.readLine();if(null===o)break;if(o=r.trim(o),o.length)if(s){var a=new i.AtlasRegion;a.name=o,a.page=s,a.rotate="true"==r.readValue(),r.readTuple(n);var h=parseInt(n[0]),l=parseInt(n[1]);r.readTuple(n);var u=parseInt(n[0]),c=parseInt(n[1]);a.u=h/s.width,a.v=l/s.height,a.rotate?(a.u2=(h+c)/s.width,a.v2=(l+u)/s.height):(a.u2=(h+u)/s.width,a.v2=(l+c)/s.height),a.x=h,a.y=l,a.width=Math.abs(u),a.height=Math.abs(c),4==r.readTuple(n)&&(a.splits=[parseInt(n[0]),parseInt(n[1]),parseInt(n[2]),parseInt(n[3])],4==r.readTuple(n)&&(a.pads=[parseInt(n[0]),parseInt(n[1]),parseInt(n[2]),parseInt(n[3])],r.readTuple(n))),a.originalWidth=parseInt(n[0]),a.originalHeight=parseInt(n[1]),r.readTuple(n),a.offsetX=parseInt(n[0]),a.offsetY=parseInt(n[1]),a.index=parseInt(r.readValue()),this.regions.push(a)}else{s=new i.AtlasPage,s.name=o,2==r.readTuple(n)&&(s.width=parseInt(n[0]),s.height=parseInt(n[1]),r.readTuple(n)),s.format=i.Atlas.Format[n[0]],r.readTuple(n),s.minFilter=i.Atlas.TextureFilter[n[0]],s.magFilter=i.Atlas.TextureFilter[n[1]];var d=r.readValue();s.uWrap=i.Atlas.TextureWrap.clampToEdge,s.vWrap=i.Atlas.TextureWrap.clampToEdge,"x"==d?s.uWrap=i.Atlas.TextureWrap.repeat:"y"==d?s.vWrap=i.Atlas.TextureWrap.repeat:"xy"==d&&(s.uWrap=s.vWrap=i.Atlas.TextureWrap.repeat),e.load(s,o,this),this.pages.push(s)}else s=null}},i.Atlas.prototype={findRegion:function(t){for(var e=this.regions,i=0,r=e.length;r>i;i++)if(e[i].name==t)return e[i];return null},dispose:function(){for(var t=this.pages,e=0,i=t.length;i>e;e++)this.textureLoader.unload(t[e].rendererObject)},updateUVs:function(t){for(var e=this.regions,i=0,r=e.length;r>i;i++){var n=e[i];n.page==t&&(n.u=n.x/t.width,n.v=n.y/t.height,n.rotate?(n.u2=(n.x+n.height)/t.width,n.v2=(n.y+n.width)/t.height):(n.u2=(n.x+n.width)/t.width,n.v2=(n.y+n.height)/t.height))}}},i.Atlas.Format={alpha:0,intensity:1,luminanceAlpha:2,rgb565:3,rgba4444:4,rgb888:5,rgba8888:6},i.Atlas.TextureFilter={nearest:0,linear:1,mipMap:2,mipMapNearestNearest:3,mipMapLinearNearest:4,mipMapNearestLinear:5,mipMapLinearLinear:6},i.Atlas.TextureWrap={mirroredRepeat:0,clampToEdge:1,repeat:2},i.AtlasPage=function(){},i.AtlasPage.prototype={name:null,format:null,minFilter:null,magFilter:null,uWrap:null,vWrap:null,rendererObject:null,width:0,height:0},i.AtlasRegion=function(){},i.AtlasRegion.prototype={page:null,name:null,x:0,y:0,width:0,height:0,u:0,v:0,u2:0,v2:0,offsetX:0,offsetY:0,originalWidth:0,originalHeight:0,index:0,rotate:!1,splits:null,pads:null},i.AtlasReader=function(t){this.lines=t.split(/\r\n|\r|\n/)},i.AtlasReader.prototype={index:0,trim:function(t){return t.replace(/^\s+|\s+$/g,"")},readLine:function(){return this.index>=this.lines.length?null:this.lines[this.index++]},readValue:function(){var t=this.readLine(),e=t.indexOf(":");if(-1==e)throw"Invalid line: "+t;return this.trim(t.substring(e+1))},readTuple:function(t){var e=this.readLine(),i=e.indexOf(":");if(-1==i)throw"Invalid line: "+e;for(var r=0,n=i+1;3>r;r++){var s=e.indexOf(",",n);if(-1==s)break;t[r]=this.trim(e.substr(n,s-n)),n=s+1}return t[r]=this.trim(e.substring(n)),r+1}},i.AtlasAttachmentLoader=function(t){this.atlas=t},i.AtlasAttachmentLoader.prototype={newRegionAttachment:function(t,e,r){var n=this.atlas.findRegion(r);if(!n)throw"Region not found in atlas: "+r+" (region attachment: "+e+")";var s=new i.RegionAttachment(e);return s.rendererObject=n,s.setUVs(n.u,n.v,n.u2,n.v2,n.rotate),s.regionOffsetX=n.offsetX,s.regionOffsetY=n.offsetY,s.regionWidth=n.width,s.regionHeight=n.height,s.regionOriginalWidth=n.originalWidth,s.regionOriginalHeight=n.originalHeight,s},newMeshAttachment:function(t,e,r){var n=this.atlas.findRegion(r);if(!n)throw"Region not found in atlas: "+r+" (mesh attachment: "+e+")";var s=new i.MeshAttachment(e);return s.rendererObject=n,s.regionU=n.u,s.regionV=n.v,s.regionU2=n.u2,s.regionV2=n.v2,s.regionRotate=n.rotate,s.regionOffsetX=n.offsetX,s.regionOffsetY=n.offsetY,s.regionWidth=n.width,s.regionHeight=n.height,s.regionOriginalWidth=n.originalWidth,s.regionOriginalHeight=n.originalHeight,s},newSkinnedMeshAttachment:function(t,e,r){var n=this.atlas.findRegion(r);if(!n)throw"Region not found in atlas: "+r+" (skinned mesh attachment: "+e+")";var s=new i.SkinnedMeshAttachment(e);return s.rendererObject=n,s.regionU=n.u,s.regionV=n.v,s.regionU2=n.u2,s.regionV2=n.v2,s.regionRotate=n.rotate,s.regionOffsetX=n.offsetX,s.regionOffsetY=n.offsetY,s.regionWidth=n.width,s.regionHeight=n.height,s.regionOriginalWidth=n.originalWidth,s.regionOriginalHeight=n.originalHeight,s},newBoundingBoxAttachment:function(t,e){return new i.BoundingBoxAttachment(e)}},i.SkeletonBounds=function(){this.polygonPool=[],this.polygons=[],this.boundingBoxes=[]},i.SkeletonBounds.prototype={minX:0,minY:0,maxX:0,maxY:0,update:function(t,e){var r=t.slots,n=r.length,s=t.x,o=t.y,a=this.boundingBoxes,h=this.polygonPool,l=this.polygons;a.length=0;for(var u=0,c=l.length;c>u;u++)h.push(l[u]);l.length=0;for(var u=0;n>u;u++){var d=r[u],f=d.attachment;if(f.type==i.AttachmentType.boundingbox){a.push(f);var p,v=h.length;v>0?(p=h[v-1],h.splice(v-1,1)):p=[],l.push(p),p.length=f.vertices.length,f.computeWorldVertices(s,o,d.bone,p)}}e&&this.aabbCompute()},aabbCompute:function(){for(var t=this.polygons,e=Number.MAX_VALUE,i=Number.MAX_VALUE,r=Number.MIN_VALUE,n=Number.MIN_VALUE,s=0,o=t.length;o>s;s++)for(var a=t[s],h=0,l=a.length;l>h;h+=2){var u=a[h],c=a[h+1];e=Math.min(e,u),i=Math.min(i,c),r=Math.max(r,u),n=Math.max(n,c)}this.minX=e,this.minY=i,this.maxX=r,this.maxY=n},aabbContainsPoint:function(t,e){return t>=this.minX&&t<=this.maxX&&e>=this.minY&&e<=this.maxY},aabbIntersectsSegment:function(t,e,i,r){var n=this.minX,s=this.minY,o=this.maxX,a=this.maxY;if(n>=t&&n>=i||s>=e&&s>=r||t>=o&&i>=o||e>=a&&r>=a)return!1;var h=(r-e)/(i-t),l=h*(n-t)+e;if(l>s&&a>l)return!0;if(l=h*(o-t)+e,l>s&&a>l)return!0;var u=(s-e)/h+t;return u>n&&o>u?!0:(u=(a-e)/h+t,u>n&&o>u?!0:!1)},aabbIntersectsSkeleton:function(t){return this.minX<t.maxX&&this.maxX>t.minX&&this.minY<t.maxY&&this.maxY>t.minY},containsPoint:function(t,e){for(var i=this.polygons,r=0,n=i.length;n>r;r++)if(this.polygonContainsPoint(i[r],t,e))return this.boundingBoxes[r];return null},intersectsSegment:function(t,e,i,r){for(var n=this.polygons,s=0,o=n.length;o>s;s++)if(n[s].intersectsSegment(t,e,i,r))return this.boundingBoxes[s];return null},polygonContainsPoint:function(t,e,i){for(var r=t.length,n=r-2,s=!1,o=0;r>o;o+=2){var a=t[o+1],h=t[n+1];if(i>a&&h>=i||i>h&&a>=i){var l=t[o];l+(i-a)/(h-a)*(t[n]-l)<e&&(s=!s)}n=o}return s},polygonIntersectsSegment:function(t,e,i,r,n){for(var s=t.length,o=e-r,a=i-n,h=e*n-i*r,l=t[s-2],u=t[s-1],c=0;s>c;c+=2){var d=t[c],f=t[c+1],p=l*f-u*d,v=l-d,m=u-f,g=o*m-a*v,x=(h*v-o*p)/g;if((x>=l&&d>=x||x>=d&&l>=x)&&(x>=e&&r>=x||x>=r&&e>=x)){var y=(h*m-a*p)/g;if((y>=u&&f>=y||y>=f&&u>=y)&&(y>=i&&n>=y||y>=n&&i>=y))return!0}l=d,u=f}return!1},getPolygon:function(t){var e=this.boundingBoxes.indexOf(t);return-1==e?null:this.polygons[e]},getWidth:function(){return this.maxX-this.minX},getHeight:function(){return this.maxY-this.minY}}},{}],95:[function(t,e){e.exports={Spine:t("./Spine")}},{"./Spine":93}],96:[function(t,e){function i(t,e){r.DisplayObjectContainer.call(this),this.textWidth=0,this.textHeight=0,this._pool=[],this._style={tint:e.tint,align:e.align,fontName:null,fontSize:0},this.font=e.font,this._text=t,this.dirty=!1,this.updateText()}var r=t("../core");i.prototype=Object.create(r.DisplayObjectContainer.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{tint:{get:function(){return this._style.tint},set:function(t){this._style.tint="number"==typeof t&&t>=0?t:16777215,this.dirty=!0}},align:{get:function(){return this._style.align},set:function(t){this._style.align=t,this.dirty=!0}},font:{get:function(){return this._style.font},set:function(t){t=t.split(" "),this._style.fontName=t[t.length-1],this._style.fontSize=t.length>=2?parseInt(t[t.length-2],10):i.fonts[this.fontName].size,this.dirty=!0}},text:{get:function(){return this._text},set:function(t){this._text=t,this.dirty=!0}}}),i.prototype.updateText=function(){for(var t=i.fonts[this.fontName],e=new r.math.Point,n=null,s=[],o=0,a=[],h=0,l=this.fontSize/t.size,u=0;u<this.text.length;u++){var c=this.text.charCodeAt(u);if(/(?:\r\n|\r|\n)/.test(this.text.charAt(u)))a.push(e.x),o=Math.max(o,e.x),h++,e.x=0,e.y+=t.lineHeight,n=null;else{var d=t.chars[c];d&&(n&&d.kerning[n]&&(e.x+=d.kerning[n]),s.push({texture:d.texture,line:h,charCode:c,position:new r.math.Point(e.x+d.xOffset,e.y+d.yOffset)}),e.x+=d.xAdvance,n=c)}}a.push(e.x),o=Math.max(o,e.x);var f=[];for(u=0;h>=u;u++){var p=0;"right"===this.style.align?p=o-a[u]:"center"===this.style.align&&(p=(o-a[u])/2),f.push(p)}var v=this.children.length,m=s.length,g=this.tint;for(u=0;m>u;u++){var x=v>u?this.children[u]:this._pool.pop();x?x.setTexture(s[u].texture):x=new r.Sprite(s[u].texture),x.position.x=(s[u].position.x+f[s[u].line])*l,x.position.y=s[u].position.y*l,x.scale.x=x.scale.y=l,x.tint=g,x.parent||this.addChild(x)}for(;this.children.length>m;){var y=this.getChildAt(this.children.length-1);this._pool.push(y),this.removeChild(y)}this.textWidth=o*l,this.textHeight=(e.y+t.lineHeight)*l},i.prototype.updateTransform=function(){this.dirty&&(this.updateText(),this.dirty=!1),this.displayObjectContainerUpdateTransform()},i.fonts={}},{"../core":9}],97:[function(t,e){function i(t,e){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.resolution=1,r.Sprite.call(this,r.Texture.fromCanvas(this.canvas)),this.setText(t),this.setStyle(e)}var r=t("../core");i.prototype=Object.create(r.Sprite.prototype),i.prototype.constructor=i,e.exports=i,Object.defineProperties(i.prototype,{width:{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*this.texture.frame.width},set:function(t){this.scale.x=t/this.texture.frame.width,this._width=t}},height:{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*this.texture.frame.height},set:function(t){this.scale.y=t/this.texture.frame.height,this._height=t}}}),i.prototype.setStyle=function(t){t=t||{},t.font=t.font||"bold 20pt Arial",t.fill=t.fill||"black",t.align=t.align||"left",t.stroke=t.stroke||"black",t.strokeThickness=t.strokeThickness||0,t.wordWrap=t.wordWrap||!1,t.wordWrapWidth=t.wordWrapWidth||100,t.dropShadow=t.dropShadow||!1,t.dropShadowAngle=t.dropShadowAngle||Math.PI/6,t.dropShadowDistance=t.dropShadowDistance||4,t.dropShadowColor=t.dropShadowColor||"black",this.style=t,this.dirty=!0},i.prototype.setText=function(t){this.text=t.toString()||" ",this.dirty=!0},i.prototype.updateText=function(){this.texture.baseTexture.resolution=this.resolution,this.context.font=this.style.font;var t=this.text;this.style.wordWrap&&(t=this.wordWrap(this.text));for(var e=t.split(/(?:\r\n|\r|\n)/),i=[],r=0,n=this.determineFontProperties(this.style.font),s=0;s<e.length;s++){var o=this.context.measureText(e[s]).width; i[s]=o,r=Math.max(r,o)}var a=r+this.style.strokeThickness;this.style.dropShadow&&(a+=this.style.dropShadowDistance),this.canvas.width=(a+this.context.lineWidth)*this.resolution;var h=n.fontSize+this.style.strokeThickness,l=h*e.length;this.style.dropShadow&&(l+=this.style.dropShadowDistance),this.canvas.height=l*this.resolution,this.context.scale(this.resolution,this.resolution),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.lineWidth=this.style.strokeThickness,this.context.textBaseline="alphabetic";var u,c;if(this.style.dropShadow){this.context.fillStyle=this.style.dropShadowColor;var d=Math.cos(this.style.dropShadowAngle)*this.style.dropShadowDistance,f=Math.sin(this.style.dropShadowAngle)*this.style.dropShadowDistance;for(s=0;s<e.length;s++)u=this.style.strokeThickness/2,c=this.style.strokeThickness/2+s*h+n.ascent,"right"===this.style.align?u+=r-i[s]:"center"===this.style.align&&(u+=(r-i[s])/2),this.style.fill&&this.context.fillText(e[s],u+d,c+f)}for(this.context.fillStyle=this.style.fill,s=0;s<e.length;s++)u=this.style.strokeThickness/2,c=this.style.strokeThickness/2+s*h+n.ascent,"right"===this.style.align?u+=r-i[s]:"center"===this.style.align&&(u+=(r-i[s])/2),this.style.stroke&&this.style.strokeThickness&&this.context.strokeText(e[s],u,c),this.style.fill&&this.context.fillText(e[s],u,c);this.updateTexture()},i.prototype.updateTexture=function(){this.texture.baseTexture.width=this.canvas.width,this.texture.baseTexture.height=this.canvas.height,this.texture.crop.width=this.texture.frame.width=this.canvas.width,this.texture.crop.height=this.texture.frame.height=this.canvas.height,this._width=this.canvas.width,this._height=this.canvas.height,this.texture.baseTexture.dirty()},i.prototype.renderWebGL=function(t){this.dirty&&(this.resolution=t.resolution,this.updateText(),this.dirty=!1),r.Sprite.prototype.renderWebGL.call(this,t)},i.prototype.renderCanvas=function(t){this.dirty&&(this.resolution=t.resolution,this.updateText(),this.dirty=!1),r.Sprite.prototype.renderCanvas.call(this,t)},i.prototype.determineFontProperties=function(t){var e=i.fontPropertiesCache[t];if(!e){e={};var r=i.fontPropertiesCanvas,n=i.fontPropertiesContext;n.font=t;var s=Math.ceil(n.measureText("|Mq").width),o=Math.ceil(n.measureText("M").width),a=2*o;o=1.4*o|0,r.width=s,r.height=a,n.fillStyle="#f00",n.fillRect(0,0,s,a),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText("|MÉq",0,o);var h,l,u=n.getImageData(0,0,s,a).data,c=u.length,d=4*s,f=0,p=!1;for(h=0;o>h;h++){for(l=0;d>l;l+=4)if(255!==u[f+l]){p=!0;break}if(p)break;f+=d}for(e.ascent=o-h,f=c-d,p=!1,h=a;h>o;h--){for(l=0;d>l;l+=4)if(255!==u[f+l]){p=!0;break}if(p)break;f-=d}e.descent=h-o,e.descent+=6,e.fontSize=e.ascent+e.descent,i.fontPropertiesCache[t]=e}return e},i.prototype.wordWrap=function(t){for(var e="",i=t.split("\n"),r=0;r<i.length;r++){for(var n=this.style.wordWrapWidth,s=i[r].split(" "),o=0;o<s.length;o++){var a=this.context.measureText(s[o]).width,h=a+this.context.measureText(" ").width;0===o||h>n?(o>0&&(e+="\n"),e+=s[o],n=this.style.wordWrapWidth-a):(n-=h,e+=" "+s[o])}r<i.length-1&&(e+="\n")}return e},i.prototype.getBounds=function(t){return this.dirty&&(this.updateText(),this.dirty=!1),r.Sprite.prototype.getBounds.call(this,t)},i.prototype.destroy=function(t){this.context=null,this.canvas=null,this.texture.destroy(void 0===t?!0:t)},i.fontPropertiesCache={},i.fontPropertiesCanvas=document.createElement("canvas"),i.fontPropertiesContext=i.fontPropertiesCanvas.getContext("2d")},{"../core":9}],98:[function(t,e){e.exports={Text:t("./Text"),BitmapText:t("./BitmapText")}},{"./BitmapText":96,"./Text":97}]},{},[1])(1)});