diff --git a/build/custom/phaser-arcade-physics.js b/build/custom/phaser-arcade-physics.js index 73a6542f5..94feca5e3 100644 --- a/build/custom/phaser-arcade-physics.js +++ b/build/custom/phaser-arcade-physics.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.4.4 "Amador" - Built: Thu Oct 15 2015 11:52:37 +* v2.4.5 "Sienda" - Built: Fri Feb 05 2016 11:51:23 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -1594,6 +1594,8 @@ PIXI.Sprite.prototype.setTexture = function(texture, destroyBase) this.texture.baseTexture.destroy(); } + // Over-ridden by loadTexture as needed + this.texture.baseTexture.skipRender = false; this.texture = texture; this.texture.valid = true; }; @@ -3957,12 +3959,15 @@ PIXI.WebGLMaskManager.prototype.pushMask = function(maskData, renderSession) { var gl = renderSession.gl; - if(maskData.dirty) + if (maskData.dirty) { PIXI.WebGLGraphics.updateGraphics(maskData, gl); } - if(!maskData._webGL[gl.id].data.length)return; + if (maskData._webGL[gl.id] === undefined || maskData._webGL[gl.id].data === undefined || maskData._webGL[gl.id].data.length === 0) + { + return; + } renderSession.stencilManager.pushStencil(maskData, maskData._webGL[gl.id].data[0], renderSession); }; @@ -3977,7 +3982,14 @@ PIXI.WebGLMaskManager.prototype.pushMask = function(maskData, renderSession) PIXI.WebGLMaskManager.prototype.popMask = function(maskData, renderSession) { var gl = this.gl; + + if (maskData._webGL[gl.id] === undefined || maskData._webGL[gl.id].data === undefined || maskData._webGL[gl.id].data.length === 0) + { + return; + } + renderSession.stencilManager.popStencil(maskData, maskData._webGL[gl.id].data[0], renderSession); + }; /** @@ -4987,7 +4999,14 @@ PIXI.WebGLSpriteBatch.prototype.flush = function() blendSwap = currentBlendMode !== nextBlendMode; shaderSwap = currentShader !== nextShader; // should I use _UIDS??? - if ((currentBaseTexture !== nextTexture && !nextTexture.skipRender) || blendSwap || shaderSwap) + var skip = nextTexture.skipRender; + + if (skip && sprite.children.length > 0) + { + skip = false; + } + + if ((currentBaseTexture !== nextTexture && !skip) || blendSwap || shaderSwap) { this.renderBatch(currentBaseTexture, batchSize, start); @@ -5623,7 +5642,14 @@ PIXI.WebGLFilterManager.prototype.pushFilter = function(filterBlock) var offset = this.renderSession.offset; filterBlock._filterArea = filterBlock.target.filterArea || filterBlock.target.getBounds(); - + + // >>> modify by nextht + filterBlock._previous_stencil_mgr = this.renderSession.stencilManager; + this.renderSession.stencilManager = new PIXI.WebGLStencilManager(); + this.renderSession.stencilManager.setContext(gl); + gl.disable(gl.STENCIL_TEST); + // <<< modify by nextht + // filter program // OPTIMISATION - the first filter is free if its a simple color change? this.filterStack.push(filterBlock); @@ -5848,6 +5874,20 @@ PIXI.WebGLFilterManager.prototype.popFilter = function() gl.activeTexture(gl.TEXTURE0); gl.bindTexture(gl.TEXTURE_2D, texture.texture); + // >>> modify by nextht + if (this.renderSession.stencilManager) { + this.renderSession.stencilManager.destroy(); + } + this.renderSession.stencilManager = filterBlock._previous_stencil_mgr; + filterBlock._previous_stencil_mgr = null; + if (this.renderSession.stencilManager.count > 0) { + gl.enable(gl.STENCIL_TEST); + } + else { + gl.disable(gl.STENCIL_TEST); + } + // <<< modify by nextht + // apply! this.applyFilterPass(filter, filterArea, sizeX, sizeY); @@ -6903,11 +6943,11 @@ PIXI.BaseTexture.prototype.destroy = function() if (!navigator.isCocoonJS) this.source.src = ''; } - else if (this.source && this.source._pixiId) + else if (this.source) { PIXI.CanvasPool.removeByCanvas(this.source); - delete PIXI.BaseTextureCache[this.source._pixiId]; + delete PIXI.BaseTextureCache[this.source]; } this.source = null; @@ -6978,7 +7018,7 @@ PIXI.BaseTexture.prototype.unloadFromGPU = function() * @param imageUrl {String} The image url of the texture * @param crossorigin {Boolean} * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return BaseTexture + * @return {BaseTexture} */ PIXI.BaseTexture.fromImage = function(imageUrl, crossorigin, scaleMode) { @@ -7019,7 +7059,7 @@ PIXI.BaseTexture.fromImage = function(imageUrl, crossorigin, scaleMode) * @method fromCanvas * @param canvas {Canvas} The canvas element source of the texture * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return BaseTexture + * @return {BaseTexture} */ PIXI.BaseTexture.fromCanvas = function(canvas, scaleMode) { @@ -7311,7 +7351,7 @@ PIXI.Texture.prototype._updateUvs = function() * @param imageUrl {String} The image url of the texture * @param crossorigin {Boolean} Whether requests should be treated as crossorigin * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return Texture + * @return {Texture} */ PIXI.Texture.fromImage = function(imageUrl, crossorigin, scaleMode) { @@ -7333,7 +7373,7 @@ PIXI.Texture.fromImage = function(imageUrl, crossorigin, scaleMode) * @static * @method fromFrame * @param frameId {String} The frame id of the texture - * @return Texture + * @return {Texture} */ PIXI.Texture.fromFrame = function(frameId) { @@ -7349,7 +7389,7 @@ PIXI.Texture.fromFrame = function(frameId) * @method fromCanvas * @param canvas {Canvas} The canvas element source of the texture * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return Texture + * @return {Texture} */ PIXI.Texture.fromCanvas = function(canvas, scaleMode) { @@ -8634,7 +8674,7 @@ PIXI.TilingSprite.prototype.setTexture = function(texture) */ PIXI.TilingSprite.prototype._renderWebGL = function(renderSession) { - if (this.visible === false || this.alpha === 0) + if (!this.visible || !this.renderable || this.alpha === 0) { return; } @@ -8702,7 +8742,7 @@ PIXI.TilingSprite.prototype._renderWebGL = function(renderSession) */ PIXI.TilingSprite.prototype._renderCanvas = function(renderSession) { - if (this.visible === false || this.alpha === 0) + if (!this.visible || !this.renderable || this.alpha === 0) { return; } @@ -8824,6 +8864,8 @@ PIXI.TilingSprite.prototype.generateTilingTexture = function(forcePowerOfTwo, re var texture = this.texture; var frame = texture.frame; + console.log('generateTilingTexture', texture, frame); + var targetWidth = this._frame.sourceSizeW; var targetHeight = this._frame.sourceSizeH; @@ -9072,7 +9114,7 @@ var Phaser = Phaser || { * @constant * @type {string} */ - VERSION: '2.4.4', + VERSION: '2.4.5-dev', /** * An array of Phaser game instances. @@ -9347,6 +9389,13 @@ var Phaser = Phaser || { */ VIDEO: 28, + /** + * Game Object type. + * @constant + * @type {integer} + */ + PENDING_ATLAS: -1, + /** * Various blend modes supported by Pixi. * @@ -11012,6 +11061,8 @@ Phaser.Line.prototype = { * Rotation takes place around the coordinates given. * * @method Phaser.Line#rotateAround + * @param {number} x - The x coordinate to offset the rotation from. + * @param {number} y - The y coordinate to offset the rotation from. * @param {number} angle - The angle in radians (unless asDegrees is true) to rotate the line by. * @param {boolean} [asDegrees=false] - Is the given angle in radians (false) or degrees (true)? * @return {Phaser.Line} This line object @@ -14563,28 +14614,28 @@ Phaser.Camera.prototype = { this.atLimit.y = false; // Make sure we didn't go outside the cameras bounds - if (this.view.x <= this.bounds.x) + if (this.view.x <= this.bounds.x * this.scale.x) { this.atLimit.x = true; - this.view.x = this.bounds.x; + this.view.x = this.bounds.x * this.scale.x; } - if (this.view.right >= this.bounds.right) + if (this.view.right >= this.bounds.right * this.scale.x) { this.atLimit.x = true; - this.view.x = this.bounds.right - this.width; + this.view.x = (this.bounds.right * this.scale.x) - this.width; } - if (this.view.y <= this.bounds.top) + if (this.view.y <= this.bounds.top * this.scale.y) { this.atLimit.y = true; - this.view.y = this.bounds.top; + this.view.y = this.bounds.top * this.scale.y; } - if (this.view.bottom >= this.bounds.bottom) + if (this.view.bottom >= this.bounds.bottom * this.scale.y) { this.atLimit.y = true; - this.view.y = this.bounds.bottom - this.height; + this.view.y = (this.bounds.bottom * this.scale.y) - this.height; } }, @@ -14903,7 +14954,7 @@ Phaser.State.prototype = { /** * The update method is left empty for your own use. * It is called during the core game loop AFTER debug, physics, plugins and the Stage have had their preUpdate methods called. - * If is called BEFORE Stage, Tweens, Sounds, Input, Physics, Particles and Plugins have had their postUpdate methods called. + * It is called BEFORE Stage, Tweens, Sounds, Input, Physics, Particles and Plugins have had their postUpdate methods called. * * @method Phaser.State#update */ @@ -15405,20 +15456,15 @@ Phaser.StateManager.prototype = { if (this.states[key]) { - var valid = false; - if (this.states[key]['preload'] || this.states[key]['create'] || this.states[key]['update'] || this.states[key]['render']) { - valid = true; + return true; } - - if (valid === false) + else { console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"); return false; } - - return true; } else { @@ -15549,7 +15595,7 @@ Phaser.StateManager.prototype = { * Gets the current State. * * @method Phaser.StateManager#getCurrentState - * @return Phaser.State + * @return {Phaser.State} * @public */ getCurrentState: function() { @@ -15562,6 +15608,12 @@ Phaser.StateManager.prototype = { */ loadComplete: function () { + // Make sure to do load-update one last time before state is set to _created + if (this._created === false && this.onLoadUpdateCallback) + { + this.onLoadUpdateCallback.call(this.callbackContext, this.game); + } + if (this._created === false && this.onCreateCallback) { this._created = true; @@ -16432,6 +16484,9 @@ Phaser.SignalBinding.prototype.constructor = Phaser.SignalBinding; /** * This is a base Filter class to use for any Phaser filter development. * +* The vast majority of filters (including all of those that ship with Phaser) use fragment shaders, and +* therefore only work in WebGL and are not supported by Canvas at all. +* * @class Phaser.Filter * @constructor * @param {Phaser.Game} game - A reference to the currently running game. @@ -17110,7 +17165,12 @@ Phaser.Stage = function (game) { this.name = '_stage_root'; /** - * @property {boolean} disableVisibilityChange - By default if the browser tab loses focus the game will pause. You can stop that behaviour by setting this property to true. + * By default if the browser tab loses focus the game will pause. + * You can stop that behavior by setting this property to true. + * Note that the browser can still elect to pause your game if it wishes to do so, + * for example swapping to another browser tab. This will cause the RAF callback to halt, + * effectively pausing your game, even though no in-game pause event is triggered if you enable this property. + * @property {boolean} disableVisibilityChange * @default */ this.disableVisibilityChange = false; @@ -17786,6 +17846,11 @@ Phaser.Group.prototype.add = function (child, silent) { if (child.parent !== this) { + if (child.body) + { + child.parent.removeFromHash(child); + } + this.addChild(child); child.z = this.children.length; @@ -17912,6 +17977,11 @@ Phaser.Group.prototype.addAt = function (child, index, silent) { if (child.parent !== this) { + if (child.body) + { + child.parent.removeFromHash(child); + } + this.addChildAt(child, index); this.updateZ(); @@ -18262,7 +18332,7 @@ Phaser.Group.prototype.xy = function (index, x, y) { /** * Reverses all children in this group. * -* This operaation applies only to immediate children and does not propagate to subgroups. +* This operation applies only to immediate children and does not propagate to subgroups. * * @method Phaser.Group#reverse */ @@ -19083,8 +19153,12 @@ Phaser.Group.prototype.forEachDead = function (callback, callbackContext) { * Sort the children in the group according to a particular key and ordering. * * Call this function to sort the group according to a particular key value and order. +* * For example to depth sort Sprites for Zelda-style game you might call `group.sort('y', Phaser.Group.SORT_ASCENDING)` at the bottom of your `State.update()`. * +* Internally this uses a standard JavaScript Array sort, so everything that applies there also applies here, including +* alphabetical sorting, mixing strings and numbers, and Unicode sorting. See MDN for more details. +* * @method Phaser.Group#sort * @param {string} [key='z'] - The name of the property to sort on. Defaults to the objects z-depth value. * @param {integer} [order=Phaser.Group.SORT_ASCENDING] - Order ascending ({@link Phaser.Group.SORT_ASCENDING SORT_ASCENDING}) or descending ({@link Phaser.Group.SORT_DESCENDING SORT_DESCENDING}). @@ -20638,12 +20712,12 @@ Phaser.Game.prototype = { this.parent = config['parent']; } - if (config['transparent']) + if (config['transparent'] !== undefined) { this.transparent = config['transparent']; } - if (config['antialias']) + if (config['antialias'] !== undefined) { this.antialias = config['antialias']; } @@ -20653,7 +20727,7 @@ Phaser.Game.prototype = { this.resolution = config['resolution']; } - if (config['preserveDrawingBuffer']) + if (config['preserveDrawingBuffer'] !== undefined) { this.preserveDrawingBuffer = config['preserveDrawingBuffer']; } @@ -20696,6 +20770,13 @@ Phaser.Game.prototype = { return; } + // The game width / height must be an integer + this.width = Math.floor(this.width); + this.height = Math.floor(this.height); + + this._width = Math.floor(this._width); + this._height = Math.floor(this._height); + this.onPause = new Phaser.Signal(); this.onResume = new Phaser.Signal(); this.onBlur = new Phaser.Signal(); @@ -25740,14 +25821,6 @@ Phaser.InputHandler = function (sprite) { */ this.boundsSprite = null; - /** - * If this object is set to consume the pointer event then it will stop all propagation from this object on. - * For example if you had a stack of 6 sprites with the same priority IDs and one consumed the event, none of the others would receive it. - * @property {boolean} consumePointerEvent - * @default - */ - this.consumePointerEvent = false; - /** * @property {boolean} scaleLayer - EXPERIMENTAL: Please do not use this property unless you know what it does. Likely to change in the future. */ @@ -26552,9 +26625,6 @@ Phaser.InputHandler.prototype = { } } - // Consume the event? - return this.consumePointerEvent; - }, /** @@ -26621,7 +26691,7 @@ Phaser.InputHandler.prototype = { * @param {Phaser.Pointer} pointer * @return {boolean} */ - updateDrag: function (pointer) { + updateDrag: function (pointer, fromStart) { if (pointer.isUp) { @@ -26629,6 +26699,11 @@ Phaser.InputHandler.prototype = { return false; } + if (fromStart === undefined) + { + fromStart = false; + } + var px = this.globalToLocalX(pointer.x) + this._dragPoint.x + this.dragOffset.x; var py = this.globalToLocalY(pointer.y) + this._dragPoint.y + this.dragOffset.y; @@ -26691,7 +26766,7 @@ Phaser.InputHandler.prototype = { } } - this.sprite.events.onDragUpdate.dispatch(this.sprite, pointer, px, py, this.snapPoint); + this.sprite.events.onDragUpdate.dispatch(this.sprite, pointer, px, py, this.snapPoint, fromStart); return true; @@ -26915,7 +26990,7 @@ Phaser.InputHandler.prototype = { this._dragPoint.setTo(this.sprite.x - this.globalToLocalX(pointer.x), this.sprite.y - this.globalToLocalY(pointer.y)); } - this.updateDrag(pointer); + this.updateDrag(pointer, true); if (this.bringToTop) { @@ -27980,8 +28055,9 @@ Phaser.SinglePad.prototype = { this.onUpCallback = (typeof callbacks.onUp === 'function') ? callbacks.onUp : this.onUpCallback; this.onAxisCallback = (typeof callbacks.onAxis === 'function') ? callbacks.onAxis : this.onAxisCallback; this.onFloatCallback = (typeof callbacks.onFloat === 'function') ? callbacks.onFloat : this.onFloatCallback; - } + this.callbackContext = context; + } }, /** @@ -28203,6 +28279,11 @@ Phaser.SinglePad.prototype = { */ processButtonDown: function (buttonCode, value) { + if (this._buttons[buttonCode]) + { + this._buttons[buttonCode].start(null, value); + } + if (this._padParent.onDownCallback) { this._padParent.onDownCallback.call(this._padParent.callbackContext, buttonCode, value, this.index); @@ -28213,11 +28294,6 @@ Phaser.SinglePad.prototype = { this.onDownCallback.call(this.callbackContext, buttonCode, value); } - if (this._buttons[buttonCode]) - { - this._buttons[buttonCode].start(null, value); - } - }, /** @@ -30516,14 +30592,19 @@ Phaser.Component.Destroy.prototype = { * * If this Game Object has the Events component it will also dispatch the `onDestroy` event. * + * You can optionally also destroy the BaseTexture this Game Object is using. Be careful if you've + * more than one Game Object sharing the same BaseTexture. + * * @method * @param {boolean} [destroyChildren=true] - Should every child of this object have its destroy method called as well? + * @param {boolean} [destroyTexture=false] - Destroy the BaseTexture this Game Object is using? Note that if another Game Object is sharing the same BaseTexture it will invalidate it. */ - destroy: function (destroyChildren) { + destroy: function (destroyChildren, destroyTexture) { if (this.game === null || this.destroyPhase) { return; } if (destroyChildren === undefined) { destroyChildren = true; } + if (destroyTexture === undefined) { destroyTexture = false; } this.destroyPhase = true; @@ -30630,6 +30711,12 @@ Phaser.Component.Destroy.prototype = { this._destroyCachedSprite(); + // Texture? + if (destroyTexture) + { + this.texture.destroy(true); + } + this.destroyPhase = false; this.pendingDestroy = false; @@ -30965,7 +31052,7 @@ Phaser.Component.Health.prototype = { * @param {number} amount - The amount to subtract from the current `health` value. * @return {Phaser.Sprite} This instance. */ - damage: function(amount) { + damage: function (amount) { if (this.alive) { @@ -30981,6 +31068,27 @@ Phaser.Component.Health.prototype = { }, + /** + * Sets the health property of the Game Object to the given amount. + * Will never exceed the `maxHealth` value. + * + * @member + * @param {number} amount - The amount to set the `health` value to. The total will never exceed `maxHealth`. + * @return {Phaser.Sprite} This instance. + */ + setHealth: function (amount) { + + this.health = amount; + + if (this.health > this.maxHealth) + { + this.health = this.maxHealth; + } + + return this; + + }, + /** * Heal the Game Object. This adds the given amount of health to the `health` property. * @@ -30988,7 +31096,7 @@ Phaser.Component.Health.prototype = { * @param {number} amount - The amount to add to the current `health` value. The total will never exceed `maxHealth`. * @return {Phaser.Sprite} This instance. */ - heal: function(amount) { + heal: function (amount) { if (this.alive) { @@ -31315,20 +31423,20 @@ Phaser.Component.LifeSpan.prototype = { * It will dispatch the `onRevived` event. Listen to `events.onRevived` for the signal. * * @method - * @param {number} [health=1] - The health to give the Game Object. Only set if the GameObject has the Health component. + * @param {number} [health=100] - The health to give the Game Object. Only set if the GameObject has the Health component. * @return {PIXI.DisplayObject} This instance. */ revive: function (health) { - if (health === undefined) { health = 1; } + if (health === undefined) { health = 100; } this.alive = true; this.exists = true; this.visible = true; - if (typeof this.heal === 'function') + if (typeof this.setHealth === 'function') { - this.heal(health); + this.setHealth(health); } if (this.events) @@ -31406,6 +31514,13 @@ Phaser.Component.LoadTexture.prototype = { * * Calling this method causes a WebGL texture update, so use sparingly or in low-intensity portions of your game, or if you know the new texture is already on the GPU. * + * You can use the new const `Phaser.PENDING_ATLAS` as the texture key for any sprite. + * Doing this then sets the key to be the `frame` argument (the frame is set to zero). + * + * This allows you to create sprites using `load.image` during development, and then change them + * to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' + * and swapping it to be the key of the atlas data. + * * @method * @param {string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture} key - This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache Image entry, or an instance of a RenderTexture, BitmapData, Video or PIXI.Texture. * @param {string|number} [frame] - If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index. @@ -31413,7 +31528,15 @@ Phaser.Component.LoadTexture.prototype = { */ loadTexture: function (key, frame, stopAnimation) { - frame = frame || 0; + if (key === Phaser.PENDING_ATLAS) + { + key = frame; + frame = 0; + } + else + { + frame = frame || 0; + } if ((stopAnimation || stopAnimation === undefined) && this.animations) { @@ -31465,6 +31588,15 @@ Phaser.Component.LoadTexture.prototype = { this.key = img.key; this.setTexture(new PIXI.Texture(img.base)); + if (key === '__default') + { + this.texture.baseTexture.skipRender = true; + } + else + { + this.texture.baseTexture.skipRender = false; + } + setFrame = !this.animations.loadFrameData(img.frameData, frame); } @@ -33982,7 +34114,6 @@ Phaser.BitmapData = function (game, key, width, height) { * @property {HTMLCanvasElement} canvas - The canvas to which this BitmapData draws. * @default */ - // this.canvas = Phaser.Canvas.create(width, height, '', true); this.canvas = PIXI.CanvasPool.create(this, width, height); /** @@ -34150,10 +34281,10 @@ Phaser.BitmapData = function (game, key, width, height) { this._circle = new Phaser.Circle(); /** - * @property {HTMLCanvasElement} _swapCanvas - A swap canvas. + * @property {HTMLCanvasElement} _swapCanvas - A swap canvas. Used by moveH and moveV, created in those methods. * @private */ - this._swapCanvas = PIXI.CanvasPool.create(this, width, height); + this._swapCanvas = undefined; }; @@ -34200,6 +34331,11 @@ Phaser.BitmapData.prototype = { if (wrap === undefined) { wrap = true; } + if (this._swapCanvas === undefined) + { + this._swapCanvas = PIXI.CanvasPool.create(this, this.width, this.height); + } + var c = this._swapCanvas; var ctx = c.getContext('2d'); var h = this.height; @@ -34258,6 +34394,11 @@ Phaser.BitmapData.prototype = { if (wrap === undefined) { wrap = true; } + if (this._swapCanvas === undefined) + { + this._swapCanvas = PIXI.CanvasPool.create(this, this.width, this.height); + } + var c = this._swapCanvas; var ctx = c.getContext('2d'); var w = this.width; @@ -34378,6 +34519,9 @@ Phaser.BitmapData.prototype = { * You can optionally define the area to clear. * If the arguments are left empty it will clear the entire canvas. * + * You may need to call BitmapData.update after this in order to clear out the pixel data, + * but Phaser will not do this automatically for you. + * * @method Phaser.BitmapData#clear * @param {number} [x=0] - The x coordinate of the top-left of the area to clear. * @param {number} [y=0] - The y coordinate of the top-left of the area to clear. @@ -34394,8 +34538,6 @@ Phaser.BitmapData.prototype = { this.context.clearRect(x, y, width, height); - this.update(); - this.dirty = true; return this; @@ -34464,6 +34606,8 @@ Phaser.BitmapData.prototype = { * Resizes the BitmapData. This changes the size of the underlying canvas and refreshes the buffer. * * @method Phaser.BitmapData#resize + * @param {integer} width - The new width of the BitmapData. + * @param {integer} height - The new height of the BitmapData. * @return {Phaser.BitmapData} This BitmapData object for method chaining. */ resize: function (width, height) { @@ -34476,8 +34620,11 @@ Phaser.BitmapData.prototype = { this.canvas.width = width; this.canvas.height = height; - this._swapCanvas.width = width; - this._swapCanvas.height = height; + if (this._swapCanvas !== undefined) + { + this._swapCanvas.width = width; + this._swapCanvas.height = height; + } this.baseTexture.width = width; this.baseTexture.height = height; @@ -34504,6 +34651,8 @@ Phaser.BitmapData.prototype = { * It then re-builds the ArrayBuffer, the data Uint8ClampedArray reference and the pixels Int32Array. * If not given the dimensions defaults to the full size of the context. * + * Warning: This is a very expensive operation, so use it sparingly. + * * @method Phaser.BitmapData#update * @param {number} [x=0] - The x coordinate of the top-left of the image data area to grab from. * @param {number} [y=0] - The y coordinate of the top-left of the image data area to grab from. @@ -34716,12 +34865,12 @@ Phaser.BitmapData.prototype = { * @return {Phaser.BitmapData} This BitmapData object for method chaining. */ setHSL: function (h, s, l, region) { + + var bHaveH = h || h === 0; + var bHaveS = s || s === 0; + var bHaveL = l || l === 0; - if (h === undefined || h === null) { h = false; } - if (s === undefined || s === null) { s = false; } - if (l === undefined || l === null) { l = false; } - - if (!h && !s && !l) + if (!bHaveH && !bHaveS && !bHaveL) { return; } @@ -34739,17 +34888,17 @@ Phaser.BitmapData.prototype = { { Phaser.Color.unpackPixel(this.getPixel32(x, y), pixel, true); - if (h) + if (bHaveH) { pixel.h = h; } - if (s) + if (bHaveS) { pixel.s = s; } - if (l) + if (bHaveL) { pixel.l = l; } @@ -34809,12 +34958,12 @@ Phaser.BitmapData.prototype = { if (s) { - pixel.s = this.game.math.limitValue(pixel.s + s, 0, 1); + pixel.s = this.game.math.clamp(pixel.s + s, 0, 1); } if (l) { - pixel.l = this.game.math.limitValue(pixel.l + l, 0, 1); + pixel.l = this.game.math.clamp(pixel.l + l, 0, 1); } Phaser.Color.HSLtoRGB(pixel.h, pixel.s, pixel.l, pixel); @@ -35347,7 +35496,7 @@ Phaser.BitmapData.prototype = { /** * Draws the immediate children of a Phaser.Group to this BitmapData. - * Children are only drawn if they have their `exists` property set to `true`. + * Children are only drawn if they have their `exists` property set to `true` and have image based Textures. * The children will be drawn at their `x` and `y` world space coordinates. If this is outside the bounds of the BitmapData they won't be drawn. * When drawing it will take into account the child's rotation, scale and alpha values. * No iteration takes place. Groups nested inside other Groups will not be iterated through. @@ -35362,13 +35511,38 @@ Phaser.BitmapData.prototype = { if (group.total > 0) { - group.forEachExists(this.copy, this, null, null, null, null, null, null, null, null, null, null, null, null, null, null, blendMode, roundPx); + group.forEachExists(this.drawGroupProxy, this, blendMode, roundPx); } return this; }, + /** + * A proxy for drawGroup that handles child iteration for more complex Game Objects. + * + * @method Phaser.BitmapData#drawGroupProxy + * @private + * @param {Phaser.Sprite|Phaser.Image|Phaser.BitmapText} child - The child to draw. + * @param {string} [blendMode=null] - The composite blend mode that will be used when drawing. The default is no blend mode at all. This is a Canvas globalCompositeOperation value such as 'lighter' or 'xor'. + * @param {boolean} [roundPx=false] - Should the x and y values be rounded to integers before drawing? This prevents anti-aliasing in some instances. + */ + drawGroupProxy: function (child, blendMode, roundPx) { + + if (child.type === Phaser.EMITTER || child.type === Phaser.BITMAPTEXT) + { + for (var i = 0; i < child.children.length; i++) + { + this.copy(child.children[i], null, null, null, null, null, null, null, null, null, null, null, null, null, null, blendMode, roundPx); + } + } + else + { + this.copy(child, null, null, null, null, null, null, null, null, null, null, null, null, null, null, blendMode, roundPx); + } + + }, + /** * Draws the Game Object or Group to this BitmapData and then recursively iterates through all of its children. * @@ -36559,9 +36733,10 @@ PIXI.Graphics.prototype.arcTo = function(x1, y1, x2, y2, radius) * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle) * @param endAngle {Number} The ending angle, in radians * @param anticlockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise. + * @param segments {Number} Optional. The number of segments to use when calculating the arc. The default is 40. If you need more fidelity use a higher number. * @return {Graphics} */ -PIXI.Graphics.prototype.arc = function(cx, cy, radius, startAngle, endAngle, anticlockwise) +PIXI.Graphics.prototype.arc = function(cx, cy, radius, startAngle, endAngle, anticlockwise, segments) { // If we do this we can never draw a full circle if (startAngle === endAngle) @@ -36570,6 +36745,7 @@ PIXI.Graphics.prototype.arc = function(cx, cy, radius, startAngle, endAngle, ant } if (anticlockwise === undefined) { anticlockwise = false; } + if (segments === undefined) { segments = 40; } if (!anticlockwise && endAngle <= startAngle) { @@ -36581,7 +36757,7 @@ PIXI.Graphics.prototype.arc = function(cx, cy, radius, startAngle, endAngle, ant } var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * segments; // Sweep check - moved here because we don't want to do the moveTo below if the arc fails if (sweep === 0) @@ -37359,9 +37535,11 @@ Object.defineProperty(PIXI.Graphics.prototype, "cacheAsBitmap", { else { this.destroyCachedSprite(); - this.dirty = true; } + this.dirty = true; + this.webGLDirty = true; + } }); @@ -37644,6 +37822,631 @@ PIXI.PolyK._convex = function(ax, ay, bx, by, cx, cy, sign) return ((ay-by)*(cx-bx) + (bx-ax)*(cy-by) >= 0) === sign; }; +/* +Copyright (c) 2016, Mapbox + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. +*/ + +/** +* @class EarCut +*/ +PIXI.EarCut = {}; + +PIXI.EarCut.Triangulate = function (data, holeIndices, dim) { + + dim = dim || 2; + + var hasHoles = holeIndices && holeIndices.length, + outerLen = hasHoles ? holeIndices[0] * dim : data.length, + outerNode = PIXI.EarCut.linkedList(data, 0, outerLen, dim, true), + triangles = []; + + if (!outerNode) return triangles; + + var minX, minY, maxX, maxY, x, y, size; + + if (hasHoles) outerNode = PIXI.EarCut.eliminateHoles(data, holeIndices, outerNode, dim); + + // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox + if (data.length > 80 * dim) { + minX = maxX = data[0]; + minY = maxY = data[1]; + + for (var i = dim; i < outerLen; i += dim) { + x = data[i]; + y = data[i + 1]; + if (x < minX) minX = x; + if (y < minY) minY = y; + if (x > maxX) maxX = x; + if (y > maxY) maxY = y; + } + + // minX, minY and size are later used to transform coords into integers for z-order calculation + size = Math.max(maxX - minX, maxY - minY); + } + + PIXI.EarCut.earcutLinked(outerNode, triangles, dim, minX, minY, size); + + return triangles; +} + +// create a circular doubly linked list from polygon points in the specified winding order + +PIXI.EarCut.linkedList = function (data, start, end, dim, clockwise) { + var sum = 0, + i, j, last; + + // calculate original winding order of a polygon ring + for (i = start, j = end - dim; i < end; i += dim) { + sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]); + j = i; + } + + // link points into circular doubly-linked list in the specified winding order + if (clockwise === (sum > 0)) { + for (i = start; i < end; i += dim) last = PIXI.EarCut.insertNode(i, data[i], data[i + 1], last); + } else { + for (i = end - dim; i >= start; i -= dim) last = PIXI.EarCut.insertNode(i, data[i], data[i + 1], last); + } + + return last; +} + +// eliminate colinear or duplicate points + +PIXI.EarCut.filterPoints = function (start, end) { + if (!start) return start; + if (!end) end = start; + + var p = start, + again; + do { + again = false; + + if (!p.steiner && (PIXI.EarCut.equals(p, p.next) || PIXI.EarCut.area(p.prev, p, p.next) === 0)) { + PIXI.EarCut.removeNode(p); + p = end = p.prev; + if (p === p.next) return null; + again = true; + + } else { + p = p.next; + } + } while (again || p !== end); + + return end; +} + +// main ear slicing loop which triangulates a polygon (given as a linked list) + +PIXI.EarCut.earcutLinked = function (ear, triangles, dim, minX, minY, size, pass) { + if (!ear) return; + + // interlink polygon nodes in z-order + if (!pass && size) PIXI.EarCut.indexCurve(ear, minX, minY, size); + + var stop = ear, + prev, next; + + // iterate through ears, slicing them one by one + while (ear.prev !== ear.next) { + prev = ear.prev; + next = ear.next; + + if (size ? PIXI.EarCut.isEarHashed(ear, minX, minY, size) : PIXI.EarCut.isEar(ear)) { + // cut off the triangle + triangles.push(prev.i / dim); + triangles.push(ear.i / dim); + triangles.push(next.i / dim); + + PIXI.EarCut.removeNode(ear); + + // skipping the next vertice leads to less sliver triangles + ear = next.next; + stop = next.next; + + continue; + } + + ear = next; + + // if we looped through the whole remaining polygon and can't find any more ears + if (ear === stop) { + // try filtering points and slicing again + if (!pass) { + PIXI.EarCut.earcutLinked(PIXI.EarCut.filterPoints(ear), triangles, dim, minX, minY, size, 1); + + // if this didn't work, try curing all small self-intersections locally + } else if (pass === 1) { + ear = PIXI.EarCut.cureLocalIntersections(ear, triangles, dim); + PIXI.EarCut.earcutLinked(ear, triangles, dim, minX, minY, size, 2); + + // as a last resort, try splitting the remaining polygon into two + } else if (pass === 2) { + PIXI.EarCut.splitEarcut(ear, triangles, dim, minX, minY, size); + } + + break; + } + } +} + +// check whether a polygon node forms a valid ear with adjacent nodes + +PIXI.EarCut.isEar = function (ear) { + var a = ear.prev, + b = ear, + c = ear.next; + + if (PIXI.EarCut.area(a, b, c) >= 0) return false; // reflex, can't be an ear + + // now make sure we don't have other points inside the potential ear + var p = ear.next.next; + + while (p !== ear.prev) { + if (PIXI.EarCut.pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && + PIXI.EarCut.area(p.prev, p, p.next) >= 0) return false; + p = p.next; + } + + return true; +} + +PIXI.EarCut.isEarHashed = function (ear, minX, minY, size) { + var a = ear.prev, + b = ear, + c = ear.next; + + if (PIXI.EarCut.area(a, b, c) >= 0) return false; // reflex, can't be an ear + + // triangle bbox; min & max are calculated like this for speed + var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x), + minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y), + maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x), + maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y); + + // z-order range for the current triangle bbox; + var minZ = PIXI.EarCut.zOrder(minTX, minTY, minX, minY, size), + maxZ = PIXI.EarCut.zOrder(maxTX, maxTY, minX, minY, size); + + // first look for points inside the triangle in increasing z-order + var p = ear.nextZ; + + while (p && p.z <= maxZ) { + if (p !== ear.prev && p !== ear.next && + PIXI.EarCut.pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && + PIXI.EarCut.area(p.prev, p, p.next) >= 0) return false; + p = p.nextZ; + } + + // then look for points in decreasing z-order + p = ear.prevZ; + + while (p && p.z >= minZ) { + if (p !== ear.prev && p !== ear.next && + PIXI.EarCut.pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && + PIXI.EarCut.area(p.prev, p, p.next) >= 0) return false; + p = p.prevZ; + } + + return true; +} + +// go through all polygon nodes and cure small local self-intersections + +PIXI.EarCut.cureLocalIntersections = function (start, triangles, dim) { + var p = start; + do { + var a = p.prev, + b = p.next.next; + + // a self-intersection where edge (v[i-1],v[i]) intersects (v[i+1],v[i+2]) + if (PIXI.EarCut.intersects(a, p, p.next, b) && PIXI.EarCut.locallyInside(a, b) && PIXI.EarCut.locallyInside(b, a)) { + + triangles.push(a.i / dim); + triangles.push(p.i / dim); + triangles.push(b.i / dim); + + // remove two nodes involved + PIXI.EarCut.removeNode(p); + PIXI.EarCut.removeNode(p.next); + + p = start = b; + } + p = p.next; + } while (p !== start); + + return p; +} + +// try splitting polygon into two and triangulate them independently + +PIXI.EarCut.splitEarcut = function (start, triangles, dim, minX, minY, size) { + // look for a valid diagonal that divides the polygon into two + var a = start; + do { + var b = a.next.next; + while (b !== a.prev) { + if (a.i !== b.i && PIXI.EarCut.isValidDiagonal(a, b)) { + // split the polygon in two by the diagonal + var c = PIXI.EarCut.splitPolygon(a, b); + + // filter colinear points around the cuts + a = PIXI.EarCut.filterPoints(a, a.next); + c = PIXI.EarCut.filterPoints(c, c.next); + + // run earcut on each half + PIXI.EarCut.earcutLinked(a, triangles, dim, minX, minY, size); + PIXI.EarCut.earcutLinked(c, triangles, dim, minX, minY, size); + return; + } + b = b.next; + } + a = a.next; + } while (a !== start); +} + +// link every hole into the outer loop, producing a single-ring polygon without holes + +PIXI.EarCut.eliminateHoles = function (data, holeIndices, outerNode, dim) { + var queue = [], + i, len, start, end, list; + + for (i = 0, len = holeIndices.length; i < len; i++) { + start = holeIndices[i] * dim; + end = i < len - 1 ? holeIndices[i + 1] * dim : data.length; + list = PIXI.EarCut.linkedList(data, start, end, dim, false); + if (list === list.next) list.steiner = true; + queue.push(PIXI.EarCut.getLeftmost(list)); + } + + queue.sort(compareX); + + // process holes from left to right + for (i = 0; i < queue.length; i++) { + PIXI.EarCut.eliminateHole(queue[i], outerNode); + outerNode = PIXI.EarCut.filterPoints(outerNode, outerNode.next); + } + + return outerNode; +} + +PIXI.EarCut.compareX = function (a, b) { + return a.x - b.x; +} + +// find a bridge between vertices that connects hole with an outer ring and and link it + +PIXI.EarCut.eliminateHole = function (hole, outerNode) { + outerNode = PIXI.EarCut.findHoleBridge(hole, outerNode); + if (outerNode) { + var b = PIXI.EarCut.splitPolygon(outerNode, hole); + PIXI.EarCut.filterPoints(b, b.next); + } +} + +// David Eberly's algorithm for finding a bridge between hole and outer polygon + +PIXI.EarCut.findHoleBridge = function (hole, outerNode) { + var p = outerNode, + hx = hole.x, + hy = hole.y, + qx = -Infinity, + m; + + // find a segment intersected by a ray from the hole's leftmost point to the left; + // segment's endpoint with lesser x will be potential connection point + do { + if (hy <= p.y && hy >= p.next.y) { + var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y); + if (x <= hx && x > qx) { + qx = x; + m = p.x < p.next.x ? p : p.next; + } + } + p = p.next; + } while (p !== outerNode); + + if (!m) return null; + + if (hole.x === m.x) return m.prev; // hole touches outer segment; pick lower endpoint + + // look for points inside the triangle of hole point, segment intersection and endpoint; + // if there are no points found, we have a valid connection; + // otherwise choose the point of the minimum angle with the ray as connection point + + var stop = m, + tanMin = Infinity, + tan; + + p = m.next; + + while (p !== stop) { + if (hx >= p.x && p.x >= m.x && + PIXI.EarCut.pointInTriangle(hy < m.y ? hx : qx, hy, m.x, m.y, hy < m.y ? qx : hx, hy, p.x, p.y)) { + + tan = Math.abs(hy - p.y) / (hx - p.x); // tangential + + if ((tan < tanMin || (tan === tanMin && p.x > m.x)) && PIXI.EarCut.locallyInside(p, hole)) { + m = p; + tanMin = tan; + } + } + + p = p.next; + } + + return m; +} + +// interlink polygon nodes in z-order + +PIXI.EarCut.indexCurve = function (start, minX, minY, size) { + var p = start; + do { + if (p.z === null) p.z = PIXI.EarCut.zOrder(p.x, p.y, minX, minY, size); + p.prevZ = p.prev; + p.nextZ = p.next; + p = p.next; + } while (p !== start); + + p.prevZ.nextZ = null; + p.prevZ = null; + + PIXI.EarCut.sortLinked(p); +} + +// Simon Tatham's linked list merge sort algorithm +// http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html + +PIXI.EarCut.sortLinked = function (list) { + var i, p, q, e, tail, numMerges, pSize, qSize, + inSize = 1; + + do { + p = list; + list = null; + tail = null; + numMerges = 0; + + while (p) { + numMerges++; + q = p; + pSize = 0; + for (i = 0; i < inSize; i++) { + pSize++; + q = q.nextZ; + if (!q) break; + } + + qSize = inSize; + + while (pSize > 0 || (qSize > 0 && q)) { + + if (pSize === 0) { + e = q; + q = q.nextZ; + qSize--; + } else if (qSize === 0 || !q) { + e = p; + p = p.nextZ; + pSize--; + } else if (p.z <= q.z) { + e = p; + p = p.nextZ; + pSize--; + } else { + e = q; + q = q.nextZ; + qSize--; + } + + if (tail) tail.nextZ = e; + else list = e; + + e.prevZ = tail; + tail = e; + } + + p = q; + } + + tail.nextZ = null; + inSize *= 2; + + } while (numMerges > 1); + + return list; +} + +// z-order of a point given coords and size of the data bounding box + +PIXI.EarCut.zOrder = function (x, y, minX, minY, size) { + // coords are transformed into non-negative 15-bit integer range + x = 32767 * (x - minX) / size; + y = 32767 * (y - minY) / size; + + x = (x | (x << 8)) & 0x00FF00FF; + x = (x | (x << 4)) & 0x0F0F0F0F; + x = (x | (x << 2)) & 0x33333333; + x = (x | (x << 1)) & 0x55555555; + + y = (y | (y << 8)) & 0x00FF00FF; + y = (y | (y << 4)) & 0x0F0F0F0F; + y = (y | (y << 2)) & 0x33333333; + y = (y | (y << 1)) & 0x55555555; + + return x | (y << 1); +} + +// find the leftmost node of a polygon ring + +PIXI.EarCut.getLeftmost = function (start) { + var p = start, + leftmost = start; + do { + if (p.x < leftmost.x) leftmost = p; + p = p.next; + } while (p !== start); + + return leftmost; +} + +// check if a point lies within a convex triangle + +PIXI.EarCut.pointInTriangle = function (ax, ay, bx, by, cx, cy, px, py) { + return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 && + (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 && + (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0; +} + +// check if a diagonal between two polygon nodes is valid (lies in polygon interior) + +PIXI.EarCut.isValidDiagonal = function (a, b) { + return PIXI.EarCut.equals(a, b) || a.next.i !== b.i && a.prev.i !== b.i && !PIXI.EarCut.intersectsPolygon(a, b) && + PIXI.EarCut.locallyInside(a, b) && PIXI.EarCut.locallyInside(b, a) && PIXI.EarCut.middleInside(a, b); +} + +// signed area of a triangle + +PIXI.EarCut.area = function (p, q, r) { + return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y); +} + +// check if two points are equal + +PIXI.EarCut.equals = function (p1, p2) { + return p1.x === p2.x && p1.y === p2.y; +} + +// check if two segments intersect + +PIXI.EarCut.intersects = function (p1, q1, p2, q2) { + return PIXI.EarCut.area(p1, q1, p2) > 0 !== PIXI.EarCut.area(p1, q1, q2) > 0 && + PIXI.EarCut.area(p2, q2, p1) > 0 !== PIXI.EarCut.area(p2, q2, q1) > 0; +} + +// check if a polygon diagonal intersects any polygon segments + +PIXI.EarCut.intersectsPolygon = function (a, b) { + var p = a; + do { + if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i && + PIXI.EarCut.intersects(p, p.next, a, b)) return true; + p = p.next; + } while (p !== a); + + return false; +} + +// check if a polygon diagonal is locally inside the polygon + +PIXI.EarCut.locallyInside = function (a, b) { + return PIXI.EarCut.area(a.prev, a, a.next) < 0 ? + PIXI.EarCut.area(a, b, a.next) >= 0 && PIXI.EarCut.area(a, a.prev, b) >= 0 : + PIXI.EarCut.area(a, b, a.prev) < 0 || PIXI.EarCut.area(a, a.next, b) < 0; +} + +// check if the middle point of a polygon diagonal is inside the polygon + +PIXI.EarCut.middleInside = function (a, b) { + var p = a, + inside = false, + px = (a.x + b.x) / 2, + py = (a.y + b.y) / 2; + do { + if (((p.y > py) !== (p.next.y > py)) && (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x)) + inside = !inside; + p = p.next; + } while (p !== a); + + return inside; +} + +// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two; +// if one belongs to the outer ring and another to a hole, it merges it into a single ring + +PIXI.EarCut.splitPolygon = function (a, b) { + var a2 = new PIXI.EarCut.Node(a.i, a.x, a.y), + b2 = new PIXI.EarCut.Node(b.i, b.x, b.y), + an = a.next, + bp = b.prev; + + a.next = b; + b.prev = a; + + a2.next = an; + an.prev = a2; + + b2.next = a2; + a2.prev = b2; + + bp.next = b2; + b2.prev = bp; + + return b2; +} + +// create a node and optionally link it with previous one (in a circular doubly linked list) + +PIXI.EarCut.insertNode = function (i, x, y, last) { + var p = new PIXI.EarCut.Node(i, x, y); + + if (!last) { + p.prev = p; + p.next = p; + + } else { + p.next = last.next; + p.prev = last; + last.next.prev = p; + last.next = p; + } + return p; +} + +PIXI.EarCut.removeNode = function (p) { + p.next.prev = p.prev; + p.prev.next = p.next; + + if (p.prevZ) p.prevZ.nextZ = p.nextZ; + if (p.nextZ) p.nextZ.prevZ = p.prevZ; +} + +PIXI.EarCut.Node = function (i, x, y) { + // vertice index in coordinates array + this.i = i; + + // vertex coordinates + this.x = x; + this.y = y; + + // previous and next vertice nodes in a polygon ring + this.prev = null; + this.next = null; + + // z-order curve value + this.z = null; + + // previous and next nodes in z-order + this.prevZ = null; + this.nextZ = null; + + // indicates whether this is a steiner point + this.steiner = false; +} + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -37659,6 +38462,13 @@ PIXI.WebGLGraphics = function() { }; +/** + * The number of points beyond which Pixi swaps to using the Stencil Buffer to render the Graphics. + * + * @type {number} + */ +PIXI.WebGLGraphics.stencilBufferLimit = 6; + /** * Renders the graphics object * @@ -37793,9 +38603,9 @@ PIXI.WebGLGraphics.updateGraphics = function(graphics, gl) // MAKE SURE WE HAVE THE CORRECT TYPE.. if(data.fill) { - if(data.points.length >= 6) + if(data.points.length >= PIXI.WebGLGraphics.stencilBufferLimit) { - if(data.points.length < 6 * 2) + if(data.points.length < PIXI.WebGLGraphics.stencilBufferLimit * 2) { webGLData = PIXI.WebGLGraphics.switchMode(webGL, 0); @@ -37920,7 +38730,7 @@ PIXI.WebGLGraphics.buildRectangle = function(graphicsData, webGLData) var verts = webGLData.points; var indices = webGLData.indices; - var vertPos = verts.length/6; + var vertPos = verts.length / 6; // start verts.push(x, y); @@ -37936,10 +38746,10 @@ PIXI.WebGLGraphics.buildRectangle = function(graphicsData, webGLData) verts.push(r, g, b, alpha); // insert 2 dead triangles.. - indices.push(vertPos, vertPos, vertPos+1, vertPos+2, vertPos+3, vertPos+3); + indices.push(vertPos, vertPos, vertPos + 1, vertPos + 2, vertPos + 3, vertPos + 3); } - if(graphicsData.lineWidth) + if (graphicsData.lineWidth) { var tempPoints = graphicsData.points; @@ -37993,13 +38803,12 @@ PIXI.WebGLGraphics.buildRoundedRectangle = function(graphicsData, webGLData) var verts = webGLData.points; var indices = webGLData.indices; - var vecPos = verts.length/6; + var vecPos = verts.length / 6; - var triangles = PIXI.PolyK.Triangulate(recPoints); + var triangles = PIXI.EarCut.Triangulate(recPoints, null, 2); - // - var i = 0; + for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -38126,7 +38935,7 @@ PIXI.WebGLGraphics.buildCircle = function(graphicsData, webGLData) var verts = webGLData.points; var indices = webGLData.indices; - var vecPos = verts.length/6; + var vecPos = verts.length / 6; indices.push(vecPos); @@ -38463,7 +39272,7 @@ PIXI.WebGLGraphics.buildPoly = function(graphicsData, webGLData) var g = color[1] * alpha; var b = color[2] * alpha; - var triangles = PIXI.PolyK.Triangulate(points); + var triangles = PIXI.EarCut.Triangulate(points, null, 2); if(!triangles)return false; @@ -39290,7 +40099,7 @@ Phaser.Text = function (game, x, y, text, style) { text = text.toString(); } - style = style || {}; + style = Phaser.Utils.extend({}, style); /** * @property {number} type - The const type of this object. @@ -39357,6 +40166,19 @@ Phaser.Text = function (game, x, y, text, style) { */ this.autoRound = false; + /** + * Will this Text object use Basic or Advanced Word Wrapping? + * + * Advanced wrapping breaks long words if they are the first of a line, and repeats the process as necessary. + * White space is condensed (e.g., consecutive spaces are replaced with one). + * Lines are trimmed of white space before processing. + * + * It throws an error if wordWrapWidth is less than a single character. + * @property {boolean} useAdvancedWrap + * @default + */ + this.useAdvancedWrap = false; + /** * @property {number} _res - Internal canvas resolution var. * @private @@ -40045,6 +40867,28 @@ Phaser.Text.prototype.addFontWeight = function (weight, position) { }; +/** +* Runs the given text through the Text.runWordWrap function and returns +* the results as an array, where each element of the array corresponds to a wrapped +* line of text. +* +* Useful if you wish to control pagination on long pieces of content. +* +* @method Phaser.Text#precalculateWordWrap +* @param {string} text - The text for which the wrapping will be calculated. +* @return {array} An array of strings with the pieces of wrapped text. +*/ +Phaser.Text.prototype.precalculateWordWrap = function (text) { + + this.texture.baseTexture.resolution = this._res; + this.context.font = this.style.font; + + var wrappedLines = this.runWordWrap(text); + + return wrappedLines.split(/(?:\r\n|\r|\n)/); + +}; + /** * Greedy wrapping algorithm that will wrap words as the line grows longer than its horizontal bounds. * @@ -40054,6 +40898,150 @@ Phaser.Text.prototype.addFontWeight = function (weight, position) { */ Phaser.Text.prototype.runWordWrap = function (text) { + if (this.useAdvancedWrap) + { + return this.advancedWordWrap(text); + } + else + { + return this.basicWordWrap(text); + } + +}; + +/** +* Advanced wrapping algorithm that will wrap words as the line grows longer than its horizontal bounds. +* White space is condensed (e.g., consecutive spaces are replaced with one). +* Lines are trimmed of white space before processing. +* Throws an error if the user was smart enough to specify a wordWrapWidth less than a single character. +* +* @method Phaser.Text#advancedWordWrap +* @param {string} text - The text to perform word wrap detection against. +* @private +*/ +Phaser.Text.prototype.advancedWordWrap = function (text) { + + var context = this.context; + var wordWrapWidth = this.style.wordWrapWidth; + + var output = ''; + + // (1) condense whitespace + // (2) split into lines + var lines = text + .replace(/ +/gi, ' ') + .split(/\r?\n/gi); + + var linesCount = lines.length; + + for (var i = 0; i < linesCount; i++) + { + var line = lines[i]; + var out = ''; + + // trim whitespace + line = line.replace(/^ *|\s*$/gi, ''); + + // if entire line is less than wordWrapWidth + // append the entire line and exit early + var lineWidth = context.measureText(line).width; + + if (lineWidth < wordWrapWidth) + { + output += line + '\n'; + continue; + } + + // otherwise, calculate new lines + var currentLineWidth = wordWrapWidth; + + // split into words + var words = line.split(' '); + + for (var j = 0; j < words.length; j++) + { + var word = words[j]; + var wordWithSpace = word + ' '; + var wordWidth = context.measureText(wordWithSpace).width; + + if (wordWidth > currentLineWidth) + { + // break word + if (j === 0) + { + // shave off letters from word until it's small enough + var newWord = wordWithSpace; + + while (newWord.length) + { + newWord = newWord.slice(0, -1); + wordWidth = context.measureText(newWord).width; + + if (wordWidth <= currentLineWidth) + { + break; + } + } + + // if wordWrapWidth is too small for even a single + // letter, shame user failure with a fatal error + if (!newWord.length) + { + throw new Error('This text\'s wordWrapWidth setting is less than a single character!'); + } + + // replace current word in array with remainder + var secondPart = word.substr(newWord.length); + + words[j] = secondPart; + + // append first piece to output + out += newWord; + } + + // if existing word length is 0, don't include it + var offset = (words[j].length) ? j : j + 1; + + // collapse rest of sentence + var remainder = words.slice(offset).join(' ') + // remove any trailing white space + .replace(/[ \n]*$/gi, ''); + + // prepend remainder to next line + lines[i + 1] = remainder + ' ' + (lines[i + 1] || ''); + linesCount = lines.length; + + break; // processing on this line + + // append word with space to output + } + else + { + out += wordWithSpace; + currentLineWidth -= wordWidth; + } + } + + // append processed line to output + output += out.replace(/[ \n]*$/gi, '') + '\n'; + } + + // trim the end of the string + output = output.replace(/[\s|\n]*$/gi, ''); + + return output; + +}; + +/** +* Greedy wrapping algorithm that will wrap words as the line grows longer than its horizontal bounds. +* +* @method Phaser.Text#basicWordWrap +* @param {string} text - The text to perform word wrap detection against. +* @private +*/ +Phaser.Text.prototype.basicWordWrap = function (text) { + var result = ''; var lines = text.split('\n'); @@ -41487,10 +42475,12 @@ Phaser.BitmapText.prototype.scanLine = function (data, scale, text) { var c = 0; - if (!charData) + // If the character data isn't found in the data array + // then we replace it with a blank space + if (charData === undefined) { - // Skip a character not found in the font data - continue; + charCode = 32; + charData = data.chars[charCode]; } // Adjust for kerning from previous character to this one @@ -41510,11 +42500,11 @@ Phaser.BitmapText.prototype.scanLine = function (data, scale, text) { } else { - w += charData.xAdvance * scale; + w += (charData.xAdvance + kerning) * scale; - chars.push(x + (charData.xOffset * scale)); + chars.push(x + (charData.xOffset + kerning) * scale); - x += charData.xAdvance * scale; + x += (charData.xAdvance + kerning) * scale; prevCharCode = charCode; } @@ -41525,6 +42515,58 @@ Phaser.BitmapText.prototype.scanLine = function (data, scale, text) { }; +/** +* Given a text string this will scan each character in the string to ensure it exists +* in the BitmapText font data. If it doesn't the character is removed, or replaced with the `replace` argument. +* +* If no font data has been loaded at all this returns an empty string, as nothing can be rendered. +* +* @method Phaser.BitmapText.prototype.cleanText +* @param {string} text - The text to parse. +* @param {string} [replace=''] - The replacement string for any missing characters. +* @return {string} The cleaned text string. +*/ +Phaser.BitmapText.prototype.cleanText = function (text, replace) { + + if (replace === undefined) + { + replace = ''; + } + + var data = this._data.font; + + if (!data) + { + return ''; + } + + var re = /\r\n|\n\r|\n|\r/g; + var lines = text.replace(re, "\n").split("\n"); + + for (var i = 0; i < lines.length; i++) + { + var output = ''; + var line = lines[i]; + + for (var c = 0; c < line.length; c++) + { + if (data.chars[line.charCodeAt(c)]) + { + output = output.concat(line[c]); + } + else + { + output = output.concat(replace); + } + } + + lines[i] = output; + } + + return lines.join("\n"); + +}; + /** * Renders text and updates it when needed. * @@ -41592,6 +42634,12 @@ Phaser.BitmapText.prototype.updateText = function () { var charCode = line.text.charCodeAt(c); var charData = data.chars[charCode]; + if (charData === undefined) + { + charCode = 32; + charData = data.chars[charCode]; + } + var g = this._glyphs[t]; if (g) @@ -42455,7 +43503,7 @@ Object.defineProperty(Phaser.RetroFont.prototype, "text", { /** * @name Phaser.RetroFont#smoothed -* @property {string} text - Set this value to update the text in this sprite. Carriage returns are automatically stripped out if multiLine is false. Text is converted to upper case if autoUpperCase is true. +* @property {boolean} smoothed - Sets if the stamp is smoothed or not. */ Object.defineProperty(Phaser.RetroFont.prototype, "smoothed", { @@ -42607,7 +43655,7 @@ Phaser.Rope.prototype.update = function() { * @memberof Phaser.Rope * @param {number} x - The x coordinate (in world space) to position the Sprite at. * @param {number} y - The y coordinate (in world space) to position the Sprite at. -* @return (Phaser.Rope) This instance. +* @return {Phaser.Rope} This instance. */ Phaser.Rope.prototype.reset = function(x, y) { @@ -42886,7 +43934,7 @@ Phaser.TileSprite.prototype.destroy = function(destroyChildren) { * @memberof Phaser.TileSprite * @param {number} x - The x coordinate (in world space) to position the Sprite at. * @param {number} y - The y coordinate (in world space) to position the Sprite at. -* @return (Phaser.TileSprite) This instance. +* @return {Phaser.TileSprite} This instance. */ Phaser.TileSprite.prototype.reset = function(x, y) { @@ -47116,13 +48164,13 @@ Phaser.Tween = function (target, game, manager) { * Is this Tween frame or time based? A frame based tween will use the physics elapsed timer when updating. This means * it will retain the same consistent frame rate, regardless of the speed of the device. The duration value given should * be given in frames. - * + * * If the Tween uses a time based update (which is the default) then the duration is given in milliseconds. * In this situation a 2000ms tween will last exactly 2 seconds, regardless of the device and how many visual updates the tween * has actually been through. For very short tweens you may wish to experiment with a frame based update instead. * * The default value is whatever you've set in TweenManager.frameBased. - * + * * @property {boolean} frameBased * @default */ @@ -47335,6 +48383,7 @@ Phaser.Tween.prototype = { if (complete) { this.onComplete.dispatch(this.target, this); + this._hasStarted = false; if (this.chainedTween) { @@ -47791,6 +48840,7 @@ Phaser.Tween.prototype = { // No more repeats and no more children, so we're done this.isRunning = false; this.onComplete.dispatch(this.target, this); + this._hasStarted = false; if (this.chainedTween) { @@ -48388,6 +49438,15 @@ Phaser.TweenData.prototype = { // We're already in reverse mode, which means the yoyo has finished and there's no repeats, so end if (this.inReverse && this.repeatCounter === 0) { + // Restore the properties + for (var property in this.vStartCache) + { + this.vStart[property] = this.vStartCache[property]; + this.vEnd[property] = this.vEndCache[property]; + } + + this.inReverse = false; + return Phaser.TweenData.COMPLETE; } @@ -50807,20 +51866,9 @@ Phaser.AnimationManager.prototype = { if (resetFrame === undefined) { resetFrame = false; } - if (typeof name === 'string') + if (this.currentAnim && (typeof name !== 'string' || name === this.currentAnim.name)) { - if (this._anims[name]) - { - this.currentAnim = this._anims[name]; - this.currentAnim.stop(resetFrame); - } - } - else - { - if (this.currentAnim) - { - this.currentAnim.stop(resetFrame); - } + this.currentAnim.stop(resetFrame); } }, @@ -51097,7 +52145,6 @@ Object.defineProperty(Phaser.AnimationManager.prototype, 'frameName', { * @param {number[]|string[]} frames - An array of numbers or strings indicating which frames to play in which order. * @param {number} [frameRate=60] - The speed at which the animation should play. The speed is given in frames per second. * @param {boolean} [loop=false] - Whether or not the animation is looped or just plays once. -* @param {boolean} loop - Should this animation loop when it reaches the end or play through once. */ Phaser.Animation = function (game, parent, name, frameData, frames, frameRate, loop) { @@ -51212,6 +52259,9 @@ Phaser.Animation = function (game, parent, name, frameData, frames, frameRate, l /** * This event is dispatched when the Animation changes frame. * By default this event is disabled due to its intensive nature. Enable it with: `Animation.enableUpdate = true`. + * Note that the event is only dispatched with the current frame. In a low-FPS environment Animations + * will automatically frame-skip to try and claw back time, so do not base your code on expecting to + * receive a perfectly sequential set of frames from this event. * @property {Phaser.Signal|null} onUpdate * @default */ @@ -52360,7 +53410,7 @@ Phaser.FrameData.prototype = { for (var i = 0; i < frames.length; i++) { // Does the frames array contain names or indexes? - if (useNumericIndex) + if (useNumericIndex && this._frames[frames[i]]) { output.push(this._frames[frames[i]].index); } @@ -54668,9 +55718,9 @@ Phaser.Cache.prototype = { */ clearGLTextures: function () { - for (var key in this.cache.image) + for (var key in this._cache.image) { - this.cache.image[key].base._glTextures = []; + this._cache.image[key].base._glTextures = []; } }, @@ -54930,7 +55980,7 @@ Phaser.Loader = function (game) { * * To disable all parallel downloads this must be set to false prior to any resource being loaded. * - * @property {integer} enableParallel + * @property {boolean} enableParallel */ this.enableParallel = true; @@ -55404,7 +56454,7 @@ Phaser.Loader.prototype = { if (!file || (!file.loaded && !file.loading && file.type !== 'packfile')) { - this._fileList.splice(i, 1, pack); + this._fileList.splice(i, 0, pack); this._totalPackCount++; break; } @@ -55779,7 +56829,7 @@ Phaser.Loader.prototype = { * Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially. * @return {Phaser.Loader} This Loader instance. */ - audiosprite: function(key, urls, jsonURL, jsonData, autoDecode) { + audioSprite: function (key, urls, jsonURL, jsonData, autoDecode) { if (this.game.sound.noAudio) { @@ -55814,6 +56864,23 @@ Phaser.Loader.prototype = { }, + /** + * A legacy alias for Loader.audioSprite. Please see that method for documentation. + * + * @method Phaser.Loader#audiosprite + * @param {string} key - Unique asset key of the audio file. + * @param {Array|string} urls - An array containing the URLs of the audio files, i.e.: [ 'audiosprite.mp3', 'audiosprite.ogg', 'audiosprite.m4a' ] or a single string containing just one URL. + * @param {string} [jsonURL=null] - The URL of the audiosprite configuration JSON object. If you wish to pass the data directly set this parameter to null. + * @param {string|object} [jsonData=null] - A JSON object or string containing the audiosprite configuration data. This is ignored if jsonURL is not null. + * @param {boolean} [autoDecode=true] - When using Web Audio the audio files can either be decoded at load time or run-time. + * Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially. + * @return {Phaser.Loader} This Loader instance. + */ + audiosprite: function (key, urls, jsonURL, jsonData, autoDecode) { + + return this.audioSprite(key, urls, jsonURL, jsonData, autoDecode); + + }, /** * Adds a video file to the current load queue. @@ -56630,10 +57697,10 @@ Phaser.Loader.prototype = { this.onLoadComplete.dispatch(); - this.reset(); - this.game.state.loadComplete(); + this.reset(); + }, /** @@ -57055,9 +58122,12 @@ Phaser.Loader.prototype = { xhr.onload = function () { try { - - return onload.call(_this, file, xhr); - + if (xhr.readyState == 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. + return onerror.call(_this, file, xhr); + } + else { + return onload.call(_this, file, xhr); + } } catch (e) { // If this was the last file in the queue and an error is thrown in the create method @@ -57166,6 +58236,12 @@ Phaser.Loader.prototype = { xhr.onload = function () { try { + if (xhr.readyState == 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. + return onerror.call(_this, file, xhr); + } + else { + return onload.call(_this, file, xhr); + } return onload.call(_this, file, xhr); } catch (e) { _this.asyncComplete(file, e.message || 'Exception'); @@ -57202,8 +58278,8 @@ Phaser.Loader.prototype = { if (url.uri) // {uri: .., type: ..} pair { - url = url.uri; videoType = url.type; + url = url.uri; } else { @@ -57225,7 +58301,7 @@ Phaser.Loader.prototype = { if (this.game.device.canPlayVideo(videoType)) { - return urls[i]; + return url; } } @@ -57257,8 +58333,8 @@ Phaser.Loader.prototype = { if (url.uri) // {uri: .., type: ..} pair { - url = url.uri; audioType = url.type; + url = url.uri; } else { @@ -57280,7 +58356,7 @@ Phaser.Loader.prototype = { if (this.game.device.canPlayAudio(audioType)) { - return urls[i]; + return url; } } @@ -57585,7 +58661,7 @@ Phaser.Loader.prototype = { /** * Parses string data as XML. * - * @method parseXml + * @method Phaser.Loader#parseXml * @private * @param {string} data - The XML text to parse * @return {?XMLDocument} Returns the xml document, or null if such could not parsed to a valid document. @@ -58442,6 +59518,7 @@ Phaser.Sound.prototype = { this._sound.onended = null; this.isPlaying = false; + this.currentTime = this.durationMS; this.stop(); }, @@ -58559,15 +59636,6 @@ Phaser.Sound.prototype = { { if (this.usingWebAudio) { - if (this.externalNode) - { - this._sound.disconnect(this.externalNode); - } - else - { - this._sound.disconnect(this.gainNode); - } - if (this._sound.stop === undefined) { this._sound.noteOff(0); @@ -58580,6 +59648,15 @@ Phaser.Sound.prototype = { catch (e) { } } + + if (this.externalNode) + { + this._sound.disconnect(this.externalNode); + } + else + { + this._sound.disconnect(this.gainNode); + } } else if (this.usingAudioTag) { @@ -58892,15 +59969,6 @@ Phaser.Sound.prototype = { { if (this.usingWebAudio) { - if (this.externalNode) - { - this._sound.disconnect(this.externalNode); - } - else - { - this._sound.disconnect(this.gainNode); - } - if (this._sound.stop === undefined) { this._sound.noteOff(0); @@ -58915,6 +59983,15 @@ Phaser.Sound.prototype = { // Thanks Android 4.4 } } + + if (this.externalNode) + { + this._sound.disconnect(this.externalNode); + } + else + { + this._sound.disconnect(this.gainNode); + } } else if (this.usingAudioTag) { @@ -58925,22 +60002,23 @@ Phaser.Sound.prototype = { this.pendingPlayback = false; this.isPlaying = false; - var prevMarker = this.currentMarker; - - if (this.currentMarker !== '') - { - this.onMarkerComplete.dispatch(this.currentMarker, this); - } - - this.currentMarker = ''; - - if (this.fadeTween !== null) - { - this.fadeTween.stop(); - } if (!this.paused) { + var prevMarker = this.currentMarker; + + if (this.currentMarker !== '') + { + this.onMarkerComplete.dispatch(this.currentMarker, this); + } + + this.currentMarker = ''; + + if (this.fadeTween !== null) + { + this.fadeTween.stop(); + } + this.onStop.dispatch(this, prevMarker); } @@ -59462,6 +60540,11 @@ Phaser.SoundManager.prototype = { */ setTouchLock: function () { + if (this.noAudio || window['PhaserGlobal'].disableAudio === true) + { + return; + } + if (this.game.device.iOSVersion > 8) { this.game.input.touch.addTouchLockCallback(this.unlock, this, true); @@ -59922,6 +61005,8 @@ Phaser.SoundManager.prototype = { this.onSoundDecode.dispose(); + this.context.close(); + if (this.context && window['PhaserGlobal']) { // Store this in the PhaserGlobal window var, if set, to allow for re-use if the game is created again without the page refreshing @@ -60404,7 +61489,7 @@ Phaser.ScaleManager = function (game, width, height) { * * @protected * - * @property {boolean} [supportsFullscreen=(auto)] - True only if fullscreen support will be used. (Changing to fullscreen still might not work.) + * @property {boolean} [supportsFullScreen=(auto)] - True only if fullscreen support will be used. (Changing to fullscreen still might not work.) * * @property {boolean} [orientationFallback=(auto)] - See {@link Phaser.DOM.getScreenOrientation}. * @@ -60752,7 +61837,7 @@ Phaser.ScaleManager.prototype = { this._booted = true; - if (this._pendingScaleMode) + if (this._pendingScaleMode !== null) { this.scaleMode = this._pendingScaleMode; this._pendingScaleMode = null; @@ -60769,7 +61854,7 @@ Phaser.ScaleManager.prototype = { */ parseConfig: function (config) { - if (config['scaleMode']) + if (config['scaleMode'] !== undefined) { if (this._booted) { @@ -60781,7 +61866,7 @@ Phaser.ScaleManager.prototype = { } } - if (config['fullScreenScaleMode']) + if (config['fullScreenScaleMode'] !== undefined) { this.fullScreenScaleMode = config['fullScreenScaleMode']; } @@ -61391,8 +62476,8 @@ Phaser.ScaleManager.prototype = { } else if (scaleMode === Phaser.ScaleManager.NO_SCALE) { - this.width = this.game.width; - this.height = this.game.height; + this.width = this.game.width / this.game.device.pixelRatio; + this.height = this.game.height / this.game.device.pixelRatio; } else if (scaleMode === Phaser.ScaleManager.USER_SCALE) { @@ -67231,7 +68316,7 @@ Phaser.Physics.Arcade.prototype = { * @param {Phaser.Sprite|Phaser.Group|Phaser.Particles.Emitter|Phaser.TilemapLayer|array} object1 - The first object or array of objects to check. Can be Phaser.Sprite, Phaser.Group, Phaser.Particles.Emitter, or Phaser.TilemapLayer. * @param {Phaser.Sprite|Phaser.Group|Phaser.Particles.Emitter|Phaser.TilemapLayer|array} object2 - The second object or array of objects to check. Can be Phaser.Sprite, Phaser.Group, Phaser.Particles.Emitter or Phaser.TilemapLayer. * @param {function} [collideCallback=null] - An optional callback function that is called if the objects collide. The two objects will be passed to this function in the same order in which you specified them, unless you are colliding Group vs. Sprite, in which case Sprite will always be the first parameter. - * @param {function} [processCallback=null] - A callback function that lets you perform additional checks against the two objects if they overlap. If this is set then collision will only happen if processCallback returns true. The two objects will be passed to this function in the same order in which you specified them. + * @param {function} [processCallback=null] - A callback function that lets you perform additional checks against the two objects if they overlap. If this is set then collision will only happen if processCallback returns true. The two objects will be passed to this function in the same order in which you specified them, unless you are colliding Group vs. Sprite, in which case Sprite will always be the first parameter. * @param {object} [callbackContext] - The context in which to run the callbacks. * @return {boolean} True if a collision occurred otherwise false. */ @@ -68541,6 +69626,26 @@ Phaser.Physics.Arcade.prototype = { return Math.atan2(dy, dx); + }, + + /** + * Find the angle in radians between a display object (like a Sprite) and a Pointer, + * taking their x/y and center into account relative to the world. + * + * @method Phaser.Physics.Arcade#worldAngleToPointer + * @param {any} displayObject - The DisplayObjerct to test from. + * @param {Phaser.Pointer} [pointer] - The Phaser.Pointer to test to. If none is given then Input.activePointer is used. + * @return {number} The angle in radians between displayObject.world.x/y to Pointer.worldX / worldY + */ + worldAngleToPointer: function (displayObject, pointer) { + + pointer = pointer || this.game.input.activePointer; + + var dx = pointer.worldX - displayObject.world.x; + var dy = pointer.worldY - displayObject.world.y; + + return Math.atan2(dy, dx); + } }; @@ -69252,6 +70357,16 @@ Phaser.Physics.Arcade.Body.prototype = { onFloor: function () { return this.blocked.down; }, + + /** + * Returns true if the top of this Body is in contact with either the world bounds or a tile. + * + * @method Phaser.Physics.Arcade.Body#onTop + * @return {boolean} True if in contact with either the world bounds or a tile. + */ + onCeiling: function(){ + return this.blocked.up; + }, /** * Returns true if either side of this Body is in contact with either the world bounds or a tile. @@ -70628,8 +71743,8 @@ Phaser.Tilemap.prototype = { * You can also pass in a BitmapData which can be used instead of an Image. * @param {number} [tileWidth=32] - The width of the tiles in the Tileset Image. If not given it will default to the map.tileWidth value, if that isn't set then 32. * @param {number} [tileHeight=32] - The height of the tiles in the Tileset Image. If not given it will default to the map.tileHeight value, if that isn't set then 32. - * @param {number} [tileMargin=0] - The width of the tiles in the Tileset Image. If not given it will default to the map.tileWidth value. - * @param {number} [tileSpacing=0] - The height of the tiles in the Tileset Image. If not given it will default to the map.tileHeight value. + * @param {number} [tileMargin=0] - The width of the tiles in the Tileset Image. + * @param {number} [tileSpacing=0] - The height of the tiles in the Tileset Image. * @param {number} [gid=0] - If adding multiple tilesets to a blank/dynamic map, specify the starting GID the set will use here. * @return {Phaser.Tileset} Returns the Tileset object that was created or updated, or null if it failed. */ @@ -70679,7 +71794,7 @@ Phaser.Tilemap.prototype = { if (idx === null && this.format === Phaser.Tilemap.TILED_JSON) { - console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "' + key + '"'); + console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "' + tileset + '"'); return null; } @@ -71108,19 +72223,6 @@ Phaser.Tilemap.prototype = { }, - /** - * Gets the object index based on its name. - * - * @method Phaser.Tilemap#getObjectIndex - * @param {string} name - The name of the object to get. - * @return {number} The index of the object in this tilemap, or null if not found. - */ - getObjectIndex: function (name) { - - return this.getIndex(this.objects, name); - - }, - /** * Sets a global collision callback for the given tile index within the layer. This will affect all tiles on this layer that have the same index. * If a callback is already set for the tile index it will be replaced. Set the callback to null to remove it. @@ -71594,9 +72696,10 @@ Phaser.Tilemap.prototype = { hasTile: function (x, y, layer) { layer = this.getLayer(layer); - + if (this.layers[layer].data[y] === undefined || this.layers[layer].data[y][x] === undefined) { + return false; + } return (this.layers[layer].data[y][x].index > -1); - }, /** @@ -72970,7 +74073,7 @@ Phaser.TilemapLayer.prototype.resetTilesetCache = function () { }; /** - * This method will set the scale of the tilemap as well as update the underlying block data of this layer + * This method will set the scale of the tilemap as well as update the underlying block data of this layer. * * @method Phaser.TilemapLayer#setScale * @param {number} [xScale=1] - The scale factor along the X-plane @@ -73675,6 +74778,7 @@ Phaser.TilemapParser = { * Parses a CSV file into valid map data. * * @method Phaser.TilemapParser.parseCSV + * @param {string} key - The name you want to give the map data. * @param {string} data - The CSV file data. * @param {number} [tileWidth=32] - The pixel width of a single map tile. If using CSV data you must specify this. Not required if using Tiled map data. * @param {number} [tileHeight=32] - The pixel height of a single map tile. If using CSV data you must specify this. Not required if using Tiled map data. @@ -73838,11 +74942,11 @@ Phaser.TilemapParser = { var bytes = new Array( len ); // Interpret binaryString as an array of bytes representing // little-endian encoded uint32 values. - for (var i = 0; i < len; i+=4) { - bytes[i/4] = (binaryString.charCodeAt(i) | - binaryString.charCodeAt(i+1) << 8 | - binaryString.charCodeAt(i+2) << 16 | - binaryString.charCodeAt(i+3) << 24) >>> 0; + for (var j = 0; j < len; j+=4) { + bytes[j/4] = (binaryString.charCodeAt(j) | + binaryString.charCodeAt(j+1) << 8 | + binaryString.charCodeAt(j+2) << 16 | + binaryString.charCodeAt(j+3) << 24) >>> 0; } curl.data = bytes; } @@ -74043,10 +75147,10 @@ Phaser.TilemapParser = { { var newCollection = new Phaser.ImageCollection(set.name, set.firstgid, set.tilewidth, set.tileheight, set.margin, set.spacing, set.properties); - for (var i in set.tiles) + for (var ti in set.tiles) { - var image = set.tiles[i].image; - var gid = set.firstgid + parseInt(i, 10); + var image = set.tiles[ti].image; + var gid = set.firstgid + parseInt(ti, 10); newCollection.addImage(gid, image); } @@ -74690,7 +75794,7 @@ Phaser.Particle.prototype.setScaleData = function(data) { * @param {number} x - The x coordinate (in world space) to position the Particle at. * @param {number} y - The y coordinate (in world space) to position the Particle at. * @param {number} [health=1] - The health to give the Particle. -* @return (Phaser.Particle) This instance. +* @return {Phaser.Particle} This instance. */ Phaser.Particle.prototype.reset = function(x, y, health) { @@ -75209,6 +76313,7 @@ Phaser.Particles.Arcade.Emitter.prototype.makeParticles = function (keys, frames * Call this function to turn off all the particles and the emitter. * * @method Phaser.Particles.Arcade.Emitter#kill +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.kill = function () { @@ -75216,18 +76321,23 @@ Phaser.Particles.Arcade.Emitter.prototype.kill = function () { this.alive = false; this.exists = false; + return this; + }; /** * Handy for bringing game objects "back to life". Just sets alive and exists back to true. * * @method Phaser.Particles.Arcade.Emitter#revive +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.revive = function () { this.alive = true; this.exists = true; + return this; + }; /** @@ -75236,6 +76346,7 @@ Phaser.Particles.Arcade.Emitter.prototype.revive = function () { * @method Phaser.Particles.Arcade.Emitter#explode * @param {number} [lifespan=0] - How long each particle lives once emitted in ms. 0 = forever. * @param {number} [quantity=0] - How many particles to launch. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.explode = function (lifespan, quantity) { @@ -75243,6 +76354,8 @@ Phaser.Particles.Arcade.Emitter.prototype.explode = function (lifespan, quantity this.start(true, lifespan, 0, quantity, false); + return this; + }; /** @@ -75258,6 +76371,7 @@ Phaser.Particles.Arcade.Emitter.prototype.explode = function (lifespan, quantity * @param {number} [quantity=1] - How many particles to launch each time the frequency is met. Can never be > Emitter.maxParticles. * @param {number} [total=-1] - How many particles to launch in total. If -1 it will carry on indefinitely. * @param {boolean} [immediate=true] - Should the flow start immediately (true) or wait until the first frequency event? (false) +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.flow = function (lifespan, frequency, quantity, total, immediate) { @@ -75287,6 +76401,8 @@ Phaser.Particles.Arcade.Emitter.prototype.flow = function (lifespan, frequency, this.start(false, lifespan, frequency, quantity); } + return this; + }; /** @@ -75298,6 +76414,7 @@ Phaser.Particles.Arcade.Emitter.prototype.flow = function (lifespan, frequency, * @param {number} [frequency=250] - Ignored if Explode is set to true. Frequency is how often to emit 1 particle. Value given in ms. * @param {number} [quantity=0] - How many particles to launch. 0 = "all of the particles" which will keep emitting until Emitter.maxParticles is reached. * @param {number} [forceQuantity=false] - If `true` and creating a particle flow, the quantity emitted will be forced to the be quantity given in this call. This can never exceed Emitter.maxParticles. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, frequency, quantity, forceQuantity) { @@ -75334,6 +76451,8 @@ Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, f this._timer = this.game.time.time + frequency * this.game.time.slowMotion; } + return this; + }; /** @@ -75483,12 +76602,15 @@ Phaser.Particles.Arcade.Emitter.prototype.destroy = function () { * @method Phaser.Particles.Arcade.Emitter#setSize * @param {number} width - The desired width of the emitter (particles are spawned randomly within these dimensions). * @param {number} height - The desired height of the emitter. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.setSize = function (width, height) { this.area.width = width; this.area.height = height; + return this; + }; /** @@ -75496,6 +76618,7 @@ Phaser.Particles.Arcade.Emitter.prototype.setSize = function (width, height) { * @method Phaser.Particles.Arcade.Emitter#setXSpeed * @param {number} [min=0] - The minimum value for this range. * @param {number} [max=0] - The maximum value for this range. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.setXSpeed = function (min, max) { @@ -75505,6 +76628,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setXSpeed = function (min, max) { this.minParticleSpeed.x = min; this.maxParticleSpeed.x = max; + return this; + }; /** @@ -75512,6 +76637,7 @@ Phaser.Particles.Arcade.Emitter.prototype.setXSpeed = function (min, max) { * @method Phaser.Particles.Arcade.Emitter#setYSpeed * @param {number} [min=0] - The minimum value for this range. * @param {number} [max=0] - The maximum value for this range. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.setYSpeed = function (min, max) { @@ -75521,6 +76647,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setYSpeed = function (min, max) { this.minParticleSpeed.y = min; this.maxParticleSpeed.y = max; + return this; + }; /** @@ -75529,6 +76657,7 @@ Phaser.Particles.Arcade.Emitter.prototype.setYSpeed = function (min, max) { * @method Phaser.Particles.Arcade.Emitter#setRotation * @param {number} [min=0] - The minimum value for this range. * @param {number} [max=0] - The maximum value for this range. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.setRotation = function (min, max) { @@ -75538,6 +76667,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setRotation = function (min, max) { this.minRotation = min; this.maxRotation = max; + return this; + }; /** @@ -75551,6 +76682,7 @@ Phaser.Particles.Arcade.Emitter.prototype.setRotation = function (min, max) { * @param {number} [rate=0] - The rate (in ms) at which the particles will change in alpha from min to max, or set to zero to pick a random alpha between the two. * @param {function} [ease=Phaser.Easing.Linear.None] - If you've set a rate > 0 this is the easing formula applied between the min and max values. * @param {boolean} [yoyo=false] - If you've set a rate > 0 you can set if the ease will yoyo or not (i.e. ease back to its original values) +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.setAlpha = function (min, max, rate, ease, yoyo) { @@ -75577,6 +76709,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setAlpha = function (min, max, rate, e this.autoAlpha = true; } + return this; + }; /** @@ -75592,6 +76726,7 @@ Phaser.Particles.Arcade.Emitter.prototype.setAlpha = function (min, max, rate, e * @param {number} [rate=0] - The rate (in ms) at which the particles will change in scale from min to max, or set to zero to pick a random size between the two. * @param {function} [ease=Phaser.Easing.Linear.None] - If you've set a rate > 0 this is the easing formula applied between the min and max values. * @param {boolean} [yoyo=false] - If you've set a rate > 0 you can set if the ease will yoyo or not (i.e. ease back to its original values) +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.setScale = function (minX, maxX, minY, maxY, rate, ease, yoyo) { @@ -75625,6 +76760,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setScale = function (minX, maxX, minY, this.autoScale = true; } + return this; + }; /** @@ -75633,6 +76770,7 @@ Phaser.Particles.Arcade.Emitter.prototype.setScale = function (minX, maxX, minY, * * @method Phaser.Particles.Arcade.Emitter#at * @param {object|Phaser.Sprite|Phaser.Image|Phaser.TileSprite|Phaser.Text|PIXI.DisplayObject} object - The object that you wish to match the center with. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.at = function (object) { @@ -75647,6 +76785,8 @@ Phaser.Particles.Arcade.Emitter.prototype.at = function (object) { this.emitY = object.world.y + (object.anchor.y * object.height); } + return this; + }; /** @@ -75972,6 +77112,18 @@ Phaser.Video = function (game, key, url) { */ this._autoplay = false; + /** + * @property {function} _endCallback - The addEventListener ended function. + * @private + */ + this._endCallback = null; + + /** + * @property {function} _playCallback - The addEventListener playing function. + * @private + */ + this._playCallback = null; + if (key && this.game.cache.checkVideoKey(key)) { var _video = this.game.cache.getVideo(key); @@ -76411,7 +77563,9 @@ Phaser.Video.prototype = { this.game.onPause.add(this.setPause, this); this.game.onResume.add(this.setResume, this); - this.video.addEventListener('ended', this.complete.bind(this), true); + this._endCallback = this.complete.bind(this); + + this.video.addEventListener('ended', this._endCallback, true); if (loop) { @@ -76441,7 +77595,8 @@ Phaser.Video.prototype = { } else { - this.video.addEventListener('playing', this.playHandler.bind(this), true); + this._playCallback = this.playHandler.bind(this); + this.video.addEventListener('playing', this._playCallback, true); } } @@ -76462,7 +77617,7 @@ Phaser.Video.prototype = { */ playHandler: function () { - this.video.removeEventListener('playing', this.playHandler.bind(this)); + this.video.removeEventListener('playing', this._playCallback, true); this.updateTexture(); @@ -76521,8 +77676,8 @@ Phaser.Video.prototype = { } else { - this.video.removeEventListener('ended', this.complete.bind(this), true); - this.video.removeEventListener('playing', this.playHandler.bind(this), true); + this.video.removeEventListener('ended', this._endCallback, true); + this.video.removeEventListener('playing', this._playCallback, true); if (this.touchLocked) { @@ -76902,7 +78057,7 @@ Phaser.Video.prototype = { }; /** -* @memberof Phaser.Video +* @name Phaser.Video#currentTime * @property {number} currentTime - The current time of the video in seconds. If set the video will attempt to seek to that point in time. */ Object.defineProperty(Phaser.Video.prototype, "currentTime", { @@ -76922,7 +78077,7 @@ Object.defineProperty(Phaser.Video.prototype, "currentTime", { }); /** -* @memberof Phaser.Video +* @name Phaser.Video#duration * @property {number} duration - The duration of the video in seconds. * @readOnly */ @@ -76937,7 +78092,7 @@ Object.defineProperty(Phaser.Video.prototype, "duration", { }); /** -* @memberof Phaser.Video +* @name Phaser.Video#progress * @property {number} progress - The progress of this video. This is a value between 0 and 1, where 0 is the start and 1 is the end of the video. * @readOnly */ diff --git a/build/custom/phaser-arcade-physics.map b/build/custom/phaser-arcade-physics.map index 0c29c9be7..1056d1394 100644 --- a/build/custom/phaser-arcade-physics.map +++ b/build/custom/phaser-arcade-physics.map @@ -1 +1 @@ -{"version":3,"file":"phaser-arcade-physics.min.js","sources":["phaser-arcade-physics.js"],"names":["root","this","PIXI","game","WEBGL_RENDERER","CANVAS_RENDERER","VERSION","_UID","Float32Array","Uint16Array","Uint32Array","ArrayBuffer","Array","PI_2","Math","PI","RAD_TO_DEG","DEG_TO_RAD","RETINA_PREFIX","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","stage","worldAlpha","worldTransform","Matrix","worldPosition","worldScale","worldRotation","_sr","_cr","filterArea","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","Object","defineProperty","get","item","set","value","isMask","_filters","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","_generateCachedSprite","updateTransform","p","world","a","b","c","d","tx","ty","pt","wt","rotationCache","sin","cos","x","y","sqrt","atan2","transformCallback","call","transformCallbackContext","displayObjectUpdateTransform","getBounds","matrix","EmptyRectangle","getLocalBounds","identityMatrix","setStageReference","preUpdate","generateTexture","resolution","scaleMode","renderer","bounds","renderTexture","RenderTexture","width","height","_tempMatrix","render","updateCache","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","gl","Sprite","_renderWebGL","_renderCanvas","texture","resize","tempFilters","filters","anchor","DisplayObjectContainer","create","_width","_height","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeStageReference","undefined","removeChildren","beginIndex","endIndex","begin","end","range","removed","displayObjectContainerUpdateTransform","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","matrixCache","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","mask","start","popMask","popFilter","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","baseTexture","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","valid","w0","w1","h0","h1","temp","x1","y1","x2","y2","x3","y3","x4","y4","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","scaleModes","LINEAR","dx","trim","dy","roundPixels","setTransform","cw","ch","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","fromFrame","frameId","TextureCache","fromImage","imageId","crossorigin","SpriteBatch","textureThing","ready","initWebGL","fastSpriteBatch","WebGLFastSpriteBatch","setContext","shaderManager","setShader","fastShader","transform","isRotated","childTransform","hex2rgb","hex","rgb2hex","rgb","canUseNewCanvasBlendModes","document","pngHead","pngEnd","magenta","Image","src","yellow","canvas","CanvasPool","getContext","getImageData","data","remove","getNextPowerOfTwo","number","result","isPowerOfTwo","idx","getFirst","container","createElement","pool","removeByCanvas","getTotal","getFree","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","isArray","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","console","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","PixiShader","program","textureCount","firstRun","dirty","attributes","init","defaultVertexSrc","useProgram","uSampler","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","key","uniforms","uniformLocation","initUniforms","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","activeTexture","bindTexture","TEXTURE_2D","_glTextures","id","textureData","magFilter","minFilter","wrapS","CLAMP_TO_EDGE","wrapT","format","LUMINANCE","RGBA","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","texImage2D","UNSIGNED_BYTE","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","drawCount","initContext","mapBlendModes","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","contextLost","viewport","bindFramebuffer","FRAMEBUFFER","clearColor","_bgColor","r","g","clear","COLOR_BUFFER_BIT","renderDisplayObject","displayObject","buffer","setBlendMode","style","createTexture","UNPACK_PREMULTIPLY_ALPHA_WEBGL","NEAREST","mipmap","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","indices","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","uniform1f","toArray","uniform2f","uniform3fv","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","stripShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","numVerts","numIndices","vertices","positions","colors","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","AbstractFilter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","TEXTURE0","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skipRender","renderBatch","startIndex","TRIANGLES","deleteBuffer","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorBuffer","colorArray","createFramebuffer","DEFAULT","framebufferTexture2D","COLOR_ATTACHMENT0","renderBuffer","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","pixels","canHandleAlpha","putImageData","checkInverseAlpha","s1","s2","canUseMultiply","CanvasRenderer","refresh","Phaser","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","BaseTextureCache","BaseTextureCacheIdGenerator","BaseTexture","complete","naturalWidth","naturalHeight","imageUrl","forceLoaded","_pixiId","unloadFromGPU","updateSourceImage","newSrc","glTexture","image","crossOrigin","fromCanvas","TextureCacheIdGenerator","FrameCache","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","addTextureToCache","removeTextureFromCache","textureBuffer","renderWebGL","renderCanvas","tempMatrix","updateBase","identity","translate","append","realResolution","getImage","getBase64","getCanvas","toDataURL","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","Strip","canvasPadding","drawMode","DrawModes","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","centerX","centerY","normX","normY","dist","beginPath","moveTo","lineTo","closePath","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","fill","updateFrame","n","rawX","rawY","Rope","points","lastPoint","point","amount","total","nextPoint","perp","ratio","perpLength","num","TilingSprite","textureDebug","canvasBuffer","tilePattern","refreshTexture","frameWidth","frameHeight","generateTilingTexture","needsUpdate","createPattern","sessionBlendMode","forcePowerOfTwo","targetWidth","_frame","sourceSizeW","targetHeight","sourceSizeH","trimmed","spriteSourceSizeX","spriteSourceSizeY","strokeStyle","strokeRect","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","trunc","ceil","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","warn","Utils","getProperty","obj","prop","parts","split","last","l","current","setProperty","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","hasOwnProperty","e","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","to","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","xDist","halfHeight","yDist","xCornerDist","yCornerDist","xCornerDistSq","yCornerDistSq","maxCornerDistSq","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","center","fromAngle","rotate","rotateAround","line","asSegment","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","normalAngle","fromArray","array","pos","newPos","tx1","d1","invert","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","dot","cross","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","pointslength","parse","xProp","yProp","Polygon","area","_points","closed","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","empty","inflatePoint","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","MIN_VALUE","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","_targetPosition","_edge","_position","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","follow","helper","unfollow","focusOn","setPosition","focusOnXY","update","updateTarget","checkBounds","setBoundsToWorld","setSize","reset","State","make","camera","cache","input","load","math","sound","time","tweens","particles","physics","rnd","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","Signal","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","boot","onPause","pause","onResume","resume","state","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","dispatch","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","exists","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","webkitHidden","mozHidden","msHidden","hidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","SORT_ASCENDING","SORT_DESCENDING","silent","body","addToHash","events","onAddedToGroup$dispatch","removeFromHash","addMultiple","moveAll","addAt","updateZ","getAt","createMultiple","quantity","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","oldChild","newChild","hasProperty","operation","force","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","addAll","property","subAll","multiplyAll","divideAll","callAllExists","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","checkExists","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","getFirstExists","createIfNull","resetChild","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","destroyPhase","onRemovedFromGroup$dispatch","group","removeBetween","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","horizontal","vertical","between","Game","physicsConfig","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Cache","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","chrome","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","addMoveCallback","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","limit","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","worldVisible","TileSprite","Graphics","graphicsData","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","duration","justReleased","pointerMode","CONTACT","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchLockCallbacks","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","addTouchLockCallback","onEnd","removeTouchLockCallback","cb","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","consumePointerEvent","scaleLayer","dragOffset","dragFromCenter","dragStartPoint","snapPoint","_dragPoint","_dragPhase","_wasEnabled","_tempPoint","_pointerData","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","flagged","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","_draggedPointerID","updateDrag","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","startDrag","onInputUp$dispatch","stopDrag","globalToLocalX","py","globalToLocalY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","onDragStart$dispatch","grid","boundsFluid","scaleFluidInversed","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","singlePad","validConnections","rawIndices","padIndices","connected","k","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_rawPad","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","BringToTop","Core","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","rect","updateCrop","resetFrame","Delta","Destroy","onDestroy$dispatch","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","heal","InCamera","InputEnabled","inputEnabled","InWorld","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","img","base","frameData","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","object","creature","mesh","Creature","tween","physicsGroup","audio","audioSprite","addSprite","tileSprite","rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","Tilemap","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","align","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","STATE_OVER","STATE_OUT","STATE_DOWN","STATE_UP","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","changedUp","ctx","imageData","textureFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","addImage","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","HSLtoRGB","shiftHSL","limitValue","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","direction","scan","newWidth","newHeight","op","copyRect","drawGroup","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","arc","lineWidth","stroke","textureLine","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","fillAlpha","lineColor","currentPath","boundsPadding","_localBounds","webGLDirty","cachedSpriteDirty","lineStyle","lineAlpha","drawShape","quadraticCurveTo","cpX","cpY","toX","toY","xa","ya","fromX","fromY","bezierCurveTo","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qx","qy","startAngle","endAngle","anticlockwise","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","real","beginFill","fillColor","endFill","drawRect","drawRoundedRect","drawCircle","drawEllipse","drawPolygon","path","clearDirty","updateCachedSpriteTexture","_prevTint","updateLocalBounds","tempPoint","RECT","RREC","CIRC","ELIP","cachedSprite","destroyCachedSprite","GraphicsData","POLY","_lineTint","_fillTint","PolyK","Triangulate","sign","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","earFound","_convex","vi","_PointInTriangle","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","lastIndex","graphicsDataPool","switchMode","canDrawUsingSimple","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","triangles","getPt","n1","n2","perc","diff","xb","yb","circleData","totalSegs","seg","firstPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","pdist","indexCount","indexStart","glPoints","glIndicies","updateGraphicsTint","kappa","ox","oy","xe","ye","xm","ym","maxRadius","tintR","tintG","tintB","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawTriangles","point1","point2","point3","renderXY","renderRawXY","textBounds","strokeColors","fontStyles","fontWeights","autoRound","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","spaceLeft","words","wordWidth","wordWidthWithSpace","updateFont","fontFamily","setText","parseList","list","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","exec","parseFloat","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","FrameData","currentX","currentY","addFrame","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","updateAnimation","_updateAnimation","segments","difference","_scroll","def","physicsElapsed","autoScroll","stopScroll","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ie","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkOS","vita","kindle","RegExp","$1","_checkFeatures","getItem","error","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkInput","documentElement","maxTouchPoints","msPointerEnabled","pointerEnabled","_checkFullScreenSupport","fs","cfs","Element","_checkBrowser","$3","process","require","versions","_checkVideo","videoElement","canPlayType","_checkAudio","audioElement","_checkDevice","Int8Array","_checkIsLittleEndian","Uint8ClampedArray","Int32Array","_checkIsUint8ClampedImageData","vibrate","webkitVibrate","mozVibrate","msVibrate","elem","createImageData","_checkCSS3D","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","canPlayAudio","canPlayVideo","isConsoleOpen","profile","profileEnd","isAndroidStockBrowser","matches","skipPool","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","fuzzyEqual","epsilon","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","val","fuzzyFloor","average","sum","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","radians","linearInterpolation","linear","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","percent","degreeToRadiansFactor","radianToDegreesFactor","degrees","seeds","s0","sow","integer","frac","integerInRange","realInRange","normal","pick","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","re","separator","getQueryString","parameter","keyValues","search","substring","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","getAll","pendingDelete","removeFrom","_manager","addTweens","numTweens","isTweening","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","elapsedMS","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","useLocalFrameIndex","frameIndex","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","rotated","rotationDirection","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","row","column","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","signature","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","_cache","binary","bitmapFont","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","addCanvas","removeImage","_resolveURL","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","LoaderParser","jsonBitmapFont","xmlBitmapFont","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getJSON","getXML","getVideo","getShader","getRenderTexture","getBaseTexture","getFrameCount","getFrameByIndex","getPixiTexture","getPixiBaseTexture","getURL","getKeys","removeCanvas","removeFromPixi","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","atlas","baseURL","isLoading","preloadSprite","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","extension","syncPoint","currentFile","replaceInFileList","pack","images","urls","script","spritesheet","autoDecode","noAudio","audiosprite","jsonURL","jsonData","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onload","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","Blob","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","onFadeComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","mute","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","fakeiOSTouchLock","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","reflowGame","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","currentColor","soundInfo","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","filled","rectangle","ropeSegments","self","segment","spriteInfo","spriteCoords","lineInfo","geom","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","PORTRAIT","LANDSCAPE","matchMedia","documentBounds","pageXOffset","pageYOffset","treatAsDesktop","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","shuffle","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","POSITIVE_INFINITY","numberArray","numberArrayStep","LinkedList","entity","palettes",1,2,3,4,5,6,7,8,9,"PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","cellWidth","cellHeight","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","q","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","object1","object2","overlapCallback","processCallback","collideHandler","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","group1","group2","body1","body2","separateX","separateY","immovable","maxOverlap","deltaAbsX","embedded","touching","none","overlapX","customSeparateX","bounce","moves","friction","nv1","mass","nv2","avg","deltaAbsY","overlapY","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","allowRotation","preRotation","newVelocity","deltaMax","facing","collideWorldBounds","any","wasTouching","blocked","tilePadding","syncBounds","_sx","_sy","updateBounds","asx","asy","check","onFloor","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","separateTile","tile","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","collides","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","collision","currentLayer","debugMap","_results","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","found","createFromTiles","replacements","getLayer","customClass","lw","lh","createLayer","getLayerIndex","TilemapLayer","indexes","bodies","getImageIndex","getObjectIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","getTileRight","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","map","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","baseY","normStartX","normStartY","tileColor","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","fields","sliced","curl","compression","encoding","binaryString","atob","bytes","opacity","flippedVal","curi","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","curo","polyline","polygon","ellipse","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","Particle","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","on","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","_minParticleScale","_maxParticleScale","_quantity","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particle","rndKey","rndFrame","explode","flow","forceQuantity","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","at","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_autoplay","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute"],"mappings":";;CAkCA,WAEI,GAAIA,GAAOC,KAoBXC,EAAOA,KA6xRP,OAtxRJA,GAAKC,KAAO,KAOZD,EAAKE,eAAiB,EAOtBF,EAAKG,gBAAkB,EAOvBH,EAAKI,QAAU,SAGfJ,EAAKK,KAAO,EAEgB,mBAAlB,eAENL,EAAKM,aAAeA,aACpBN,EAAKO,YAAcA,YAOnBP,EAAKQ,YAAcA,YACnBR,EAAKS,YAAcA,cAInBT,EAAKM,aAAeI,MACpBV,EAAKO,YAAcG,OAOvBV,EAAKW,KAAiB,EAAVC,KAAKC,GAMjBb,EAAKc,WAAa,IAAMF,KAAKC,GAM7Bb,EAAKe,WAAaH,KAAKC,GAAK,IAO5Bb,EAAKgB,cAAgB,MAqCrBhB,EAAKiB,cAAgB,WAQjBlB,KAAKmB,SAAW,GAAIlB,GAAKmB,MAAM,EAAG,GAQlCpB,KAAKqB,MAAQ,GAAIpB,GAAKmB,MAAM,EAAG,GAQ/BpB,KAAKsB,MAAQ,GAAIrB,GAAKmB,MAAM,EAAG,GAQ/BpB,KAAKuB,SAAW,EAQhBvB,KAAKwB,MAAQ,EAQbxB,KAAKyB,SAAU,EASfzB,KAAK0B,QAAU,KAQf1B,KAAK2B,YAAa,EASlB3B,KAAK4B,OAAS,KASd5B,KAAK6B,MAAQ,KASb7B,KAAK8B,WAAa,EAUlB9B,KAAK+B,eAAiB,GAAI9B,GAAK+B,OAU/BhC,KAAKiC,cAAgB,GAAIhC,GAAKmB,MAAM,EAAG,GAUvCpB,KAAKkC,WAAa,GAAIjC,GAAKmB,MAAM,EAAG,GAUpCpB,KAAKmC,cAAgB,EASrBnC,KAAKoC,IAAM,EASXpC,KAAKqC,IAAM,EASXrC,KAAKsC,WAAa,KASlBtC,KAAKuC,QAAU,GAAItC,GAAKuC,UAAU,EAAG,EAAG,EAAG,GAS3CxC,KAAKyC,eAAiB,KAStBzC,KAAK0C,MAAQ,KASb1C,KAAK2C,gBAAiB,EAStB3C,KAAK4C,eAAgB,GAKzB3C,EAAKiB,cAAc2B,UAAUC,YAAc7C,EAAKiB,cAQhDjB,EAAKiB,cAAc2B,UAAUE,QAAU,WAEnC,GAAI/C,KAAKgD,SACT,CAGI,IAFA,GAAIC,GAAIjD,KAAKgD,SAASE,OAEfD,KAEHjD,KAAKgD,SAASC,GAAGF,SAGrB/C,MAAKgD,YAGThD,KAAK0B,QAAU,KACf1B,KAAK4B,OAAS,KACd5B,KAAK6B,MAAQ,KACb7B,KAAK+B,eAAiB,KACtB/B,KAAKsC,WAAa,KAClBtC,KAAKuC,QAAU,KACfvC,KAAKyC,eAAiB,KACtBzC,KAAK0C,MAAQ,KAGb1C,KAAK2B,YAAa,EAElB3B,KAAKmD,wBASTC,OAAOC,eAAepD,EAAKiB,cAAc2B,UAAW,gBAEhDS,IAAK,WAED,GAAIC,GAAOvD,IAEX,GACA,CACI,IAAKuD,EAAK9B,QAAS,OAAO,CAC1B8B,GAAOA,EAAK3B,aAEV2B,EAEN,QAAO,KAafH,OAAOC,eAAepD,EAAKiB,cAAc2B,UAAW,QAEhDS,IAAK,WACD,MAAOtD,MAAK0C,OAGhBc,IAAK,SAASC,GAENzD,KAAK0C,QAAO1C,KAAK0C,MAAMgB,QAAS,GAEpC1D,KAAK0C,MAAQe,EAETzD,KAAK0C,QAAO1C,KAAK0C,MAAMgB,QAAS,MAiB5CN,OAAOC,eAAepD,EAAKiB,cAAc2B,UAAW,WAEhDS,IAAK,WACD,MAAOtD,MAAK2D,UAGhBH,IAAK,SAASC,GAEV,GAAIA,EACJ,CAII,IAAK,GAFDG,MAEKX,EAAI,EAAGA,EAAIQ,EAAMP,OAAQD,IAI9B,IAAK,GAFDY,GAAeJ,EAAMR,GAAGW,OAEnBE,EAAI,EAAGA,EAAID,EAAaX,OAAQY,IAErCF,EAAOG,KAAKF,EAAaC,GAKjC9D,MAAKgE,cAAiBC,OAAQjE,KAAM6D,aAAcD,GAGtD5D,KAAK2D,SAAWF,EAEZzD,KAAKkE,WAAalE,KAAKkE,YAAcjE,EAAKkE,WAAWC,WAErDpE,KAAKkE,UAAYjE,EAAKkE,WAAWE,WAY7CjB,OAAOC,eAAepD,EAAKiB,cAAc2B,UAAW,iBAEhDS,IAAK,WACD,MAAQtD,MAAK2C,gBAGjBa,IAAK,SAASC,GAENzD,KAAK2C,iBAAmBc,IAKxBA,EAEAzD,KAAKsE,wBAILtE,KAAKmD,uBAGTnD,KAAK2C,eAAiBc,MAiB9BxD,EAAKiB,cAAc2B,UAAU0B,gBAAkB,SAAS3C,GAEpD,GAAKA,GAAW5B,KAAK4B,QAAW5B,KAAKE,KAArC,CAKA,GAAIsE,GAAIxE,KAAK4B,MAETA,GAEA4C,EAAI5C,EAEE5B,KAAK4B,SAEX4C,EAAIxE,KAAKE,KAAKuE,MAIlB,IAIIC,GAAGC,EAAGC,EAAGC,EAAGC,EAAIC,EAJhBC,EAAKR,EAAEzC,eACPkD,EAAKjF,KAAK+B,cAMV/B,MAAKuB,SAAWtB,EAAKW,MAGjBZ,KAAKuB,WAAavB,KAAKkF,gBAEvBlF,KAAKkF,cAAgBlF,KAAKuB,SAC1BvB,KAAKoC,IAAMvB,KAAKsE,IAAInF,KAAKuB,UACzBvB,KAAKqC,IAAMxB,KAAKuE,IAAIpF,KAAKuB,WAI7BmD,EAAM1E,KAAKqC,IAAMrC,KAAKqB,MAAMgE,EAC5BV,EAAM3E,KAAKoC,IAAMpC,KAAKqB,MAAMgE,EAC5BT,GAAM5E,KAAKoC,IAAMpC,KAAKqB,MAAMiE,EAC5BT,EAAM7E,KAAKqC,IAAMrC,KAAKqB,MAAMiE,EAC5BR,EAAM9E,KAAKmB,SAASkE,EACpBN,EAAM/E,KAAKmB,SAASmE,GAGhBtF,KAAKsB,MAAM+D,GAAKrF,KAAKsB,MAAMgE,KAE3BR,GAAM9E,KAAKsB,MAAM+D,EAAIX,EAAI1E,KAAKsB,MAAMgE,EAAIV,EACxCG,GAAM/E,KAAKsB,MAAM+D,EAAIV,EAAI3E,KAAKsB,MAAMgE,EAAIT,GAI5CI,EAAGP,EAAKA,EAAKM,EAAGN,EAAIC,EAAKK,EAAGJ,EAC5BK,EAAGN,EAAKD,EAAKM,EAAGL,EAAIA,EAAKK,EAAGH,EAC5BI,EAAGL,EAAKA,EAAKI,EAAGN,EAAIG,EAAKG,EAAGJ,EAC5BK,EAAGJ,EAAKD,EAAKI,EAAGL,EAAIE,EAAKG,EAAGH,EAC5BI,EAAGH,GAAKA,EAAKE,EAAGN,EAAIK,EAAKC,EAAGJ,EAAII,EAAGF,GACnCG,EAAGF,GAAKD,EAAKE,EAAGL,EAAII,EAAKC,EAAGH,EAAIG,EAAGD,KAKnCL,EAAK1E,KAAKqB,MAAMgE,EAChBR,EAAK7E,KAAKqB,MAAMiE,EAEhBR,EAAK9E,KAAKmB,SAASkE,EAAIrF,KAAKsB,MAAM+D,EAAIX,EACtCK,EAAK/E,KAAKmB,SAASmE,EAAItF,KAAKsB,MAAMgE,EAAIT,EAEtCI,EAAGP,EAAKA,EAAKM,EAAGN,EAChBO,EAAGN,EAAKD,EAAKM,EAAGL,EAChBM,EAAGL,EAAKC,EAAKG,EAAGJ,EAChBK,EAAGJ,EAAKA,EAAKG,EAAGH,EAChBI,EAAGH,GAAKA,EAAKE,EAAGN,EAAIK,EAAKC,EAAGJ,EAAII,EAAGF,GACnCG,EAAGF,GAAKD,EAAKE,EAAGL,EAAII,EAAKC,EAAGH,EAAIG,EAAGD,IAIvC/E,KAAK8B,WAAa9B,KAAKwB,MAAQgD,EAAE1C,WAEjC9B,KAAKiC,cAAcuB,IAAIyB,EAAGH,GAAIG,EAAGF,IACjC/E,KAAKkC,WAAWsB,IAAI3C,KAAK0E,KAAKN,EAAGP,EAAIO,EAAGP,EAAIO,EAAGN,EAAIM,EAAGN,GAAI9D,KAAK0E,KAAKN,EAAGL,EAAIK,EAAGL,EAAIK,EAAGJ,EAAII,EAAGJ,IAC5F7E,KAAKmC,cAAgBtB,KAAK2E,OAAOP,EAAGL,EAAGK,EAAGJ,GAG1C7E,KAAKyC,eAAiB,KAGlBzC,KAAKyF,mBAELzF,KAAKyF,kBAAkBC,KAAK1F,KAAK2F,yBAA0BV,EAAID,KAMvE/E,EAAKiB,cAAc2B,UAAU+C,6BAA+B3F,EAAKiB,cAAc2B,UAAU0B,gBASzFtE,EAAKiB,cAAc2B,UAAUgD,UAAY,SAASC,GAG9C,MADAA,GAASA,EACF7F,EAAK8F,gBAShB9F,EAAKiB,cAAc2B,UAAUmD,eAAiB,WAE1C,MAAOhG,MAAK6F,UAAU5F,EAAKgG,iBAS/BhG,EAAKiB,cAAc2B,UAAUqD,kBAAoB,SAASrE,GAEtD7B,KAAK6B,MAAQA,GAQjB5B,EAAKiB,cAAc2B,UAAUsD,UAAY,aAczClG,EAAKiB,cAAc2B,UAAUuD,gBAAkB,SAASC,EAAYC,EAAWC,GAE3E,GAAIC,GAASxG,KAAKgG,iBAEdS,EAAgB,GAAIxG,GAAKyG,cAA6B,EAAfF,EAAOG,MAA2B,EAAhBH,EAAOI,OAAYL,EAAUD,EAAWD,EAOrG,OALApG,GAAKiB,cAAc2F,YAAY/B,IAAM0B,EAAOnB,EAC5CpF,EAAKiB,cAAc2F,YAAY9B,IAAMyB,EAAOlB,EAE5CmB,EAAcK,OAAO9G,KAAMC,EAAKiB,cAAc2F,aAEvCJ,GAQXxG,EAAKiB,cAAc2B,UAAUkE,YAAc,WAEvC/G,KAAKsE,yBAUTrE,EAAKiB,cAAc2B,UAAUmE,SAAW,SAAS7F,GAI7C,MADAnB,MAAK4F,+BACE5F,KAAK+B,eAAekF,MAAM9F,IAWrClB,EAAKiB,cAAc2B,UAAUqE,QAAU,SAAS/F,EAAUgG,GAUtD,MARIA,KAEAhG,EAAWgG,EAAKH,SAAS7F,IAI7BnB,KAAK4F,+BAEE5F,KAAK+B,eAAeqF,aAAajG,IAU5ClB,EAAKiB,cAAc2B,UAAUwE,oBAAsB,SAASC,GAExDtH,KAAKuH,cAAczF,WAAa9B,KAAK8B,WAEjCwF,EAAcE,GAEdvH,EAAKwH,OAAO5E,UAAU6E,aAAahC,KAAK1F,KAAKuH,cAAeD,GAI5DrH,EAAKwH,OAAO5E,UAAU8E,cAAcjC,KAAK1F,KAAKuH,cAAeD,IAUrErH,EAAKiB,cAAc2B,UAAUyB,sBAAwB,WAEjDtE,KAAK2C,gBAAiB,CAEtB,IAAI6D,GAASxG,KAAKgG,gBAIlB,IAFAhG,KAAKuE,kBAEAvE,KAAKuH,cAQNvH,KAAKuH,cAAcK,QAAQC,OAAsB,EAAfrB,EAAOG,MAA2B,EAAhBH,EAAOI,YAP/D,CACI,GAAIH,GAAgB,GAAIxG,GAAKyG,cAA6B,EAAfF,EAAOG,MAA2B,EAAhBH,EAAOI,OACpE5G,MAAKuH,cAAgB,GAAItH,GAAKwH,OAAOhB,GACrCzG,KAAKuH,cAAcxF,eAAiB/B,KAAK+B,eAQ7C,GAAI+F,GAAc9H,KAAK2D,QACvB3D,MAAK2D,SAAW,KAChB3D,KAAKuH,cAAcQ,QAAUD,EAG7B7H,EAAKiB,cAAc2F,YAAY/B,IAAM0B,EAAOnB,EAC5CpF,EAAKiB,cAAc2F,YAAY9B,IAAMyB,EAAOlB,EAE5CtF,KAAKuH,cAAcK,QAAQd,OAAO9G,KAAMC,EAAKiB,cAAc2F,aAAa,GACxE7G,KAAKuH,cAAcS,OAAO3C,IAAOmB,EAAOnB,EAAImB,EAAOG,OACnD3G,KAAKuH,cAAcS,OAAO1C,IAAOkB,EAAOlB,EAAIkB,EAAOI,QAEnD5G,KAAK2D,SAAWmE,EAEhB9H,KAAK2C,gBAAiB,GAS1B1C,EAAKiB,cAAc2B,UAAUM,qBAAuB,WAE3CnD,KAAKuH,gBAEVvH,KAAKuH,cAAcK,QAAQ7E,SAAQ,GAGnC/C,KAAKuH,cAAgB,OAUzBtH,EAAKiB,cAAc2B,UAAU6E,aAAe,SAASJ,GAIjDA,EAAgBA,GAUpBrH,EAAKiB,cAAc2B,UAAU8E,cAAgB,SAASL,GAIlDA,EAAgBA,GASpBlE,OAAOC,eAAepD,EAAKiB,cAAc2B,UAAW,KAEhDS,IAAK,WACD,MAAQtD,MAAKmB,SAASkE,GAG1B7B,IAAK,SAASC,GACVzD,KAAKmB,SAASkE,EAAI5B,KAW1BL,OAAOC,eAAepD,EAAKiB,cAAc2B,UAAW,KAEhDS,IAAK,WACD,MAAQtD,MAAKmB,SAASmE,GAG1B9B,IAAK,SAASC,GACVzD,KAAKmB,SAASmE,EAAI7B,KAiB1BxD,EAAKgI,uBAAyB,WAE1BhI,EAAKiB,cAAcwE,KAAK1F,MASxBA,KAAKgD,aAKT/C,EAAKgI,uBAAuBpF,UAAYO,OAAO8E,OAAQjI,EAAKiB,cAAc2B,WAC1E5C,EAAKgI,uBAAuBpF,UAAUC,YAAc7C,EAAKgI,uBAQzD7E,OAAOC,eAAepD,EAAKgI,uBAAuBpF,UAAW,SAEzDS,IAAK,WACD,MAAOtD,MAAKqB,MAAMgE,EAAIrF,KAAKgG,iBAAiBW,OAGhDnD,IAAK,SAASC,GAEV,GAAIkD,GAAQ3G,KAAKgG,iBAAiBW,KAEpB,KAAVA,EAEA3G,KAAKqB,MAAMgE,EAAI5B,EAAQkD,EAIvB3G,KAAKqB,MAAMgE,EAAI,EAGnBrF,KAAKmI,OAAS1E,KAUtBL,OAAOC,eAAepD,EAAKgI,uBAAuBpF,UAAW,UAEzDS,IAAK,WACD,MAAQtD,MAAKqB,MAAMiE,EAAItF,KAAKgG,iBAAiBY,QAGjDpD,IAAK,SAASC,GAEV,GAAImD,GAAS5G,KAAKgG,iBAAiBY,MAEpB,KAAXA,EAEA5G,KAAKqB,MAAMiE,EAAI7B,EAAQmD,EAIvB5G,KAAKqB,MAAMiE,EAAI,EAGnBtF,KAAKoI,QAAU3E,KAYvBxD,EAAKgI,uBAAuBpF,UAAUwF,SAAW,SAASC,GAEtD,MAAOtI,MAAKuI,WAAWD,EAAOtI,KAAKgD,SAASE,SAWhDjD,EAAKgI,uBAAuBpF,UAAU0F,WAAa,SAASD,EAAOE,GAE/D,GAAGA,GAAS,GAAKA,GAASxI,KAAKgD,SAASE,OAapC,MAXGoF,GAAM1G,QAEL0G,EAAM1G,OAAO6G,YAAYH,GAG7BA,EAAM1G,OAAS5B,KAEfA,KAAKgD,SAAS0F,OAAOF,EAAO,EAAGF,GAE5BtI,KAAK6B,OAAMyG,EAAMpC,kBAAkBlG,KAAK6B,OAEpCyG,CAIP,MAAM,IAAIK,OAAML,EAAQ,yBAA0BE,EAAO,8BAAgCxI,KAAKgD,SAASE,SAW/GjD,EAAKgI,uBAAuBpF,UAAU+F,aAAe,SAASN,EAAOO,GAEjE,GAAGP,IAAUO,EAAb,CAIA,GAAIC,GAAS9I,KAAK+I,cAAcT,GAC5BU,EAAShJ,KAAK+I,cAAcF,EAEhC,IAAY,EAATC,GAAuB,EAATE,EACb,KAAM,IAAIL,OAAM,gFAGpB3I,MAAKgD,SAAS8F,GAAUD,EACxB7I,KAAKgD,SAASgG,GAAUV,IAW5BrI,EAAKgI,uBAAuBpF,UAAUkG,cAAgB,SAAST,GAE3D,GAAIE,GAAQxI,KAAKgD,SAASiG,QAAQX,EAClC,IAAc,KAAVE,EAEA,KAAM,IAAIG,OAAM,2DAEpB,OAAOH,IAUXvI,EAAKgI,uBAAuBpF,UAAUqG,cAAgB,SAASZ,EAAOE,GAElE,GAAY,EAARA,GAAaA,GAASxI,KAAKgD,SAASE,OAEpC,KAAM,IAAIyF,OAAM,sCAEpB,IAAIQ,GAAenJ,KAAK+I,cAAcT,EACtCtI,MAAKgD,SAAS0F,OAAOS,EAAc,GACnCnJ,KAAKgD,SAAS0F,OAAOF,EAAO,EAAGF,IAUnCrI,EAAKgI,uBAAuBpF,UAAUuG,WAAa,SAASZ,GAExD,GAAY,EAARA,GAAaA,GAASxI,KAAKgD,SAASE,OAEpC,KAAM,IAAIyF,OAAM,8BAA+BH,EAAO,iGAE1D,OAAOxI,MAAKgD,SAASwF,IAWzBvI,EAAKgI,uBAAuBpF,UAAU4F,YAAc,SAASH,GAEzD,GAAIE,GAAQxI,KAAKgD,SAASiG,QAASX,EACnC,IAAa,KAAVE,EAEH,MAAOxI,MAAKqJ,cAAeb,IAU/BvI,EAAKgI,uBAAuBpF,UAAUwG,cAAgB,SAASb,GAE3D,GAAIF,GAAQtI,KAAKoJ,WAAYZ,EAM7B,OALGxI,MAAK6B,OACJyG,EAAMgB,uBAEVhB,EAAM1G,OAAS2H,OACfvJ,KAAKgD,SAAS0F,OAAQF,EAAO,GACtBF,GAUXrI,EAAKgI,uBAAuBpF,UAAU2G,eAAiB,SAASC,EAAYC,GAExE,GAAIC,GAAQF,GAAc,EACtBG,EAA0B,gBAAbF,GAAwBA,EAAW1J,KAAKgD,SAASE,OAC9D2G,EAAQD,EAAMD,CAElB,IAAIE,EAAQ,GAAcD,GAATC,EACjB,CAEI,IAAK,GADDC,GAAU9J,KAAKgD,SAAS0F,OAAOiB,EAAOE,GACjC5G,EAAI,EAAGA,EAAI6G,EAAQ5G,OAAQD,IAAK,CACrC,GAAIqF,GAAQwB,EAAQ7G,EACjBjD,MAAK6B,OACJyG,EAAMgB,uBACVhB,EAAM1G,OAAS2H,OAEnB,MAAOO,GAEN,GAAc,IAAVD,GAAwC,IAAzB7J,KAAKgD,SAASE,OAElC,QAIA,MAAM,IAAIyF,OAAO,iFAUzB1I,EAAKgI,uBAAuBpF,UAAU0B,gBAAkB,WAEpD,GAAKvE,KAAKyB,UAKVzB,KAAK4F,gCAED5F,KAAK2C,gBAKT,IAAK,GAAIM,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAGsB,mBAKzBtE,EAAKgI,uBAAuBpF,UAAUkH,sCAAwC9J,EAAKgI,uBAAuBpF,UAAU0B,gBAQpHtE,EAAKgI,uBAAuBpF,UAAUgD,UAAY,WAE9C,GAA4B,IAAzB7F,KAAKgD,SAASE,OAAa,MAAOjD,GAAK8F,cAgB1C,KAAI,GANAiE,GACAC,EACAC,EARAC,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEPE,IAAQF,EAAAA,GACRG,IAAQH,EAAAA,GAMRI,GAAe,EAEXvH,EAAE,EAAEa,EAAE9D,KAAKgD,SAASE,OAAUY,EAAFb,EAAKA,IACzC,CACI,GAAIqF,GAAQtI,KAAKgD,SAASC,EAEtBqF,GAAM7G,UAEV+I,GAAe,EAEfR,EAAchK,KAAKgD,SAASC,GAAG4C,YAE/BsE,EAAOA,EAAOH,EAAY3E,EAAI8E,EAAOH,EAAY3E,EACjDgF,EAAOA,EAAOL,EAAY1E,EAAI+E,EAAOL,EAAY1E,EAEjD2E,EAAYD,EAAYrD,MAAQqD,EAAY3E,EAC5C6E,EAAYF,EAAYpD,OAASoD,EAAY1E,EAE7CgF,EAAOA,EAAOL,EAAYK,EAAOL,EACjCM,EAAOA,EAAOL,EAAYK,EAAOL,GAGrC,IAAIM,EACA,MAAOvK,GAAK8F,cAEhB,IAAIS,GAASxG,KAAKuC,OAUlB,OARAiE,GAAOnB,EAAI8E,EACX3D,EAAOlB,EAAI+E,EACX7D,EAAOG,MAAQ2D,EAAOH,EACtB3D,EAAOI,OAAS2D,EAAOF,EAKhB7D,GASXvG,EAAKgI,uBAAuBpF,UAAUmD,eAAiB,WAEnD,GAAIyE,GAAczK,KAAK+B,cAEvB/B,MAAK+B,eAAiB9B,EAAKgG,cAE3B,KAAI,GAAIhD,GAAE,EAAEa,EAAE9D,KAAKgD,SAASE,OAAUY,EAAFb,EAAKA,IAErCjD,KAAKgD,SAASC,GAAGsB,iBAGrB,IAAIiC,GAASxG,KAAK6F,WAIlB,OAFA7F,MAAK+B,eAAiB0I,EAEfjE,GASXvG,EAAKgI,uBAAuBpF,UAAUqD,kBAAoB,SAASrE,GAE/D7B,KAAK6B,MAAQA,CAEb,KAAK,GAAIoB,GAAE,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEpCjD,KAAKgD,SAASC,GAAGiD,kBAAkBrE,IAS3C5B,EAAKgI,uBAAuBpF,UAAUyG,qBAAuB,WAEzD,IAAK,GAAIrG,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAGqG,sBAGrBtJ,MAAK6B,MAAQ,MAUjB5B,EAAKgI,uBAAuBpF,UAAU6E,aAAe,SAASJ,GAE1D,GAAKtH,KAAKyB,WAAWzB,KAAKwB,OAAS,GAAnC,CAEA,GAAIxB,KAAK2C,eAGL,WADA3C,MAAKqH,oBAAoBC,EAI7B,IAAIrE,EAEJ,IAAIjD,KAAK0C,OAAS1C,KAAK2D,SACvB,CAgBI,IAdI3D,KAAK2D,WAEL2D,EAAcoD,YAAYC,QAC1BrD,EAAcsD,cAAcC,WAAW7K,KAAKgE,eAG5ChE,KAAK0C,QAEL4E,EAAcoD,YAAYI,OAC1BxD,EAAcyD,YAAYC,SAAShL,KAAKiL,KAAM3D,GAC9CA,EAAcoD,YAAYQ,SAIzBjI,EAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAElCjD,KAAKgD,SAASC,GAAGyE,aAAaJ,EAGlCA,GAAcoD,YAAYI,OAEtB9K,KAAK0C,OAAO4E,EAAcyD,YAAYI,QAAQnL,KAAK0C,MAAO4E,GAC1DtH,KAAK2D,UAAU2D,EAAcsD,cAAcQ,YAE/C9D,EAAcoD,YAAYQ,YAK1B,KAAKjI,EAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAElCjD,KAAKgD,SAASC,GAAGyE,aAAaJ,KAY1CrH,EAAKgI,uBAAuBpF,UAAU8E,cAAgB,SAASL,GAE3D,GAAItH,KAAKyB,WAAY,GAAwB,IAAfzB,KAAKwB,MAAnC,CAEA,GAAIxB,KAAK2C,eAGL,WADA3C,MAAKqH,oBAAoBC,EAIzBtH,MAAK0C,OAEL4E,EAAcyD,YAAYC,SAAShL,KAAK0C,MAAO4E,EAGnD,KAAK,GAAIrE,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAG0E,cAAcL,EAG/BtH,MAAK0C,OAEL4E,EAAcyD,YAAYI,QAAQ7D,KAsB1CrH,EAAKwH,OAAS,SAASG,GAEnB3H,EAAKgI,uBAAuBvC,KAAK1F,MAWjCA,KAAKgI,OAAS,GAAI/H,GAAKmB,MAQvBpB,KAAK4H,QAAUA,GAAW3H,EAAKoL,QAAQC,aASvCtL,KAAKmI,OAAS,EASdnI,KAAKoI,QAAU,EASfpI,KAAKuL,KAAO,SAUZvL,KAAKwL,WAAa,GASlBxL,KAAKyL,cAAgB,KAWrBzL,KAAKkE,UAAYjE,EAAKkE,WAAWE,OASjCrE,KAAK0L,OAAS,KAEV1L,KAAK4H,QAAQ+D,YAAYC,WAEzB5L,KAAK6L,kBAGT7L,KAAK2B,YAAa,GAKtB1B,EAAKwH,OAAO5E,UAAYO,OAAO8E,OAAOjI,EAAKgI,uBAAuBpF,WAClE5C,EAAKwH,OAAO5E,UAAUC,YAAc7C,EAAKwH,OAQzCrE,OAAOC,eAAepD,EAAKwH,OAAO5E,UAAW,SAEzCS,IAAK,WACD,MAAOtD,MAAKqB,MAAMgE,EAAIrF,KAAK4H,QAAQkE,MAAMnF,OAG7CnD,IAAK,SAASC,GACVzD,KAAKqB,MAAMgE,EAAI5B,EAAQzD,KAAK4H,QAAQkE,MAAMnF,MAC1C3G,KAAKmI,OAAS1E,KAWtBL,OAAOC,eAAepD,EAAKwH,OAAO5E,UAAW,UAEzCS,IAAK,WACD,MAAQtD,MAAKqB,MAAMiE,EAAItF,KAAK4H,QAAQkE,MAAMlF,QAG9CpD,IAAK,SAASC,GACVzD,KAAKqB,MAAMiE,EAAI7B,EAAQzD,KAAK4H,QAAQkE,MAAMlF,OAC1C5G,KAAKoI,QAAU3E,KAavBxD,EAAKwH,OAAO5E,UAAUkJ,WAAa,SAASnE,EAASoE,GAE7BzC,SAAhByC,GAEAhM,KAAK4H,QAAQ+D,YAAY5I,UAG7B/C,KAAK4H,QAAUA,EACf5H,KAAK4H,QAAQqE,OAAQ,GAUzBhM,EAAKwH,OAAO5E,UAAUgJ,gBAAkB,WAGhC7L,KAAKmI,SAAQnI,KAAKqB,MAAMgE,EAAIrF,KAAKmI,OAASnI,KAAK4H,QAAQkE,MAAMnF,OAC7D3G,KAAKoI,UAASpI,KAAKqB,MAAMiE,EAAItF,KAAKoI,QAAUpI,KAAK4H,QAAQkE,MAAMlF,SAUvE3G,EAAKwH,OAAO5E,UAAUgD,UAAY,SAASC,GAEvC,GAAIa,GAAQ3G,KAAK4H,QAAQkE,MAAMnF,MAC3BC,EAAS5G,KAAK4H,QAAQkE,MAAMlF,OAE5BsF,EAAKvF,GAAS,EAAE3G,KAAKgI,OAAO3C,GAC5B8G,EAAKxF,GAAS3G,KAAKgI,OAAO3C,EAE1B+G,EAAKxF,GAAU,EAAE5G,KAAKgI,OAAO1C,GAC7B+G,EAAKzF,GAAU5G,KAAKgI,OAAO1C,EAE3BvD,EAAiB+D,GAAU9F,KAAK+B,eAEhC2C,EAAI3C,EAAe2C,EACnBC,EAAI5C,EAAe4C,EACnBC,EAAI7C,EAAe6C,EACnBC,EAAI9C,EAAe8C,EACnBC,EAAK/C,EAAe+C,GACpBC,EAAKhD,EAAegD,GAEpBuF,IAAQF,EAAAA,GACRG,IAAQH,EAAAA,GAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,CAEX,IAAU,IAANzF,GAAiB,IAANC,EACf,CAEI,GAAQ,EAAJF,EACJ,CACIA,GAAK,EACL,IAAI4H,GAAOJ,CACXA,IAAMC,EACNA,GAAMG,EAGV,GAAQ,EAAJzH,EACJ,CACIA,GAAK,EACL,IAAIyH,GAAOF,CACXA,IAAMC,EACNA,GAAMC,EAKVnC,EAAOzF,EAAIyH,EAAKrH,EAChBwF,EAAO5F,EAAIwH,EAAKpH,EAChBuF,EAAOxF,EAAIwH,EAAKtH,EAChBwF,EAAO1F,EAAIuH,EAAKrH,MAGpB,CACI,GAAIwH,GAAK7H,EAAIyH,EAAKvH,EAAIyH,EAAKvH,EACvB0H,EAAK3H,EAAIwH,EAAK1H,EAAIwH,EAAKpH,EAEvB0H,EAAK/H,EAAIwH,EAAKtH,EAAIyH,EAAKvH,EACvB4H,EAAK7H,EAAIwH,EAAK1H,EAAIuH,EAAKnH,EAEvB4H,EAAKjI,EAAIwH,EAAKtH,EAAIwH,EAAKtH,EACvB8H,EAAK/H,EAAIuH,EAAKzH,EAAIuH,EAAKnH,EAEvB8H,EAAMnI,EAAIyH,EAAKvH,EAAIwH,EAAKtH,EACxBgI,EAAMjI,EAAIuH,EAAKzH,EAAIwH,EAAKpH,CAE5BoF,GAAYA,EAALoC,EAAYA,EAAKpC,EACxBA,EAAYA,EAALsC,EAAYA,EAAKtC,EACxBA,EAAYA,EAALwC,EAAYA,EAAKxC,EACxBA,EAAYA,EAAL0C,EAAYA,EAAK1C,EAExBE,EAAYA,EAALmC,EAAYA,EAAKnC,EACxBA,EAAYA,EAALqC,EAAYA,EAAKrC,EACxBA,EAAYA,EAALuC,EAAYA,EAAKvC,EACxBA,EAAYA,EAALyC,EAAYA,EAAKzC,EAExBC,EAAOiC,EAAKjC,EAAOiC,EAAKjC,EACxBA,EAAOmC,EAAKnC,EAAOmC,EAAKnC,EACxBA,EAAOqC,EAAKrC,EAAOqC,EAAKrC,EACxBA,EAAOuC,EAAKvC,EAAOuC,EAAKvC,EAExBC,EAAOiC,EAAKjC,EAAOiC,EAAKjC,EACxBA,EAAOmC,EAAKnC,EAAOmC,EAAKnC,EACxBA,EAAOqC,EAAKrC,EAAOqC,EAAKrC,EACxBA,EAAOuC,EAAKvC,EAAOuC,EAAKvC,EAG5B,GAAI/D,GAASxG,KAAKuC,OAWlB,OATAiE,GAAOnB,EAAI8E,EACX3D,EAAOG,MAAQ2D,EAAOH,EAEtB3D,EAAOlB,EAAI+E,EACX7D,EAAOI,OAAS2D,EAAOF,EAGvBrK,KAAKyC,eAAiB+D,EAEfA,GAWXvG,EAAKwH,OAAO5E,UAAU6E,aAAe,SAASJ,EAAexB,GAGzD,GAAK9F,KAAKyB,WAAWzB,KAAKwB,OAAS,IAAMxB,KAAK2B,WAA9C,CAGA,GAAIsD,GAAKjF,KAAK+B,cAQd,IANI+D,IAEAb,EAAKa,GAIL9F,KAAK0C,OAAS1C,KAAK2D,SACvB,CACI,GAAI+G,GAAcpD,EAAcoD,WAG5B1K,MAAK2D,WAEL+G,EAAYC,QACZrD,EAAcsD,cAAcC,WAAW7K,KAAKgE,eAG5ChE,KAAK0C,QAELgI,EAAYI,OACZxD,EAAcyD,YAAYC,SAAShL,KAAKiL,KAAM3D,GAC9CoD,EAAYQ,SAIhBR,EAAY5D,OAAO9G,KAGnB,KAAK,GAAIiD,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAGyE,aAAaJ,EAIlCoD,GAAYI,OAER9K,KAAK0C,OAAO4E,EAAcyD,YAAYI,QAAQnL,KAAK0C,MAAO4E,GAC1DtH,KAAK2D,UAAU2D,EAAcsD,cAAcQ,YAE/CV,EAAYQ,YAGhB,CACI5D,EAAcoD,YAAY5D,OAAO9G,KAGjC,KAAK,GAAIiD,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAGyE,aAAaJ,EAAerC,MAczDhF,EAAKwH,OAAO5E,UAAU8E,cAAgB,SAASL,EAAexB,GAG1D,MAAK9F,KAAKyB,SAA0B,IAAfzB,KAAKwB,QAAgBxB,KAAK2B,YAAc3B,KAAK4H,QAAQmF,KAAKpG,OAAS,GAAK3G,KAAK4H,QAAQmF,KAAKnG,QAAU,GAAzH,CAKA,GAAI3B,GAAKjF,KAAK+B,cAoBd,IAjBI+D,IAEAb,EAAKa,GAGL9F,KAAKkE,YAAcoD,EAAc0F,mBAEjC1F,EAAc0F,iBAAmBhN,KAAKkE,UACtCoD,EAAc2F,QAAQC,yBAA2BjN,EAAKkN,iBAAiB7F,EAAc0F,mBAGrFhN,KAAK0C,OAEL4E,EAAcyD,YAAYC,SAAShL,KAAK0C,MAAO4E,GAI/CtH,KAAK4H,QAAQqE,MACjB,CACI,GAAI5F,GAAarG,KAAK4H,QAAQ+D,YAAYtF,WAAaiB,EAAcjB,UAErEiB,GAAc2F,QAAQG,YAAcpN,KAAK8B,WAGrCwF,EAAc+F,gBAAkB/F,EAAchB,YAActG,KAAK4H,QAAQ+D,YAAYrF,YAErFgB,EAAchB,UAAYtG,KAAK4H,QAAQ+D,YAAYrF,UACnDgB,EAAc2F,QAAQ3F,EAAc+F,gBAAmB/F,EAAchB,YAAcrG,EAAKqN,WAAWC,OAIvG,IAAIC,GAAMxN,KAAK4H,QAAY,KAAI5H,KAAK4H,QAAQ6F,KAAKpI,EAAIrF,KAAKgI,OAAO3C,EAAIrF,KAAK4H,QAAQ6F,KAAK9G,MAAQ3G,KAAKgI,OAAO3C,GAAKrF,KAAK4H,QAAQkE,MAAMnF,MAC/H+G,EAAM1N,KAAK4H,QAAY,KAAI5H,KAAK4H,QAAQ6F,KAAKnI,EAAItF,KAAKgI,OAAO1C,EAAItF,KAAK4H,QAAQ6F,KAAK7G,OAAS5G,KAAKgI,OAAO1C,GAAKtF,KAAK4H,QAAQkE,MAAMlF,MAGhIU,GAAcqG,aAEdrG,EAAc2F,QAAQW,aAAa3I,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAII,EAAGH,GAAKwC,EAAcjB,WAAc,EAAIpB,EAAGF,GAAKuC,EAAcjB,WAAc,GACxImH,GAAM,EACNE,GAAM,GAINpG,EAAc2F,QAAQW,aAAa3I,EAAGP,EAAGO,EAAGN,EAAGM,EAAGL,EAAGK,EAAGJ,EAAGI,EAAGH,GAAKwC,EAAcjB,WAAYpB,EAAGF,GAAKuC,EAAcjB,WAGvH,IAAIwH,GAAK7N,KAAK4H,QAAQmF,KAAKpG,MACvBmH,EAAK9N,KAAK4H,QAAQmF,KAAKnG,MAK3B,IAHA4G,GAAMnH,EACNqH,GAAMrH,EAEY,WAAdrG,KAAKuL,MAEDvL,KAAK4H,QAAQmG,gBAAkB/N,KAAKwL,aAAexL,KAAKuL,QAExDvL,KAAKyL,cAAgBxL,EAAK+N,aAAaC,iBAAiBjO,KAAMA,KAAKuL,MAEnEvL,KAAKwL,WAAaxL,KAAKuL,MAG3BjE,EAAc2F,QAAQiB,UAAUlO,KAAKyL,cAAe,EAAG,EAAGoC,EAAIC,EAAIN,EAAIE,EAAIG,EAAKxH,EAAYyH,EAAKzH,OAGpG,CACI,GAAI8H,GAAKnO,KAAK4H,QAAQmF,KAAK1H,EACvB+I,EAAKpO,KAAK4H,QAAQmF,KAAKzH,CAC3BgC,GAAc2F,QAAQiB,UAAUlO,KAAK4H,QAAQ+D,YAAY0C,OAAQF,EAAIC,EAAIP,EAAIC,EAAIN,EAAIE,EAAIG,EAAKxH,EAAYyH,EAAKzH,IAIvH,IAAK,GAAIpD,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAG0E,cAAcL,EAG/BtH,MAAK0C,OAEL4E,EAAcyD,YAAYI,QAAQ7D,KAiB1CrH,EAAKwH,OAAO6G,UAAY,SAASC,GAE7B,GAAI3G,GAAU3H,EAAKuO,aAAaD,EAEhC,KAAK3G,EAAS,KAAM,IAAIe,OAAM,gBAAkB4F,EAAU,wCAA0CvO,KAEpG,OAAO,IAAIC,GAAKwH,OAAOG,IAa3B3H,EAAKwH,OAAOgH,UAAY,SAASC,EAASC,EAAarI,GAEnD,GAAIsB,GAAU3H,EAAKoL,QAAQoD,UAAUC,EAASC,EAAarI,EAE3D,OAAO,IAAIrG,GAAKwH,OAAOG,IA2B3B3H,EAAK2O,YAAc,SAAShH,GAExB3H,EAAKgI,uBAAuBvC,KAAM1F,MAElCA,KAAK6O,aAAejH,EAEpB5H,KAAK8O,OAAQ,GAGjB7O,EAAK2O,YAAY/L,UAAYO,OAAO8E,OAAOjI,EAAKgI,uBAAuBpF,WACvE5C,EAAK2O,YAAY/L,UAAUC,YAAc7C,EAAK2O,YAQ9C3O,EAAK2O,YAAY/L,UAAUkM,UAAY,SAASvH,GAG5CxH,KAAKgP,gBAAkB,GAAI/O,GAAKgP,qBAAqBzH,GAErDxH,KAAK8O,OAAQ,GASjB7O,EAAK2O,YAAY/L,UAAU0B,gBAAkB,WAGzCvE,KAAK4F,gCAWT3F,EAAK2O,YAAY/L,UAAU6E,aAAe,SAASJ,IAE1CtH,KAAKyB,SAAWzB,KAAKwB,OAAS,IAAMxB,KAAKgD,SAASE,SAElDlD,KAAK8O,OAEN9O,KAAK+O,UAAUzH,EAAcE,IAG7BxH,KAAKgP,gBAAgBxH,KAAOF,EAAcE,IAE1CxH,KAAKgP,gBAAgBE,WAAW5H,EAAcE,IAGlDF,EAAcoD,YAAYI,OAE1BxD,EAAc6H,cAAcC,UAAU9H,EAAc6H,cAAcE,YAElErP,KAAKgP,gBAAgBrF,MAAM3J,KAAMsH,GACjCtH,KAAKgP,gBAAgBlI,OAAO9G,MAE5BsH,EAAcoD,YAAYQ,UAW9BjL,EAAK2O,YAAY/L,UAAU8E,cAAgB,SAASL,GAEhD,GAAKtH,KAAKyB,WAAWzB,KAAKwB,OAAS,IAAMxB,KAAKgD,SAASE,OAAvD,CAEA,GAAI+J,GAAU3F,EAAc2F,OAE5BA,GAAQG,YAAcpN,KAAK8B,WAE3B9B,KAAK4F,8BAML,KAAK,GAJD0J,GAAYtP,KAAK+B,eAEjBwN,GAAY,EAEPtM,EAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAC1C,CACI,GAAIqF,GAAQtI,KAAKgD,SAASC,EAE1B,IAAKqF,EAAM7G,QAAX,CAEA,GAAImG,GAAUU,EAAMV,QAChBkE,EAAQlE,EAAQkE,KAIpB,IAFAmB,EAAQG,YAAcpN,KAAK8B,WAAawG,EAAM9G,MAE1C8G,EAAM/G,UAAsB,EAAVV,KAAKC,MAAY,EAE/ByO,IAEAtC,EAAQW,aAAa0B,EAAU5K,EAAG4K,EAAU3K,EAAG2K,EAAU1K,EAAG0K,EAAUzK,EAAGyK,EAAUxK,GAAIwK,EAAUvK,IACjGwK,GAAY,GAIhBtC,EAAQiB,UAAUtG,EAAQ+D,YAAY0C,OACjBvC,EAAMzG,EACNyG,EAAMxG,EACNwG,EAAMnF,MACNmF,EAAMlF,OACJ0B,EAAMN,OAAQ,IAAM8D,EAAMnF,MAAQ2B,EAAMjH,MAAMgE,GAAKiD,EAAMnH,SAASkE,EAAK,GAAO,EAC9EiD,EAAMN,OAAQ,IAAM8D,EAAMlF,OAAS0B,EAAMjH,MAAMiE,GAAKgD,EAAMnH,SAASmE,EAAK,GAAO,EACjFwG,EAAMnF,MAAQ2B,EAAMjH,MAAMgE,EAC1ByG,EAAMlF,OAAS0B,EAAMjH,MAAMiE,OAGpD,CACSiK,IAAWA,GAAY,GAE5BjH,EAAM1C,8BAEN,IAAI4J,GAAiBlH,EAAMvG,cAIvBuF,GAAcqG,YAEdV,EAAQW,aAAa4B,EAAe9K,EAAG8K,EAAe7K,EAAG6K,EAAe5K,EAAG4K,EAAe3K,EAAuB,EAApB2K,EAAe1K,GAA4B,EAApB0K,EAAezK,IAInIkI,EAAQW,aAAa4B,EAAe9K,EAAG8K,EAAe7K,EAAG6K,EAAe5K,EAAG4K,EAAe3K,EAAG2K,EAAe1K,GAAI0K,EAAezK,IAGnIkI,EAAQiB,UAAUtG,EAAQ+D,YAAY0C,OACjBvC,EAAMzG,EACNyG,EAAMxG,EACNwG,EAAMnF,MACNmF,EAAMlF,OACJ0B,EAAMN,OAAQ,GAAM8D,EAAMnF,MAAS,GAAO,EAC1C2B,EAAMN,OAAQ,GAAM8D,EAAMlF,OAAU,GAAO,EAC7CkF,EAAMnF,MACNmF,EAAMlF,aAgBvC3G,EAAKwP,QAAU,SAASC,GACpB,QAASA,GAAO,GAAK,KAAQ,KAAOA,GAAO,EAAI,KAAQ,KAAY,IAANA,GAAa,MAS9EzP,EAAK0P,QAAU,SAASC,GACpB,OAAgB,IAAPA,EAAI,IAAU,KAAc,IAAPA,EAAI,IAAU,GAAY,IAAPA,EAAI,IASzD3P,EAAK4P,0BAA4B,WAE7B,GAAiBtG,SAAbuG,SAAwB,OAAO,CAEnC,IAAIC,GAAU,iFACVC,EAAS,mDAETC,EAAU,GAAIC,MAClBD,GAAQE,IAAMJ,EAAU,WAAaC,CAErC,IAAII,GAAS,GAAIF,MACjBE,GAAOD,IAAMJ,EAAU,WAAaC,CAEpC,IAAIK,GAASpQ,EAAKqQ,WAAWpI,OAAOlI,KAAM,EAAG,GACzCiN,EAAUoD,EAAOE,WAAW,KAKhC,IAJAtD,EAAQC,yBAA2B,WACnCD,EAAQiB,UAAU+B,EAAS,EAAG,GAC9BhD,EAAQiB,UAAUkC,EAAQ,EAAG,IAExBnD,EAAQuD,aAAa,EAAE,EAAE,EAAE,GAE5B,OAAO,CAGX,IAAIC,GAAOxD,EAAQuD,aAAa,EAAE,EAAE,EAAE,GAAGC,IAIzC,OAFAxQ,GAAKqQ,WAAWI,OAAO1Q,MAEH,MAAZyQ,EAAK,IAA0B,IAAZA,EAAK,IAAwB,IAAZA,EAAK,IAYrDxQ,EAAK0Q,kBAAoB,SAASC,GAE9B,GAAIA,EAAS,GAAiC,KAA3BA,EAAUA,EAAS,GAClC,MAAOA,EAIP,KADA,GAAIC,GAAS,EACGD,EAATC,GAAiBA,IAAW,CACnC,OAAOA,IAWf5Q,EAAK6Q,aAAe,SAASnK,EAAOC,GAEhC,MAAQD,GAAQ,GAA+B,KAAzBA,EAASA,EAAQ,IAAaC,EAAS,GAAiC,KAA3BA,EAAUA,EAAS,IAgB1F3G,EAAKqQ,YAYDpI,OAAQ,SAAUtG,EAAQ+E,EAAOC,GAE7B,GACIyJ,GADAU,EAAM9Q,EAAKqQ,WAAWU,UAG1B,IAAY,KAARD,EACJ,CACI,GAAIE,IACArP,OAAQA,EACRyO,OAAQP,SAASoB,cAAc,UAGnCjR,GAAKqQ,WAAWa,KAAKpN,KAAKkN,GAE1BZ,EAASY,EAAUZ,WAInBpQ,GAAKqQ,WAAWa,KAAKJ,GAAKnP,OAASA,EAEnCyO,EAASpQ,EAAKqQ,WAAWa,KAAKJ,GAAKV,MASvC,OANc9G,UAAV5C,IAEA0J,EAAO1J,MAAQA,EACf0J,EAAOzJ,OAASA,GAGbyJ,GAWXW,SAAU,WAIN,IAAK,GAFDG,GAAOlR,EAAKqQ,WAAWa,KAElBlO,EAAI,EAAGA,EAAIkO,EAAKjO,OAAQD,IAE7B,GAAuB,OAAnBkO,EAAKlO,GAAGrB,OAER,MAAOqB,EAIf,OAAO,IAWXyN,OAAQ,SAAU9O,GAId,IAAK,GAFDuP,GAAOlR,EAAKqQ,WAAWa,KAElBlO,EAAI,EAAGA,EAAIkO,EAAKjO,OAAQD,IAEzBkO,EAAKlO,GAAGrB,SAAWA,IAEnBuP,EAAKlO,GAAGrB,OAAS,OAa7BwP,eAAgB,SAAUf,GAItB,IAAK,GAFDc,GAAOlR,EAAKqQ,WAAWa,KAElBlO,EAAI,EAAGA,EAAIkO,EAAKjO,OAAQD,IAEzBkO,EAAKlO,GAAGoN,SAAWA,IAEnBc,EAAKlO,GAAGrB,OAAS,OAa7ByP,SAAU,WAKN,IAAK,GAHDF,GAAOlR,EAAKqQ,WAAWa,KACvBvM,EAAI,EAEC3B,EAAI,EAAGA,EAAIkO,EAAKjO,OAAQD,IAEN,OAAnBkO,EAAKlO,GAAGrB,QAERgD,GAIR,OAAOA,IAWX0M,QAAS,WAKL,IAAK,GAHDH,GAAOlR,EAAKqQ,WAAWa,KACvBvM,EAAI,EAEC3B,EAAI,EAAGA,EAAIkO,EAAKjO,OAAQD,IAEN,OAAnBkO,EAAKlO,GAAGrB,QAERgD,GAIR,OAAOA,KAaf3E,EAAKqQ,WAAWa,QAWhBlR,EAAKsR,mBAAqB,aAW1BtR,EAAKuR,oBAAsB,SAAShK,EAAIiK,GAEpC,MAAOxR,GAAKyR,eAAelK,EAAIiK,EAAWjK,EAAGmK,gBAUjD1R,EAAK2R,sBAAwB,SAASpK,EAAIiK,GAEtC,MAAOxR,GAAKyR,eAAelK,EAAIiK,EAAWjK,EAAGqK,kBAYjD5R,EAAKyR,eAAiB,SAASlK,EAAIiK,EAAWK,GAE1C,GAAI3B,GAAMsB,CAEN9Q,OAAMoR,QAAQN,KAEdtB,EAAMsB,EAAUO,KAAK,MAGzB,IAAItG,GAASlE,EAAGyK,aAAaH,EAI7B,OAHAtK,GAAG0K,aAAaxG,EAAQyE,GACxB3I,EAAG2K,cAAczG,GAEZlE,EAAG4K,mBAAmB1G,EAAQlE,EAAG6K,gBAM/B3G,GAJH4G,OAAOC,QAAQC,IAAIhL,EAAGiL,iBAAiB/G,IAChC,OAcfzL,EAAKyS,eAAiB,SAASlL,EAAImL,EAAWC,GAE1C,GAAIC,GAAiB5S,EAAK2R,sBAAsBpK,EAAIoL,GAChDE,EAAe7S,EAAKuR,oBAAoBhK,EAAImL,GAE5CI,EAAgBvL,EAAGwL,eAWvB,OATAxL,GAAGyL,aAAaF,EAAeD,GAC/BtL,EAAGyL,aAAaF,EAAeF,GAC/BrL,EAAG0L,YAAYH,GAEVvL,EAAG2L,oBAAoBJ,EAAevL,EAAG4L,cAE1Cd,OAAOC,QAAQC,IAAI,gCAGhBO,GAaX9S,EAAKoT,WAAa,SAAS7L,GAOvBxH,KAAKM,KAAOL,EAAKK,OAMjBN,KAAKwH,GAAKA,EAOVxH,KAAKsT,QAAU,KAOftT,KAAK4S,aACD,wBACA,8BACA,uBACA,8BACA,oBACA,kEACA,KAQJ5S,KAAKuT,aAAe,EAQpBvT,KAAKwT,UAAW,EAOhBxT,KAAKyT,OAAQ,EAQbzT,KAAK0T,cAEL1T,KAAK2T,QAGT1T,EAAKoT,WAAWxQ,UAAUC,YAAc7C,EAAKoT,WAO7CpT,EAAKoT,WAAWxQ,UAAU8Q,KAAO,WAE7B,GAAInM,GAAKxH,KAAKwH,GAEV8L,EAAUrT,EAAKyS,eAAelL,EAAIxH,KAAK2S,WAAa1S,EAAKoT,WAAWO,iBAAkB5T,KAAK4S,YAE/FpL,GAAGqM,WAAWP,GAGdtT,KAAK8T,SAAWtM,EAAGuM,mBAAmBT,EAAS,YAC/CtT,KAAKgU,iBAAmBxM,EAAGuM,mBAAmBT,EAAS,oBACvDtT,KAAKiU,aAAezM,EAAGuM,mBAAmBT,EAAS,gBACnDtT,KAAKkU,WAAa1M,EAAGuM,mBAAmBT,EAAS,cAGjDtT,KAAKmU,gBAAkB3M,EAAG4M,kBAAkBd,EAAS,mBACrDtT,KAAKqU,cAAgB7M,EAAG4M,kBAAkBd,EAAS,iBACnDtT,KAAKsU,eAAiB9M,EAAG4M,kBAAkBd,EAAS,UAQzB,KAAxBtT,KAAKsU,iBAEJtU,KAAKsU,eAAiB,GAG1BtU,KAAK0T,YAAc1T,KAAKmU,gBAAiBnU,KAAKqU,cAAerU,KAAKsU,eAKlE,KAAK,GAAIC,KAAOvU,MAAKwU,SAGjBxU,KAAKwU,SAASD,GAAKE,gBAAkBjN,EAAGuM,mBAAmBT,EAASiB,EAGxEvU,MAAK0U,eAEL1U,KAAKsT,QAAUA,GAWnBrT,EAAKoT,WAAWxQ,UAAU6R,aAAe,WAErC1U,KAAKuT,aAAe,CACpB,IACIoB,GADAnN,EAAKxH,KAAKwH,EAGd,KAAK,GAAI+M,KAAOvU,MAAKwU,SACrB,CACIG,EAAU3U,KAAKwU,SAASD,EAExB,IAAIK,GAAOD,EAAQC,IAEN,eAATA,GAEAD,EAAQE,OAAQ,EAEM,OAAlBF,EAAQlR,OAERzD,KAAK8U,cAAcH,IAGT,SAATC,GAA4B,SAATA,GAA4B,SAATA,GAG3CD,EAAQI,UAAW,EACnBJ,EAAQK,cAAgB,EAEX,SAATJ,EAEAD,EAAQM,OAASzN,EAAG0N,iBAEN,SAATN,EAELD,EAAQM,OAASzN,EAAG2N,iBAEN,SAATP,IAELD,EAAQM,OAASzN,EAAG4N,oBAMxBT,EAAQM,OAASzN,EAAG,UAAYoN,GAEnB,OAATA,GAA0B,OAATA,EAEjBD,EAAQK,cAAgB,EAEV,OAATJ,GAA0B,OAATA,EAEtBD,EAAQK,cAAgB,EAEV,OAATJ,GAA0B,OAATA,EAEtBD,EAAQK,cAAgB,EAIxBL,EAAQK,cAAgB,KAYxC/U,EAAKoT,WAAWxQ,UAAUiS,cAAgB,SAASH,GAE/C,GAAKA,EAAQlR,OAAUkR,EAAQlR,MAAMkI,aAAgBgJ,EAAQlR,MAAMkI,YAAYC,UAA/E,CAKA,GAAIpE,GAAKxH,KAAKwH,EAMd,IAJAA,EAAG6N,cAAc7N,EAAG,UAAYxH,KAAKuT,eACrC/L,EAAG8N,YAAY9N,EAAG+N,WAAYZ,EAAQlR,MAAMkI,YAAY6J,YAAYhO,EAAGiO,KAGnEd,EAAQe,YACZ,CACI,GAAIjF,GAAOkE,EAAQe,YAYfC,EAAalF,EAAc,UAAIA,EAAKkF,UAAYnO,EAAG+F,OACnDqI,EAAanF,EAAc,UAAIA,EAAKmF,UAAYpO,EAAG+F,OACnDsI,EAASpF,EAAU,MAAIA,EAAKoF,MAAQrO,EAAGsO,cACvCC,EAAStF,EAAU,MAAIA,EAAKsF,MAAQvO,EAAGsO,cACvCE,EAAUvF,EAAc,UAAIjJ,EAAGyO,UAAYzO,EAAG0O,IAUlD,IARIzF,EAAK0F,SAELN,EAAQrO,EAAG4O,OACXL,EAAQvO,EAAG4O,QAGf5O,EAAG6O,YAAY7O,EAAG8O,sBAAuB7F,EAAK8F,OAE1C9F,EAAK9J,MACT,CACI,GAAIA,GAAS8J,EAAU,MAAIA,EAAK9J,MAAQ,IACpCC,EAAU6J,EAAW,OAAIA,EAAK7J,OAAS,EACvC4P,EAAU/F,EAAW,OAAIA,EAAK+F,OAAS,CAG3ChP,GAAGiP,WAAWjP,EAAG+N,WAAY,EAAGS,EAAQrP,EAAOC,EAAQ4P,EAAQR,EAAQxO,EAAGkP,cAAe,UAKzFlP,GAAGiP,WAAWjP,EAAG+N,WAAY,EAAGS,EAAQxO,EAAG0O,KAAM1O,EAAGkP,cAAe/B,EAAQlR,MAAMkI,YAAY0C,OAGjG7G,GAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGoP,mBAAoBjB,GACvDnO,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGqP,mBAAoBjB,GACvDpO,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGsP,eAAgBjB,GACnDrO,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGuP,eAAgBhB,GAGvDvO,EAAGwP,UAAUrC,EAAQF,gBAAiBzU,KAAKuT,cAE3CoB,EAAQE,OAAQ,EAEhB7U,KAAKuT,iBASTtT,EAAKoT,WAAWxQ,UAAUoU,aAAe,WAErCjX,KAAKuT,aAAe,CACpB,IAAIoB,GACAnN,EAAKxH,KAAKwH,EAGd,KAAK,GAAI+M,KAAOvU,MAAKwU,SAEjBG,EAAU3U,KAAKwU,SAASD,GAEM,IAA1BI,EAAQK,cAEJL,EAAQI,YAAa,EAErBJ,EAAQM,OAAOvP,KAAK8B,EAAImN,EAAQF,gBAAiBE,EAAQuC,UAAWvC,EAAQlR,OAI5EkR,EAAQM,OAAOvP,KAAK8B,EAAImN,EAAQF,gBAAiBE,EAAQlR,OAG9B,IAA1BkR,EAAQK,cAEbL,EAAQM,OAAOvP,KAAK8B,EAAImN,EAAQF,gBAAiBE,EAAQlR,MAAM4B,EAAGsP,EAAQlR,MAAM6B,GAEjD,IAA1BqP,EAAQK,cAEbL,EAAQM,OAAOvP,KAAK8B,EAAImN,EAAQF,gBAAiBE,EAAQlR,MAAM4B,EAAGsP,EAAQlR,MAAM6B,EAAGqP,EAAQlR,MAAM0T,GAElE,IAA1BxC,EAAQK,cAEbL,EAAQM,OAAOvP,KAAK8B,EAAImN,EAAQF,gBAAiBE,EAAQlR,MAAM4B,EAAGsP,EAAQlR,MAAM6B,EAAGqP,EAAQlR,MAAM0T,EAAGxC,EAAQlR,MAAM2T,GAE5F,cAAjBzC,EAAQC,OAETD,EAAQE,OAERrN,EAAG6N,cAAc7N,EAAG,UAAYxH,KAAKuT,eAElCoB,EAAQlR,MAAMkI,YAAY0L,OAAO7P,EAAGiO,IAEnCxV,EAAKqX,UAAU9P,EAAGiO,IAAI8B,cAAc5C,EAAQlR,MAAMkI,aAKlDnE,EAAG8N,YAAY9N,EAAG+N,WAAYZ,EAAQlR,MAAMkI,YAAY6J,YAAYhO,EAAGiO,KAI3EjO,EAAGwP,UAAUrC,EAAQF,gBAAiBzU,KAAKuT,cAC3CvT,KAAKuT,gBAILvT,KAAK8U,cAAcH,KAYnC1U,EAAKoT,WAAWxQ,UAAUE,QAAU,WAEhC/C,KAAKwH,GAAGgQ,cAAexX,KAAKsT,SAC5BtT,KAAKwU,SAAW,KAChBxU,KAAKwH,GAAK,KAEVxH,KAAK0T,WAAa,MAStBzT,EAAKoT,WAAWO,kBACZ,kCACA,gCACA,yBAEA,iCACA,6BAEA,8BACA,uBAEA,uCAEA,oBACA,qGACA,oCACA,qDACA,KAWJ3T,EAAKwX,eAAiB,SAASjQ,GAO3BxH,KAAKM,KAAOL,EAAKK,OAMjBN,KAAKwH,GAAKA,EAOVxH,KAAKsT,QAAU,KAOftT,KAAK4S,aACD,wBACA,8BACA,wBACA,8BACA,oBACA,kEACA,KAQJ5S,KAAK2S,WACD,kCACA,iCACA,yBACA,6BACA,gCACA,0BAEA,iCACA,6BACA,wBAEA,8BACA,wBAEA,uCAEA,oBACA,aACA,yCACA,8DACA,8DACA,2DACA,uEACA,oCAEA,sBACA,KAQJ3S,KAAKuT,aAAe,EAEpBvT,KAAK2T,QAGT1T,EAAKwX,eAAe5U,UAAUC,YAAc7C,EAAKwX,eAOjDxX,EAAKwX,eAAe5U,UAAU8Q,KAAO,WAEjC,GAAInM,GAAKxH,KAAKwH,GAEV8L,EAAUrT,EAAKyS,eAAelL,EAAIxH,KAAK2S,UAAW3S,KAAK4S,YAE3DpL,GAAGqM,WAAWP,GAGdtT,KAAK8T,SAAWtM,EAAGuM,mBAAmBT,EAAS,YAE/CtT,KAAKgU,iBAAmBxM,EAAGuM,mBAAmBT,EAAS,oBACvDtT,KAAKiU,aAAezM,EAAGuM,mBAAmBT,EAAS,gBACnDtT,KAAKkU,WAAa1M,EAAGuM,mBAAmBT,EAAS,cACjDtT,KAAK0X,QAAUlQ,EAAGuM,mBAAmBT,EAAS,WAG9CtT,KAAKmU,gBAAkB3M,EAAG4M,kBAAkBd,EAAS,mBACrDtT,KAAK2X,eAAiBnQ,EAAG4M,kBAAkBd,EAAS,kBAEpDtT,KAAK4X,OAASpQ,EAAG4M,kBAAkBd,EAAS,UAC5CtT,KAAK6X,UAAYrQ,EAAG4M,kBAAkBd,EAAS,aAE/CtT,KAAKqU,cAAgB7M,EAAG4M,kBAAkBd,EAAS,iBACnDtT,KAAKsU,eAAiB9M,EAAG4M,kBAAkBd,EAAS,UAQzB,KAAxBtT,KAAKsU,iBAEJtU,KAAKsU,eAAiB,GAG1BtU,KAAK0T,YAAc1T,KAAKmU,gBAAiBnU,KAAK2X,eAAiB3X,KAAK4X,OAAQ5X,KAAK6X,UAAW7X,KAAKqU,cAAerU,KAAKsU,gBAIrHtU,KAAKsT,QAAUA,GAQnBrT,EAAKwX,eAAe5U,UAAUE,QAAU,WAEpC/C,KAAKwH,GAAGgQ,cAAexX,KAAKsT,SAC5BtT,KAAKwU,SAAW,KAChBxU,KAAKwH,GAAK,KAEVxH,KAAK0T,WAAa,MAYtBzT,EAAK6X,YAAc,SAAStQ,GAOxBxH,KAAKM,KAAOL,EAAKK,OAMjBN,KAAKwH,GAAKA,EAOVxH,KAAKsT,QAAU,KAOftT,KAAK4S,aACD,2BACA,8BAEA,uBACA,8BAEA,oBACA,yFAEA,KAQJ5S,KAAK2S,WACD,kCACA,gCACA,kCACA,iCACA,6BAGA,8BAGA,oBACA,+DACA,4BACA,qGACA,oCAEA,KAGJ3S,KAAK2T,QAGT1T,EAAK6X,YAAYjV,UAAUC,YAAc7C,EAAK6X,YAO9C7X,EAAK6X,YAAYjV,UAAU8Q,KAAO,WAE9B,GAAInM,GAAKxH,KAAKwH,GAEV8L,EAAUrT,EAAKyS,eAAelL,EAAIxH,KAAK2S,UAAW3S,KAAK4S,YAC3DpL,GAAGqM,WAAWP,GAGdtT,KAAK8T,SAAWtM,EAAGuM,mBAAmBT,EAAS,YAC/CtT,KAAKgU,iBAAmBxM,EAAGuM,mBAAmBT,EAAS,oBACvDtT,KAAKiU,aAAezM,EAAGuM,mBAAmBT,EAAS,gBACnDtT,KAAKsU,eAAiB9M,EAAG4M,kBAAkBd,EAAS,UAIpDtT,KAAKmU,gBAAkB3M,EAAG4M,kBAAkBd,EAAS,mBACrDtT,KAAKqU,cAAgB7M,EAAG4M,kBAAkBd,EAAS,iBAEnDtT,KAAK0T,YAAc1T,KAAKmU,gBAAiBnU,KAAKqU,eAE9CrU,KAAK+X,kBAAoBvQ,EAAGuM,mBAAmBT,EAAS,qBACxDtT,KAAKwB,MAAQgG,EAAGuM,mBAAmBT,EAAS,SAE5CtT,KAAKsT,QAAUA,GAQnBrT,EAAK6X,YAAYjV,UAAUE,QAAU,WAEjC/C,KAAKwH,GAAGgQ,cAAexX,KAAKsT,SAC5BtT,KAAKwU,SAAW,KAChBxU,KAAKwH,GAAK,KAEVxH,KAAKgY,UAAY,MAYrB/X,EAAKgY,gBAAkB,SAASzQ,GAO5BxH,KAAKM,KAAOL,EAAKK,OAMjBN,KAAKwH,GAAKA,EAOVxH,KAAKsT,QAAU,KAOftT,KAAK4S,aACD,2BACA,uBAEA,oBACA,4BACA,KAQJ5S,KAAK2S,WACD,kCACA,yBACA,kCACA,iCACA,6BACA,uBACA,uBACA,qBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,kDACA,KAGJ3S,KAAK2T,QAGT1T,EAAKgY,gBAAgBpV,UAAUC,YAAc7C,EAAKgY,gBAOlDhY,EAAKgY,gBAAgBpV,UAAU8Q,KAAO,WAElC,GAAInM,GAAKxH,KAAKwH,GAEV8L,EAAUrT,EAAKyS,eAAelL,EAAIxH,KAAK2S,UAAW3S,KAAK4S,YAC3DpL,GAAGqM,WAAWP,GAGdtT,KAAKgU,iBAAmBxM,EAAGuM,mBAAmBT,EAAS,oBACvDtT,KAAKiU,aAAezM,EAAGuM,mBAAmBT,EAAS,gBACnDtT,KAAKkY,UAAY1Q,EAAGuM,mBAAmBT,EAAS,QAChDtT,KAAKuW,MAAQ/O,EAAGuM,mBAAmBT,EAAS,SAG5CtT,KAAKmU,gBAAkB3M,EAAG4M,kBAAkBd,EAAS,mBACrDtT,KAAKsU,eAAiB9M,EAAG4M,kBAAkBd,EAAS,UAEpDtT,KAAK0T,YAAc1T,KAAKmU,gBAAiBnU,KAAKsU,gBAE9CtU,KAAK+X,kBAAoBvQ,EAAGuM,mBAAmBT,EAAS,qBACxDtT,KAAKwB,MAAQgG,EAAGuM,mBAAmBT,EAAS,SAE5CtT,KAAKsT,QAAUA,GAQnBrT,EAAKgY,gBAAgBpV,UAAUE,QAAU,WAErC/C,KAAKwH,GAAGgQ,cAAexX,KAAKsT,SAC5BtT,KAAKwU,SAAW,KAChBxU,KAAKwH,GAAK,KAEVxH,KAAK0T,WAAa,MAYtBzT,EAAKkY,uBAAyB,SAAS3Q,GAOnCxH,KAAKM,KAAOL,EAAKK,OAMjBN,KAAKwH,GAAKA,EAOVxH,KAAKsT,QAAU,KAOftT,KAAK4S,aAED,2BAEA,uBAEA,oBACA,4BACA,KAQJ5S,KAAK2S,WACD,kCAEA,kCACA,iCACA,6BAEA,qBACA,uBACA,sBACA,uBACA,uBAEA,oBACA,+DACA,4BACA,iHACA,iDACA,KAGJ3S,KAAK2T,QAGT1T,EAAKkY,uBAAuBtV,UAAUC,YAAc7C,EAAKkY,uBAOzDlY,EAAKkY,uBAAuBtV,UAAU8Q,KAAO,WAEzC,GAAInM,GAAKxH,KAAKwH,GAEV8L,EAAUrT,EAAKyS,eAAelL,EAAIxH,KAAK2S,UAAW3S,KAAK4S,YAC3DpL,GAAGqM,WAAWP,GAGdtT,KAAKgU,iBAAmBxM,EAAGuM,mBAAmBT,EAAS,oBACvDtT,KAAKiU,aAAezM,EAAGuM,mBAAmBT,EAAS,gBACnDtT,KAAKkY,UAAY1Q,EAAGuM,mBAAmBT,EAAS,QAChDtT,KAAKoY,MAAQ5Q,EAAGuM,mBAAmBT,EAAS,SAC5CtT,KAAKuW,MAAQ/O,EAAGuM,mBAAmBT,EAAS,SAG5CtT,KAAKmU,gBAAkB3M,EAAG4M,kBAAkBd,EAAS,mBAGrDtT,KAAK0T,YAAc1T,KAAKmU,gBAAiBnU,KAAKsU,gBAE9CtU,KAAK+X,kBAAoBvQ,EAAGuM,mBAAmBT,EAAS,qBACxDtT,KAAKwB,MAAQgG,EAAGuM,mBAAmBT,EAAS,SAE5CtT,KAAKsT,QAAUA,GAQnBrT,EAAKkY,uBAAuBtV,UAAUE,QAAU,WAE5C/C,KAAKwH,GAAGgQ,cAAexX,KAAKsT,SAC5BtT,KAAKwU,SAAW,KAChBxU,KAAKwH,GAAK,KAEVxH,KAAKgY,UAAY,MAOrB/X,EAAKoY,cACLpY,EAAKqX,aAYLrX,EAAKqY,cAAgB,SAASpY,GAK1BF,KAAKE,KAAOA,EAEPD,EAAKsY,kBAENtY,EAAKsY,gBAAkBvY,MAO3BA,KAAK4U,KAAO3U,EAAKE,eASjBH,KAAKqG,WAAanG,EAAKmG,WAQvBrG,KAAKwY,YAActY,EAAKsY,YAQxBxY,KAAKyY,YAAa,EAQlBzY,KAAK0Y,sBAAwBxY,EAAKwY,sBAYlC1Y,KAAK2Y,kBAAoBzY,EAAKyY,kBAQ9B3Y,KAAK2G,MAAQzG,EAAKyG,MAQlB3G,KAAK4G,OAAS1G,EAAK0G,OAQnB5G,KAAK4Y,KAAO1Y,EAAKmQ,OAOjBrQ,KAAK6Y,iBACDrX,MAAOxB,KAAKwY,YACZM,UAAW5Y,EAAK4Y,UAChBC,mBAAoB/Y,KAAKwY,aAAoC,kBAArBxY,KAAKwY,YAC7CQ,SAAS,EACTN,sBAAuB1Y,KAAK0Y,uBAOhC1Y,KAAKiZ,WAAa,GAAIhZ,GAAKmB,MAM3BpB,KAAKkZ,OAAS,GAAIjZ,GAAKmB,MASvBpB,KAAKmP,cAAgB,GAAIlP,GAAKkZ,mBAO9BnZ,KAAK0K,YAAc,GAAIzK,GAAKmZ,iBAO5BpZ,KAAK+K,YAAc,GAAI9K,GAAKoZ,iBAO5BrZ,KAAK4K,cAAgB,GAAI3K,GAAKqZ,mBAO9BtZ,KAAKuZ,eAAiB,GAAItZ,GAAKuZ,oBAO/BxZ,KAAKyZ,iBAAmB,GAAIxZ,GAAKyZ,sBAMjC1Z,KAAKsH,iBAGLtH,KAAKsH,cAAcpH,KAAOF,KAAKE,KAC/BF,KAAKsH,cAAcE,GAAKxH,KAAKwH,GAC7BxH,KAAKsH,cAAcqS,UAAY,EAC/B3Z,KAAKsH,cAAc6H,cAAgBnP,KAAKmP,cACxCnP,KAAKsH,cAAcyD,YAAc/K,KAAK+K,YACtC/K,KAAKsH,cAAcsD,cAAgB5K,KAAK4K;AACxC5K,KAAKsH,cAAcmS,iBAAmBzZ,KAAKyZ,iBAC3CzZ,KAAKsH,cAAcoD,YAAc1K,KAAK0K,YACtC1K,KAAKsH,cAAciS,eAAiBvZ,KAAKuZ,eACzCvZ,KAAKsH,cAAcf,SAAWvG,KAC9BA,KAAKsH,cAAcjB,WAAarG,KAAKqG,WAGrCrG,KAAK4Z,cAGL5Z,KAAK6Z,iBAKT5Z,EAAKqY,cAAczV,UAAUC,YAAc7C,EAAKqY,cAKhDrY,EAAKqY,cAAczV,UAAU+W,YAAc,WAEvC,GAAIpS,GAAKxH,KAAK4Y,KAAKrI,WAAW,QAASvQ,KAAK6Y,kBAAoB7Y,KAAK4Y,KAAKrI,WAAW,qBAAsBvQ,KAAK6Y,gBAIhH,IAFA7Y,KAAKwH,GAAKA,GAELA,EAED,KAAM,IAAImB,OAAM,qEAGpB3I,MAAK8Z,YAActS,EAAGiO,GAAKxV,EAAKqY,cAAcwB,cAE9C7Z,EAAKoY,WAAWrY,KAAK8Z,aAAetS,EAEpCvH,EAAKqX,UAAUtX,KAAK8Z,aAAe9Z,KAGnCwH,EAAGuS,QAAQvS,EAAGwS,YACdxS,EAAGuS,QAAQvS,EAAGyS,WACdzS,EAAG0S,OAAO1S,EAAG2S,OAGbna,KAAKmP,cAAcD,WAAW1H,GAC9BxH,KAAK0K,YAAYwE,WAAW1H,GAC5BxH,KAAK+K,YAAYmE,WAAW1H,GAC5BxH,KAAK4K,cAAcsE,WAAW1H,GAC9BxH,KAAKyZ,iBAAiBvK,WAAW1H,GACjCxH,KAAKuZ,eAAerK,WAAW1H,GAE/BxH,KAAKsH,cAAcE,GAAKxH,KAAKwH,GAG7BxH,KAAK6H,OAAO7H,KAAK2G,MAAO3G,KAAK4G,SASjC3G,EAAKqY,cAAczV,UAAUiE,OAAS,SAASjF,GAG3C,IAAI7B,KAAKoa,YAAT,CAMAvY,EAAM0C,iBAEN,IAAIiD,GAAKxH,KAAKwH,EAGdA,GAAG6S,SAAS,EAAG,EAAGra,KAAK2G,MAAO3G,KAAK4G,QAGnCY,EAAG8S,gBAAgB9S,EAAG+S,YAAa,MAE/Bva,KAAKE,KAAKyY,oBAEVnR,EAAGgT,WAAW3Y,EAAM4Y,SAASC,EAAG7Y,EAAM4Y,SAASE,EAAG9Y,EAAM4Y,SAAS9V,EAAG9C,EAAM4Y,SAAS/V,GAEnF8C,EAAGoT,MAAMpT,EAAGqT,mBAGhB7a,KAAK8a,oBAAoBjZ,EAAO7B,KAAKiZ,cAWzChZ,EAAKqY,cAAczV,UAAUiY,oBAAsB,SAASC,EAAe9B,EAAY+B,EAAQlV,GAE3F9F,KAAKsH,cAAcmS,iBAAiBwB,aAAahb,EAAKkE,WAAWE,QAGjErE,KAAKsH,cAAcqS,UAAY,EAG/B3Z,KAAKsH,cAAciP,MAAQyE,EAAS,GAAK,EAGzChb,KAAKsH,cAAc2R,WAAaA,EAGhCjZ,KAAKsH,cAAc4R,OAASlZ,KAAKkZ,OAGjClZ,KAAK0K,YAAYf,MAAM3J,KAAKsH,eAG5BtH,KAAK4K,cAAcjB,MAAM3J,KAAKsH,cAAe0T,GAG7CD,EAAcrT,aAAa1H,KAAKsH,cAAexB,GAG/C9F,KAAK0K,YAAYd,OAUrB3J,EAAKqY,cAAczV,UAAUgF,OAAS,SAASlB,EAAOC,GAElD5G,KAAK2G,MAAQA,EAAQ3G,KAAKqG,WAC1BrG,KAAK4G,OAASA,EAAS5G,KAAKqG,WAE5BrG,KAAK4Y,KAAKjS,MAAQ3G,KAAK2G,MACvB3G,KAAK4Y,KAAKhS,OAAS5G,KAAK4G,OAEpB5G,KAAKyY,aACLzY,KAAK4Y,KAAKsC,MAAMvU,MAAQ3G,KAAK2G,MAAQ3G,KAAKqG,WAAa,KACvDrG,KAAK4Y,KAAKsC,MAAMtU,OAAS5G,KAAK4G,OAAS5G,KAAKqG,WAAa,MAG7DrG,KAAKwH,GAAG6S,SAAS,EAAG,EAAGra,KAAK2G,MAAO3G,KAAK4G,QAExC5G,KAAKiZ,WAAW5T,EAAKrF,KAAK2G,MAAQ,EAAI3G,KAAKqG,WAC3CrG,KAAKiZ,WAAW3T,GAAMtF,KAAK4G,OAAS,EAAI5G,KAAKqG,YAUjDpG,EAAKqY,cAAczV,UAAU0U,cAAgB,SAAS3P,GAElD,IAAKA,EAAQgE,UAET,OAAO,CAGX,IAAIpE,GAAKxH,KAAKwH,EAuCd,OArCKI,GAAQ4N,YAAYhO,EAAGiO,MAExB7N,EAAQ4N,YAAYhO,EAAGiO,IAAMjO,EAAG2T,iBAGpC3T,EAAG8N,YAAY9N,EAAG+N,WAAY3N,EAAQ4N,YAAYhO,EAAGiO,KAErDjO,EAAG6O,YAAY7O,EAAG4T,+BAAgCxT,EAAQmR,oBAE1DvR,EAAGiP,WAAWjP,EAAG+N,WAAY,EAAG/N,EAAG0O,KAAM1O,EAAG0O,KAAM1O,EAAGkP,cAAe9O,EAAQyG,QAE5E7G,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGoP,mBAAoBhP,EAAQtB,YAAcrG,EAAKqN,WAAWC,OAAS/F,EAAG+F,OAAS/F,EAAG6T,SAEjHzT,EAAQ0T,QAAUrb,EAAK6Q,aAAalJ,EAAQjB,MAAOiB,EAAQhB,SAE3DY,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGqP,mBAAoBjP,EAAQtB,YAAcrG,EAAKqN,WAAWC,OAAS/F,EAAG+T,qBAAuB/T,EAAGgU,wBACnIhU,EAAGiU,eAAejU,EAAG+N,aAIrB/N,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGqP,mBAAoBjP,EAAQtB,YAAcrG,EAAKqN,WAAWC,OAAS/F,EAAG+F,OAAS/F,EAAG6T,SAGpHzT,EAAQ8T,WAOTlU,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGsP,eAAgBtP,EAAG4O,QACtD5O,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGuP,eAAgBvP,EAAG4O,UANtD5O,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGsP,eAAgBtP,EAAGsO,eACtDtO,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGuP,eAAgBvP,EAAGsO,gBAQ1DlO,EAAQyP,OAAO7P,EAAGiO,KAAM,GAGjB,GASXxV,EAAKqY,cAAczV,UAAUE,QAAU,WAEnC9C,EAAKoY,WAAWrY,KAAK8Z,aAAe,KAEpC9Z,KAAKiZ,WAAa,KAClBjZ,KAAKkZ,OAAS,KAEdlZ,KAAKmP,cAAcpM,UACnB/C,KAAK0K,YAAY3H,UACjB/C,KAAK+K,YAAYhI,UACjB/C,KAAK4K,cAAc7H,UAEnB/C,KAAKmP,cAAgB,KACrBnP,KAAK0K,YAAc,KACnB1K,KAAK+K,YAAc,KACnB/K,KAAK4K,cAAgB,KAErB5K,KAAKwH,GAAK,KACVxH,KAAKsH,cAAgB,KAErBrH,EAAKqQ,WAAWI,OAAO1Q,MAEvBC,EAAKqX,UAAUtX,KAAK8Z,aAAe,KAEnC7Z,EAAKqY,cAAcwB,eAQvB7Z,EAAKqY,cAAczV,UAAUgX,cAAgB,WAEzC,GAAIrS,GAAKxH,KAAKwH,EAEd,KAAKvH,EAAK0b,gBACV,CACI,GAAIhX,MACAiX,EAAQ3b,EAAKkE,UAEjBQ,GAAEiX,EAAMvX,SAAkBmD,EAAGqU,IAAWrU,EAAGsU,qBAC3CnX,EAAEiX,EAAMG,MAAkBvU,EAAGwU,UAAWxU,EAAGyU,WAC3CtX,EAAEiX,EAAMxX,WAAkBoD,EAAG0U,UAAW1U,EAAGsU,qBAC3CnX,EAAEiX,EAAMO,SAAkB3U,EAAGwU,UAAWxU,EAAGqU,KAC3ClX,EAAEiX,EAAMQ,UAAkB5U,EAAGqU,IAAWrU,EAAGsU,qBAC3CnX,EAAEiX,EAAMS,SAAkB7U,EAAGqU,IAAWrU,EAAGsU,qBAC3CnX,EAAEiX,EAAMU,UAAkB9U,EAAGqU,IAAWrU,EAAGsU,qBAC3CnX,EAAEiX,EAAMW,cAAkB/U,EAAGqU,IAAWrU,EAAGsU,qBAC3CnX,EAAEiX,EAAMY,aAAkBhV,EAAGqU,IAAWrU,EAAGsU,qBAC3CnX,EAAEiX,EAAMa,aAAkBjV,EAAGqU,IAAWrU,EAAGsU,qBAC3CnX,EAAEiX,EAAMc,aAAkBlV,EAAGqU,IAAWrU,EAAGsU,qBAC3CnX,EAAEiX,EAAMe,aAAkBnV,EAAGqU,IAAWrU,EAAGsU,qBAC3CnX,EAAEiX,EAAMgB,YAAkBpV,EAAGqU,IAAWrU,EAAGsU,qBAC3CnX,EAAEiX,EAAMiB,MAAkBrV,EAAGqU,IAAWrU,EAAGsU,qBAC3CnX,EAAEiX,EAAMkB,aAAkBtV,EAAGqU,IAAWrU,EAAGsU,qBAC3CnX,EAAEiX,EAAMmB,QAAkBvV,EAAGqU,IAAWrU,EAAGsU,qBAC3CnX,EAAEiX,EAAMoB,aAAkBxV,EAAGqU,IAAWrU,EAAGsU,qBAE3C7b,EAAK0b,gBAAkBhX,IAI/B1E,EAAKqY,cAAcwB,YAAc,EAWjC7Z,EAAKyZ,sBAAwB,WAMzB1Z,KAAKgN,iBAAmB,OAG5B/M,EAAKyZ,sBAAsB7W,UAAUC,YAAc7C,EAAKyZ,sBAQxDzZ,EAAKyZ,sBAAsB7W,UAAUqM,WAAa,SAAS1H,GAEvDxH,KAAKwH,GAAKA,GASdvH,EAAKyZ,sBAAsB7W,UAAUoY,aAAe,SAAS/W,GAEzD,GAAGlE,KAAKgN,mBAAqB9I,EAAU,OAAO,CAE9ClE,MAAKgN,iBAAmB9I,CAExB,IAAI+Y,GAAiBhd,EAAK0b,gBAAgB3b,KAAKgN,iBAO/C,OALIiQ,IAEAjd,KAAKwH,GAAG0V,UAAUD,EAAe,GAAIA,EAAe,KAGjD,GAQXhd,EAAKyZ,sBAAsB7W,UAAUE,QAAU,WAE3C/C,KAAKwH,GAAK,MAYdvH,EAAKoZ,iBAAmB,aAIxBpZ,EAAKoZ,iBAAiBxW,UAAUC,YAAc7C,EAAKoZ,iBAQnDpZ,EAAKoZ,iBAAiBxW,UAAUqM,WAAa,SAAS1H,GAElDxH,KAAKwH,GAAKA,GAUdvH,EAAKoZ,iBAAiBxW,UAAUmI,SAAW,SAASmS,EAAU7V,GAE1D,GAAIE,GAAKF,EAAcE,EAEpB2V,GAAS1J,OAERxT,EAAKmd,cAAcC,eAAeF,EAAU3V,GAG5C2V,EAASG,OAAO9V,EAAGiO,IAAIhF,KAAKvN,QAEhCoE,EAAciS,eAAegE,YAAYJ,EAAUA,EAASG,OAAO9V,EAAGiO,IAAIhF,KAAK,GAAInJ,IAUvFrH,EAAKoZ,iBAAiBxW,UAAUsI,QAAU,SAASgS,EAAU7V,GAEzD,GAAIE,GAAKxH,KAAKwH,EACdF,GAAciS,eAAeiE,WAAWL,EAAUA,EAASG,OAAO9V,EAAGiO,IAAIhF,KAAK,GAAInJ,IAQtFrH,EAAKoZ,iBAAiBxW,UAAUE,QAAU,WAEtC/C,KAAKwH,GAAK,MAYdvH,EAAKuZ,oBAAsB,WAEvBxZ,KAAKyd,gBACLzd,KAAK0d,SAAU,EACf1d,KAAK2d,MAAQ,GASjB1d,EAAKuZ,oBAAoB3W,UAAUqM,WAAa,SAAS1H,GAErDxH,KAAKwH,GAAKA,GAWdvH,EAAKuZ,oBAAoB3W,UAAU0a,YAAc,SAASK,EAAUC,EAAWvW,GAE3E,GAAIE,GAAKxH,KAAKwH,EACdxH,MAAK8d,aAAaF,EAAUC,EAAWvW,GAEP,IAA7BtH,KAAKyd,aAAava,SAEjBsE,EAAG0S,OAAO1S,EAAGuW,cACbvW,EAAGoT,MAAMpT,EAAGwW,oBACZhe,KAAK0d,SAAU,EACf1d,KAAK2d,MAAQ,GAGjB3d,KAAKyd,aAAa1Z,KAAK8Z,EAEvB,IAAII,GAAQje,KAAK2d,KAEjBnW,GAAG0W,WAAU,GAAO,GAAO,GAAO,GAElC1W,EAAG2W,YAAY3W,EAAG4W,OAAO,EAAE,KAC3B5W,EAAG6W,UAAU7W,EAAG8W,KAAK9W,EAAG8W,KAAK9W,EAAG+W,QAIV,IAAnBV,EAAUW,MAEThX,EAAGiX,aAAajX,EAAGkX,aAAeb,EAAUc,QAAQzb,OAAS,EAAGsE,EAAGoX,eAAgB,GAEhF5e,KAAK0d,SAEJlW,EAAG2W,YAAY3W,EAAGqX,MAAO,IAAOZ,EAAO,KACvCzW,EAAG6W,UAAU7W,EAAG8W,KAAK9W,EAAG8W,KAAK9W,EAAGsX,QAIhCtX,EAAG2W,YAAY3W,EAAGqX,MAAMZ,EAAO,KAC/BzW,EAAG6W,UAAU7W,EAAG8W,KAAK9W,EAAG8W,KAAK9W,EAAGuX,OAIpCvX,EAAGiX,aAAajX,EAAGkX,aAAc,EAAGlX,EAAGoX,eAAmD,GAAjCf,EAAUc,QAAQzb,OAAS,IAEjFlD,KAAK0d,QAEJlW,EAAG2W,YAAY3W,EAAGqX,MAAM,KAAMZ,EAAM,GAAI,KAIxCzW,EAAG2W,YAAY3W,EAAGqX,MAAMZ,EAAM,EAAG,KAGrCje,KAAK0d,SAAW1d,KAAK0d,UAIjB1d,KAAK0d,SAOLlW,EAAG2W,YAAY3W,EAAGqX,MAAMZ,EAAO,KAC/BzW,EAAG6W,UAAU7W,EAAG8W,KAAK9W,EAAG8W,KAAK9W,EAAGuX,QANhCvX,EAAG2W,YAAY3W,EAAGqX,MAAO,IAAOZ,EAAO,KACvCzW,EAAG6W,UAAU7W,EAAG8W,KAAK9W,EAAG8W,KAAK9W,EAAGsX,OAQpCtX,EAAGiX,aAAajX,EAAGwX,eAAiBnB,EAAUc,QAAQzb,OAAQsE,EAAGoX,eAAgB,GAE7E5e,KAAK0d,QAMLlW,EAAG2W,YAAY3W,EAAGqX,MAAMZ,EAAM,EAAG,KAJjCzW,EAAG2W,YAAY3W,EAAGqX,MAAM,KAAMZ,EAAM,GAAI,MAQhDzW,EAAG0W,WAAU,GAAM,GAAM,GAAM,GAC/B1W,EAAG6W,UAAU7W,EAAG8W,KAAK9W,EAAG8W,KAAK9W,EAAG8W,MAEhCte,KAAK2d,SAWT1d,EAAKuZ,oBAAoB3W,UAAUib,aAAe,SAASF,EAAUC,EAAWvW,GAG5EtH,KAAKif,iBAAmBrB,CAExB,IAKIlS,GALAlE,EAAKxH,KAAKwH,GAGVyR,EAAa3R,EAAc2R,WAC3BC,EAAS5R,EAAc4R,MAGL,KAAnB2E,EAAUW,MAET9S,EAASpE,EAAc6H,cAAc+P,uBAErC5X,EAAc6H,cAAcC,UAAW1D,GAEvClE,EAAG2X,UAAUzT,EAAO6K,MAAOjP,EAAciP,OAEzC/O,EAAG2N,iBAAiBzJ,EAAOqM,mBAAmB,EAAO6F,EAAS7b,eAAeqd,SAAQ,IAErF5X,EAAG6X,UAAU3T,EAAOsI,iBAAkBiF,EAAW5T,GAAI4T,EAAW3T,GAChEkC,EAAG6X,UAAU3T,EAAOuI,cAAeiF,EAAO7T,GAAI6T,EAAO5T,GAErDkC,EAAG8X,WAAW5T,EAAOwM,UAAWjY,EAAKwP,QAAQmO,EAASrS,OACtD/D,EAAG8X,WAAW5T,EAAO0M,MAAOyF,EAAUzF,OAEtC5Q,EAAG2X,UAAUzT,EAAOlK,MAAOoc,EAAS9b,WAAa+b,EAAUrc,OAE3DgG,EAAG+X,WAAW/X,EAAGgY,aAAc3B,EAAU7C,QAEzCxT,EAAGiY,oBAAoB/T,EAAOyI,gBAAiB,EAAG3M,EAAGkY,OAAO,EAAO,EAAO,GAK1ElY,EAAG+X,WAAW/X,EAAGmY,qBAAsB9B,EAAU+B,eAKjDlU,EAASpE,EAAc6H,cAAc0Q,gBACrCvY,EAAc6H,cAAcC,UAAW1D,GAEvClE,EAAG2N,iBAAiBzJ,EAAOqM,mBAAmB,EAAO6F,EAAS7b,eAAeqd,SAAQ,IAErF5X,EAAG2X,UAAUzT,EAAO6K,MAAOjP,EAAciP,OACzC/O,EAAG6X,UAAU3T,EAAOsI,iBAAkBiF,EAAW5T,GAAI4T,EAAW3T,GAChEkC,EAAG6X,UAAU3T,EAAOuI,cAAeiF,EAAO7T,GAAI6T,EAAO5T,GAErDkC,EAAG8X,WAAW5T,EAAOwM,UAAWjY,EAAKwP,QAAQmO,EAASrS,OAEtD/D,EAAG2X,UAAUzT,EAAOlK,MAAOoc,EAAS9b,YAEpC0F,EAAG+X,WAAW/X,EAAGgY,aAAc3B,EAAU7C,QAEzCxT,EAAGiY,oBAAoB/T,EAAOyI,gBAAiB,EAAG3M,EAAGkY,OAAO,EAAO,GAAO,GAC1ElY,EAAGiY,oBAAoB/T,EAAO4I,eAAgB,EAAG9M,EAAGkY,OAAO,EAAM,GAAO,GAGxElY,EAAG+X,WAAW/X,EAAGmY,qBAAsB9B,EAAU+B,eAUzD3f,EAAKuZ,oBAAoB3W,UAAU2a,WAAa,SAASI,EAAUC,EAAWvW,GAE7E,GAAIE,GAAKxH,KAAKwH,EAKX,IAJAxH,KAAKyd,aAAaqC,MAElB9f,KAAK2d,QAE2B,IAA7B3d,KAAKyd,aAAava,OAGjBsE,EAAGuS,QAAQvS,EAAGuW,kBAIlB,CAEI,GAAIE,GAAQje,KAAK2d,KAEjB3d,MAAK8d,aAAaF,EAAUC,EAAWvW,GAEvCE,EAAG0W,WAAU,GAAO,GAAO,GAAO,GAEZ,IAAnBL,EAAUW,MAETxe,KAAK0d,SAAW1d,KAAK0d,QAElB1d,KAAK0d,SAEJlW,EAAG2W,YAAY3W,EAAGqX,MAAO,KAAQZ,EAAM,GAAI,KAC3CzW,EAAG6W,UAAU7W,EAAG8W,KAAK9W,EAAG8W,KAAK9W,EAAGuX,QAIhCvX,EAAG2W,YAAY3W,EAAGqX,MAAMZ,EAAM,EAAG,KACjCzW,EAAG6W,UAAU7W,EAAG8W,KAAK9W,EAAG8W,KAAK9W,EAAGsX,OAIpCtX,EAAGiX,aAAajX,EAAGkX,aAAc,EAAGlX,EAAGoX,eAAmD,GAAjCf,EAAUc,QAAQzb,OAAS,IAEpFsE,EAAG2W,YAAY3W,EAAG4W,OAAO,EAAE,KAC3B5W,EAAG6W,UAAU7W,EAAG8W,KAAK9W,EAAG8W,KAAK9W,EAAG+W,QAGhC/W,EAAGiX,aAAajX,EAAGkX,aAAeb,EAAUc,QAAQzb,OAAS,EAAGsE,EAAGoX,eAAgB,GAE/E5e,KAAK0d,QAMLlW,EAAG2W,YAAY3W,EAAGqX,MAAMZ,EAAO,KAJ/BzW,EAAG2W,YAAY3W,EAAGqX,MAAM,IAAK,EAAS,OAWtC7e,KAAK0d,SAOLlW,EAAG2W,YAAY3W,EAAGqX,MAAMZ,EAAM,EAAG,KACjCzW,EAAG6W,UAAU7W,EAAG8W,KAAK9W,EAAG8W,KAAK9W,EAAGsX,QANhCtX,EAAG2W,YAAY3W,EAAGqX,MAAO,KAAQZ,EAAM,GAAI,KAC3CzW,EAAG6W,UAAU7W,EAAG8W,KAAK9W,EAAG8W,KAAK9W,EAAGuX,OAQpCvX,EAAGiX,aAAajX,EAAGwX,eAAiBnB,EAAUc,QAAQzb,OAAQsE,EAAGoX,eAAgB,GAE7E5e,KAAK0d,QAMLlW,EAAG2W,YAAY3W,EAAGqX,MAAMZ,EAAO,KAJ/BzW,EAAG2W,YAAY3W,EAAGqX,MAAM,IAAK,EAAS,MAQ9CrX,EAAG0W,WAAU,GAAM,GAAM,GAAM,GAC/B1W,EAAG6W,UAAU7W,EAAG8W,KAAK9W,EAAG8W,KAAK9W,EAAG8W,QAWxCre,EAAKuZ,oBAAoB3W,UAAUE,QAAU,WAEzC/C,KAAKyd,aAAe,KACpBzd,KAAKwH,GAAK,MAYdvH,EAAKkZ,mBAAqB,WAMtBnZ,KAAK+f,UAAY,GAMjB/f,KAAKggB,eAMLhgB,KAAKigB,kBAEL,KAAK,GAAIhd,GAAI,EAAGA,EAAIjD,KAAK+f,UAAW9c,IAEhCjD,KAAKggB,YAAY/c,IAAK,CAO1BjD,MAAKkgB,UAITjgB,EAAKkZ,mBAAmBtW,UAAUC,YAAc7C,EAAKkZ,mBAQrDlZ,EAAKkZ,mBAAmBtW,UAAUqM,WAAa,SAAS1H,GAEpDxH,KAAKwH,GAAKA,EAGVxH,KAAK6f,gBAAkB,GAAI5f,GAAKgY,gBAAgBzQ,GAGhDxH,KAAKkf,uBAAyB,GAAIjf,GAAKkY,uBAAuB3Q,GAG9DxH,KAAKmgB,cAAgB,GAAIlgB,GAAKoT,WAAW7L,GAGzCxH,KAAKqP,WAAa,GAAIpP,GAAKwX,eAAejQ,GAG1CxH,KAAKogB,YAAc,GAAIngB,GAAK6X,YAAYtQ,GACxCxH,KAAKoP,UAAUpP,KAAKmgB,gBASxBlgB,EAAKkZ,mBAAmBtW,UAAUwd,WAAa,SAASC,GAGpD,GAAIrd,EAEJ,KAAKA,EAAI,EAAGA,EAAIjD,KAAKigB,gBAAgB/c,OAAQD,IAEzCjD,KAAKigB,gBAAgBhd,IAAK,CAI9B,KAAKA,EAAI,EAAGA,EAAIqd,EAAQpd,OAAQD,IAChC,CACI,GAAIsd,GAAWD,EAAQrd,EACvBjD,MAAKigB,gBAAgBM,IAAY,EAGrC,GAAI/Y,GAAKxH,KAAKwH,EAEd,KAAKvE,EAAI,EAAGA,EAAIjD,KAAKggB,YAAY9c,OAAQD,IAElCjD,KAAKggB,YAAY/c,KAAOjD,KAAKigB,gBAAgBhd,KAE5CjD,KAAKggB,YAAY/c,GAAKjD,KAAKigB,gBAAgBhd,GAExCjD,KAAKigB,gBAAgBhd,GAEpBuE,EAAGgZ,wBAAwBvd,GAI3BuE,EAAGiZ,yBAAyBxd,KAY5ChD,EAAKkZ,mBAAmBtW,UAAUuM,UAAY,SAAS1D,GAEnD,MAAG1L,MAAK0gB,aAAehV,EAAOpL,MAAY,GAE1CN,KAAK0gB,WAAahV,EAAOpL,KAEzBN,KAAK2gB,cAAgBjV,EAErB1L,KAAKwH,GAAGqM,WAAWnI,EAAO4H,SAC1BtT,KAAKqgB,WAAW3U,EAAOgI,aAEhB,IAQXzT,EAAKkZ,mBAAmBtW,UAAUE,QAAU,WAExC/C,KAAKggB,YAAc,KAEnBhgB,KAAKigB,gBAAkB,KAEvBjgB,KAAK6f,gBAAgB9c,UAErB/C,KAAKkf,uBAAuBnc,UAE5B/C,KAAKmgB,cAAcpd,UAEnB/C,KAAKqP,WAAWtM,UAEhB/C,KAAKogB,YAAYrd,UAEjB/C,KAAKwH,GAAK,MAoBdvH,EAAKmZ,iBAAmB,WAMpBpZ,KAAK4gB,SAAW,EAOhB5gB,KAAK6gB,KAAO,GAGZ,IAAIC,GAAuB,EAAZ9gB,KAAK6gB,KAAW,EAAI7gB,KAAK4gB,SAEpCG,EAAyB,EAAZ/gB,KAAK6gB,IAQtB7gB,MAAKghB,SAAW,GAAI/gB,GAAKS,YAAYogB,GAQrC9gB,KAAKihB,UAAY,GAAIhhB,GAAKM,aAAaP,KAAKghB,UAQ5ChhB,KAAKkhB,OAAS,GAAIjhB,GAAKQ,YAAYT,KAAKghB,UAQxChhB,KAAK2e,QAAU,GAAI1e,GAAKO,YAAYugB,GAMpC/gB,KAAKmhB,eAAiB,CAEtB,KAAK,GAAIle,GAAE,EAAGa,EAAE,EAAOid,EAAJ9d,EAAgBA,GAAK,EAAGa,GAAK,EAE5C9D,KAAK2e,QAAQ1b,EAAI,GAAKa,EAAI,EAC1B9D,KAAK2e,QAAQ1b,EAAI,GAAKa,EAAI,EAC1B9D,KAAK2e,QAAQ1b,EAAI,GAAKa,EAAI,EAC1B9D,KAAK2e,QAAQ1b,EAAI,GAAKa,EAAI,EAC1B9D,KAAK2e,QAAQ1b,EAAI,GAAKa,EAAI,EAC1B9D,KAAK2e,QAAQ1b,EAAI,GAAKa,EAAI,CAO9B9D,MAAKohB,SAAU,EAMfphB,KAAKqhB,iBAAmB,EAMxBrhB,KAAKshB,mBAAqB,KAM1BthB,KAAKyT,OAAQ,EAMbzT,KAAKuhB,YAMLvhB,KAAKmE,cAMLnE,KAAKwhB,WAMLxhB,KAAKyhB,WAMLzhB,KAAKmgB,cAAgB,GAAIlgB,GAAKyhB,gBAC1B,wBACA,8BACA,uBACA,8BACA,oBACA,kEACA,OAQRzhB,EAAKmZ,iBAAiBvW,UAAUqM,WAAa,SAAS1H,GAElDxH,KAAKwH,GAAKA,EAGVxH,KAAK2hB,aAAena,EAAGoa,eACvB5hB,KAAK4f,YAAcpY,EAAGoa,eAKtBpa,EAAG+X,WAAW/X,EAAGmY,qBAAsB3f,KAAK4f,aAC5CpY,EAAGqa,WAAWra,EAAGmY,qBAAsB3f,KAAK2e,QAASnX,EAAGsa,aAExDta,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK2hB,cACpCna,EAAGqa,WAAWra,EAAGgY,aAAcxf,KAAKghB,SAAUxZ,EAAGua,cAEjD/hB,KAAKgN,iBAAmB,KAExB,IAAItB,GAAS,GAAIzL,GAAKoT,WAAW7L,EAEjCkE,GAAOkH,YAAc5S,KAAKmgB,cAAcvN,YACxClH,EAAO8I,YACP9I,EAAOiI,OAEP3T,KAAKmgB,cAAcqB,QAAQha,EAAGiO,IAAM/J,GAOxCzL,EAAKmZ,iBAAiBvW,UAAU8G,MAAQ,SAASrC,GAE7CtH,KAAKsH,cAAgBA,EACrBtH,KAAK0L,OAAS1L,KAAKsH,cAAc6H,cAAcgR,cAE/CngB,KAAKkL,SAMTjL,EAAKmZ,iBAAiBvW,UAAU+G,IAAM,WAElC5J,KAAK2K,SAQT1K,EAAKmZ,iBAAiBvW,UAAUiE,OAAS,SAASkb,EAAQlc,GAEtD,GAAI8B,GAAUoa,EAAOpa,QAGjB3C,EAAK+c,EAAOjgB,cAEZ+D,KAEAb,EAAKa,GAIL9F,KAAKqhB,kBAAoBrhB,KAAK6gB,OAE9B7gB,KAAK2K,QACL3K,KAAKshB,mBAAqB1Z,EAAQ+D,YAItC,IAAIsW,GAAMra,EAAQsa,IAGlB,IAAKD,EAAL,CAKA,GAGI/V,GAAIC,EAAIC,EAAIC,EAHZ8V,EAAKH,EAAOha,OAAO3C,EACnB+c,EAAKJ,EAAOha,OAAO1C,CAIvB,IAAIsC,EAAQ6F,KACZ,CAEI,GAAIA,GAAO7F,EAAQ6F,IAEnBtB,GAAKsB,EAAKpI,EAAI8c,EAAK1U,EAAK9G,MACxBuF,EAAKC,EAAKvE,EAAQmF,KAAKpG,MAEvB0F,EAAKoB,EAAKnI,EAAI8c,EAAK3U,EAAK7G,OACxBwF,EAAKC,EAAKzE,EAAQmF,KAAKnG,WAIvBsF,GAAMtE,EAAQkE,MAAW,OAAK,EAAEqW,GAChChW,EAAMvE,EAAQkE,MAAW,OAAKqW,EAE9B/V,EAAKxE,EAAQkE,MAAMlF,QAAU,EAAEwb,GAC/B/V,EAAKzE,EAAQkE,MAAMlF,QAAUwb,CAGjC,IAAInf,GAA4B,EAAxBjD,KAAKqhB,iBAAuBrhB,KAAK4gB,SACrCva,EAAauB,EAAQ+D,YAAYtF,WAEjC3B,EAAIO,EAAGP,EAAI2B,EACX1B,EAAIM,EAAGN,EAAI0B,EACXzB,EAAIK,EAAGL,EAAIyB,EACXxB,EAAII,EAAGJ,EAAIwB,EACXvB,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,GAERmc,EAASlhB,KAAKkhB,OACdD,EAAYjhB,KAAKihB,SAEjBjhB,MAAKsH,cAAcqG,aAGnBsT,EAAUhe,GAAKyB,EAAIyH,EAAKvH,EAAIyH,EAAKvH,EAAK,EACtCmc,EAAUhe,EAAE,GAAK4B,EAAIwH,EAAK1H,EAAIwH,EAAKpH,EAAK,EAGxCkc,EAAUhe,EAAE,GAAKyB,EAAIwH,EAAKtH,EAAIyH,EAAKvH,EAAK,EACxCmc,EAAUhe,EAAE,GAAK4B,EAAIwH,EAAK1H,EAAIuH,EAAKnH,EAAK,EAGxCkc,EAAUhe,EAAE,IAAMyB,EAAIwH,EAAKtH,EAAIwH,EAAKtH,EAAK,EACzCmc,EAAUhe,EAAE,IAAM4B,EAAIuH,EAAKzH,EAAIuH,EAAKnH,EAAK,EAGzCkc,EAAUhe,EAAE,IAAMyB,EAAIyH,EAAKvH,EAAIwH,EAAKtH,EAAK,EACzCmc,EAAUhe,EAAE,IAAM4B,EAAIuH,EAAKzH,EAAIwH,EAAKpH,EAAK,IAKzCkc,EAAUhe,GAAKyB,EAAIyH,EAAKvH,EAAIyH,EAAKvH,EACjCmc,EAAUhe,EAAE,GAAK4B,EAAIwH,EAAK1H,EAAIwH,EAAKpH,EAGnCkc,EAAUhe,EAAE,GAAKyB,EAAIwH,EAAKtH,EAAIyH,EAAKvH,EACnCmc,EAAUhe,EAAE,GAAK4B,EAAIwH,EAAK1H,EAAIuH,EAAKnH,EAGnCkc,EAAUhe,EAAE,IAAMyB,EAAIwH,EAAKtH,EAAIwH,EAAKtH,EACpCmc,EAAUhe,EAAE,IAAM4B,EAAIuH,EAAKzH,EAAIuH,EAAKnH,EAGpCkc,EAAUhe,EAAE,IAAMyB,EAAIyH,EAAKvH,EAAIwH,EAAKtH,EACpCmc,EAAUhe,EAAE,IAAM4B,EAAIuH,EAAKzH,EAAIwH,EAAKpH,GAIxCkc,EAAUhe,EAAE,GAAKgf,EAAII,GACrBpB,EAAUhe,EAAE,GAAKgf,EAAIK,GAGrBrB,EAAUhe,EAAE,GAAKgf,EAAI1V,GACrB0U,EAAUhe,EAAE,GAAKgf,EAAIzV,GAGrByU,EAAUhe,EAAE,IAAMgf,EAAIxV,GACtBwU,EAAUhe,EAAE,IAAMgf,EAAIvV,GAGtBuU,EAAUhe,EAAE,IAAMgf,EAAItV,GACtBsU,EAAUhe,EAAE,IAAMgf,EAAIrV,EAGtB,IAAIrB,GAAOyW,EAAOzW,IAElB2V,GAAOje,EAAE,GAAKie,EAAOje,EAAE,GAAKie,EAAOje,EAAE,IAAMie,EAAOje,EAAE,KAAOsI,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApByW,EAAOlgB,YAAoB,IAG/I9B,KAAKyhB,QAAQzhB,KAAKqhB,oBAAsBW,IAU5C/hB,EAAKmZ,iBAAiBvW,UAAU0f,mBAAqB,SAASP,GAE1D,GAAIpa,GAAUoa,EAAOQ,aAGjBxiB,MAAKqhB,kBAAoBrhB,KAAK6gB,OAE9B7gB,KAAK2K,QACL3K,KAAKshB,mBAAqB1Z,EAAQ+D,aAIjCqW,EAAOE,OAERF,EAAOE,KAAO,GAAIjiB,GAAKwiB,WAG3B,IAAIR,GAAMD,EAAOE,KAEb9K,EAAIxP,EAAQ+D,YAAYhF,MACxB+b,EAAI9a,EAAQ+D,YAAY/E,MAQ5Bob,GAAOW,aAAatd,GAAK+R,EAAI4K,EAAOY,gBAAgBvd,EACpD2c,EAAOW,aAAard,GAAKod,EAAIV,EAAOY,gBAAgBtd,CAEpD,IAAIud,GAAUb,EAAOW,aAAatd,GAAK+R,EAAI4K,EAAOY,gBAAgBvd,GAC9Dyd,EAAUd,EAAOW,aAAard,GAAKod,EAAIV,EAAOY,gBAAgBtd,GAE9Dyd,EAAUf,EAAOrb,MAAQyQ,GAAM4K,EAAOgB,UAAU3d,EAAI2c,EAAOY,gBAAgBvd,GAC3E4d,EAAUjB,EAAOpb,OAAS8b,GAAMV,EAAOgB,UAAU1d,EAAI0c,EAAOY,gBAAgBtd,EAEhF2c,GAAII,GAAK,EAAIQ,EACbZ,EAAIK,GAAK,EAAIQ,EAEbb,EAAI1V,GAAM,EAAIwW,EAAUF,EACxBZ,EAAIzV,GAAK,EAAIsW,EAEbb,EAAIxV,GAAM,EAAIsW,EAAUF,EACxBZ,EAAIvV,GAAM,EAAIuW,EAAUH,EAExBb,EAAItV,GAAK,EAAIkW,EACbZ,EAAIrV,GAAM,EAAIqW,EAAUH,CAGxB,IAAIvX,GAAOyW,EAAOzW,KACd6M,GAAS7M,GAAQ,KAAc,MAAPA,KAA0B,IAAPA,IAAgB,KAA2B,IAApByW,EAAOlgB,YAAoB,IAE7Fmf,EAAYjhB,KAAKihB,UACjBC,EAASlhB,KAAKkhB,OAEdva,EAAQqb,EAAOrb,MACfC,EAASob,EAAOpb,OAGhBub,EAAKH,EAAOha,OAAO3C,EACnB+c,EAAKJ,EAAOha,OAAO1C,EACnB4G,EAAKvF,GAAS,EAAEwb,GAChBhW,EAAKxF,GAASwb,EAEd/V,EAAKxF,GAAU,EAAEwb,GACjB/V,EAAKzF,GAAUwb,EAEfnf,EAA4B,EAAxBjD,KAAKqhB,iBAAuBrhB,KAAK4gB,SAErCva,EAAauB,EAAQ+D,YAAYtF,WAEjCpB,EAAK+c,EAAOjgB,eAEZ2C,EAAIO,EAAGP,EAAI2B,EACX1B,EAAIM,EAAGN,EAAI0B,EACXzB,EAAIK,EAAGL,EAAIyB,EACXxB,EAAII,EAAGJ,EAAIwB,EACXvB,EAAKG,EAAGH,GACRC,EAAKE,EAAGF,EAGZkc,GAAUhe,KAAOyB,EAAIyH,EAAKvH,EAAIyH,EAAKvH,EACnCmc,EAAUhe,KAAO4B,EAAIwH,EAAK1H,EAAIwH,EAAKpH,EAEnCkc,EAAUhe,KAAOgf,EAAII,GACrBpB,EAAUhe,KAAOgf,EAAIK,GAErBpB,EAAOje,KAAOmV,EAGd6I,EAAUhe,KAAQyB,EAAIwH,EAAKtH,EAAIyH,EAAKvH,EACpCmc,EAAUhe,KAAO4B,EAAIwH,EAAK1H,EAAIuH,EAAKnH,EAEnCkc,EAAUhe,KAAOgf,EAAI1V,GACrB0U,EAAUhe,KAAOgf,EAAIzV,GAErB0U,EAAOje,KAAOmV,EAGd6I,EAAUhe,KAAOyB,EAAIwH,EAAKtH,EAAIwH,EAAKtH,EACnCmc,EAAUhe,KAAO4B,EAAIuH,EAAKzH,EAAIuH,EAAKnH,EAEnCkc,EAAUhe,KAAOgf,EAAIxV,GACrBwU,EAAUhe,KAAOgf,EAAIvV,GAErBwU,EAAOje,KAAOmV,EAGd6I,EAAUhe,KAAOyB,EAAIyH,EAAKvH,EAAIwH,EAAKtH,EACnCmc,EAAUhe,KAAO4B,EAAIuH,EAAKzH,EAAIwH,EAAKpH,EAEnCkc,EAAUhe,KAAOgf,EAAItV,GACrBsU,EAAUhe,KAAOgf,EAAIrV,GAErBsU,EAAOje,KAAOmV,EAGdpY,KAAKyhB,QAAQzhB,KAAKqhB,oBAAsBW,GAQ5C/hB,EAAKmZ,iBAAiBvW,UAAU8H,MAAQ,WAGpC,GAA8B,IAA1B3K,KAAKqhB,iBAAT,CAKA,GACI3V,GADAlE,EAAKxH,KAAKwH,EAGd,IAAIxH,KAAKyT,MACT,CACIzT,KAAKyT,OAAQ,EAGbjM,EAAG6N,cAAc7N,EAAG0b,UAGpB1b,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK2hB,cACpCna,EAAG+X,WAAW/X,EAAGmY,qBAAsB3f,KAAK4f,aAE5ClU,EAAS1L,KAAKmgB,cAAcqB,QAAQha,EAAGiO,GAGvC,IAAI0N,GAAyB,EAAhBnjB,KAAK4gB,QAClBpZ,GAAGiY,oBAAoB/T,EAAOyI,gBAAiB,EAAG3M,EAAGkY,OAAO,EAAOyD,EAAQ,GAC3E3b,EAAGiY,oBAAoB/T,EAAO2I,cAAe,EAAG7M,EAAGkY,OAAO,EAAOyD,EAAQ,GAGzE3b,EAAGiY,oBAAoB/T,EAAO4I,eAAgB,EAAG9M,EAAGkP,eAAe,EAAMyM,EAAQ,IAIrF,GAAInjB,KAAKqhB,iBAAgC,GAAZrhB,KAAK6gB,KAE9BrZ,EAAG4b,cAAc5b,EAAGgY,aAAc,EAAGxf,KAAKghB,cAG9C,CACI,GAAIpI,GAAO5Y,KAAKihB,UAAUoC,SAAS,EAA2B,EAAxBrjB,KAAKqhB,iBAAuBrhB,KAAK4gB,SACvEpZ,GAAG4b,cAAc5b,EAAGgY,aAAc,EAAG5G,GAezC,IAAK,GAZD0K,GAAaC,EAAeC,EAU5BxB,EATAyB,EAAY,EACZvY,EAAQ,EAERoW,EAAqB,KACrBtU,EAAmBhN,KAAKsH,cAAcmS,iBAAiBzM,iBACvD2T,EAAgB,KAEhB+C,GAAY,EACZC,GAAa,EAGR1gB,EAAI,EAAGa,EAAI9D,KAAKqhB,iBAAsBvd,EAAJb,EAAOA,IAAK,CAmBnD,GAjBA+e,EAAShiB,KAAKyhB,QAAQxe,GAIlBqgB,EAFAtB,EAAOQ,cAEOR,EAAOQ,cAAc7W,YAIrBqW,EAAOpa,QAAQ+D,YAGjC4X,EAAgBvB,EAAO9d,UACvBsf,EAAaxB,EAAOtW,QAAU1L,KAAKmgB,cAEnCuD,EAAY1W,IAAqBuW,EACjCI,EAAahD,IAAkB6C,GAE1BlC,IAAuBgC,IAAgBA,EAAYM,YAAeF,GAAaC,KAEhF3jB,KAAK6jB,YAAYvC,EAAoBmC,EAAWvY,GAEhDA,EAAQjI,EACRwgB,EAAY,EACZnC,EAAqBgC,EAEjBI,IAEA1W,EAAmBuW,EACnBvjB,KAAKsH,cAAcmS,iBAAiBwB,aAAajO,IAGjD2W,GACJ,CACIhD,EAAgB6C,EAEhB9X,EAASiV,EAAca,QAAQha,EAAGiO,IAE7B/J,IAEDA,EAAS,GAAIzL,GAAKoT,WAAW7L,GAE7BkE,EAAOkH,YAAc+N,EAAc/N,YACnClH,EAAO8I,SAAWmM,EAAcnM,SAChC9I,EAAOiI,OAEPgN,EAAca,QAAQha,EAAGiO,IAAM/J,GAInC1L,KAAKsH,cAAc6H,cAAcC,UAAU1D,GAEvCA,EAAO+H,OAEP/H,EAAOuL,cAKX,IAAIgC,GAAajZ,KAAKsH,cAAc2R,UACpCzR,GAAG6X,UAAU3T,EAAOsI,iBAAkBiF,EAAW5T,EAAG4T,EAAW3T,EAG/D,IAAI2O,GAAejU,KAAKsH,cAAc4R,MACtC1R,GAAG6X,UAAU3T,EAAOuI,aAAcA,EAAa5O,EAAG4O,EAAa3O,GAMvEme,IAGJzjB,KAAK6jB,YAAYvC,EAAoBmC,EAAWvY,GAGhDlL,KAAKqhB,iBAAmB,IAS5BphB,EAAKmZ,iBAAiBvW,UAAUghB,YAAc,SAASjc,EAASiZ,EAAMiD,GAElE,GAAa,IAATjD,EAAJ,CAKA,GAAIrZ,GAAKxH,KAAKwH,EAGd,IAAII,EAAQyP,OAAO7P,EAAGiO,KAElB,IAAKzV,KAAKsH,cAAcf,SAASgR,cAAc3P,GAG3C,WAMJJ,GAAG8N,YAAY9N,EAAG+N,WAAY3N,EAAQ4N,YAAYhO,EAAGiO,IAIzDjO,GAAGiX,aAAajX,EAAGuc,UAAkB,EAAPlD,EAAUrZ,EAAGoX,eAA6B,EAAbkF,EAAiB,GAG5E9jB,KAAKsH,cAAcqS,cAMvB1Z,EAAKmZ,iBAAiBvW,UAAUiI,KAAO,WAEnC9K,KAAK2K,QACL3K,KAAKyT,OAAQ,GAMjBxT,EAAKmZ,iBAAiBvW,UAAUqI,MAAQ,WAEpClL,KAAKyT,OAAQ,GAQjBxT,EAAKmZ,iBAAiBvW,UAAUE,QAAU,WAEtC/C,KAAKghB,SAAW,KAChBhhB,KAAK2e,QAAU,KAEf3e,KAAKwH,GAAGwc,aAAahkB,KAAK2hB,cAC1B3hB,KAAKwH,GAAGwc,aAAahkB,KAAK4f,aAE1B5f,KAAKshB,mBAAqB,KAE1BthB,KAAKwH,GAAK,MAgBdvH,EAAKgP,qBAAuB,SAASzH,GAMjCxH,KAAK4gB,SAAW,GAMhB5gB,KAAKikB,QAAU,IAMfjkB,KAAK6gB,KAAO7gB,KAAKikB,OAGjB,IAAInD,GAAuB,EAAZ9gB,KAAK6gB,KAAY7gB,KAAK4gB,SAGjCG,EAA4B,EAAf/gB,KAAKikB,OAOtBjkB,MAAKghB,SAAW,GAAI/gB,GAAKM,aAAaugB,GAOtC9gB,KAAK2e,QAAU,GAAI1e,GAAKO,YAAYugB,GAMpC/gB,KAAK2hB,aAAe,KAMpB3hB,KAAK4f,YAAc,KAMnB5f,KAAKmhB,eAAiB,CAEtB,KAAK,GAAIle,GAAE,EAAGa,EAAE,EAAOid,EAAJ9d,EAAgBA,GAAK,EAAGa,GAAK,EAE5C9D,KAAK2e,QAAQ1b,EAAI,GAAKa,EAAI,EAC1B9D,KAAK2e,QAAQ1b,EAAI,GAAKa,EAAI,EAC1B9D,KAAK2e,QAAQ1b,EAAI,GAAKa,EAAI,EAC1B9D,KAAK2e,QAAQ1b,EAAI,GAAKa,EAAI,EAC1B9D,KAAK2e,QAAQ1b,EAAI,GAAKa,EAAI,EAC1B9D,KAAK2e,QAAQ1b,EAAI,GAAKa,EAAI,CAO9B9D,MAAKohB,SAAU,EAMfphB,KAAKqhB,iBAAmB,EAMxBrhB,KAAKshB,mBAAqB,KAM1BthB,KAAKgN,iBAAmB,EAMxBhN,KAAKsH,cAAgB,KAMrBtH,KAAK0L,OAAS,KAMd1L,KAAK8F,OAAS,KAEd9F,KAAKkP,WAAW1H,IAGpBvH,EAAKgP,qBAAqBpM,UAAUC,YAAc7C,EAAKgP,qBAQvDhP,EAAKgP,qBAAqBpM,UAAUqM,WAAa,SAAS1H,GAEtDxH,KAAKwH,GAAKA,EAGVxH,KAAK2hB,aAAena,EAAGoa,eACvB5hB,KAAK4f,YAAcpY,EAAGoa,eAKtBpa,EAAG+X,WAAW/X,EAAGmY,qBAAsB3f,KAAK4f,aAC5CpY,EAAGqa,WAAWra,EAAGmY,qBAAsB3f,KAAK2e,QAASnX,EAAGsa,aAExDta,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK2hB,cACpCna,EAAGqa,WAAWra,EAAGgY,aAAcxf,KAAKghB,SAAUxZ,EAAGua,eAQrD9hB,EAAKgP,qBAAqBpM,UAAU8G,MAAQ,SAASe,EAAapD,GAE9DtH,KAAKsH,cAAgBA,EACrBtH,KAAK0L,OAAS1L,KAAKsH,cAAc6H,cAAcE,WAE/CrP,KAAK8F,OAAS4E,EAAY3I,eAAeqd,SAAQ,GAEjDpf,KAAKkL,SAMTjL,EAAKgP,qBAAqBpM,UAAU+G,IAAM,WAEtC5J,KAAK2K,SAOT1K,EAAKgP,qBAAqBpM,UAAUiE,OAAS,SAAS4D,GAElD,GAAI1H,GAAW0H,EAAY1H,SACvBgf,EAAShf,EAAS,EAKtB,IAAIgf,EAAOpa,QAAQsa,KAAnB,CAEAliB,KAAKshB,mBAAqBU,EAAOpa,QAAQ+D,YAGtCqW,EAAO9d,YAAclE,KAAKsH,cAAcmS,iBAAiBzM,mBAExDhN,KAAK2K,QACL3K,KAAKsH,cAAcmS,iBAAiBwB,aAAa+G,EAAO9d,WAG5D,KAAI,GAAIjB,GAAE,EAAEa,EAAGd,EAASE,OAAUY,EAAFb,EAAKA,IAEjCjD,KAAKkkB,aAAalhB,EAASC,GAG/BjD,MAAK2K,UAOT1K,EAAKgP,qBAAqBpM,UAAUqhB,aAAe,SAASlC,GAGxD,GAAIA,EAAOvgB,UAGRugB,EAAOpa,QAAQ+D,cAAgB3L,KAAKshB,oBAAuBU,EAAOpa,QAAQ+D,YAAYiY,aAErF5jB,KAAK2K,QACL3K,KAAKshB,mBAAqBU,EAAOpa,QAAQ+D,YAErCqW,EAAOpa,QAAQsa,OALvB,CAQA,GAAID,GAA+Btb,EAAOC,EAAQsF,EAAIC,EAAIC,EAAIC,EAAI7D,EAAzDwY,EAAWhhB,KAAKghB,QAOzB,IALAiB,EAAMD,EAAOpa,QAAQsa,KAErBvb,EAAQqb,EAAOpa,QAAQkE,MAAMnF,MAC7BC,EAASob,EAAOpa,QAAQkE,MAAMlF,OAE1Bob,EAAOpa,QAAQ6F,KACnB,CAEI,GAAIA,GAAOuU,EAAOpa,QAAQ6F,IAE1BtB,GAAKsB,EAAKpI,EAAI2c,EAAOha,OAAO3C,EAAIoI,EAAK9G,MACrCuF,EAAKC,EAAK6V,EAAOpa,QAAQmF,KAAKpG,MAE9B0F,EAAKoB,EAAKnI,EAAI0c,EAAOha,OAAO1C,EAAImI,EAAK7G,OACrCwF,EAAKC,EAAK2V,EAAOpa,QAAQmF,KAAKnG,WAI9BsF,GAAM8V,EAAOpa,QAAQkE,MAAY,OAAK,EAAEkW,EAAOha,OAAO3C,GACtD8G,EAAM6V,EAAOpa,QAAQkE,MAAY,OAAKkW,EAAOha,OAAO3C,EAEpD+G,EAAK4V,EAAOpa,QAAQkE,MAAMlF,QAAU,EAAEob,EAAOha,OAAO1C,GACpD+G,EAAK2V,EAAOpa,QAAQkE,MAAMlF,QAAUob,EAAOha,OAAO1C,CAGtDkD,GAAgC,EAAxBxI,KAAKqhB,iBAAuBrhB,KAAK4gB,SAGzCI,EAASxY,KAAW2D,EACpB6U,EAASxY,KAAW6D,EAEpB2U,EAASxY,KAAWwZ,EAAO7gB,SAASkE,EACpC2b,EAASxY,KAAWwZ,EAAO7gB,SAASmE,EAGpC0b,EAASxY,KAAWwZ,EAAO3gB,MAAMgE,EACjC2b,EAASxY,KAAWwZ,EAAO3gB,MAAMiE,EAGjC0b,EAASxY,KAAWwZ,EAAOzgB,SAG3Byf,EAASxY,KAAWyZ,EAAII,GACxBrB,EAASxY,KAAWyZ,EAAIzV,GAExBwU,EAASxY,KAAWwZ,EAAOxgB,MAI3Bwf,EAASxY,KAAW0D,EACpB8U,EAASxY,KAAW6D,EAEpB2U,EAASxY,KAAWwZ,EAAO7gB,SAASkE,EACpC2b,EAASxY,KAAWwZ,EAAO7gB,SAASmE,EAGpC0b,EAASxY,KAAWwZ,EAAO3gB,MAAMgE,EACjC2b,EAASxY,KAAWwZ,EAAO3gB,MAAMiE,EAGjC0b,EAASxY,KAAWwZ,EAAOzgB,SAG3Byf,EAASxY,KAAWyZ,EAAI1V,GACxByU,EAASxY,KAAWyZ,EAAIzV,GAExBwU,EAASxY,KAAWwZ,EAAOxgB,MAI3Bwf,EAASxY,KAAW0D,EACpB8U,EAASxY,KAAW4D,EAEpB4U,EAASxY,KAAWwZ,EAAO7gB,SAASkE,EACpC2b,EAASxY,KAAWwZ,EAAO7gB,SAASmE,EAGpC0b,EAASxY,KAAWwZ,EAAO3gB,MAAMgE,EACjC2b,EAASxY,KAAWwZ,EAAO3gB,MAAMiE,EAGjC0b,EAASxY,KAAWwZ,EAAOzgB,SAG3Byf,EAASxY,KAAWyZ,EAAIxV,GACxBuU,EAASxY,KAAWyZ,EAAIvV,GAExBsU,EAASxY,KAAWwZ,EAAOxgB,MAM3Bwf,EAASxY,KAAW2D,EACpB6U,EAASxY,KAAW4D,EAEpB4U,EAASxY,KAAWwZ,EAAO7gB,SAASkE,EACpC2b,EAASxY,KAAWwZ,EAAO7gB,SAASmE,EAGpC0b,EAASxY,KAAWwZ,EAAO3gB,MAAMgE,EACjC2b,EAASxY,KAAWwZ,EAAO3gB,MAAMiE,EAGjC0b,EAASxY,KAAWwZ,EAAOzgB,SAG3Byf,EAASxY,KAAWyZ,EAAItV,GACxBqU,EAASxY,KAAWyZ,EAAIrV,GAExBoU,EAASxY,KAAWwZ,EAAOxgB,MAG3BxB,KAAKqhB,mBAEFrhB,KAAKqhB,kBAAoBrhB,KAAK6gB,MAE7B7gB,KAAK2K,UAOb1K,EAAKgP,qBAAqBpM,UAAU8H,MAAQ,WAGxC,GAA4B,IAAxB3K,KAAKqhB,iBAAT,CAEA,GAAI7Z,GAAKxH,KAAKwH,EAUd,IANIxH,KAAKshB,mBAAmB9L,YAAYhO,EAAGiO,KAAIzV,KAAKsH,cAAcf,SAASgR,cAAcvX,KAAKshB,mBAAoB9Z,GAElHA,EAAG8N,YAAY9N,EAAG+N,WAAYvV,KAAKshB,mBAAmB9L,YAAYhO,EAAGiO,KAIlEzV,KAAKqhB,iBAAiC,GAAZrhB,KAAK6gB,KAE9BrZ,EAAG4b,cAAc5b,EAAGgY,aAAc,EAAGxf,KAAKghB,cAG9C,CACI,GAAIpI,GAAO5Y,KAAKghB,SAASqC,SAAS,EAA2B,EAAxBrjB,KAAKqhB,iBAAuBrhB,KAAK4gB,SAEtEpZ,GAAG4b,cAAc5b,EAAGgY,aAAc,EAAG5G,GAIzCpR,EAAGiX,aAAajX,EAAGuc,UAAmC,EAAxB/jB,KAAKqhB,iBAAsB7Z,EAAGoX,eAAgB,GAG5E5e,KAAKqhB,iBAAmB,EAGxBrhB,KAAKsH,cAAcqS,cAOvB1Z,EAAKgP,qBAAqBpM,UAAUiI,KAAO,WAEvC9K,KAAK2K,SAMT1K,EAAKgP,qBAAqBpM,UAAUqI,MAAQ,WAExC,GAAI1D,GAAKxH,KAAKwH,EAGdA,GAAG6N,cAAc7N,EAAG0b,UAGpB1b,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK2hB,cACpCna,EAAG+X,WAAW/X,EAAGmY,qBAAsB3f,KAAK4f,YAG5C,IAAI3G,GAAajZ,KAAKsH,cAAc2R,UACpCzR,GAAG6X,UAAUrf,KAAK0L,OAAOsI,iBAAkBiF,EAAW5T,EAAG4T,EAAW3T,GAGpEkC,EAAG2N,iBAAiBnV,KAAK0L,OAAOgM,SAAS,EAAO1X,KAAK8F,OAGrD,IAAIqd,GAA0B,EAAhBnjB,KAAK4gB,QAEnBpZ,GAAGiY,oBAAoBzf,KAAK0L,OAAOyI,gBAAiB,EAAG3M,EAAGkY,OAAO,EAAOyD,EAAQ,GAChF3b,EAAGiY,oBAAoBzf,KAAK0L,OAAOiM,eAAgB,EAAGnQ,EAAGkY,OAAO,EAAOyD,EAAQ,GAC/E3b,EAAGiY,oBAAoBzf,KAAK0L,OAAOkM,OAAQ,EAAGpQ,EAAGkY,OAAO,EAAOyD,EAAQ,IACvE3b,EAAGiY,oBAAoBzf,KAAK0L,OAAOmM,UAAW,EAAGrQ,EAAGkY,OAAO,EAAOyD,EAAQ,IAC1E3b,EAAGiY,oBAAoBzf,KAAK0L,OAAO2I,cAAe,EAAG7M,EAAGkY,OAAO,EAAOyD,EAAQ,IAC9E3b,EAAGiY,oBAAoBzf,KAAK0L,OAAO4I,eAAgB,EAAG9M,EAAGkY,OAAO,EAAOyD,EAAQ,KAYnFljB,EAAKqZ,mBAAqB,WAMtBtZ,KAAKmkB,eAMLnkB,KAAK6iB,QAAU,EAMf7iB,KAAK8iB,QAAU,GAGnB7iB,EAAKqZ,mBAAmBzW,UAAUC,YAAc7C,EAAKqZ,mBAQrDrZ,EAAKqZ,mBAAmBzW,UAAUqM,WAAa,SAAS1H,GAEpDxH,KAAKwH,GAAKA,EACVxH,KAAKokB,eAELpkB,KAAKqkB,qBAQTpkB,EAAKqZ,mBAAmBzW,UAAU8G,MAAQ,SAASrC,EAAe0T,GAE9Dhb,KAAKsH,cAAgBA,EACrBtH,KAAKmgB,cAAgB7Y,EAAc6H,cAAcgR,aAEjD,IAAIlH,GAAajZ,KAAKsH,cAAc2R,UACpCjZ,MAAK2G,MAAuB,EAAfsS,EAAW5T,EACxBrF,KAAK4G,OAAyB,GAAfqS,EAAW3T,EAC1BtF,KAAKgb,OAASA,GASlB/a,EAAKqZ,mBAAmBzW,UAAUgI,WAAa,SAASyZ,GAEpD,GAAI9c,GAAKxH,KAAKwH,GAEVyR,EAAajZ,KAAKsH,cAAc2R,WAChCC,EAASlZ,KAAKsH,cAAc4R,MAEhCoL,GAAYC,YAAcD,EAAYrgB,OAAO3B,YAAcgiB,EAAYrgB,OAAO4B,YAI9E7F,KAAKmkB,YAAYpgB,KAAKugB,EAEtB,IAAIE,GAASF,EAAYzgB,aAAa,EAEtC7D,MAAK6iB,SAAWyB,EAAYC,YAAYlf,EACxCrF,KAAK8iB,SAAWwB,EAAYC,YAAYjf,CAExC,IAAIsC,GAAU5H,KAAKokB,YAAYtE,KAC3BlY,GAMAA,EAAQC,OAAO7H,KAAK2G,MAAO3G,KAAK4G,QAJhCgB,EAAU,GAAI3H,GAAKwkB,cAAczkB,KAAKwH,GAAIxH,KAAK2G,MAAO3G,KAAK4G,QAO/DY,EAAG8N,YAAY9N,EAAG+N,WAAa3N,EAAQA,QAEvC,IAAItF,GAAagiB,EAAYC,YAEzBG,EAAUF,EAAOE,OACrBpiB,GAAW+C,GAAKqf,EAChBpiB,EAAWgD,GAAKof,EAChBpiB,EAAWqE,OAAmB,EAAV+d,EACpBpiB,EAAWsE,QAAoB,EAAV8d,EAGlBpiB,EAAW+C,EAAI,IAAE/C,EAAW+C,EAAI,GAChC/C,EAAWqE,MAAQ3G,KAAK2G,QAAMrE,EAAWqE,MAAQ3G,KAAK2G,OACtDrE,EAAWgD,EAAI,IAAEhD,EAAWgD,EAAI,GAChChD,EAAWsE,OAAS5G,KAAK4G,SAAOtE,EAAWsE,OAAS5G,KAAK4G,QAG5DY,EAAG8S,gBAAgB9S,EAAG+S,YAAa3S,EAAQ+c,aAG3Cnd,EAAG6S,SAAS,EAAG,EAAG/X,EAAWqE,MAAOrE,EAAWsE,QAE/CqS,EAAW5T,EAAI/C,EAAWqE,MAAM,EAChCsS,EAAW3T,GAAKhD,EAAWsE,OAAO,EAElCsS,EAAO7T,GAAK/C,EAAW+C,EACvB6T,EAAO5T,GAAKhD,EAAWgD,EAQvBkC,EAAG0W,WAAU,GAAM,GAAM,GAAM,GAC/B1W,EAAGgT,WAAW,EAAE,EAAE,EAAG,GACrBhT,EAAGoT,MAAMpT,EAAGqT,kBAEZyJ,EAAYM,iBAAmBhd,GASnC3H,EAAKqZ,mBAAmBzW,UAAUuI,UAAY,WAE1C,GAAI5D,GAAKxH,KAAKwH,GACV8c,EAActkB,KAAKmkB,YAAYrE,MAC/Bxd,EAAagiB,EAAYC,YACzB3c,EAAU0c,EAAYM,iBACtB3L,EAAajZ,KAAKsH,cAAc2R,WAChCC,EAASlZ,KAAKsH,cAAc4R,MAEhC,IAAGoL,EAAYzgB,aAAaX,OAAS,EACrC,CACIsE,EAAG6S,SAAS,EAAG,EAAG/X,EAAWqE,MAAOrE,EAAWsE,QAE/CY,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK2hB,cAEpC3hB,KAAK6kB,YAAY,GAAK,EACtB7kB,KAAK6kB,YAAY,GAAKviB,EAAWsE,OAEjC5G,KAAK6kB,YAAY,GAAKviB,EAAWqE,MACjC3G,KAAK6kB,YAAY,GAAKviB,EAAWsE,OAEjC5G,KAAK6kB,YAAY,GAAK,EACtB7kB,KAAK6kB,YAAY,GAAK,EAEtB7kB,KAAK6kB,YAAY,GAAKviB,EAAWqE,MACjC3G,KAAK6kB,YAAY,GAAK,EAEtBrd,EAAG4b,cAAc5b,EAAGgY,aAAc,EAAGxf,KAAK6kB,aAE1Crd,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK8kB,UAEpC9kB,KAAK+kB,QAAQ,GAAKziB,EAAWqE,MAAM3G,KAAK2G,MACxC3G,KAAK+kB,QAAQ,GAAKziB,EAAWsE,OAAO5G,KAAK4G,OACzC5G,KAAK+kB,QAAQ,GAAKziB,EAAWqE,MAAM3G,KAAK2G,MACxC3G,KAAK+kB,QAAQ,GAAKziB,EAAWsE,OAAO5G,KAAK4G,OAEzCY,EAAG4b,cAAc5b,EAAGgY,aAAc,EAAGxf,KAAK+kB,QAE1C,IAAIC,GAAepd,EACfqd,EAAgBjlB,KAAKokB,YAAYtE,KACjCmF,KAAcA,EAAgB,GAAIhlB,GAAKwkB,cAAczkB,KAAKwH,GAAIxH,KAAK2G,MAAO3G,KAAK4G,SACnFqe,EAAcpd,OAAO7H,KAAK2G,MAAO3G,KAAK4G,QAGtCY,EAAG8S,gBAAgB9S,EAAG+S,YAAa0K,EAAcN,aACjDnd,EAAGoT,MAAMpT,EAAGqT,kBAEZrT,EAAGuS,QAAQvS,EAAG2S,MAEd,KAAK,GAAIlX,GAAI,EAAGA,EAAIqhB,EAAYzgB,aAAaX,OAAO,EAAGD,IACvD,CACI,GAAIiiB,GAAaZ,EAAYzgB,aAAaZ,EAE1CuE,GAAG8S,gBAAgB9S,EAAG+S,YAAa0K,EAAcN,aAGjDnd,EAAG6N,cAAc7N,EAAG0b,UACpB1b,EAAG8N,YAAY9N,EAAG+N,WAAYyP,EAAapd,SAI3C5H,KAAKmlB,gBAAgBD,EAAY5iB,EAAYA,EAAWqE,MAAOrE,EAAWsE,OAG1E,IAAI0F,GAAO0Y,CACXA,GAAeC,EACfA,EAAgB3Y,EAGpB9E,EAAG0S,OAAO1S,EAAG2S,OAEbvS,EAAUod,EACVhlB,KAAKokB,YAAYrgB,KAAKkhB,GAG1B,GAAIT,GAASF,EAAYzgB,aAAaygB,EAAYzgB,aAAaX,OAAO,EAEtElD,MAAK6iB,SAAWvgB,EAAW+C,EAC3BrF,KAAK8iB,SAAWxgB,EAAWgD,CAE3B,IAAI8f,GAAQplB,KAAK2G,MACb0e,EAAQrlB,KAAK4G,OAEbic,EAAU,EACVC,EAAU,EAEV9H,EAAShb,KAAKgb,MAGlB,IAA+B,IAA5Bhb,KAAKmkB,YAAYjhB,OAEhBsE,EAAG0W,WAAU,GAAM,GAAM,GAAM,OAGnC,CACI,GAAIoH,GAAgBtlB,KAAKmkB,YAAYnkB,KAAKmkB,YAAYjhB,OAAO,EAC7DZ,GAAagjB,EAAcf,YAE3Ba,EAAQ9iB,EAAWqE,MACnB0e,EAAQ/iB,EAAWsE,OAEnBic,EAAUvgB,EAAW+C,EACrByd,EAAUxgB,EAAWgD,EAErB0V,EAAUsK,EAAcV,iBAAiBD,YAI7C1L,EAAW5T,EAAI+f,EAAM,EACrBnM,EAAW3T,GAAK+f,EAAM,EAEtBnM,EAAO7T,EAAIwd,EACX3J,EAAO5T,EAAIwd,EAEXxgB,EAAagiB,EAAYC,WAEzB,IAAIlf,GAAI/C,EAAW+C,EAAEwd,EACjBvd,EAAIhD,EAAWgD,EAAEwd,CAIrBtb,GAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK2hB,cAEpC3hB,KAAK6kB,YAAY,GAAKxf,EACtBrF,KAAK6kB,YAAY,GAAKvf,EAAIhD,EAAWsE,OAErC5G,KAAK6kB,YAAY,GAAKxf,EAAI/C,EAAWqE,MACrC3G,KAAK6kB,YAAY,GAAKvf,EAAIhD,EAAWsE,OAErC5G,KAAK6kB,YAAY,GAAKxf,EACtBrF,KAAK6kB,YAAY,GAAKvf,EAEtBtF,KAAK6kB,YAAY,GAAKxf,EAAI/C,EAAWqE,MACrC3G,KAAK6kB,YAAY,GAAKvf,EAEtBkC,EAAG4b,cAAc5b,EAAGgY,aAAc,EAAGxf,KAAK6kB,aAE1Crd,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK8kB,UAEpC9kB,KAAK+kB,QAAQ,GAAKziB,EAAWqE,MAAM3G,KAAK2G,MACxC3G,KAAK+kB,QAAQ,GAAKziB,EAAWsE,OAAO5G,KAAK4G,OACzC5G,KAAK+kB,QAAQ,GAAKziB,EAAWqE,MAAM3G,KAAK2G,MACxC3G,KAAK+kB,QAAQ,GAAKziB,EAAWsE,OAAO5G,KAAK4G,OAEzCY,EAAG4b,cAAc5b,EAAGgY,aAAc,EAAGxf,KAAK+kB,SAE1Cvd,EAAG6S,SAAS,EAAG,EAAG+K,EAAQplB,KAAKsH,cAAcjB,WAAYgf,EAAQrlB,KAAKsH,cAAcjB,YAGpFmB,EAAG8S,gBAAgB9S,EAAG+S,YAAaS,GAMnCxT,EAAG6N,cAAc7N,EAAG0b,UACpB1b,EAAG8N,YAAY9N,EAAG+N,WAAY3N,EAAQA,SAGtC5H,KAAKmlB,gBAAgBX,EAAQliB,EAAY8iB,EAAOC,GAQhDrlB,KAAKokB,YAAYrgB,KAAK6D,GACtB0c,EAAYM,iBAAmB,MAanC3kB,EAAKqZ,mBAAmBzW,UAAUsiB,gBAAkB,SAASX,EAAQliB,EAAYqE,EAAOC,GAGpF,GAAIY,GAAKxH,KAAKwH,GACVkE,EAAS8Y,EAAOhD,QAAQha,EAAGiO,GAE3B/J,KAEAA,EAAS,GAAIzL,GAAKoT,WAAW7L,GAE7BkE,EAAOkH,YAAc4R,EAAO5R,YAC5BlH,EAAO8I,SAAWgQ,EAAOhQ,SACzB9I,EAAOiI,OAEP6Q,EAAOhD,QAAQha,EAAGiO,IAAM/J,GAI5B1L,KAAKsH,cAAc6H,cAAcC,UAAU1D,GAI3ClE,EAAG6X,UAAU3T,EAAOsI,iBAAkBrN,EAAM,GAAIC,EAAO,GACvDY,EAAG6X,UAAU3T,EAAOuI,aAAc,EAAE,GAEjCuQ,EAAOhQ,SAASN,aAEfsQ,EAAOhQ,SAASN,WAAWzQ,MAAM,GAAKzD,KAAK2G,MAC3C6d,EAAOhQ,SAASN,WAAWzQ,MAAM,GAAKzD,KAAK4G,OAC3C4d,EAAOhQ,SAASN,WAAWzQ,MAAM,GAAKzD,KAAK6kB,YAAY,GACvDL,EAAOhQ,SAASN,WAAWzQ,MAAM,GAAKzD,KAAK6kB,YAAY,IAG3DnZ,EAAOuL,eAEPzP,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK2hB,cACpCna,EAAGiY,oBAAoB/T,EAAOyI,gBAAiB,EAAG3M,EAAGkY,OAAO,EAAO,EAAG,GAEtElY,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK8kB,UACpCtd,EAAGiY,oBAAoB/T,EAAO2I,cAAe,EAAG7M,EAAGkY,OAAO,EAAO,EAAG,GAEpElY,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAKulB,aACpC/d,EAAGiY,oBAAoB/T,EAAO4I,eAAgB,EAAG9M,EAAGkY,OAAO,EAAO,EAAG,GAErElY,EAAG+X,WAAW/X,EAAGmY,qBAAsB3f,KAAK4f,aAG5CpY,EAAGiX,aAAajX,EAAGuc,UAAW,EAAGvc,EAAGoX,eAAgB,GAEpD5e,KAAKsH,cAAcqS,aAQvB1Z,EAAKqZ,mBAAmBzW,UAAUwhB,kBAAoB,WAElD,GAAI7c,GAAKxH,KAAKwH,EAGdxH,MAAK2hB,aAAena,EAAGoa,eACvB5hB,KAAK8kB,SAAWtd,EAAGoa,eACnB5hB,KAAKulB,YAAc/d,EAAGoa,eACtB5hB,KAAK4f,YAAcpY,EAAGoa,eAItB5hB,KAAK6kB,YAAc,GAAI5kB,GAAKM,cAAc,EAAK,EACV,EAAK,EACL,EAAK,EACL,EAAK,IAE1CiH,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK2hB,cACpCna,EAAGqa,WAAWra,EAAGgY,aAAcxf,KAAK6kB,YAAard,EAAGsa,aAGpD9hB,KAAK+kB,QAAU,GAAI9kB,GAAKM,cAAc,EAAK,EACV,EAAK,EACL,EAAK,EACL,EAAK,IAEtCiH,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK8kB,UACpCtd,EAAGqa,WAAWra,EAAGgY,aAAcxf,KAAK+kB,QAASvd,EAAGsa,aAEhD9hB,KAAKwlB,WAAa,GAAIvlB,GAAKM,cAAc,EAAK,SACV,EAAK,SACL,EAAK,SACL,EAAK,WAEzCiH,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAKulB,aACpC/d,EAAGqa,WAAWra,EAAGgY,aAAcxf,KAAKwlB,WAAYhe,EAAGsa,aAGnDta,EAAG+X,WAAW/X,EAAGmY,qBAAsB3f,KAAK4f,aAC5CpY,EAAGqa,WAAWra,EAAGmY,qBAAsB,GAAInf,cAAa,EAAG,EAAG,EAAG,EAAG,EAAG,IAAKgH,EAAGsa,cASnF7hB,EAAKqZ,mBAAmBzW,UAAUE,QAAU,WAExC,GAAIyE,GAAKxH,KAAKwH,EAEdxH,MAAKmkB,YAAc,KAEnBnkB,KAAK6iB,QAAU,EACf7iB,KAAK8iB,QAAU,CAGf,KAAK,GAAI7f,GAAI,EAAGA,EAAIjD,KAAKokB,YAAYlhB,OAAQD,IACzCjD,KAAKokB,YAAYnhB,GAAGF,SAGxB/C,MAAKokB,YAAc,KAGnB5c,EAAGwc,aAAahkB,KAAK2hB,cACrBna,EAAGwc,aAAahkB,KAAK8kB,UACrBtd,EAAGwc,aAAahkB,KAAKulB,aACrB/d,EAAGwc,aAAahkB,KAAK4f,cAezB3f,EAAKwkB,cAAgB,SAASjd,EAAIb,EAAOC,EAAQN,GAM7CtG,KAAKwH,GAAKA,EAQVxH,KAAK2kB,YAAcnd,EAAGie,oBAMtBzlB,KAAK4H,QAAUJ,EAAG2T,gBAMlB7U,EAAYA,GAAarG,EAAKqN,WAAWoY,QAEzCle,EAAG8N,YAAY9N,EAAG+N,WAAavV,KAAK4H,SACpCJ,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGoP,mBAAoBtQ,IAAcrG,EAAKqN,WAAWC,OAAS/F,EAAG+F,OAAS/F,EAAG6T,SAC7G7T,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGqP,mBAAoBvQ,IAAcrG,EAAKqN,WAAWC,OAAS/F,EAAG+F,OAAS/F,EAAG6T,SAC7G7T,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGsP,eAAgBtP,EAAGsO,eACtDtO,EAAGmP,cAAcnP,EAAG+N,WAAY/N,EAAGuP,eAAgBvP,EAAGsO,eACtDtO,EAAG8S,gBAAgB9S,EAAG+S,YAAava,KAAK2kB,aAExCnd,EAAG8S,gBAAgB9S,EAAG+S,YAAava,KAAK2kB,aACxCnd,EAAGme,qBAAqBne,EAAG+S,YAAa/S,EAAGoe,kBAAmBpe,EAAG+N,WAAYvV,KAAK4H,QAAS,GAG3F5H,KAAK6lB,aAAere,EAAGse,qBACvBte,EAAGue,iBAAiBve,EAAGwe,aAAchmB,KAAK6lB,cAC1Cre,EAAGye,wBAAwBze,EAAG+S,YAAa/S,EAAG0e,yBAA0B1e,EAAGwe,aAAchmB,KAAK6lB,cAE9F7lB,KAAK6H,OAAOlB,EAAOC,IAGvB3G,EAAKwkB,cAAc5hB,UAAUC,YAAc7C,EAAKwkB,cAOhDxkB,EAAKwkB,cAAc5hB,UAAU+X,MAAQ,WAEjC,GAAIpT,GAAKxH,KAAKwH,EAEdA,GAAGgT,WAAW,EAAE,EAAE,EAAG,GACrBhT,EAAGoT,MAAMpT,EAAGqT,mBAUhB5a,EAAKwkB,cAAc5hB,UAAUgF,OAAS,SAASlB,EAAOC,GAElD,GAAG5G,KAAK2G,QAAUA,GAAS3G,KAAK4G,SAAWA,EAA3C,CAEA5G,KAAK2G,MAAQA,EACb3G,KAAK4G,OAASA,CAEd,IAAIY,GAAKxH,KAAKwH,EAEdA,GAAG8N,YAAY9N,EAAG+N,WAAavV,KAAK4H,SACpCJ,EAAGiP,WAAWjP,EAAG+N,WAAY,EAAG/N,EAAG0O,KAAOvP,EAAQC,EAAS,EAAGY,EAAG0O,KAAM1O,EAAGkP,cAAe,MAEzFlP,EAAGue,iBAAiBve,EAAGwe,aAAchmB,KAAK6lB,cAC1Cre,EAAG2e,oBAAoB3e,EAAGwe,aAAcxe,EAAG4e,cAAezf,EAAQC,KAQtE3G,EAAKwkB,cAAc5hB,UAAUE,QAAU,WAEnC,GAAIyE,GAAKxH,KAAKwH,EACdA,GAAG6e,kBAAmBrmB,KAAK2kB,aAC3Bnd,EAAG8e,cAAetmB,KAAK4H,SAEvB5H,KAAK2kB,YAAc,KACnB3kB,KAAK4H,QAAU,MAenB3H,EAAKsmB,aAAe,SAAS5f,EAAOC,GAQhC5G,KAAK2G,MAAQA,EAQb3G,KAAK4G,OAASA,EAQd5G,KAAKqQ,OAASpQ,EAAKqQ,WAAWpI,OAAOlI,KAAMA,KAAK2G,MAAO3G,KAAK4G,QAQ5D5G,KAAKiN,QAAUjN,KAAKqQ,OAAOE,WAAW,MAEtCvQ,KAAKqQ,OAAO1J,MAAQA,EACpB3G,KAAKqQ,OAAOzJ,OAASA,GAGzB3G,EAAKsmB,aAAa1jB,UAAUC,YAAc7C,EAAKsmB,aAQ/CtmB,EAAKsmB,aAAa1jB,UAAU+X,MAAQ,WAEhC5a,KAAKiN,QAAQW,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACzC5N,KAAKiN,QAAQuZ,UAAU,EAAE,EAAGxmB,KAAK2G,MAAO3G,KAAK4G,SAUjD3G,EAAKsmB,aAAa1jB,UAAUgF,OAAS,SAASlB,EAAOC,GAEjD5G,KAAK2G,MAAQ3G,KAAKqQ,OAAO1J,MAAQA,EACjC3G,KAAK4G,OAAS5G,KAAKqQ,OAAOzJ,OAASA,GAQvC3G,EAAKsmB,aAAa1jB,UAAUE,QAAU,WAElC9C,EAAKqQ,WAAWI,OAAO1Q,OAa3BC,EAAKwmB,kBAAoB,aAIzBxmB,EAAKwmB,kBAAkB5jB,UAAUC,YAAc7C,EAAKwmB,kBASpDxmB,EAAKwmB,kBAAkB5jB,UAAUmI,SAAW,SAASmS,EAAU7V,GAE9D,GAAI2F,GAAU3F,EAAc2F,OAEzBA,GAAQyZ,MAER,IAAIC,GAAaxJ,EAAS3b,MACtB8N,EAAY6N,EAASpb,eAErBsE,EAAaiB,EAAcjB,UAE/B4G,GAAQW,aAAa0B,EAAU5K,EAAI2B,EACdiJ,EAAU3K,EAAI0B,EACdiJ,EAAU1K,EAAIyB,EACdiJ,EAAUzK,EAAIwB,EACdiJ,EAAUxK,GAAKuB,EACfiJ,EAAUvK,GAAKsB,GAEpCpG,EAAK2mB,eAAeC,mBAAmB1J,EAAUlQ,GAEjDA,EAAQ6Z,OAER3J,EAASrb,WAAa6kB,GAS1B1mB,EAAKwmB,kBAAkB5jB,UAAUsI,QAAU,SAAS7D,GAEhDA,EAAc2F,QAAQ8Z,WAa1B9mB,EAAK+N,aAAe,aAWpB/N,EAAK+N,aAAaC,iBAAmB,SAAS+T,EAAQ5J,GAElD,GAAI/H,GAAS2R,EAAOvW,eAAiBxL,EAAKqQ,WAAWpI,OAAOlI,KAI5D,OAFAC,GAAK+N,aAAagZ,WAAWhF,EAAOpa,QAASwQ,EAAO/H,GAE7CA,GAYXpQ,EAAK+N,aAAaiZ,iBAAmB,SAASrf,EAASwQ,EAAO/H,GAE1D,GAAIpD,GAAUoD,EAAOE,WAAW,MAE5BxD,EAAOnF,EAAQmF,MAEfsD,EAAO1J,QAAUoG,EAAKpG,OAAS0J,EAAOzJ,SAAWmG,EAAKnG,UAEtDyJ,EAAO1J,MAAQoG,EAAKpG,MACpB0J,EAAOzJ,OAASmG,EAAKnG,QAGzBqG,EAAQuZ,UAAU,EAAG,EAAGzZ,EAAKpG,MAAOoG,EAAKnG,QAEzCqG,EAAQia,UAAY,KAAO,SAAmB,EAAR9O,GAAW+O,SAAS,KAAKC,OAAO,IACtEna,EAAQoa,SAAS,EAAG,EAAGta,EAAKpG,MAAOoG,EAAKnG,QAExCqG,EAAQC,yBAA2B,WACnCD,EAAQiB,UAAUtG,EAAQ+D,YAAY0C,OAAQtB,EAAK1H,EAAG0H,EAAKzH,EAAGyH,EAAKpG,MAAOoG,EAAKnG,OAAQ,EAAG,EAAGmG,EAAKpG,MAAOoG,EAAKnG,QAE9GqG,EAAQC,yBAA2B,mBACnCD,EAAQiB,UAAUtG,EAAQ+D,YAAY0C,OAAQtB,EAAK1H,EAAG0H,EAAKzH,EAAGyH,EAAKpG,MAAOoG,EAAKnG,OAAQ,EAAG,EAAGmG,EAAKpG,MAAOoG,EAAKnG,SAalH3G,EAAK+N,aAAasZ,iBAAmB,SAAS1f,EAASwQ,EAAO/H,GAE1D,GAAIpD,GAAUoD,EAAOE,WAAW,MAE5BxD,EAAOnF,EAAQmF,IAEnBsD,GAAO1J,MAAQoG,EAAKpG,MACpB0J,EAAOzJ,OAASmG,EAAKnG,OAErBqG,EAAQC,yBAA2B,OAEnCD,EAAQiB,UAAUtG,EAAQ+D,YAAY0C,OAAQtB,EAAK1H,EAAG0H,EAAKzH,EAAGyH,EAAKpG,MAAOoG,EAAKnG,OAAQ,EAAG,EAAGmG,EAAKpG,MAAOoG,EAAKnG,OAS9G,KAAK,GAPD2gB,GAAYtnB,EAAKwP,QAAQ2I,GACzBsC,EAAI6M,EAAU,GAAI5M,EAAI4M,EAAU,GAAI5iB,EAAI4iB,EAAU,GAElDC,EAAYva,EAAQuD,aAAa,EAAG,EAAGzD,EAAKpG,MAAOoG,EAAKnG,QAExD6gB,EAASD,EAAU/W,KAEdxN,EAAI,EAAGA,EAAIwkB,EAAOvkB,OAAQD,GAAK,EAMpC,GAJAwkB,EAAOxkB,EAAI,IAAMyX,EACjB+M,EAAOxkB,EAAI,IAAM0X,EACjB8M,EAAOxkB,EAAI,IAAM0B,GAEZ1E,EAAK+N,aAAa0Z,eACvB,CACI,GAAIlmB,GAAQimB,EAAOxkB,EAAI,EAEvBwkB,GAAOxkB,EAAI,IAAM,IAAMzB,EACvBimB,EAAOxkB,EAAI,IAAM,IAAMzB,EACvBimB,EAAOxkB,EAAI,IAAM,IAAMzB,EAI/ByL,EAAQ0a,aAAaH,EAAW,EAAG,IASvCvnB,EAAK+N,aAAa4Z,kBAAoB,WAElC,GAAIvX,GAAS,GAAIpQ,GAAKsmB,aAAa,EAAG,EAEtClW,GAAOpD,QAAQia,UAAY,wBAG3B7W,EAAOpD,QAAQoa,SAAS,EAAG,EAAG,EAAG,EAGjC,IAAIQ,GAAKxX,EAAOpD,QAAQuD,aAAa,EAAG,EAAG,EAAG,EAE9C,IAAW,OAAPqX,EAEA,OAAO,CAIXxX,GAAOpD,QAAQ0a,aAAaE,EAAI,EAAG,EAGnC,IAAIC,GAAKzX,EAAOpD,QAAQuD,aAAa,EAAG,EAAG,EAAG,EAG9C,OAAQsX,GAAGrX,KAAK,KAAOoX,EAAGpX,KAAK,IAAMqX,EAAGrX,KAAK,KAAOoX,EAAGpX,KAAK,IAAMqX,EAAGrX,KAAK,KAAOoX,EAAGpX,KAAK,IAAMqX,EAAGrX,KAAK,KAAOoX,EAAGpX,KAAK,IAW1HxQ,EAAK+N,aAAa0Z,eAAiBznB,EAAK+N,aAAa4Z,oBASrD3nB,EAAK+N,aAAa+Z,eAAiB9nB,EAAK4P,4BAQxC5P,EAAK+N,aAAagZ,WAAa/mB,EAAK+N,aAAa+Z,eAAiB9nB,EAAK+N,aAAaiZ,iBAAoBhnB,EAAK+N,aAAasZ,iBAc1HrnB,EAAK+nB,eAAiB,SAAU9nB,GAK5BF,KAAKE,KAAOA,EAEPD,EAAKsY,kBAENtY,EAAKsY,gBAAkBvY,MAS3BA,KAAK4U,KAAO3U,EAAKG,gBAQjBJ,KAAKqG,WAAanG,EAAKmG,WAYvBrG,KAAK2Y,kBAAoBzY,EAAKyY,kBAQ9B3Y,KAAKwY,YAActY,EAAKsY,YAQxBxY,KAAKyY,YAAa,EASlBzY,KAAK2G,MAAQzG,EAAKyG,MAAQ3G,KAAKqG,WAS/BrG,KAAK4G,OAAS1G,EAAK0G,OAAS5G,KAAKqG,WAQjCrG,KAAK4Y,KAAO1Y,EAAKmQ,OAOjBrQ,KAAKiN,QAAUjN,KAAK4Y,KAAKrI,WAAW,MAAQ/O,MAAOxB,KAAKwY,cAQxDxY,KAAKioB,SAAU,EAYfjoB,KAAK2d,MAAQ,EAOb3d,KAAK+K,YAAc,GAAI9K,GAAKwmB,kBAO5BzmB,KAAKsH;AACD2F,QAASjN,KAAKiN,QACdlC,YAAa/K,KAAK+K,YAClBzE,UAAW,KACX+G,eAAgB6a,OAAOC,OAAOC,mBAAmBpoB,KAAKiN,SAMtDU,aAAa,GAGjB3N,KAAK6Z,gBAEL7Z,KAAK6H,OAAO7H,KAAK2G,MAAO3G,KAAK4G,SAKjC3G,EAAK+nB,eAAenlB,UAAUC,YAAc7C,EAAK+nB,eAQjD/nB,EAAK+nB,eAAenlB,UAAUiE,OAAS,SAAUjF,GAE7CA,EAAM0C,kBAENvE,KAAKiN,QAAQW,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAEzC5N,KAAKiN,QAAQG,YAAc,EAE3BpN,KAAKsH,cAAc0F,iBAAmB,EACtChN,KAAKiN,QAAQC,yBAA2B,cAEpCmb,UAAUC,YAActoB,KAAK4Y,KAAK2P,eAElCvoB,KAAKiN,QAAQia,UAAY,QACzBlnB,KAAKiN,QAAQ2N,SAGb5a,KAAK2Y,oBAED3Y,KAAKwY,YAELxY,KAAKiN,QAAQuZ,UAAU,EAAG,EAAGxmB,KAAK2G,MAAO3G,KAAK4G,SAI9C5G,KAAKiN,QAAQia,UAAYrlB,EAAM4Y,SAAS+N,KACxCxoB,KAAKiN,QAAQoa,SAAS,EAAG,EAAGrnB,KAAK2G,MAAQ3G,KAAK4G,UAItD5G,KAAK8a,oBAAoBjZ,IAU7B5B,EAAK+nB,eAAenlB,UAAUE,QAAU,SAAS0lB,GAE1Blf,SAAfkf,IAA4BA,GAAa,GAEzCA,GAAczoB,KAAK4Y,KAAKhX,QAExB5B,KAAK4Y,KAAKhX,OAAO6G,YAAYzI,KAAK4Y,MAGtC5Y,KAAK4Y,KAAO,KACZ5Y,KAAKiN,QAAU,KACfjN,KAAK+K,YAAc,KACnB/K,KAAKsH,cAAgB,MAWzBrH,EAAK+nB,eAAenlB,UAAUgF,OAAS,SAASlB,EAAOC,GAEnD5G,KAAK2G,MAAQA,EAAQ3G,KAAKqG,WAC1BrG,KAAK4G,OAASA,EAAS5G,KAAKqG,WAE5BrG,KAAK4Y,KAAKjS,MAAQ3G,KAAK2G,MACvB3G,KAAK4Y,KAAKhS,OAAS5G,KAAK4G,OAEpB5G,KAAKyY,aAELzY,KAAK4Y,KAAKsC,MAAMvU,MAAQ3G,KAAK2G,MAAQ3G,KAAKqG,WAAa,KACvDrG,KAAK4Y,KAAKsC,MAAMtU,OAAS5G,KAAK4G,OAAS5G,KAAKqG,WAAa,OAajEpG,EAAK+nB,eAAenlB,UAAUiY,oBAAsB,SAAUC,EAAe9N,EAASnH,GAElF9F,KAAKsH,cAAc2F,QAAUA,GAAWjN,KAAKiN,QAC7CjN,KAAKsH,cAAcjB,WAAarG,KAAKqG,WACrC0U,EAAcpT,cAAc3H,KAAKsH,cAAexB,IAUpD7F,EAAK+nB,eAAenlB,UAAUgX,cAAgB,WAE1C,IAAK5Z,EAAKkN,iBACV,CACI,GAAIxI,MACAiX,EAAQ3b,EAAKkE,WACbukB,EAASzoB,EAAK4P,2BAElBlL,GAAEiX,EAAMvX,QAAU,cAClBM,EAAEiX,EAAMG,KAAO,UACfpX,EAAEiX,EAAMxX,UAAY,EAAW,WAAa,cAC5CO,EAAEiX,EAAMO,QAAU,EAAW,SAAW,cACxCxX,EAAEiX,EAAMQ,SAAW,EAAW,UAAY,cAC1CzX,EAAEiX,EAAMS,QAAU,EAAW,SAAW,cACxC1X,EAAEiX,EAAMU,SAAW,EAAW,UAAY,cAC1C3X,EAAEiX,EAAMW,aAAe,EAAW,cAAgB,cAClD5X,EAAEiX,EAAMY,YAAc,EAAW,aAAe,cAChD7X,EAAEiX,EAAMa,YAAc,EAAW,aAAe,cAChD9X,EAAEiX,EAAMc,YAAc,EAAW,aAAe,cAChD/X,EAAEiX,EAAMe,YAAc,EAAW,aAAe,cAChDhY,EAAEiX,EAAMgB,WAAa,EAAW,YAAc,cAC9CjY,EAAEiX,EAAMiB,KAAO,EAAW,MAAQ,cAClClY,EAAEiX,EAAMkB,YAAc,EAAW,aAAe,cAChDnY,EAAEiX,EAAMmB,OAAS,EAAW,QAAU,cACtCpY,EAAEiX,EAAMoB,YAAc,EAAW,aAAe,cAEhD/c,EAAKkN,iBAAmBxI,IAShC1E,EAAK0oB,oBAEL1oB,EAAK2oB,4BAA8B,EAWnC3oB,EAAK4oB,YAAc,SAASxa,EAAQ/H,GAQhCtG,KAAKqG,WAAa,EASlBrG,KAAK2G,MAAQ,IASb3G,KAAK4G,OAAS,IASd5G,KAAKsG,UAAYA,GAAarG,EAAKqN,WAAWoY,QAS9C1lB,KAAK4L,WAAY,EAQjB5L,KAAKqO,OAASA,EAEdrO,KAAKM,KAAOL,EAAKK,OASjBN,KAAK+Y,oBAAqB,EAS1B/Y,KAAKwV,eASLxV,KAAKsb,QAAS,EAOdtb,KAAKqX,SAAU,GAAM,GAAM,GAAM,GAE5BhJ,KAKArO,KAAKqO,OAAOya,UAAY9oB,KAAKqO,OAAOkC,aAAevQ,KAAKqO,OAAO1H,OAAS3G,KAAKqO,OAAOzH,SAErF5G,KAAK4L,WAAY,EACjB5L,KAAK2G,MAAQ3G,KAAKqO,OAAO0a,cAAgB/oB,KAAKqO,OAAO1H,MACrD3G,KAAK4G,OAAS5G,KAAKqO,OAAO2a,eAAiBhpB,KAAKqO,OAAOzH,OACvD5G,KAAKyT,SAYTzT,KAAK4jB,YAAa,EAMlB5jB,KAAKipB,SAAW,KAOhBjpB,KAAK0b,WAAY,IAIrBzb,EAAK4oB,YAAYhmB,UAAUC,YAAc7C,EAAK4oB,YAW9C5oB,EAAK4oB,YAAYhmB,UAAUqmB,YAAc,SAASviB,EAAOC,GAErD5G,KAAK4L,WAAY,EACjB5L,KAAK2G,MAAQA,EACb3G,KAAK4G,OAASA,EACd5G,KAAKyT,SASTxT,EAAK4oB,YAAYhmB,UAAUE,QAAU,WAE7B/C,KAAKipB,gBAEEhpB,GAAK0oB,iBAAiB3oB,KAAKipB,gBAC3BhpB,GAAKuO,aAAaxO,KAAKipB,UAE9BjpB,KAAKipB,SAAW,KAEXZ,UAAUC,aAAYtoB,KAAKqO,OAAO8B,IAAM,KAExCnQ,KAAKqO,QAAUrO,KAAKqO,OAAO8a,UAEhClpB,EAAKqQ,WAAWc,eAAepR,KAAKqO,cAE7BpO,GAAK0oB,iBAAiB3oB,KAAKqO,OAAO8a,UAG7CnpB,KAAKqO,OAAS,KAEdrO,KAAKopB,iBASTnpB,EAAK4oB,YAAYhmB,UAAUwmB,kBAAoB,SAASC,GAEpDtpB,KAAK4L,WAAY,EACjB5L,KAAKqO,OAAO8B,IAAM,KAClBnQ,KAAKqO,OAAO8B,IAAMmZ,GAQtBrpB,EAAK4oB,YAAYhmB,UAAU4Q,MAAQ,WAE/B,IAAK,GAAIxQ,GAAI,EAAGA,EAAIjD,KAAKwV,YAAYtS,OAAQD,IAEzCjD,KAAKqX,OAAOpU,IAAK,GAUzBhD,EAAK4oB,YAAYhmB,UAAUumB,cAAgB,WAEvCppB,KAAKyT,OAGL,KAAK,GAAIxQ,GAAIjD,KAAKwV,YAAYtS,OAAS,EAAGD,GAAK,EAAGA,IAClD,CACI,GAAIsmB,GAAYvpB,KAAKwV,YAAYvS,GAC7BuE,EAAKvH,EAAKoY,WAAWpV,EAEtBuE,IAAM+hB,GAEL/hB,EAAG8e,cAAciD,GAKzBvpB,KAAKwV,YAAYtS,OAAS,EAE1BlD,KAAKyT,SAcTxT,EAAK4oB,YAAYpa,UAAY,SAASwa,EAAUta,EAAarI,GAEzD,GAAIqF,GAAc1L,EAAK0oB,iBAAiBM,EAIxC,IAFmB1f,SAAhBoF,GAA2D,KAA9Bsa,EAAShgB,QAAQ,WAAiB0F,GAAc,IAE5EhD,EACJ,CAGI,GAAI6d,GAAQ,GAAItZ,MAEZvB,KAEA6a,EAAMC,YAAc,IAGxBD,EAAMrZ,IAAM8Y,EACZtd,EAAc,GAAI1L,GAAK4oB,YAAYW,EAAOljB,GAC1CqF,EAAYsd,SAAWA,EACvBhpB,EAAK0oB,iBAAiBM,GAAYtd,EAGiB,KAA/Csd,EAAShgB,QAAQhJ,EAAKgB,cAAgB,OAEtC0K,EAAYtF,WAAa,GAIjC,MAAOsF,IAYX1L,EAAK4oB,YAAYa,WAAa,SAASrZ,EAAQ/J,GAEtC+J,EAAO8Y,UAER9Y,EAAO8Y,QAAU,UAAYlpB,EAAK0pB,2BAGjB,IAAjBtZ,EAAO1J,QAEP0J,EAAO1J,MAAQ,GAGG,IAAlB0J,EAAOzJ,SAEPyJ,EAAOzJ,OAAS,EAGpB,IAAI+E,GAAc1L,EAAK0oB,iBAAiBtY,EAAO8Y,QAQ/C,OANKxd,KAEDA,EAAc,GAAI1L,GAAK4oB,YAAYxY,EAAQ/J,GAC3CrG,EAAK0oB,iBAAiBtY,EAAO8Y,SAAWxd,GAGrCA,GAOX1L,EAAKuO,gBACLvO,EAAK2pB,cASL3pB,EAAK4pB,mBAAoB,EAEzB5pB,EAAK0pB,wBAA0B,EAc/B1pB,EAAKoL,QAAU,SAASM,EAAaG,EAAOiB,EAAMU,GAQ9CzN,KAAK8pB,SAAU,EAEVhe,IAED9L,KAAK8pB,SAAU,EACfhe,EAAQ,GAAI7L,GAAKuC,UAAU,EAAE,EAAE,EAAE,IAGjCmJ,YAAuB1L,GAAKoL,UAE5BM,EAAcA,EAAYA,aAS9B3L,KAAK2L,YAAcA,EAQnB3L,KAAK8L,MAAQA,EAQb9L,KAAKyN,KAAOA,EAQZzN,KAAKiM,OAAQ,EAQbjM,KAAK+pB,UAAW,EAQhB/pB,KAAKgqB,gBAAiB,EAQtBhqB,KAAK+N,gBAAiB,EAStB/N,KAAKkiB,KAAO,KAQZliB,KAAK2G,MAAQ,EAQb3G,KAAK4G,OAAS,EASd5G,KAAK+M,KAAOA,GAAQ,GAAI9M,GAAKuC,UAAU,EAAG,EAAG,EAAG,GAE5CmJ,EAAYC,YAER5L,KAAK8pB,UAAShe,EAAQ,GAAI7L,GAAKuC,UAAU,EAAG,EAAGmJ,EAAYhF,MAAOgF,EAAY/E,SAClF5G,KAAKiqB,SAASne,KAKtB7L,EAAKoL,QAAQxI,UAAUC,YAAc7C,EAAKoL,QAQ1CpL,EAAKoL,QAAQxI,UAAUqnB,oBAAsB,WAEzC,GAAIve,GAAc3L,KAAK2L,WAEnB3L,MAAK8pB,UAEL9pB,KAAK8L,MAAQ,GAAI7L,GAAKuC,UAAU,EAAG,EAAGmJ,EAAYhF,MAAOgF,EAAY/E,SAGzE5G,KAAKiqB,SAASjqB,KAAK8L,QASvB7L,EAAKoL,QAAQxI,UAAUE,QAAU,SAASiJ,GAElCA,GAAahM,KAAK2L,YAAY5I,UAElC/C,KAAKiM,OAAQ,GASjBhM,EAAKoL,QAAQxI,UAAUonB,SAAW,SAASne,GAavC,GAXA9L,KAAK8pB,SAAU,EAEf9pB,KAAK8L,MAAQA,EACb9L,KAAK2G,MAAQmF,EAAMnF,MACnB3G,KAAK4G,OAASkF,EAAMlF,OAEpB5G,KAAK+M,KAAK1H,EAAIyG,EAAMzG,EACpBrF,KAAK+M,KAAKzH,EAAIwG,EAAMxG,EACpBtF,KAAK+M,KAAKpG,MAAQmF,EAAMnF,MACxB3G,KAAK+M,KAAKnG,OAASkF,EAAMlF,QAEpB5G,KAAKyN,OAAS3B,EAAMzG,EAAIyG,EAAMnF,MAAQ3G,KAAK2L,YAAYhF,OAASmF,EAAMxG,EAAIwG,EAAMlF,OAAS5G,KAAK2L,YAAY/E,QAC/G,CACI,IAAK3G,EAAK4pB,kBAEN,KAAM,IAAIlhB,OAAM,wEAA0E3I,KAI9F,aADAA,KAAKiM,OAAQ,GAIjBjM,KAAKiM,MAAQH,GAASA,EAAMnF,OAASmF,EAAMlF,QAAU5G,KAAK2L,YAAY0C,QAAUrO,KAAK2L,YAAYC,UAE7F5L,KAAKyN,OAELzN,KAAK2G,MAAQ3G,KAAKyN,KAAK9G,MACvB3G,KAAK4G,OAAS5G,KAAKyN,KAAK7G,OACxB5G,KAAK8L,MAAMnF,MAAQ3G,KAAKyN,KAAK9G,MAC7B3G,KAAK8L,MAAMlF,OAAS5G,KAAKyN,KAAK7G,QAG9B5G,KAAKiM,OAAOjM,KAAKmqB,cAUzBlqB,EAAKoL,QAAQxI,UAAUsnB,WAAa,WAE5BnqB,KAAKkiB,OAAKliB,KAAKkiB,KAAO,GAAIjiB,GAAKwiB,WAEnC,IAAI3W,GAAQ9L,KAAK+M,KACbqd,EAAKpqB,KAAK2L,YAAYhF,MACtB0jB,EAAKrqB,KAAK2L,YAAY/E,MAE1B5G,MAAKkiB,KAAKG,GAAKvW,EAAMzG,EAAI+kB,EACzBpqB,KAAKkiB,KAAKI,GAAKxW,EAAMxG,EAAI+kB,EAEzBrqB,KAAKkiB,KAAK3V,IAAMT,EAAMzG,EAAIyG,EAAMnF,OAASyjB,EACzCpqB,KAAKkiB,KAAK1V,GAAKV,EAAMxG,EAAI+kB,EAEzBrqB,KAAKkiB,KAAKzV,IAAMX,EAAMzG,EAAIyG,EAAMnF,OAASyjB,EACzCpqB,KAAKkiB,KAAKxV,IAAMZ,EAAMxG,EAAIwG,EAAMlF,QAAUyjB,EAE1CrqB,KAAKkiB,KAAKvV,GAAKb,EAAMzG,EAAI+kB,EACzBpqB,KAAKkiB,KAAKtV,IAAMd,EAAMxG,EAAIwG,EAAMlF,QAAUyjB,GAc9CpqB,EAAKoL,QAAQoD,UAAY,SAASwa,EAAUta,EAAarI,GAErD,GAAIsB,GAAU3H,EAAKuO,aAAaya,EAQhC,OANIrhB,KAEAA,EAAU,GAAI3H,GAAKoL,QAAQpL,EAAK4oB,YAAYpa,UAAUwa,EAAUta,EAAarI,IAC7ErG,EAAKuO,aAAaya,GAAYrhB,GAG3BA,GAYX3H,EAAKoL,QAAQiD,UAAY,SAASC,GAE9B,GAAI3G,GAAU3H,EAAKuO,aAAaD,EAChC,KAAI3G,EAAS,KAAM,IAAIe,OAAM,gBAAkB4F,EAAU,yCACzD,OAAO3G,IAYX3H,EAAKoL,QAAQqe,WAAa,SAASrZ,EAAQ/J,GAEvC,GAAIqF,GAAc1L,EAAK4oB,YAAYa,WAAWrZ,EAAQ/J,EAEtD,OAAO,IAAIrG,GAAKoL,QAAQM,IAW5B1L,EAAKoL,QAAQif,kBAAoB,SAAS1iB,EAAS6N,GAE/CxV,EAAKuO,aAAaiH,GAAM7N,GAW5B3H,EAAKoL,QAAQkf,uBAAyB,SAAS9U,GAE3C,GAAI7N,GAAU3H,EAAKuO,aAAaiH,EAGhC,cAFOxV,GAAKuO,aAAaiH,SAClBxV,GAAK0oB,iBAAiBlT,GACtB7N,GAGX3H,EAAKwiB,WAAa,WAEdziB,KAAKqiB,GAAK,EACVriB,KAAKsiB,GAAK,EAEVtiB,KAAKuM,GAAK,EACVvM,KAAKwM,GAAK,EAEVxM,KAAKyM,GAAK,EACVzM,KAAK0M,GAAK,EAEV1M,KAAK2M,GAAK,EACV3M,KAAK4M,GAAK,GAqCd3M,EAAKyG,cAAgB,SAASC,EAAOC,EAAQL,EAAUD,EAAWD,GAwE9D,GAhEArG,KAAK2G,MAAQA,GAAS,IAQtB3G,KAAK4G,OAASA,GAAU,IAQxB5G,KAAKqG,WAAaA,GAAc,EAQhCrG,KAAK8L,MAAQ,GAAI7L,GAAKuC,UAAU,EAAG,EAAGxC,KAAK2G,MAAQ3G,KAAKqG,WAAYrG,KAAK4G,OAAS5G,KAAKqG,YASvFrG,KAAK+M,KAAO,GAAI9M,GAAKuC,UAAU,EAAG,EAAGxC,KAAK2G,MAAQ3G,KAAKqG,WAAYrG,KAAK4G,OAAS5G,KAAKqG,YAQtFrG,KAAK2L,YAAc,GAAI1L,GAAK4oB,YAC5B7oB,KAAK2L,YAAYhF,MAAQ3G,KAAK2G,MAAQ3G,KAAKqG,WAC3CrG,KAAK2L,YAAY/E,OAAS5G,KAAK4G,OAAS5G,KAAKqG,WAC7CrG,KAAK2L,YAAY6J,eACjBxV,KAAK2L,YAAYtF,WAAarG,KAAKqG,WAEnCrG,KAAK2L,YAAYrF,UAAYA,GAAarG,EAAKqN,WAAWoY,QAE1D1lB,KAAK2L,YAAYC,WAAY,EAE7B3L,EAAKoL,QAAQ3F,KAAK1F,KACdA,KAAK2L,YACL,GAAI1L,GAAKuC,UAAU,EAAG,EAAGxC,KAAK2G,MAAQ3G,KAAKqG,WAAYrG,KAAK4G,OAAS5G,KAAKqG,aAS9ErG,KAAKuG,SAAWA,GAAYtG,EAAKsY,gBAE7BvY,KAAKuG,SAASqO,OAAS3U,EAAKE,eAChC,CACI,GAAIqH,GAAKxH,KAAKuG,SAASiB,EACvBxH,MAAK2L,YAAY0L,OAAO7P,EAAGiO,KAAM,EAEjCzV,KAAKwqB,cAAgB,GAAIvqB,GAAKwkB,cAAcjd,EAAIxH,KAAK2G,MAAO3G,KAAK4G,OAAQ5G,KAAK2L,YAAYrF,WAC1FtG,KAAK2L,YAAY6J,YAAYhO,EAAGiO,IAAOzV,KAAKwqB,cAAc5iB,QAE1D5H,KAAK8G,OAAS9G,KAAKyqB,YACnBzqB,KAAKiZ,WAAa,GAAIhZ,GAAKmB,MAAmB,GAAbpB,KAAK2G,MAA4B,IAAd3G,KAAK4G,YAIzD5G,MAAK8G,OAAS9G,KAAK0qB,aACnB1qB,KAAKwqB,cAAgB,GAAIvqB,GAAKsmB,aAAavmB,KAAK2G,MAAQ3G,KAAKqG,WAAYrG,KAAK4G,OAAS5G,KAAKqG,YAC5FrG,KAAK2L,YAAY0C,OAASrO,KAAKwqB,cAAcna,MAOjDrQ,MAAKiM,OAAQ,EAEbjM,KAAK2qB,WAAa,GAAIzC,QAAOlmB,OAE7BhC,KAAKmqB,cAGTlqB,EAAKyG,cAAc7D,UAAYO,OAAO8E,OAAOjI,EAAKoL,QAAQxI,WAC1D5C,EAAKyG,cAAc7D,UAAUC,YAAc7C,EAAKyG,cAUhDzG,EAAKyG,cAAc7D,UAAUgF,OAAS,SAASlB,EAAOC,EAAQgkB,IAEtDjkB,IAAU3G,KAAK2G,OAASC,IAAW5G,KAAK4G,UAE5C5G,KAAKiM,MAAStF,EAAQ,GAAKC,EAAS,EAEpC5G,KAAK2G,MAAQA,EACb3G,KAAK4G,OAASA,EACd5G,KAAK8L,MAAMnF,MAAQ3G,KAAK+M,KAAKpG,MAAQA,EAAQ3G,KAAKqG,WAClDrG,KAAK8L,MAAMlF,OAAS5G,KAAK+M,KAAKnG,OAASA,EAAS5G,KAAKqG,WAEjDukB,IAEA5qB,KAAK2L,YAAYhF,MAAQ3G,KAAK2G,MAAQ3G,KAAKqG,WAC3CrG,KAAK2L,YAAY/E,OAAS5G,KAAK4G,OAAS5G,KAAKqG,YAG7CrG,KAAKuG,SAASqO,OAAS3U,EAAKE,iBAE5BH,KAAKiZ,WAAW5T,EAAIrF,KAAK2G,MAAQ,EACjC3G,KAAKiZ,WAAW3T,GAAKtF,KAAK4G,OAAS,GAGnC5G,KAAKiM,OAETjM,KAAKwqB,cAAc3iB,OAAO7H,KAAK2G,MAAO3G,KAAK4G,UAQ/C3G,EAAKyG,cAAc7D,UAAU+X,MAAQ,WAE5B5a,KAAKiM,QAKNjM,KAAKuG,SAASqO,OAAS3U,EAAKE,gBAE5BH,KAAKuG,SAASiB,GAAG8S,gBAAgBta,KAAKuG,SAASiB,GAAG+S,YAAava,KAAKwqB,cAAc7F,aAGtF3kB,KAAKwqB,cAAc5P,UAYvB3a,EAAKyG,cAAc7D,UAAU4nB,YAAc,SAAS1P,EAAejV,EAAQ8U,GAEvE,GAAK5a,KAAKiM,OAAiC,IAAxB8O,EAAcvZ,MAAjC,CAOA,GAAIyD,GAAK8V,EAAchZ,cACvBkD,GAAG4lB,WACH5lB,EAAG6lB,UAAU,EAAuB,EAApB9qB,KAAKiZ,WAAW3T,GAE5BQ,GAEAb,EAAG8lB,OAAOjlB,GAGdb,EAAG5D,MAAM,EAAG,GAGZ,KAAK,GAAI4B,GAAI,EAAGA,EAAI8X,EAAc/X,SAASE,OAAQD,IAE/C8X,EAAc/X,SAASC,GAAGsB,iBAI9B,IAAIiD,GAAKxH,KAAKuG,SAASiB,EAEvBA,GAAG6S,SAAS,EAAG,EAAGra,KAAK2G,MAAQ3G,KAAKqG,WAAYrG,KAAK4G,OAAS5G,KAAKqG,YAEnEmB,EAAG8S,gBAAgB9S,EAAG+S,YAAava,KAAKwqB,cAAc7F,aAElD/J,GAEA5a,KAAKwqB,cAAc5P,QAGvB5a,KAAKuG,SAASmE,YAAY+I,OAAQ,EAElCzT,KAAKuG,SAASuU,oBAAoBC,EAAe/a,KAAKiZ,WAAYjZ,KAAKwqB,cAAc7F,YAAa7e,GAElG9F,KAAKuG,SAASmE,YAAY+I,OAAQ,IAatCxT,EAAKyG,cAAc7D,UAAU6nB,aAAe,SAAS3P,EAAejV,EAAQ8U,GAExE,GAAK5a,KAAKiM,OAAiC,IAAxB8O,EAAcvZ,MAAjC,CAOA,GAAIyD,GAAK8V,EAAchZ,cACvBkD,GAAG4lB,WAEC/kB,GAEAb,EAAG8lB,OAAOjlB,EAId,KAAK,GAAI7C,GAAI,EAAGA,EAAI8X,EAAc/X,SAASE,OAAQD,IAE/C8X,EAAc/X,SAASC,GAAGsB,iBAG1BqW,IAEA5a,KAAKwqB,cAAc5P,OAGvB,IAAIoQ,GAAiBhrB,KAAKuG,SAASF,UAEnCrG,MAAKuG,SAASF,WAAarG,KAAKqG,WAEhCrG,KAAKuG,SAASuU,oBAAoBC,EAAe/a,KAAKwqB,cAAcvd,QAASnH,GAE7E9F,KAAKuG,SAASF,WAAa2kB,IAS/B/qB,EAAKyG,cAAc7D,UAAUooB,SAAW,WAEpC,GAAIzB,GAAQ,GAAItZ,MAEhB,OADAsZ,GAAMrZ,IAAMnQ,KAAKkrB,YACV1B,GASXvpB,EAAKyG,cAAc7D,UAAUqoB,UAAY,WAErC,MAAOlrB,MAAKmrB,YAAYC,aAS5BnrB,EAAKyG,cAAc7D,UAAUsoB,UAAY,WAErC,GAAInrB,KAAKuG,SAASqO,OAAS3U,EAAKE,eAChC,CACI,GAAIqH,GAAMxH,KAAKuG,SAASiB,GACpBb,EAAQ3G,KAAKwqB,cAAc7jB,MAC3BC,EAAS5G,KAAKwqB,cAAc5jB,OAE5BykB,EAAc,GAAIC,YAAW,EAAI3kB,EAAQC,EAE7CY,GAAG8S,gBAAgB9S,EAAG+S,YAAava,KAAKwqB,cAAc7F,aACtDnd,EAAG+jB,WAAW,EAAG,EAAG5kB,EAAOC,EAAQY,EAAG0O,KAAM1O,EAAGkP,cAAe2U,GAC9D7jB,EAAG8S,gBAAgB9S,EAAG+S,YAAa,KAEnC,IAAIiR,GAAa,GAAIvrB,GAAKsmB,aAAa5f,EAAOC,GAC1C6kB,EAAaD,EAAWve,QAAQuD,aAAa,EAAG,EAAG7J,EAAOC,EAK9D,OAJA6kB,GAAWhb,KAAKjN,IAAI6nB,GAEpBG,EAAWve,QAAQ0a,aAAa8D,EAAY,EAAG,GAExCD,EAAWnb,OAIlB,MAAOrQ,MAAKwqB,cAAcna,QAgBlCpQ,EAAKyhB,eAAiB,SAAS9O,EAAa4B,GASxCxU,KAAK4D,QAAU5D,MAOfA,KAAKwhB,WAMLxhB,KAAKyT,OAAQ,EAMbzT,KAAK0kB,QAAU,EAOf1kB,KAAKwU,SAAWA,MAOhBxU,KAAK4S,YAAcA,OAGvB3S,EAAKyhB,eAAe7e,UAAUC,YAAc7C,EAAKyhB,eAOjDzhB,EAAKyhB,eAAe7e,UAAUoU,aAAe,WAEzC,IAAI,GAAIhU,GAAE,EAAEa,EAAE9D,KAAKwhB,QAAQte,OAAUY,EAAFb,EAAKA,IAEpCjD,KAAKwhB,QAAQve,GAAGwQ,OAAQ,GAwBhCxT,EAAKyrB,MAAQ,SAAS9jB,GAElB3H,EAAKgI,uBAAuBvC,KAAM1F,MASlCA,KAAK4H,QAAUA,EAGf5H,KAAKiiB,IAAM,GAAIhiB,GAAKM,cAAc,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,IAErCP,KAAKghB,SAAW,GAAI/gB,GAAKM,cAAc,EAAG,EACF,IAAK,EACL,IAAK,IACL,EAAG,MAE3CP,KAAKkhB,OAAS,GAAIjhB,GAAKM,cAAc,EAAG,EAAG,EAAG,IAE9CP,KAAK2e,QAAU,GAAI1e,GAAKO,aAAa,EAAG,EAAG,EAAG,IAQ9CR,KAAKyT,OAAQ,EASbzT,KAAKkE,UAAYjE,EAAKkE,WAAWE,OAQjCrE,KAAK2rB,cAAgB,EAErB3rB,KAAK4rB,SAAW3rB,EAAKyrB,MAAMG,UAAU7M,gBAKzC/e,EAAKyrB,MAAM7oB,UAAYO,OAAO8E,OAAOjI,EAAKgI,uBAAuBpF,WACjE5C,EAAKyrB,MAAM7oB,UAAUC,YAAc7C,EAAKyrB,MAExCzrB,EAAKyrB,MAAM7oB,UAAU6E,aAAe,SAASJ,IAGrCtH,KAAKyB,SAAWzB,KAAKwB,OAAS,IAGlC8F,EAAcoD,YAAYI,OAGtB9K,KAAK8rB,eAAc9rB,KAAK+rB,WAAWzkB,GAEvCA,EAAc6H,cAAcC,UAAU9H,EAAc6H,cAAciR,aAElEpgB,KAAKgsB,aAAa1kB,GAIlBA,EAAcoD,YAAYQ,UAK9BjL,EAAKyrB,MAAM7oB,UAAUkpB,WAAa,SAASzkB,GAGvC,GAAIE,GAAKF,EAAcE,EAEvBxH,MAAK8rB,cAAgBtkB,EAAGoa,eACxB5hB,KAAKisB,aAAezkB,EAAGoa,eACvB5hB,KAAKksB,UAAY1kB,EAAGoa,eACpB5hB,KAAKmsB,aAAe3kB,EAAGoa,eAEvBpa,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK8rB,eACpCtkB,EAAGqa,WAAWra,EAAGgY,aAAcxf,KAAKghB,SAAUxZ,EAAGua,cAEjDva,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAKksB,WACpC1kB,EAAGqa,WAAWra,EAAGgY,aAAexf,KAAKiiB,IAAKza,EAAGsa,aAE7Cta,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAKmsB,cACpC3kB,EAAGqa,WAAWra,EAAGgY,aAAcxf,KAAKkhB,OAAQ1Z,EAAGsa,aAE/Cta,EAAG+X,WAAW/X,EAAGmY,qBAAsB3f,KAAKisB,cAC5CzkB,EAAGqa,WAAWra,EAAGmY,qBAAsB3f,KAAK2e,QAASnX,EAAGsa,cAG5D7hB,EAAKyrB,MAAM7oB,UAAUmpB,aAAe,SAAS1kB,GAEzC,GAAIE,GAAKF,EAAcE,GACnByR,EAAa3R,EAAc2R,WAC3BC,EAAS5R,EAAc4R,OACvBxN,EAASpE,EAAc6H,cAAciR,YAErCwL,EAAW5rB,KAAK4rB,WAAa3rB,EAAKyrB,MAAMG,UAAU7M,eAAiBxX,EAAGwX,eAAiBxX,EAAGuc,SAI9Fzc,GAAcmS,iBAAiBwB,aAAajb,KAAKkE,WAIjDsD,EAAG2N,iBAAiBzJ,EAAOqM,mBAAmB,EAAO/X,KAAK+B,eAAeqd,SAAQ,IACjF5X,EAAG6X,UAAU3T,EAAOsI,iBAAkBiF,EAAW5T,GAAI4T,EAAW3T,GAChEkC,EAAG6X,UAAU3T,EAAOuI,cAAeiF,EAAO7T,GAAI6T,EAAO5T,GACrDkC,EAAG2X,UAAUzT,EAAOlK,MAAOxB,KAAK8B,YAE5B9B,KAAKyT,OAgCLzT,KAAKyT,OAAQ,EACbjM,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK8rB,eACpCtkB,EAAGqa,WAAWra,EAAGgY,aAAcxf,KAAKghB,SAAUxZ,EAAGsa,aACjDta,EAAGiY,oBAAoB/T,EAAOyI,gBAAiB,EAAG3M,EAAGkY,OAAO,EAAO,EAAG,GAGtElY,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAKksB,WACpC1kB,EAAGqa,WAAWra,EAAGgY,aAAcxf,KAAKiiB,IAAKza,EAAGsa,aAC5Cta,EAAGiY,oBAAoB/T,EAAO2I,cAAe,EAAG7M,EAAGkY,OAAO,EAAO,EAAG,GAEpElY,EAAG6N,cAAc7N,EAAG0b,UAGjBljB,KAAK4H,QAAQ+D,YAAY0L,OAAO7P,EAAGiO,IAElCnO,EAAcf,SAASgR,cAAcvX,KAAK4H,QAAQ+D,aAIlDnE,EAAG8N,YAAY9N,EAAG+N,WAAYvV,KAAK4H,QAAQ+D,YAAY6J,YAAYhO,EAAGiO,KAI1EjO,EAAG+X,WAAW/X,EAAGmY,qBAAsB3f,KAAKisB,cAC5CzkB,EAAGqa,WAAWra,EAAGmY,qBAAsB3f,KAAK2e,QAASnX,EAAGsa,eArDxDta,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAK8rB,eACpCtkB,EAAG4b,cAAc5b,EAAGgY,aAAc,EAAGxf,KAAKghB,UAC1CxZ,EAAGiY,oBAAoB/T,EAAOyI,gBAAiB,EAAG3M,EAAGkY,OAAO,EAAO,EAAG,GAGtElY,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAKksB,WACpC1kB,EAAGiY,oBAAoB/T,EAAO2I,cAAe,EAAG7M,EAAGkY,OAAO,EAAO,EAAG,GAEpElY,EAAG6N,cAAc7N,EAAG0b,UAGjBljB,KAAK4H,QAAQ+D,YAAY0L,OAAO7P,EAAGiO,IAElCnO,EAAcf,SAASgR,cAAcvX,KAAK4H,QAAQ+D,aAKlDnE,EAAG8N,YAAY9N,EAAG+N,WAAYvV,KAAK4H,QAAQ+D,YAAY6J,YAAYhO,EAAGiO,KAI1EjO,EAAG+X,WAAW/X,EAAGmY,qBAAsB3f,KAAKisB,eAqChDzkB,EAAGiX,aAAamN,EAAU5rB,KAAK2e,QAAQzb,OAAQsE,EAAGoX,eAAgB,IAOtE3e,EAAKyrB,MAAM7oB,UAAU8E,cAAgB,SAASL,GAE1C,GAAI2F,GAAU3F,EAAc2F,QAExBqC,EAAYtP,KAAK+B,cAEjBuF,GAAcqG,YAEdV,EAAQW,aAAa0B,EAAU5K,EAAG4K,EAAU3K,EAAG2K,EAAU1K,EAAG0K,EAAUzK,EAAkB,EAAfyK,EAAUxK,GAAuB,EAAfwK,EAAUvK,IAIrGkI,EAAQW,aAAa0B,EAAU5K,EAAG4K,EAAU3K,EAAG2K,EAAU1K,EAAG0K,EAAUzK,EAAGyK,EAAUxK,GAAIwK,EAAUvK,IAGjG/E,KAAK4rB,WAAa3rB,EAAKyrB,MAAMG,UAAU7M,eAEvChf,KAAKosB,2BAA2Bnf,GAIhCjN,KAAKqsB,uBAAuBpf,IAIpChN,EAAKyrB,MAAM7oB,UAAUupB,2BAA6B,SAASnf,GAGvD,GAAI+T,GAAWhhB,KAAKghB,SAChBiB,EAAMjiB,KAAKiiB,IAEX/e,EAAS8d,EAAS9d,OAAS,CAC/BlD,MAAK2d,OAEL,KAAK,GAAI1a,GAAI,EAAOC,EAAS,EAAbD,EAAgBA,IAAK,CAEjC,GAAIuF,GAAY,EAAJvF,CACZjD,MAAKssB,0BAA0Brf,EAAS+T,EAAUiB,EAAKzZ,EAAQA,EAAQ,EAAKA,EAAQ,KAI5FvI,EAAKyrB,MAAM7oB,UAAUwpB,uBAAyB,SAASpf,GAGnD,GAAI+T,GAAWhhB,KAAKghB,SAChBiB,EAAMjiB,KAAKiiB,IACXtD,EAAU3e,KAAK2e,QAEfzb,EAASyb,EAAQzb,MACrBlD,MAAK2d,OAEL,KAAK,GAAI1a,GAAI,EAAOC,EAAJD,EAAYA,GAAK,EAAG,CAEhC,GAAIspB,GAAsB,EAAb5N,EAAQ1b,GAAQ6F,EAA0B,EAAjB6V,EAAQ1b,EAAI,GAAQ+F,EAA0B,EAAjB2V,EAAQ1b,EAAI,EAC/EjD,MAAKssB,0BAA0Brf,EAAS+T,EAAUiB,EAAKsK,EAAQzjB,EAAQE,KAI/E/I,EAAKyrB,MAAM7oB,UAAUypB,0BAA4B,SAASrf,EAAS+T,EAAUiB,EAAKsK,EAAQzjB,EAAQE,GAE9F,GAAIwjB,GAAgBxsB,KAAK4H,QAAQ+D,YAAY0C,OACzCoe,EAAezsB,KAAK4H,QAAQjB,MAC5B+lB,EAAgB1sB,KAAK4H,QAAQhB,OAE7Byb,EAAKrB,EAASuL,GAAShgB,EAAKyU,EAASlY,GAAS2D,EAAKuU,EAAShY,GAC5DsZ,EAAKtB,EAASuL,EAAS,GAAI/f,EAAKwU,EAASlY,EAAS,GAAI4D,EAAKsU,EAAShY,EAAS,GAE7E2jB,EAAK1K,EAAIsK,GAAUE,EAAcG,EAAK3K,EAAInZ,GAAU2jB,EAAcI,EAAK5K,EAAIjZ,GAAUyjB,EACrFK,EAAK7K,EAAIsK,EAAS,GAAKG,EAAeK,EAAK9K,EAAInZ,EAAS,GAAK4jB,EAAeM,EAAK/K,EAAIjZ,EAAS,GAAK0jB,CAEvG,IAAI1sB,KAAK2rB,cAAgB,EAAG,CACxB,GAAIsB,GAAWjtB,KAAK2rB,cAAgB3rB,KAAK+B,eAAe2C,EACpDwoB,EAAWltB,KAAK2rB,cAAgB3rB,KAAK+B,eAAe8C,EACpDsoB,GAAW9K,EAAK9V,EAAKE,GAAM,EAC3B2gB,GAAW9K,EAAK9V,EAAKE,GAAM,EAE3B2gB,EAAQhL,EAAK8K,EACbG,EAAQhL,EAAK8K,EAEbG,EAAO1sB,KAAK0E,KAAK8nB,EAAQA,EAAQC,EAAQA,EAC7CjL,GAAK8K,EAAWE,EAAQE,GAASA,EAAON,GACxC3K,EAAK8K,EAAWE,EAAQC,GAASA,EAAOL,GAIxCG,EAAQ9gB,EAAK4gB,EACbG,EAAQ9gB,EAAK4gB,EAEbG,EAAO1sB,KAAK0E,KAAK8nB,EAAQA,EAAQC,EAAQA,GACzC/gB,EAAK4gB,EAAWE,EAAQE,GAASA,EAAON,GACxCzgB,EAAK4gB,EAAWE,EAAQC,GAASA,EAAOL,GAExCG,EAAQ5gB,EAAK0gB,EACbG,EAAQ5gB,EAAK0gB,EAEbG,EAAO1sB,KAAK0E,KAAK8nB,EAAQA,EAAQC,EAAQA,GACzC7gB,EAAK0gB,EAAWE,EAAQE,GAASA,EAAON,GACxCvgB,EAAK0gB,EAAWE,EAAQC,GAASA,EAAOL,GAG5CjgB,EAAQyZ,OACRzZ,EAAQugB,YAGRvgB,EAAQwgB,OAAOpL,EAAIC,GACnBrV,EAAQygB,OAAOnhB,EAAIC,GACnBS,EAAQygB,OAAOjhB,EAAIC,GAEnBO,EAAQ0gB,YAER1gB,EAAQ6Z,MAGR,IAAI8G,GAAUjB,EAAKI,EAAYD,EAAKD,EAAYD,EAAKI,EAAYD,EAAKF,EAAYC,EAAKF,EAAYD,EAAKK,EACpGa,EAAUxL,EAAK0K,EAAYD,EAAKrgB,EAAYF,EAAKygB,EAAYD,EAAKtgB,EAAYqgB,EAAKvgB,EAAY8V,EAAK2K,EACpGc,EAAUnB,EAAKpgB,EAAY8V,EAAKwK,EAAYD,EAAKngB,EAAYF,EAAKsgB,EAAYxK,EAAKuK,EAAYD,EAAKlgB,EACpGshB,EAAUpB,EAAKI,EAAKtgB,EAAOqgB,EAAKvgB,EAAKsgB,EAAOxK,EAAKuK,EAAKI,EAAO3K,EAAK0K,EAAKF,EAAOC,EAAKF,EAAKngB,EAAOkgB,EAAKpgB,EAAKygB,EACzGgB,EAAU1L,EAAKyK,EAAYD,EAAKpgB,EAAYF,EAAKwgB,EAAYD,EAAKrgB,EAAYogB,EAAKtgB,EAAY8V,EAAK0K,EACpGiB,EAAUtB,EAAKngB,EAAY8V,EAAKuK,EAAYD,EAAKlgB,EAAYF,EAAKqgB,EAAYvK,EAAKsK,EAAYD,EAAKjgB,EACpGwhB,EAAUvB,EAAKI,EAAKrgB,EAAOogB,EAAKtgB,EAAKqgB,EAAOvK,EAAKsK,EAAKI,EAAO1K,EAAKyK,EAAKF,EAAOC,EAAKF,EAAKlgB,EAAOigB,EAAKngB,EAAKwgB,CAE7G/f,GAAQqC,UAAUue,EAASD,EAAOI,EAASJ,EACvCE,EAASF,EAAOK,EAASL,EACzBG,EAASH,EAAOM,EAASN,GAE7B3gB,EAAQiB,UAAUse,EAAe,EAAG,GACpCvf,EAAQ8Z,WAYZ9mB,EAAKyrB,MAAM7oB,UAAUsrB,gBAAkB,SAASC,GAE5C,GAAInhB,GAAUjN,KAAKiN,QACf+T,EAAWoN,EAAMpN,SAEjB9d,EAAS8d,EAAS9d,OAAO,CAC7BlD,MAAK2d,QAEL1Q,EAAQugB,WACR,KAAK,GAAIvqB,GAAE,EAAOC,EAAO,EAAXD,EAAcA,IAC5B,CAEI,GAAIuF,GAAU,EAAFvF,EAERof,EAAKrB,EAASxY,GAAU+D,EAAKyU,EAASxY,EAAM,GAAIiE,EAAKuU,EAASxY,EAAM,GACpE8Z,EAAKtB,EAASxY,EAAM,GAAIgE,EAAKwU,EAASxY,EAAM,GAAIkE,EAAKsU,EAASxY,EAAM,EAExEyE,GAAQwgB,OAAOpL,EAAIC,GACnBrV,EAAQygB,OAAOnhB,EAAIC,GACnBS,EAAQygB,OAAOjhB,EAAIC,GAGvBO,EAAQia,UAAY,UACpBja,EAAQohB,OACRphB,EAAQ0gB,aAyBZ1tB,EAAKyrB,MAAM7oB,UAAUgJ,gBAAkB,WAEnC7L,KAAKsuB,aAAc,GAUvBruB,EAAKyrB,MAAM7oB,UAAUgD,UAAY,SAASC,GAkBtC,IAAK,GAhBD/D,GAAiB+D,GAAU9F,KAAK+B,eAEhC2C,EAAI3C,EAAe2C,EACnBC,EAAI5C,EAAe4C,EACnBC,EAAI7C,EAAe6C,EACnBC,EAAI9C,EAAe8C,EACnBC,EAAK/C,EAAe+C,GACpBC,EAAKhD,EAAegD,GAEpBuF,IAAQF,EAAAA,GACRG,IAAQH,EAAAA,GAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,EAEP4W,EAAWhhB,KAAKghB,SACX/d,EAAI,EAAGsrB,EAAIvN,EAAS9d,OAAYqrB,EAAJtrB,EAAOA,GAAK,EACjD,CACI,GAAIurB,GAAOxN,EAAS/d,GAAIwrB,EAAOzN,EAAS/d,EAAI,GACxCoC,EAAKX,EAAI8pB,EAAS5pB,EAAI6pB,EAAQ3pB,EAC9BQ,EAAKT,EAAI4pB,EAAS9pB,EAAI6pB,EAAQzpB,CAElCoF,GAAWA,EAAJ9E,EAAWA,EAAI8E,EACtBE,EAAWA,EAAJ/E,EAAWA,EAAI+E,EAEtBC,EAAOjF,EAAIiF,EAAOjF,EAAIiF,EACtBC,EAAOjF,EAAIiF,EAAOjF,EAAIiF,EAG1B,GAAIJ,MAAUC,EAAAA,IAAYG,IAASH,EAAAA,EAE/B,MAAOnK,GAAK8F,cAGhB,IAAIS,GAASxG,KAAKuC,OAWlB,OATAiE,GAAOnB,EAAI8E,EACX3D,EAAOG,MAAQ2D,EAAOH,EAEtB3D,EAAOlB,EAAI+E,EACX7D,EAAOI,OAAS2D,EAAOF,EAGvBrK,KAAKyC,eAAiB+D,EAEfA,GAUXvG,EAAKyrB,MAAMG,WACP7M,eAAgB,EAChB+E,UAAW,GAiBf9jB,EAAKyuB,KAAO,SAAS9mB,EAAS+mB,GAE1B1uB,EAAKyrB,MAAMhmB,KAAM1F,KAAM4H,GACvB5H,KAAK2uB,OAASA,EAEd3uB,KAAKghB,SAAW,GAAI/gB,GAAKM,aAA6B,EAAhBouB,EAAOzrB,QAC7ClD,KAAKiiB,IAAM,GAAIhiB,GAAKM,aAA6B,EAAhBouB,EAAOzrB,QACxClD,KAAKkhB,OAAS,GAAIjhB,GAAKM,aAA6B,EAAhBouB,EAAOzrB,QAC3ClD,KAAK2e,QAAU,GAAI1e,GAAKO,YAA4B,EAAhBmuB,EAAOzrB,QAG3ClD,KAAKioB,WAKThoB,EAAKyuB,KAAK7rB,UAAYO,OAAO8E,OAAQjI,EAAKyrB,MAAM7oB,WAChD5C,EAAKyuB,KAAK7rB,UAAUC,YAAc7C,EAAKyuB,KAOvCzuB,EAAKyuB,KAAK7rB,UAAUolB,QAAU,WAE1B,GAAI0G,GAAS3uB,KAAK2uB,MAClB,MAAGA,EAAOzrB,OAAS,GAAnB,CAEA,GAAI+e,GAAMjiB,KAAKiiB,IAEX2M,EAAYD,EAAO,GACnBhQ,EAAU3e,KAAK2e,QACfuC,EAASlhB,KAAKkhB,MAElBlhB,MAAK2d,OAAO,GAEZsE,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EAETf,EAAO,GAAK,EACZA,EAAO,GAAK,EAEZvC,EAAQ,GAAK,EACbA,EAAQ,GAAK,CAKb,KAAK,GAFDkQ,GAAOrmB,EAAOsmB,EADdC,EAAQJ,EAAOzrB,OAGVD,EAAI,EAAO8rB,EAAJ9rB,EAAWA,IAEvB4rB,EAAQF,EAAO1rB,GACfuF,EAAY,EAAJvF,EAER6rB,EAAS7rB,GAAK8rB,EAAM,GAEjB9rB,EAAE,GAEDgf,EAAIzZ,GAASsmB,EACb7M,EAAIzZ,EAAM,GAAK,EAEfyZ,EAAIzZ,EAAM,GAAKsmB,EACf7M,EAAIzZ,EAAM,GAAK,IAIfyZ,EAAIzZ,GAASsmB,EACb7M,EAAIzZ,EAAM,GAAK,EAEfyZ,EAAIzZ,EAAM,GAAKsmB,EACf7M,EAAIzZ,EAAM,GAAK,GAGnBA,EAAY,EAAJvF,EACRie,EAAO1Y,GAAS,EAChB0Y,EAAO1Y,EAAM,GAAK,EAElBA,EAAY,EAAJvF,EACR0b,EAAQnW,GAASA,EACjBmW,EAAQnW,EAAQ,GAAKA,EAAQ,EAE7BomB,EAAYC,IAUpB5uB,EAAKyuB,KAAK7rB,UAAU0B,gBAAkB,WAGlC,GAAIoqB,GAAS3uB,KAAK2uB,MAClB,MAAGA,EAAOzrB,OAAS,GAAnB,CAEA,GACI8rB,GADAJ,EAAYD,EAAO,GAEnBM,GAAQ5pB,EAAE,EAAGC,EAAE,EAEnBtF,MAAK2d,OAAO,EAMZ,KAAK,GAFDkR,GAAOrmB,EAAO0mB,EAAOC,EAAYC,EAFjCpO,EAAWhhB,KAAKghB,SAChB+N,EAAQJ,EAAOzrB,OAGVD,EAAI,EAAO8rB,EAAJ9rB,EAAWA,IAEvB4rB,EAAQF,EAAO1rB,GACfuF,EAAY,EAAJvF,EAIJ+rB,EAFD/rB,EAAI0rB,EAAOzrB,OAAO,EAELyrB,EAAO1rB,EAAE,GAIT4rB,EAGhBI,EAAK3pB,IAAM0pB,EAAU3pB,EAAIupB,EAAUvpB,GACnC4pB,EAAK5pB,EAAI2pB,EAAU1pB,EAAIspB,EAAUtpB,EAEjC4pB,EAAgC,IAAvB,EAAKjsB,GAAK8rB,EAAM,IAEtBG,EAAQ,IAAGA,EAAQ,GAEtBC,EAAatuB,KAAK0E,KAAK0pB,EAAK5pB,EAAI4pB,EAAK5pB,EAAI4pB,EAAK3pB,EAAI2pB,EAAK3pB,GACvD8pB,EAAMpvB,KAAK4H,QAAQhB,OAAS,EAC5BqoB,EAAK5pB,GAAK8pB,EACVF,EAAK3pB,GAAK6pB,EAEVF,EAAK5pB,GAAK+pB,EACVH,EAAK3pB,GAAK8pB,EAEVpO,EAASxY,GAASqmB,EAAMxpB,EAAI4pB,EAAK5pB,EACjC2b,EAASxY,EAAM,GAAKqmB,EAAMvpB,EAAI2pB,EAAK3pB,EACnC0b,EAASxY,EAAM,GAAKqmB,EAAMxpB,EAAI4pB,EAAK5pB,EACnC2b,EAASxY,EAAM,GAAKqmB,EAAMvpB,EAAI2pB,EAAK3pB,EAEnCspB,EAAYC,CAGhB5uB,GAAKgI,uBAAuBpF,UAAU0B,gBAAgBmB,KAAM1F,QAQhEC,EAAKyuB,KAAK7rB,UAAUkJ,WAAa,SAASnE,GAGtC5H,KAAK4H,QAAUA,GAkBnB3H,EAAKovB,aAAe,SAASznB,EAASjB,EAAOC,GAEzC3G,EAAKwH,OAAO/B,KAAK1F,KAAM4H,GAQvB5H,KAAKmI,OAASxB,GAAS,IAQvB3G,KAAKoI,QAAUxB,GAAU,IAQzB5G,KAAKgjB,UAAY,GAAI/iB,GAAKmB,MAAM,EAAG,GAQnCpB,KAAK4iB,gBAAkB,GAAI3iB,GAAKmB,MAAM,EAAG,GAQzCpB,KAAK2iB,aAAe,GAAI1iB,GAAKmB,MAS7BpB,KAAK2B,YAAa,EASlB3B,KAAKuL,KAAO,SASZvL,KAAKsvB,cAAe,EASpBtvB,KAAKkE,UAAYjE,EAAKkE,WAAWE,OAQjCrE,KAAKuvB,aAAe,KAQpBvvB,KAAKwiB,cAAgB,KAQrBxiB,KAAKwvB,YAAc,KAUnBxvB,KAAKyvB,gBAAiB,EAEtBzvB,KAAK0vB,WAAa,EAClB1vB,KAAK2vB,YAAc,GAIvB1vB,EAAKovB,aAAaxsB,UAAYO,OAAO8E,OAAOjI,EAAKwH,OAAO5E,WACxD5C,EAAKovB,aAAaxsB,UAAUC,YAAc7C,EAAKovB,aAE/CpvB,EAAKovB,aAAaxsB,UAAUkJ,WAAa,SAASnE,GAE1C5H,KAAK4H,UAAYA,IAEjB5H,KAAK4H,QAAUA,EACf5H,KAAKyvB,gBAAiB,EACtBzvB,KAAKwL,WAAa,WAY1BvL,EAAKovB,aAAaxsB,UAAU6E,aAAe,SAASJ,GAEhD,GAAItH,KAAKyB,WAAY,GAAwB,IAAfzB,KAAKwB,MAAnC,CAkBA,GAbIxB,KAAK0C,QAEL4E,EAAcoD,YAAYI,OAC1BxD,EAAcyD,YAAYC,SAAShL,KAAKiL,KAAM3D,GAC9CA,EAAcoD,YAAYQ,SAG1BlL,KAAK2D,WAEL2D,EAAcoD,YAAYC,QAC1BrD,EAAcsD,cAAcC,WAAW7K,KAAKgE,eAG5ChE,KAAKyvB,eACT,CAGI,GAFAzvB,KAAK4vB,uBAAsB,EAAMtoB,IAE7BtH,KAAKwiB,cAUL,MARIxiB,MAAKwiB,cAAcqN,cAEnBvoB,EAAcf,SAASgR,cAAcvX,KAAKwiB,cAAc7W,aACxD3L,KAAKwiB,cAAcqN,aAAc,GAS7CvoB,EAAcoD,YAAY6X,mBAAmBviB,KAE7C,KAAK,GAAIiD,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAGyE,aAAaJ,EAGlCA,GAAcoD,YAAYI,OAEtB9K,KAAK2D,UAEL2D,EAAcsD,cAAcQ,YAG5BpL,KAAK0C,OAEL4E,EAAcyD,YAAYI,QAAQnL,KAAK0C,MAAO4E,GAGlDA,EAAcoD,YAAYQ,UAW9BjL,EAAKovB,aAAaxsB,UAAU8E,cAAgB,SAASL,GAEjD,GAAItH,KAAKyB,WAAY,GAAwB,IAAfzB,KAAKwB,MAAnC,CAKA,GAAIyL,GAAU3F,EAAc2F,OAExBjN,MAAK0C,OAEL4E,EAAcyD,YAAYC,SAAShL,KAAK0C,MAAO4E,GAGnD2F,EAAQG,YAAcpN,KAAK8B,UAE3B,IAAImD,GAAKjF,KAAK+B,eACVsE,EAAaiB,EAAcjB,UAI/B,IAFA4G,EAAQW,aAAa3I,EAAGP,EAAI2B,EAAYpB,EAAGN,EAAI0B,EAAYpB,EAAGL,EAAIyB,EAAYpB,EAAGJ,EAAIwB,EAAYpB,EAAGH,GAAKuB,EAAYpB,EAAGF,GAAKsB,GAEzHrG,KAAKyvB,eACT,CAGI,GAFAzvB,KAAK4vB,uBAAsB,EAAOtoB,IAE9BtH,KAAKwiB,cAML,MAJAxiB,MAAKwvB,YAAcviB,EAAQ6iB,cAAc9vB,KAAKwiB,cAAc7W,YAAY0C,OAAQ,UAQxF,GAAI0hB,GAAmBzoB,EAAc0F,gBAGjChN,MAAKkE,YAAcoD,EAAc0F,mBAEjC1F,EAAc0F,iBAAmBhN,KAAKkE,UACtC+I,EAAQC,yBAA2BjN,EAAKkN,iBAAiB7F,EAAc0F,kBAG3E,IAAI2V,GAAe3iB,KAAK2iB,aACpBK,EAAYhjB,KAAKgjB,SAErBL,GAAatd,GAAKrF,KAAKwiB,cAAc7W,YAAYhF,MACjDgc,EAAard,GAAKtF,KAAKwiB,cAAc7W,YAAY/E,OAGjDqG,EAAQ5L,MAAM2hB,EAAU3d,EAAG2d,EAAU1d,GACrC2H,EAAQ6d,UAAUnI,EAAatd,EAAKrF,KAAKgI,OAAO3C,GAAKrF,KAAKmI,OAASwa,EAAard,EAAKtF,KAAKgI,OAAO1C,GAAKtF,KAAKoI,SAE3G6E,EAAQia,UAAYlnB,KAAKwvB,WAEzB,IAAI1qB,IAAM6d,EAAatd,EACnBN,GAAM4d,EAAard,EACnB8kB,EAAKpqB,KAAKmI,OAAS6a,EAAU3d,EAC7BglB,EAAKrqB,KAAKoI,QAAU4a,EAAU1d,CAG9BgC,GAAcqG,cAEd7I,GAAM,EACNC,GAAM,EACNqlB,GAAM,EACNC,GAAM,GAGVpd,EAAQoa,SAASviB,EAAIC,EAAIqlB,EAAIC,GAG7Bpd,EAAQ5L,MAAM,EAAI2hB,EAAU3d,EAAG,EAAI2d,EAAU1d,GAC7C2H,EAAQ6d,WAAWnI,EAAatd,EAAKrF,KAAKgI,OAAO3C,EAAIrF,KAAKmI,QAAUwa,EAAard,EAAKtF,KAAKgI,OAAO1C,EAAItF,KAAKoI,SAEvGpI,KAAK0C,OAEL4E,EAAcyD,YAAYI,QAAQ7D,EAGtC,KAAK,GAAIrE,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAG0E,cAAcL,EAI/ByoB,KAAqB/vB,KAAKkE,YAE1BoD,EAAc0F,iBAAmB+iB,EACjC9iB,EAAQC,yBAA2BjN,EAAKkN,iBAAiB4iB,MAYjE9vB,EAAKovB,aAAaxsB,UAAUgJ,gBAAkB,aAY9C5L,EAAKovB,aAAaxsB,UAAU+sB,sBAAwB,SAASI,EAAiB1oB,GAE1E,GAAKtH,KAAK4H,QAAQ+D,YAAYC,UAA9B,CAKA,GAAIhE,GAAU5H,KAAK4H,QACfkE,EAAQlE,EAAQkE,MAEhBmkB,EAAcjwB,KAAKkwB,OAAOC,YAC1BC,EAAepwB,KAAKkwB,OAAOG,YAE3B7iB,EAAK,EACLE,EAAK,CAEL1N,MAAKkwB,OAAOI,UAEZ9iB,EAAKxN,KAAKkwB,OAAOK,kBACjB7iB,EAAK1N,KAAKkwB,OAAOM,mBAGjBR,IAEAC,EAAchwB,EAAK0Q,kBAAkBsf,GACrCG,EAAenwB,EAAK0Q,kBAAkByf,IAGtCpwB,KAAKuvB,cAELvvB,KAAKuvB,aAAa1nB,OAAOooB,EAAaG,GACtCpwB,KAAKwiB,cAAc7W,YAAYhF,MAAQspB,EACvCjwB,KAAKwiB,cAAc7W,YAAY/E,OAASwpB,EACxCpwB,KAAKwiB,cAAcqN,aAAc,IAIjC7vB,KAAKuvB,aAAe,GAAItvB,GAAKsmB,aAAa0J,EAAaG,GACvDpwB,KAAKwiB,cAAgBviB,EAAKoL,QAAQqe,WAAW1pB,KAAKuvB,aAAalf,QAC/DrQ,KAAKwiB,cAAcuH,UAAW,EAC9B/pB,KAAKwiB,cAAcqN,aAAc,GAGjC7vB,KAAKsvB,eAELtvB,KAAKuvB,aAAatiB,QAAQwjB,YAAc,UACxCzwB,KAAKuvB,aAAatiB,QAAQyjB,WAAW,EAAG,EAAGT,EAAaG,GAI5D,IAAIhZ,GAAIxP,EAAQmF,KAAKpG,MACjB+b,EAAI9a,EAAQmF,KAAKnG,QAEjBwQ,IAAM6Y,GAAevN,IAAM0N,KAE3BhZ,EAAI6Y,EACJvN,EAAI0N,GAGRpwB,KAAKuvB,aAAatiB,QAAQiB,UAAUtG,EAAQ+D,YAAY0C,OACjCzG,EAAQmF,KAAK1H,EACbuC,EAAQmF,KAAKzH,EACbsC,EAAQmF,KAAKpG,MACbiB,EAAQmF,KAAKnG,OACb4G,EACAE,EACA0J,EACAsL,GAEvB1iB,KAAK4iB,gBAAgBvd,EAAIyG,EAAMnF,MAAQspB,EACvCjwB,KAAK4iB,gBAAgBtd,EAAIwG,EAAMlF,OAASwpB,EAExCpwB,KAAKyvB,gBAAiB,EAEtBzvB,KAAKwiB,cAAc7W,YAAY+P,WAAY,IAU/Czb,EAAKovB,aAAaxsB,UAAUgD,UAAY,WAEpC,GAAIc,GAAQ3G,KAAKmI,OACbvB,EAAS5G,KAAKoI,QAEd8D,EAAKvF,GAAS,EAAE3G,KAAKgI,OAAO3C,GAC5B8G,EAAKxF,GAAS3G,KAAKgI,OAAO3C,EAE1B+G,EAAKxF,GAAU,EAAE5G,KAAKgI,OAAO1C,GAC7B+G,EAAKzF,GAAU5G,KAAKgI,OAAO1C,EAE3BvD,EAAiB/B,KAAK+B,eAEtB2C,EAAI3C,EAAe2C,EACnBC,EAAI5C,EAAe4C,EACnBC,EAAI7C,EAAe6C,EACnBC,EAAI9C,EAAe8C,EACnBC,EAAK/C,EAAe+C,GACpBC,EAAKhD,EAAegD,GAEpBwH,EAAK7H,EAAIyH,EAAKvH,EAAIyH,EAAKvH,EACvB0H,EAAK3H,EAAIwH,EAAK1H,EAAIwH,EAAKpH,EAEvB0H,EAAK/H,EAAIwH,EAAKtH,EAAIyH,EAAKvH,EACvB4H,EAAK7H,EAAIwH,EAAK1H,EAAIuH,EAAKnH,EAEvB4H,EAAKjI,EAAIwH,EAAKtH,EAAIwH,EAAKtH,EACvB8H,EAAK/H,EAAIuH,EAAKzH,EAAIuH,EAAKnH,EAEvB8H,EAAMnI,EAAIyH,EAAKvH,EAAIwH,EAAKtH,EACxBgI,EAAMjI,EAAIuH,EAAKzH,EAAIwH,EAAKpH,EAExBuF,IAAQF,EAAAA,GACRG,IAAQH,EAAAA,GAERD,EAAOC,EAAAA,EACPC,EAAOD,EAAAA,CAEXD,GAAYA,EAALoC,EAAYA,EAAKpC,EACxBA,EAAYA,EAALsC,EAAYA,EAAKtC,EACxBA,EAAYA,EAALwC,EAAYA,EAAKxC,EACxBA,EAAYA,EAAL0C,EAAYA,EAAK1C,EAExBE,EAAYA,EAALmC,EAAYA,EAAKnC,EACxBA,EAAYA,EAALqC,EAAYA,EAAKrC,EACxBA,EAAYA,EAALuC,EAAYA,EAAKvC,EACxBA,EAAYA,EAALyC,EAAYA,EAAKzC,EAExBC,EAAOiC,EAAKjC,EAAOiC,EAAKjC,EACxBA,EAAOmC,EAAKnC,EAAOmC,EAAKnC,EACxBA,EAAOqC,EAAKrC,EAAOqC,EAAKrC,EACxBA,EAAOuC,EAAKvC,EAAOuC,EAAKvC,EAExBC,EAAOiC,EAAKjC,EAAOiC,EAAKjC,EACxBA,EAAOmC,EAAKnC,EAAOmC,EAAKnC,EACxBA,EAAOqC,EAAKrC,EAAOqC,EAAKrC,EACxBA,EAAOuC,EAAKvC,EAAOuC,EAAKvC,CAExB,IAAI/D,GAASxG,KAAKuC,OAWlB,OATAiE,GAAOnB,EAAI8E,EACX3D,EAAOG,MAAQ2D,EAAOH,EAEtB3D,EAAOlB,EAAI+E,EACX7D,EAAOI,OAAS2D,EAAOF,EAGvBrK,KAAKyC,eAAiB+D,EAEfA,GAGXvG,EAAKovB,aAAaxsB,UAAUE,QAAU,WAElC9C,EAAKwH,OAAO5E,UAAUE,QAAQ2C,KAAK1F,MAE/BA,KAAKuvB,eAELvvB,KAAKuvB,aAAaxsB,UAClB/C,KAAKuvB,aAAe,MAGxBvvB,KAAKgjB,UAAY,KACjBhjB,KAAK4iB,gBAAkB,KACvB5iB,KAAK2iB,aAAe,KAEhB3iB,KAAKwiB,gBAELxiB,KAAKwiB,cAAczf,SAAQ,GAC3B/C,KAAKwiB,cAAgB,OAW7Bpf,OAAOC,eAAepD,EAAKovB,aAAaxsB,UAAW,SAE/CS,IAAK,WACD,MAAOtD,MAAKmI,QAGhB3E,IAAK,SAASC,GACVzD,KAAKmI,OAAS1E,KAWtBL,OAAOC,eAAepD,EAAKovB,aAAaxsB,UAAW,UAE/CS,IAAK,WACD,MAAQtD,MAAKoI,SAGjB5E,IAAK,SAASC,GACVzD,KAAKoI,QAAU3E,KASI,mBAAZktB,UACe,mBAAXC,SAA0BA,OAAOD,UACxCA,QAAUC,OAAOD,QAAU1wB,GAE/B0wB,QAAQ1wB,KAAOA,GACU,mBAAX4wB,SAA0BA,OAAOC,IAC/CD,OAAO,OAAQ,WAAc,MAAO9wB,GAAKE,KAAOA,MAEhDF,EAAKE,KAAOA,EAGTA,IACRyF,KAAK1F,MAOR,WA0pbA,QAAS+wB,GAAiBC,EAAaC,GAMnCjxB,KAAKkxB,aAAeF,EAMpBhxB,KAAKmxB,WAAaF,EAMlBjxB,KAAKoxB,cAAgB,KA1qbrB,GAAIrxB,GAAOC,KAYXkoB,EAASA,IAOT7nB,QAAS,QAOTgxB,SAOAC,KAAM,EAONC,OAAQ,EAORC,MAAO,EAOPC,SAAU,EAOVC,KAAM,EAONC,KAAM,EAONC,MAAO,EAOPC,GAAI,EAOJC,KAAM,EAONC,OAAQ,EAORC,OAAQ,EAORC,MAAO,EAOPC,SAAU,EAOVC,KAAM,EAONC,WAAY,EAOZC,WAAY,EAOZC,MAAO,EAOPC,cAAe,EAOfC,QAAS,EAOTC,aAAc,GAOdC,QAAS,GAOTC,QAAS,GAOTC,WAAY,GAOZC,cAAe,GAOfC,aAAc,GAOdC,QAAS,GAOTC,YAAa,GAObC,UAAW,GAOXC,QAAS,GAOTC,KAAM,GAONC,OAAQ,GAORC,UAAW,GAOXC,KAAM,GAONC,OAAQ,GAORC,MAAO,GAOPC,iBAAkB,GAOlBC,SAAU,GAOVC,MAAO,GA2BPxvB,YACIE,OAAO,EACP0X,IAAI,EACJ3X,SAAS,EACT+X,OAAO,EACPC,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,YAAY,EACZC,WAAW,EACXC,WAAW,EACXC,WAAW,GACXC,WAAW,GACXC,UAAU,GACVC,IAAI,GACJC,WAAW,GACXC,MAAM,GACNC,WAAW,IAgBf1P,YACIoY,QAAQ,EACRnY,OAAO,EACP8N,QAAQ,GAGZpb,KAAMA,SA6GV,IAnGKY,KAAK+yB,QACN/yB,KAAK+yB,MAAQ,SAAevuB,GACxB,MAAW,GAAJA,EAAQxE,KAAKgzB,KAAKxuB,GAAKxE,KAAKizB,MAAMzuB,KAO5C0uB,SAASlxB,UAAUmxB,OAGpBD,SAASlxB,UAAUmxB,KAAO,WAEtB,GAAIC,GAAQtzB,MAAMkC,UAAUoxB,KAE5B,OAAO,UAAUC,GASb,QAASC,KACL,GAAIC,GAAOC,EAAUC,OAAOL,EAAMvuB,KAAK6uB,WACvCtwB,GAAOgD,MAAMjH,eAAgBm0B,GAAQn0B,KAAOk0B,EAASE,GATzD,GAAInwB,GAASjE,KAAMq0B,EAAYJ,EAAMvuB,KAAK6uB,UAAW,EAErD,IAAsB,kBAAXtwB,GAEP,KAAM,IAAIuwB,UAqBd,OAbAL,GAAMtxB,UAAY,QAAU4xB,GAAEC,GAM1B,MALIA,KAEAD,EAAE5xB,UAAY6xB,GAGZ10B,eAAgBy0B,GAAtB,OAGW,GAAIA,IAEhBxwB,EAAOpB,WAEHsxB,OAQdxzB,MAAMoR,UAEPpR,MAAMoR,QAAU,SAAU4iB,GAEtB,MAA8C,kBAAvCvxB,OAAOP,UAAUskB,SAASzhB,KAAKivB,KAQzCh0B,MAAMkC,UAAU+xB,UAEjBj0B,MAAMkC,UAAU+xB,QAAU,SAASC,GAE/B,YAEA,IAAa,SAAT70B,MAA4B,OAATA,KAEnB,KAAM,IAAIw0B,UAGd,IAAIM,GAAI1xB,OAAOpD,MACX+0B,EAAMD,EAAE5xB,SAAW,CAEvB,IAAmB,kBAAR2xB,GAEP,KAAM,IAAIL,UAKd,KAAK,GAFDN,GAAUK,UAAUrxB,QAAU,EAAIqxB,UAAU,GAAK,OAE5CtxB,EAAI,EAAO8xB,EAAJ9xB,EAASA,IAEjBA,IAAK6xB,IAELD,EAAInvB,KAAKwuB,EAASY,EAAE7xB,GAAIA,EAAG6xB,KAWT,kBAAvBxiB,QAAO7R,aAA4D,gBAAvB6R,QAAO7R,YAC9D,CACI,GAAIu0B,GAAa,SAASpgB,GAEtB,GAAI8f,GAAQ,GAAI/zB,MAEhB2R,QAAOsC,GAAQ,SAAS+f,GAEpB,GAAoB,gBAAV,GACV,CACIh0B,MAAM+E,KAAK1F,KAAM20B,GACjB30B,KAAKkD,OAASyxB,CAEd,KAAK,GAAI1xB,GAAI,EAAGA,EAAIjD,KAAKkD,OAAQD,IAE7BjD,KAAKiD,GAAK,MAIlB,CACItC,MAAM+E,KAAK1F,KAAM20B,EAAIzxB,QAErBlD,KAAKkD,OAASyxB,EAAIzxB,MAElB,KAAK,GAAID,GAAI,EAAGA,EAAIjD,KAAKkD,OAAQD,IAE7BjD,KAAKiD,GAAK0xB,EAAI1xB,KAK1BqP,OAAOsC,GAAM/R,UAAY6xB,EACzBpiB,OAAOsC,GAAM9R,YAAcwP,OAAOsC,GAGtCogB,GAAW,eACXA,EAAW,cAMV1iB,OAAOC,UAERD,OAAOC,WACPD,OAAOC,QAAQC,IAAMF,OAAOC,QAAQ0iB,OAAS,aAC7C3iB,OAAOC,QAAQ2iB,KAAO5iB,OAAOC,QAAQ0iB,OAAS,cAalD/M,EAAOiN,OAUHC,YAAa,SAASC,EAAKC,GAQvB,IANA,GAAIC,GAAQD,EAAKE,MAAM,KACnBC,EAAOF,EAAMzV,MACb4V,EAAIH,EAAMryB,OACVD,EAAI,EACJ0yB,EAAUJ,EAAM,GAETG,EAAJzyB,IAAUoyB,EAAMA,EAAIM,KAEvBA,EAAUJ,EAAMtyB,GAChBA,GAGJ,OAAIoyB,GAEOA,EAAII,GAIJ,MAafG,YAAa,SAASP,EAAKC,EAAM7xB,GAQ7B,IANA,GAAI8xB,GAAQD,EAAKE,MAAM,KACnBC,EAAOF,EAAMzV,MACb4V,EAAIH,EAAMryB,OACVD,EAAI,EACJ0yB,EAAUJ,EAAM,GAETG,EAAJzyB,IAAUoyB,EAAMA,EAAIM,KAEvBA,EAAUJ,EAAMtyB,GAChBA,GAQJ,OALIoyB,KAEAA,EAAII,GAAQhyB,GAGT4xB,GAcXQ,WAAY,SAAUC,GAElB,MADevsB,UAAXusB,IAAwBA,EAAS,IAC9BA,EAAS,GAAsB,IAAhBj1B,KAAKk1B,UAAkBD,GAWjDE,aAAc,SAAUC,EAASC,GAC7B,MAAQr1B,MAAKk1B,SAAW,GAAOE,EAAUC,GAW7CC,eAAgB,SAAUtV,EAAMuV,GAE5B,GAAIC,GAAI,EACJC,EAAK,CA4BT,OA1BoB,gBAATzV,GAGiB,MAApBA,EAAKuG,OAAO,KAEZiP,EAAIE,SAAS1V,EAAM,IAAM,IAIrByV,EAFc,IAAdF,EAEK9jB,OAAOkkB,WAAaH,EAIpB/jB,OAAOmkB,YAAcJ,GAK9BC,EAAKC,SAAS1V,EAAM,IAKxByV,EAAKzV,EAGFyV,GAcXI,IAAK,SAAUC,EAAK5B,EAAK2B,EAAKE,GAE1B,GAAYrtB,SAARwrB,EAAqB,GAAIA,GAAM,CACnC,IAAYxrB,SAARmtB,EAAqB,GAAIA,GAAM,GACnC,IAAYntB,SAARqtB,EAAqB,GAAIA,GAAM,CAEnC,IAAIC,GAAS,CAEb,IAAI9B,EAAM,GAAK4B,EAAIzzB,OAEf,OAAQ0zB,GAEJ,IAAK,GACDD,EAAM,GAAIh2B,OAAMo0B,EAAM,EAAI4B,EAAIzzB,QAAQ8O,KAAK0kB,GAAOC,CAClD,MAEJ,KAAK,GACD,GAAIG,GAAQj2B,KAAKgzB,MAAMgD,EAAS9B,EAAM4B,EAAIzzB,QAAU,GAChD6zB,EAAOF,EAASC,CACpBH,GAAM,GAAIh2B,OAAMo2B,EAAK,GAAG/kB,KAAK0kB,GAAOC,EAAM,GAAIh2B,OAAMm2B,EAAM,GAAG9kB,KAAK0kB,EAClE,MAEJ,SACIC,GAAY,GAAIh2B,OAAMo0B,EAAM,EAAI4B,EAAIzzB,QAAQ8O,KAAK0kB,GAK7D,MAAOC,IAWXK,cAAe,SAAU3B,GAMrB,GAAoB,gBAAV,IAAsBA,EAAI4B,UAAY5B,IAAQA,EAAI/iB,OAExD,OAAO,CAOX,KACI,GAAI+iB,EAAIvyB,iBAAqBo0B,eAAexxB,KAAK2vB,EAAIvyB,YAAYD,UAAW,iBAExE,OAAO,EAEb,MAAOs0B,GACL,OAAO,EAKX,OAAO,GAWXC,OAAQ,WAEJ,GAAIC,GAASC,EAAMnnB,EAAKonB,EAAMC,EAAaC,EACvCxzB,EAASswB,UAAU,OACnBtxB,EAAI,EACJC,EAASqxB,UAAUrxB,OACnBw0B,GAAO,CAkBX,KAfsB,iBAAXzzB,KAEPyzB,EAAOzzB,EACPA,EAASswB,UAAU,OAEnBtxB,EAAI,GAIJC,IAAWD,IAEXgB,EAASjE,OACPiD,GAGKC,EAAJD,EAAYA,IAGf,GAAgC,OAA3Bo0B,EAAU9C,UAAUtxB,IAGrB,IAAKq0B,IAAQD,GAETlnB,EAAMlM,EAAOqzB,GACbC,EAAOF,EAAQC,GAGXrzB,IAAWszB,IAMXG,GAAQH,IAASrP,EAAOiN,MAAM6B,cAAcO,KAAUC,EAAc72B,MAAMoR,QAAQwlB,MAE9EC,GAEAA,GAAc,EACdC,EAAQtnB,GAAOxP,MAAMoR,QAAQ5B,GAAOA,MAIpCsnB,EAAQtnB,GAAO+X,EAAOiN,MAAM6B,cAAc7mB,GAAOA,KAIrDlM,EAAOqzB,GAAQpP,EAAOiN,MAAMiC,OAAOM,EAAMD,EAAOF,IAIlChuB,SAATguB,IAELtzB,EAAOqzB,GAAQC,GAO/B,OAAOtzB,IAgBX0zB,eAAgB,SAAU1zB,EAAQ2zB,EAAOC,GAErBtuB,SAAZsuB,IAAyBA,GAAU,EAIvC,KAAK,GAFDC,GAAY10B,OAAO20B,KAAKH,GAEnB30B,EAAI,EAAGA,EAAI60B,EAAU50B,OAAQD,IACtC,CACI,GAAIsR,GAAMujB,EAAU70B,GAChBQ,EAAQm0B,EAAMrjB,IAEbsjB,GAAYtjB,IAAOtQ,MAOhBR,GACsB,kBAAdA,GAAMH,KAA2C,kBAAdG,GAAMD,IAcjDS,EAAOsQ,GAAO9Q,EAXa,kBAAhBA,GAAMg0B,MAEbxzB,EAAOsQ,GAAO9Q,EAAMg0B,QAIpBr0B,OAAOC,eAAeY,EAAQsQ,EAAK9Q,MAqBvDm0B,MAAO,SAAUzwB,EAAM6wB,GAEnB,IAAK7wB,GAA0B,gBAAX,GAEhB,MAAO6wB,EAGX,KAAK,GAAIzjB,KAAOpN,GAChB,CACI,GAAI8wB,GAAI9wB,EAAKoN,EAEb,KAAI0jB,EAAEC,aAAcD,EAAEE,UAAtB,CAKA,GAAIvjB,SAAezN,GAAKoN,EAEnBpN,GAAKoN,IAAiB,WAATK,QAOFojB,GAAGzjB,KAAUK,EAErBojB,EAAGzjB,GAAO2T,EAAOiN,MAAMyC,MAAMzwB,EAAKoN,GAAMyjB,EAAGzjB,IAI3CyjB,EAAGzjB,GAAO2T,EAAOiN,MAAMyC,MAAMzwB,EAAKoN,GAAM,GAAI0jB,GAAEn1B,aAXlDk1B,EAAGzjB,GAAOpN,EAAKoN,IAgBvB,MAAOyjB,KAsBf9P,EAAOkQ,OAAS,SAAU/yB,EAAGC,EAAG+yB,GAE5BhzB,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACT+yB,EAAWA,GAAY,EAKvBr4B,KAAKqF,EAAIA,EAKTrF,KAAKsF,EAAIA,EAMTtF,KAAKs4B,UAAYD,EAMjBr4B,KAAKu4B,QAAU,EAEXF,EAAW,IAEXr4B,KAAKu4B,QAAqB,GAAXF,GAOnBr4B,KAAK4U,KAAOsT,EAAOkL,QAIvBlL,EAAOkQ,OAAOv1B,WAQV21B,cAAe,WAEX,MAAO,IAAK33B,KAAKC,GAAKd,KAAKu4B,UAY/BxC,OAAQ,SAAU0C,GAEFlvB,SAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,MAE1C,IAAI0zB,GAAI,EAAIj0B,KAAKC,GAAKD,KAAKk1B,SACvB2C,EAAI73B,KAAKk1B,SAAWl1B,KAAKk1B,SACzBrb,EAAKge,EAAI,EAAK,EAAIA,EAAIA,EACtBrzB,EAAIqV,EAAI7Z,KAAKuE,IAAI0vB,GACjBxvB,EAAIoV,EAAI7Z,KAAKsE,IAAI2vB,EAKrB,OAHA2D,GAAIpzB,EAAIrF,KAAKqF,EAAKA,EAAIrF,KAAK24B,OAC3BF,EAAInzB,EAAItF,KAAKsF,EAAKA,EAAItF,KAAK24B,OAEpBF,GAUX5yB,UAAW,WAEP,MAAO,IAAIqiB,GAAO1lB,UAAUxC,KAAKqF,EAAIrF,KAAK24B,OAAQ34B,KAAKsF,EAAItF,KAAK24B,OAAQ34B,KAAKq4B,SAAUr4B,KAAKq4B,WAYhGO,MAAO,SAAUvzB,EAAGC,EAAG+yB,GAOnB,MALAr4B,MAAKqF,EAAIA,EACTrF,KAAKsF,EAAIA,EACTtF,KAAKs4B,UAAYD,EACjBr4B,KAAKu4B,QAAqB,GAAXF,EAERr4B,MAUX64B,SAAU,SAAUxqB,GAEhB,MAAOrO,MAAK44B,MAAMvqB,EAAOhJ,EAAGgJ,EAAO/I,EAAG+I,EAAOgqB,WAUjDS,OAAQ,SAAUC,GAMd,MAJAA,GAAK1zB,EAAIrF,KAAKqF,EACd0zB,EAAKzzB,EAAItF,KAAKsF,EACdyzB,EAAKV,SAAWr4B,KAAKs4B,UAEdS,GAYXC,SAAU,SAAUD,EAAME,GAEtB,GAAID,GAAW9Q,EAAOrnB,KAAKm4B,SAASh5B,KAAKqF,EAAGrF,KAAKsF,EAAGyzB,EAAK1zB,EAAG0zB,EAAKzzB,EACjE,OAAO2zB,GAAQp4B,KAAKo4B,MAAMD,GAAYA,GAU1CvB,MAAO,SAAUyB,GAWb,MATe3vB,UAAX2vB,GAAmC,OAAXA,EAExBA,EAAS,GAAIhR,GAAOkQ,OAAOp4B,KAAKqF,EAAGrF,KAAKsF,EAAGtF,KAAKq4B,UAIhDa,EAAON,MAAM54B,KAAKqF,EAAGrF,KAAKsF,EAAGtF,KAAKq4B,UAG/Ba,GAWXC,SAAU,SAAU9zB,EAAGC,GAEnB,MAAO4iB,GAAOkQ,OAAOe,SAASn5B,KAAMqF,EAAGC,IAY3C8zB,mBAAoB,SAAUC,EAAOC,EAAWb,GAE5C,MAAOvQ,GAAOkQ,OAAOgB,mBAAmBp5B,KAAMq5B,EAAOC,EAAWb,IAWpEvf,OAAQ,SAAU1L,EAAIE,GAKlB,MAHA1N,MAAKqF,GAAKmI,EACVxN,KAAKsF,GAAKoI,EAEH1N,MAUXu5B,YAAa,SAAU1K,GACnB,MAAO7uB,MAAKkZ,OAAO2V,EAAMxpB,EAAGwpB,EAAMvpB,IAQtC6hB,SAAU,WACN,MAAO,sBAAwBnnB,KAAKqF,EAAI,MAAQrF,KAAKsF,EAAI,aAAetF,KAAKq4B,SAAW,WAAar4B,KAAK24B,OAAS,QAK3HzQ,EAAOkQ,OAAOv1B,UAAUC,YAAcolB,EAAOkQ,OAQ7Ch1B,OAAOC,eAAe6kB,EAAOkQ,OAAOv1B,UAAW,YAE3CS,IAAK,WACD,MAAOtD,MAAKs4B,WAGhB90B,IAAK,SAAUC,GAEPA,EAAQ,IAERzD,KAAKs4B,UAAY70B,EACjBzD,KAAKu4B,QAAkB,GAAR90B,MAW3BL,OAAOC,eAAe6kB,EAAOkQ,OAAOv1B,UAAW,UAE3CS,IAAK,WACD,MAAOtD,MAAKu4B,SAGhB/0B,IAAK,SAAUC,GAEPA,EAAQ,IAERzD,KAAKu4B,QAAU90B,EACfzD,KAAKs4B,UAAoB,EAAR70B,MAY7BL,OAAOC,eAAe6kB,EAAOkQ,OAAOv1B,UAAW,QAE3CS,IAAK,WACD,MAAOtD,MAAKqF,EAAIrF,KAAKu4B,SAGzB/0B,IAAK,SAAUC,GAEPA,EAAQzD,KAAKqF,GAEbrF,KAAKu4B,QAAU,EACfv4B,KAAKs4B,UAAY,GAIjBt4B,KAAK24B,OAAS34B,KAAKqF,EAAI5B,KAYnCL,OAAOC,eAAe6kB,EAAOkQ,OAAOv1B,UAAW,SAE3CS,IAAK,WACD,MAAOtD,MAAKqF,EAAIrF,KAAKu4B,SAGzB/0B,IAAK,SAAUC,GAEPA,EAAQzD,KAAKqF,GAEbrF,KAAKu4B,QAAU,EACfv4B,KAAKs4B,UAAY,GAIjBt4B,KAAK24B,OAASl1B,EAAQzD,KAAKqF,KAYvCjC,OAAOC,eAAe6kB,EAAOkQ,OAAOv1B,UAAW,OAE3CS,IAAK,WACD,MAAOtD,MAAKsF,EAAItF,KAAKu4B,SAGzB/0B,IAAK,SAAUC,GAEPA,EAAQzD,KAAKsF,GAEbtF,KAAKu4B,QAAU,EACfv4B,KAAKs4B,UAAY,GAIjBt4B,KAAK24B,OAAS34B,KAAKsF,EAAI7B,KAYnCL,OAAOC,eAAe6kB,EAAOkQ,OAAOv1B,UAAW,UAE3CS,IAAK,WACD,MAAOtD,MAAKsF,EAAItF,KAAKu4B,SAGzB/0B,IAAK,SAAUC,GAEPA,EAAQzD,KAAKsF,GAEbtF,KAAKu4B,QAAU,EACfv4B,KAAKs4B,UAAY,GAIjBt4B,KAAK24B,OAASl1B,EAAQzD,KAAKsF,KAavClC,OAAOC,eAAe6kB,EAAOkQ,OAAOv1B,UAAW,QAE3CS,IAAK,WAED,MAAItD,MAAKu4B,QAAU,EAER13B,KAAKC,GAAKd,KAAKu4B,QAAUv4B,KAAKu4B,QAI9B,KAanBn1B,OAAOC,eAAe6kB,EAAOkQ,OAAOv1B,UAAW,SAE3CS,IAAK,WACD,MAA2B,KAAnBtD,KAAKs4B,WAGjB90B,IAAK,SAAUC,GAEPA,KAAU,GAEVzD,KAAK44B,MAAM,EAAG,EAAG,MAe7B1Q,EAAOkQ,OAAOe,SAAW,SAAUz0B,EAAGW,EAAGC,GAGrC,GAAIZ,EAAEi0B,OAAS,GAAKtzB,GAAKX,EAAEqyB,MAAQ1xB,GAAKX,EAAEoyB,OAASxxB,GAAKZ,EAAE80B,KAAOl0B,GAAKZ,EAAE+0B,OACxE,CACI,GAAIjsB,IAAM9I,EAAEW,EAAIA,IAAMX,EAAEW,EAAIA,GACxBqI,GAAMhJ,EAAEY,EAAIA,IAAMZ,EAAEY,EAAIA,EAE5B,OAAQkI,GAAKE,GAAQhJ,EAAEi0B,OAASj0B,EAAEi0B,OAIlC,OAAO,GAYfzQ,EAAOkQ,OAAOsB,OAAS,SAAUh1B,EAAGC,GAChC,MAAQD,GAAEW,GAAKV,EAAEU,GAAKX,EAAEY,GAAKX,EAAEW,GAAKZ,EAAE2zB,UAAY1zB,EAAE0zB,UAWxDnQ,EAAOkQ,OAAOuB,WAAa,SAAUj1B,EAAGC,GACpC,MAAQujB,GAAOrnB,KAAKm4B,SAASt0B,EAAEW,EAAGX,EAAEY,EAAGX,EAAEU,EAAGV,EAAEW,IAAOZ,EAAEi0B,OAASh0B,EAAEg0B,QAYtEzQ,EAAOkQ,OAAOgB,mBAAqB,SAAU10B,EAAG20B,EAAOC,EAAWb,GAa9D,MAXkBlvB,UAAd+vB,IAA2BA,GAAY,GAC/B/vB,SAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAEtCk4B,KAAc,IAEdD,EAAQnR,EAAOrnB,KAAK+4B,SAASP,IAGjCZ,EAAIpzB,EAAIX,EAAEW,EAAIX,EAAEi0B,OAAS93B,KAAKuE,IAAIi0B,GAClCZ,EAAInzB,EAAIZ,EAAEY,EAAIZ,EAAEi0B,OAAS93B,KAAKsE,IAAIk0B,GAE3BZ,GAWXvQ,EAAOkQ,OAAOyB,oBAAsB,SAAUj1B,EAAG8V,GAE7C,GAAIvM,GAAKtN,KAAKi5B,IAAIl1B,EAAES,EAAIqV,EAAErV,EAAIqV,EAAEqf,WAC5BC,EAAQtf,EAAEqf,UAAYn1B,EAAE+zB,MAE5B,IAAIxqB,EAAK6rB,EAEL,OAAO,CAGX,IAAI5rB,GAAKvN,KAAKi5B,IAAIl1B,EAAEU,EAAIoV,EAAEpV,EAAIoV,EAAEuf,YAC5BC,EAAQxf,EAAEuf,WAAar1B,EAAE+zB,MAE7B,IAAIvqB,EAAK8rB,EAEL,OAAO,CAGX,IAAI/rB,GAAMuM,EAAEqf,WAAa3rB,GAAMsM,EAAEuf,WAE7B,OAAO,CAGX,IAAIE,GAAchsB,EAAKuM,EAAEqf,UACrBK,EAAchsB,EAAKsM,EAAEuf,WACrBI,EAAgBF,EAAcA,EAC9BG,EAAgBF,EAAcA,EAC9BG,EAAkB31B,EAAE+zB,OAAS/zB,EAAE+zB,MAEnC,OAAwC4B,IAAjCF,EAAgBC,GAK3Br6B,KAAKm4B,OAASlQ,EAAOkQ,OAmBrBlQ,EAAOsS,QAAU,SAAUn1B,EAAGC,EAAGqB,EAAOC,GAEpCvB,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTqB,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnB5G,KAAKqF,EAAIA,EAKTrF,KAAKsF,EAAIA,EAKTtF,KAAK2G,MAAQA,EAKb3G,KAAK4G,OAASA,EAMd5G,KAAK4U,KAAOsT,EAAO6K,SAIvB7K,EAAOsS,QAAQ33B,WAWX+1B,MAAO,SAAUvzB,EAAGC,EAAGqB,EAAOC,GAO1B,MALA5G,MAAKqF,EAAIA,EACTrF,KAAKsF,EAAIA,EACTtF,KAAK2G,MAAQA,EACb3G,KAAK4G,OAASA,EAEP5G,MAUX6F,UAAW,WAEP,MAAO,IAAIqiB,GAAO1lB,UAAUxC,KAAKqF,EAAIrF,KAAK2G,MAAO3G,KAAKsF,EAAItF,KAAK4G,OAAQ5G,KAAK2G,MAAO3G,KAAK4G,SAW5FiyB,SAAU,SAAUxqB,GAEhB,MAAOrO,MAAK44B,MAAMvqB,EAAOhJ,EAAGgJ,EAAO/I,EAAG+I,EAAO1H,MAAO0H,EAAOzH,SAU/DkyB,OAAQ,SAASC,GAOb,MALAA,GAAK1zB,EAAIrF,KAAKqF,EACd0zB,EAAKzzB,EAAItF,KAAKsF,EACdyzB,EAAKpyB,MAAQ3G,KAAK2G,MAClBoyB,EAAKnyB,OAAS5G,KAAK4G,OAEZmyB,GAUXtB,MAAO,SAASyB,GAWZ,MATe3vB,UAAX2vB,GAAmC,OAAXA,EAExBA,EAAS,GAAIhR,GAAOsS,QAAQx6B,KAAKqF,EAAGrF,KAAKsF,EAAGtF,KAAK2G,MAAO3G,KAAK4G,QAI7DsyB,EAAON,MAAM54B,KAAKqF,EAAGrF,KAAKsF,EAAGtF,KAAK2G,MAAO3G,KAAK4G,QAG3CsyB,GAYXC,SAAU,SAAU9zB,EAAGC,GAEnB,MAAO4iB,GAAOsS,QAAQrB,SAASn5B,KAAMqF,EAAGC,IAY5CywB,OAAQ,SAAU0C,GAEFlvB,SAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,MAE1C,IAAIoD,GAAI3D,KAAKk1B,SAAWl1B,KAAKC,GAAK,EAC9B4Z,EAAI7Z,KAAKk1B,QAQb,OANA0C,GAAIpzB,EAAIxE,KAAK0E,KAAKmV,GAAK7Z,KAAKuE,IAAIZ,GAChCi0B,EAAInzB,EAAIzE,KAAK0E,KAAKmV,GAAK7Z,KAAKsE,IAAIX,GAEhCi0B,EAAIpzB,EAAIrF,KAAKqF,EAAKozB,EAAIpzB,EAAIrF,KAAK2G,MAAQ,EACvC8xB,EAAInzB,EAAItF,KAAKsF,EAAKmzB,EAAInzB,EAAItF,KAAK4G,OAAS,EAEjC6xB,GASXtR,SAAU,WACN,MAAO,uBAAyBnnB,KAAKqF,EAAI,MAAQrF,KAAKsF,EAAI,UAAYtF,KAAK2G,MAAQ,WAAa3G,KAAK4G,OAAS,QAKtHshB,EAAOsS,QAAQ33B,UAAUC,YAAcolB,EAAOsS,QAO9Cp3B,OAAOC,eAAe6kB,EAAOsS,QAAQ33B,UAAW,QAE5CS,IAAK,WACD,MAAOtD,MAAKqF,GAGhB7B,IAAK,SAAUC,GAEXzD,KAAKqF,EAAI5B,KAWjBL,OAAOC,eAAe6kB,EAAOsS,QAAQ33B,UAAW,SAE5CS,IAAK,WACD,MAAOtD,MAAKqF,EAAIrF,KAAK2G;EAGzBnD,IAAK,SAAUC,GAEPA,EAAQzD,KAAKqF,EAEbrF,KAAK2G,MAAQ,EAIb3G,KAAK2G,MAAQlD,EAAQzD,KAAKqF,KAWtCjC,OAAOC,eAAe6kB,EAAOsS,QAAQ33B,UAAW,OAE5CS,IAAK,WACD,MAAOtD,MAAKsF,GAGhB9B,IAAK,SAAUC,GACXzD,KAAKsF,EAAI7B,KAUjBL,OAAOC,eAAe6kB,EAAOsS,QAAQ33B,UAAW,UAE5CS,IAAK,WACD,MAAOtD,MAAKsF,EAAItF,KAAK4G,QAGzBpD,IAAK,SAAUC,GAEPA,EAAQzD,KAAKsF,EAEbtF,KAAK4G,OAAS,EAId5G,KAAK4G,OAASnD,EAAQzD,KAAKsF,KAYvClC,OAAOC,eAAe6kB,EAAOsS,QAAQ33B,UAAW,SAE5CS,IAAK,WACD,MAAuB,KAAftD,KAAK2G,OAA+B,IAAhB3G,KAAK4G,QAGrCpD,IAAK,SAAUC,GAEPA,KAAU,GAEVzD,KAAK44B,MAAM,EAAG,EAAG,EAAG,MAgBhC1Q,EAAOsS,QAAQrB,SAAW,SAAUz0B,EAAGW,EAAGC,GAEtC,GAAIZ,EAAEiC,OAAS,GAAKjC,EAAEkC,QAAU,EAC5B,OAAO,CAIX,IAAI6zB,IAAUp1B,EAAIX,EAAEW,GAAKX,EAAEiC,MAAS,GAChC+zB,GAAUp1B,EAAIZ,EAAEY,GAAKZ,EAAEkC,OAAU,EAKrC,OAHA6zB,IAASA,EACTC,GAASA,EAEe,IAAhBD,EAAQC,GAKpBz6B,KAAKu6B,QAAUtS,EAAOsS,QAkBtBtS,EAAOyS,KAAO,SAAUpuB,EAAIC,EAAIC,EAAIC,GAEhCH,EAAKA,GAAM,EACXC,EAAKA,GAAM,EACXC,EAAKA,GAAM,EACXC,EAAKA,GAAM,EAKX1M,KAAKkL,MAAQ,GAAIgd,GAAO9mB,MAAMmL,EAAIC,GAKlCxM,KAAK4J,IAAM,GAAIse,GAAO9mB,MAAMqL,EAAIC,GAMhC1M,KAAK4U,KAAOsT,EAAOoL,MAIvBpL,EAAOyS,KAAK93B,WAYR+1B,MAAO,SAAUrsB,EAAIC,EAAIC,EAAIC,GAKzB,MAHA1M,MAAKkL,MAAM0tB,MAAMrsB,EAAIC,GACrBxM,KAAK4J,IAAIgvB,MAAMnsB,EAAIC,GAEZ1M,MAcX46B,WAAY,SAAUC,EAAaC,EAAWC,GAI1C,MAFkBxxB,UAAdwxB,IAA2BA,GAAY,GAEvCA,EAEO/6B,KAAK44B,MAAMiC,EAAYG,OAAO31B,EAAGw1B,EAAYG,OAAO11B,EAAGw1B,EAAUE,OAAO31B,EAAGy1B,EAAUE,OAAO11B,GAGhGtF,KAAK44B,MAAMiC,EAAYx1B,EAAGw1B,EAAYv1B,EAAGw1B,EAAUz1B,EAAGy1B,EAAUx1B,IAc3E21B,UAAW,SAAU51B,EAAGC,EAAG+zB,EAAOn2B,GAK9B,MAHAlD,MAAKkL,MAAM0tB,MAAMvzB,EAAGC,GACpBtF,KAAK4J,IAAIgvB,MAAMvzB,EAAKxE,KAAKuE,IAAIi0B,GAASn2B,EAASoC,EAAKzE,KAAKsE,IAAIk0B,GAASn2B,GAE/DlD,MAiBXk7B,OAAQ,SAAU7B,EAAOC,GAErB,GAAInrB,IAAMnO,KAAKkL,MAAM7F,EAAIrF,KAAK4J,IAAIvE,GAAK,EACnC+I,GAAMpO,KAAKkL,MAAM5F,EAAItF,KAAK4J,IAAItE,GAAK,CAKvC,OAHAtF,MAAKkL,MAAMgwB,OAAO/sB,EAAIC,EAAIirB,EAAOC,GACjCt5B,KAAK4J,IAAIsxB,OAAO/sB,EAAIC,EAAIirB,EAAOC,GAExBt5B,MAcXm7B,aAAc,SAAU91B,EAAGC,EAAG+zB,EAAOC,GAKjC,MAHAt5B,MAAKkL,MAAMgwB,OAAO71B,EAAGC,EAAG+zB,EAAOC,GAC/Bt5B,KAAK4J,IAAIsxB,OAAO71B,EAAGC,EAAG+zB,EAAOC,GAEtBt5B,MAeX25B,WAAY,SAAUyB,EAAMC,EAAWxqB,GAEnC,MAAOqX,GAAOyS,KAAKW,iBAAiBt7B,KAAKkL,MAAOlL,KAAK4J,IAAKwxB,EAAKlwB,MAAOkwB,EAAKxxB,IAAKyxB,EAAWxqB,IAY/F0qB,QAAS,SAAUH,GAEf,MAAOlT,GAAOyS,KAAKY,QAAQv7B,KAAMo7B,IAWrCI,SAAU,SAAU/C,GAOhB,MALYlvB,UAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAE1Cq3B,EAAIpzB,GAAKrF,KAAKkL,MAAM7F,EAAIrF,KAAK4J,IAAIvE,GAAK,EACtCozB,EAAInzB,GAAKtF,KAAKkL,MAAM5F,EAAItF,KAAK4J,IAAItE,GAAK,EAE/BmzB,GAeXgD,SAAU,SAAUp2B,EAAGC,GAEnB,GAAI6I,IAAMnO,KAAKkL,MAAM7F,EAAIrF,KAAK4J,IAAIvE,GAAK,EACnC+I,GAAMpO,KAAKkL,MAAM5F,EAAItF,KAAK4J,IAAItE,GAAK,EAEnCR,EAAKO,EAAI8I,EACTpJ,EAAKO,EAAI8I,CAEbpO,MAAKkL,MAAMwwB,IAAI52B,EAAIC,GACnB/E,KAAK4J,IAAI8xB,IAAI52B,EAAIC,IAYrB42B,YAAa,SAAUt2B,EAAGC,GAEtB,OAASD,EAAIrF,KAAKkL,MAAM7F,IAAMrF,KAAK4J,IAAItE,EAAItF,KAAKkL,MAAM5F,MAAQtF,KAAK4J,IAAIvE,EAAIrF,KAAKkL,MAAM7F,IAAMC,EAAItF,KAAKkL,MAAM5F,IAY/Gs2B,eAAgB,SAAUv2B,EAAGC,GAEzB,GAAIu2B,GAAOh7B,KAAKi7B,IAAI97B,KAAKkL,MAAM7F,EAAGrF,KAAK4J,IAAIvE,GACvC02B,EAAOl7B,KAAKm7B,IAAIh8B,KAAKkL,MAAM7F,EAAGrF,KAAK4J,IAAIvE,GACvC42B,EAAOp7B,KAAKi7B,IAAI97B,KAAKkL,MAAM5F,EAAGtF,KAAK4J,IAAItE,GACvC42B,EAAOr7B,KAAKm7B,IAAIh8B,KAAKkL,MAAM5F,EAAGtF,KAAK4J,IAAItE,EAE3C,OAAQtF,MAAK27B,YAAYt2B,EAAGC,IAAOD,GAAKw2B,GAAaE,GAAL12B,GAAeC,GAAK22B,GAAaC,GAAL52B,GAYhFywB,OAAQ,SAAU0C,GAEFlvB,SAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,MAE1C,IAAI0zB,GAAIj0B,KAAKk1B,QAKb,OAHA0C,GAAIpzB,EAAIrF,KAAKkL,MAAM7F,EAAIyvB,GAAK90B,KAAK4J,IAAIvE,EAAIrF,KAAKkL,MAAM7F,GACpDozB,EAAInzB,EAAItF,KAAKkL,MAAM5F,EAAIwvB,GAAK90B,KAAK4J,IAAItE,EAAItF,KAAKkL,MAAM5F,GAE7CmzB,GAaX0D,kBAAmB,SAAUC,EAAUC,GAElB9yB,SAAb6yB,IAA0BA,EAAW,GACzB7yB,SAAZ8yB,IAAyBA,KAE7B,IAAI9vB,GAAK1L,KAAKo4B,MAAMj5B,KAAKkL,MAAM7F,GAC3BmH,EAAK3L,KAAKo4B,MAAMj5B,KAAKkL,MAAM5F,GAC3BmH,EAAK5L,KAAKo4B,MAAMj5B,KAAK4J,IAAIvE,GACzBqH,EAAK7L,KAAKo4B,MAAMj5B,KAAK4J,IAAItE,GAEzBkI,EAAK3M,KAAKi5B,IAAIrtB,EAAKF,GACnBmB,EAAK7M,KAAKi5B,IAAIptB,EAAKF,GACnB8vB,EAAW7vB,EAALF,EAAW,EAAI,GACrBgwB,EAAW7vB,EAALF,EAAW,EAAI,GACrBgwB,EAAMhvB,EAAKE,CAEf2uB,GAAQt4B,MAAMwI,EAAIC,GAIlB,KAFA,GAAIvJ,GAAI,EAEEsJ,GAAME,GAAQD,GAAME,GAC9B,CACI,GAAI+vB,GAAKD,GAAO,CAEZC,IAAM/uB,IAEN8uB,GAAO9uB,EACPnB,GAAM+vB,GAGD9uB,EAALivB,IAEAD,GAAOhvB,EACPhB,GAAM+vB,GAGNt5B,EAAIm5B,IAAa,GAEjBC,EAAQt4B,MAAMwI,EAAIC,IAGtBvJ,IAIJ,MAAOo5B,IAUX5E,MAAO,SAAUyB,GAWb,MATe3vB,UAAX2vB,GAAmC,OAAXA,EAExBA,EAAS,GAAIhR,GAAOyS,KAAK36B,KAAKkL,MAAM7F,EAAGrF,KAAKkL,MAAM5F,EAAGtF,KAAK4J,IAAIvE,EAAGrF,KAAK4J,IAAItE,GAI1E4zB,EAAON,MAAM54B,KAAKkL,MAAM7F,EAAGrF,KAAKkL,MAAM5F,EAAGtF,KAAK4J,IAAIvE,EAAGrF,KAAK4J,IAAItE,GAG3D4zB,IAWf91B,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,UAEzCS,IAAK,WACD,MAAOzC,MAAK0E,MAAMvF,KAAK4J,IAAIvE,EAAIrF,KAAKkL,MAAM7F,IAAMrF,KAAK4J,IAAIvE,EAAIrF,KAAKkL,MAAM7F,IAAMrF,KAAK4J,IAAItE,EAAItF,KAAKkL,MAAM5F,IAAMtF,KAAK4J,IAAItE,EAAItF,KAAKkL,MAAM5F,OAU5IlC,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,SAEzCS,IAAK,WACD,MAAOzC,MAAK2E,MAAMxF,KAAK4J,IAAItE,EAAItF,KAAKkL,MAAM5F,EAAGtF,KAAK4J,IAAIvE,EAAIrF,KAAKkL,MAAM7F,MAU7EjC,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,SAEzCS,IAAK,WACD,OAAQtD,KAAK4J,IAAItE,EAAItF,KAAKkL,MAAM5F,IAAMtF,KAAK4J,IAAIvE,EAAIrF,KAAKkL,MAAM7F,MAUtEjC,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,aAEzCS,IAAK,WACD,SAAUtD,KAAK4J,IAAIvE,EAAIrF,KAAKkL,MAAM7F,IAAMrF,KAAK4J,IAAItE,EAAItF,KAAKkL,MAAM5F,OAUxElC,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,KAEzCS,IAAK,WACD,MAAOzC,MAAKi7B,IAAI97B,KAAKkL,MAAM7F,EAAGrF,KAAK4J,IAAIvE,MAU/CjC,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,KAEzCS,IAAK,WACD,MAAOzC,MAAKi7B,IAAI97B,KAAKkL,MAAM5F,EAAGtF,KAAK4J,IAAItE,MAU/ClC,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,QAEzCS,IAAK,WACD,MAAOzC,MAAKi7B,IAAI97B,KAAKkL,MAAM7F,EAAGrF,KAAK4J,IAAIvE,MAU/CjC,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,SAEzCS,IAAK,WACD,MAAOzC,MAAKm7B,IAAIh8B,KAAKkL,MAAM7F,EAAGrF,KAAK4J,IAAIvE,MAU/CjC,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,OAEzCS,IAAK,WACD,MAAOzC,MAAKi7B,IAAI97B,KAAKkL,MAAM5F,EAAGtF,KAAK4J,IAAItE,MAU/ClC,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,UAEzCS,IAAK,WACD,MAAOzC,MAAKm7B,IAAIh8B,KAAKkL,MAAM5F,EAAGtF,KAAK4J,IAAItE,MAU/ClC,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,SAEzCS,IAAK,WACD,MAAOzC,MAAKi5B,IAAI95B,KAAKkL,MAAM7F,EAAIrF,KAAK4J,IAAIvE,MAUhDjC,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,UAEzCS,IAAK,WACD,MAAOzC,MAAKi5B,IAAI95B,KAAKkL,MAAM5F,EAAItF,KAAK4J,IAAItE,MAUhDlC,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,WAEzCS,IAAK,WACD,MAAOzC,MAAKuE,IAAIpF,KAAKq5B,MAAQ,uBAUrCj2B,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,WAEzCS,IAAK,WACD,MAAOzC,MAAKsE,IAAInF,KAAKq5B,MAAQ,uBAUrCj2B,OAAOC,eAAe6kB,EAAOyS,KAAK93B,UAAW,eAEzCS,IAAK,WACD,MAAO4kB,GAAOrnB,KAAK67B,KAAK18B,KAAKq5B,MAAQ,oBAAqBx4B,KAAKC,GAAID,KAAKC,OAoBhFonB,EAAOyS,KAAKW,iBAAmB,SAAU52B,EAAGC,EAAGwyB,EAAGd,EAAGgF,EAAWxqB,GAE1CtH,SAAd8xB,IAA2BA,GAAY,GAC5B9xB,SAAXsH,IAAwBA,EAAS,GAAIqX,GAAO9mB,MAEhD,IAAIu7B,GAAKh4B,EAAEW,EAAIZ,EAAEY,EACbs3B,EAAKvG,EAAE/wB,EAAI6xB,EAAE7xB,EACbu3B,EAAKn4B,EAAEW,EAAIV,EAAEU,EACby3B,EAAK3F,EAAE9xB,EAAIgxB,EAAEhxB,EACb03B,EAAMp4B,EAAEU,EAAIX,EAAEY,EAAMZ,EAAEW,EAAIV,EAAEW,EAC5B03B,EAAM3G,EAAEhxB,EAAI8xB,EAAE7xB,EAAM6xB,EAAE9xB,EAAIgxB,EAAE/wB,EAC5B23B,EAASN,EAAKG,EAAOF,EAAKC,CAE9B,IAAc,IAAVI,EAEA,MAAO,KAMX,IAHApsB,EAAOxL,GAAMw3B,EAAKG,EAAOF,EAAKC,GAAOE,EACrCpsB,EAAOvL,GAAMs3B,EAAKG,EAAOJ,EAAKK,GAAOC,EAEjC5B,EACJ,CACI,GAAI6B,IAAO7G,EAAE/wB,EAAI6xB,EAAE7xB,IAAMX,EAAEU,EAAIX,EAAEW,IAAMgxB,EAAEhxB,EAAI8xB,EAAE9xB,IAAMV,EAAEW,EAAIZ,EAAEY,GACzD63B,IAAQ9G,EAAEhxB,EAAI8xB,EAAE9xB,IAAMX,EAAEY,EAAI6xB,EAAE7xB,IAAO+wB,EAAE/wB,EAAI6xB,EAAE7xB,IAAMZ,EAAEW,EAAI8xB,EAAE9xB,IAAM63B,EACjEE,IAAQz4B,EAAEU,EAAIX,EAAEW,IAAMX,EAAEY,EAAI6xB,EAAE7xB,IAAQX,EAAEW,EAAIZ,EAAEY,IAAMZ,EAAEW,EAAI8xB,EAAE9xB,IAAO63B,CAEvE,OAAIC,IAAM,GAAW,GAANA,GAAWC,GAAM,GAAW,GAANA,EAE1BvsB,EAIA,KAIf,MAAOA,IAkBXqX,EAAOyS,KAAKhB,WAAa,SAAUj1B,EAAGC,EAAG02B,EAAWxqB,GAEhD,MAAOqX,GAAOyS,KAAKW,iBAAiB52B,EAAEwG,MAAOxG,EAAEkF,IAAKjF,EAAEuG,MAAOvG,EAAEiF,IAAKyxB,EAAWxqB,IAanFqX,EAAOyS,KAAKY,QAAU,SAAU72B,EAAGC,GAE/B,MAAO,GAAIA,EAAE04B,YAAc,kBAAoB34B,EAAE20B,OA6BrDnR,EAAOlmB,OAAS,SAAU0C,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,GAEtCL,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTC,EAAKA,GAAM,EACXC,EAAKA,GAAM,EAMX/E,KAAK0E,EAAIA,EAMT1E,KAAK2E,EAAIA,EAMT3E,KAAK4E,EAAIA,EAMT5E,KAAK6E,EAAIA,EAMT7E,KAAK8E,GAAKA,EAMV9E,KAAK+E,GAAKA,EAMV/E,KAAK4U,KAAOsT,EAAOqL,QAIvBrL,EAAOlmB,OAAOa,WAkBVy6B,UAAW,SAAUC,GAEjB,MAAOv9B,MAAK44B,MAAM2E,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,GAAIA,EAAM,KAgB9E3E,MAAO,SAAUl0B,EAAGC,EAAGC,EAAGC,EAAGC,EAAIC,GAS7B,MAPA/E,MAAK0E,EAAIA,EACT1E,KAAK2E,EAAIA,EACT3E,KAAK4E,EAAIA,EACT5E,KAAK6E,EAAIA,EACT7E,KAAK8E,GAAKA,EACV9E,KAAK+E,GAAKA,EAEH/E,MAaXy3B,MAAO,SAAUyB,GAgBb,MAde3vB,UAAX2vB,GAAmC,OAAXA,EAExBA,EAAS,GAAIhR,GAAOlmB,OAAOhC,KAAK0E,EAAG1E,KAAK2E,EAAG3E,KAAK4E,EAAG5E,KAAK6E,EAAG7E,KAAK8E,GAAI9E,KAAK+E,KAIzEm0B,EAAOx0B,EAAI1E,KAAK0E,EAChBw0B,EAAOv0B,EAAI3E,KAAK2E,EAChBu0B,EAAOt0B,EAAI5E,KAAK4E,EAChBs0B,EAAOr0B,EAAI7E,KAAK6E,EAChBq0B,EAAOp0B,GAAK9E,KAAK8E,GACjBo0B,EAAOn0B,GAAK/E,KAAK+E,IAGdm0B,GAWXJ,OAAQ,SAAUhzB,GAId,MAFAA,GAAO+yB,SAAS74B,MAET8F,GAWX+yB,SAAU,SAAU/yB,GAShB,MAPA9F,MAAK0E,EAAIoB,EAAOpB,EAChB1E,KAAK2E,EAAImB,EAAOnB,EAChB3E,KAAK4E,EAAIkB,EAAOlB,EAChB5E,KAAK6E,EAAIiB,EAAOjB,EAChB7E,KAAK8E,GAAKgB,EAAOhB,GACjB9E,KAAK+E,GAAKe,EAAOf,GAEV/E,MAYXof,QAAS,SAAUlI,EAAWqmB,GA6B1B,MA3Bch0B,UAAVg0B,IAAuBA,EAAQ,GAAIt9B,MAAKM,aAAa,IAErD2W,GAEAqmB,EAAM,GAAKv9B,KAAK0E,EAChB64B,EAAM,GAAKv9B,KAAK2E,EAChB44B,EAAM,GAAK,EACXA,EAAM,GAAKv9B,KAAK4E,EAChB24B,EAAM,GAAKv9B,KAAK6E,EAChB04B,EAAM,GAAK,EACXA,EAAM,GAAKv9B,KAAK8E,GAChBy4B,EAAM,GAAKv9B,KAAK+E,GAChBw4B,EAAM,GAAK,IAIXA,EAAM,GAAKv9B,KAAK0E,EAChB64B,EAAM,GAAKv9B,KAAK4E,EAChB24B,EAAM,GAAKv9B,KAAK8E,GAChBy4B,EAAM,GAAKv9B,KAAK2E,EAChB44B,EAAM,GAAKv9B,KAAK6E,EAChB04B,EAAM,GAAKv9B,KAAK+E,GAChBw4B,EAAM,GAAK,EACXA,EAAM,GAAK,EACXA,EAAM,GAAK,GAGRA,GAcXt2B,MAAO,SAAUu2B,EAAKC,GAOlB,MALel0B,UAAXk0B,IAAwBA,EAAS,GAAIvV,GAAO9mB,OAEhDq8B,EAAOp4B,EAAIrF,KAAK0E,EAAI84B,EAAIn4B,EAAIrF,KAAK4E,EAAI44B,EAAIl4B,EAAItF,KAAK8E,GAClD24B,EAAOn4B,EAAItF,KAAK2E,EAAI64B,EAAIn4B,EAAIrF,KAAK6E,EAAI24B,EAAIl4B,EAAItF,KAAK+E,GAE3C04B,GAcXr2B,aAAc,SAAUo2B,EAAKC,GAEVl0B,SAAXk0B,IAAwBA,EAAS,GAAIvV,GAAO9mB,MAEhD,IAAIqU,GAAK,GAAKzV,KAAK0E,EAAI1E,KAAK6E,EAAI7E,KAAK4E,GAAK5E,KAAK2E,GAC3CU,EAAIm4B,EAAIn4B,EACRC,EAAIk4B,EAAIl4B,CAKZ,OAHAm4B,GAAOp4B,EAAIrF,KAAK6E,EAAI4Q,EAAKpQ,GAAKrF,KAAK4E,EAAI6Q,EAAKnQ,GAAKtF,KAAK+E,GAAK/E,KAAK4E,EAAI5E,KAAK8E,GAAK9E,KAAK6E,GAAK4Q,EACxFgoB,EAAOn4B,EAAItF,KAAK0E,EAAI+Q,EAAKnQ,GAAKtF,KAAK2E,EAAI8Q,EAAKpQ,IAAMrF,KAAK+E,GAAK/E,KAAK0E,EAAI1E,KAAK8E,GAAK9E,KAAK2E,GAAK8Q,EAElFgoB,GAaX3S,UAAW,SAAUzlB,EAAGC,GAKpB,MAHAtF,MAAK8E,IAAMO,EACXrF,KAAK+E,IAAMO,EAEJtF,MAYXqB,MAAO,SAAUgE,EAAGC,GAShB,MAPAtF,MAAK0E,GAAKW,EACVrF,KAAK6E,GAAKS,EACVtF,KAAK4E,GAAKS,EACVrF,KAAK2E,GAAKW,EACVtF,KAAK8E,IAAMO,EACXrF,KAAK+E,IAAMO,EAEJtF,MAWXk7B,OAAQ,SAAU7B,GAEd,GAAIj0B,GAAMvE,KAAKuE,IAAIi0B,GACfl0B,EAAMtE,KAAKsE,IAAIk0B,GAEfsD,EAAK38B,KAAK0E,EACVq4B,EAAK/8B,KAAK4E,EACV84B,EAAM19B,KAAK8E,EASf,OAPA9E,MAAK0E,EAAIi4B,EAAKv3B,EAAIpF,KAAK2E,EAAIQ,EAC3BnF,KAAK2E,EAAIg4B,EAAKx3B,EAAInF,KAAK2E,EAAIS,EAC3BpF,KAAK4E,EAAIm4B,EAAK33B,EAAIpF,KAAK6E,EAAIM,EAC3BnF,KAAK6E,EAAIk4B,EAAK53B,EAAInF,KAAK6E,EAAIO,EAC3BpF,KAAK8E,GAAK44B,EAAMt4B,EAAMpF,KAAK+E,GAAKI,EAChCnF,KAAK+E,GAAK24B,EAAMv4B,EAAMnF,KAAK+E,GAAKK,EAEzBpF,MAWX+qB,OAAQ,SAAUjlB,GAEd,GAAI62B,GAAK38B,KAAK0E,EACVm4B,EAAK78B,KAAK2E,EACVo4B,EAAK/8B,KAAK4E,EACV+4B,EAAK39B,KAAK6E,CAUd,OARA7E,MAAK0E,EAAKoB,EAAOpB,EAAIi4B,EAAK72B,EAAOnB,EAAIo4B,EACrC/8B,KAAK2E,EAAKmB,EAAOpB,EAAIm4B,EAAK/2B,EAAOnB,EAAIg5B,EACrC39B,KAAK4E,EAAKkB,EAAOlB,EAAI+3B,EAAK72B,EAAOjB,EAAIk4B,EACrC/8B,KAAK6E,EAAKiB,EAAOlB,EAAIi4B,EAAK/2B,EAAOjB,EAAI84B,EAErC39B,KAAK8E,GAAKgB,EAAOhB,GAAK63B,EAAK72B,EAAOf,GAAKg4B,EAAK/8B,KAAK8E,GACjD9E,KAAK+E,GAAKe,EAAOhB,GAAK+3B,EAAK/2B,EAAOf,GAAK44B,EAAK39B,KAAK+E,GAE1C/E,MAUX6qB,SAAU,WAEN,MAAO7qB,MAAK44B,MAAM,EAAG,EAAG,EAAG,EAAG,EAAG,KAMzC1Q,EAAOjiB,eAAiB,GAAIiiB,GAAOlmB,OAGnC/B,KAAK+B,OAASkmB,EAAOlmB,OACrB/B,KAAKgG,eAAiBiiB,EAAOjiB,eAmB7BiiB,EAAO9mB,MAAQ,SAAUiE,EAAGC,GAExBD,EAAIA,GAAK,EACTC,EAAIA,GAAK,EAKTtF,KAAKqF,EAAIA,EAKTrF,KAAKsF,EAAIA,EAMTtF,KAAK4U,KAAOsT,EAAOsL,OAIvBtL,EAAO9mB,MAAMyB,WASTg2B,SAAU,SAAUxqB,GAEhB,MAAOrO,MAAK44B,MAAMvqB,EAAOhJ,EAAGgJ,EAAO/I,IAUvCs4B,OAAQ,WAEJ,MAAO59B,MAAK44B,MAAM54B,KAAKsF,EAAGtF,KAAKqF,IAcnCuzB,MAAO,SAAUvzB,EAAGC,GAKhB,MAHAtF,MAAKqF,EAAIA,GAAK,EACdrF,KAAKsF,EAAIA,IAAc,IAANA,EAAWtF,KAAKqF,EAAI,GAE9BrF,MAcXwD,IAAK,SAAU6B,EAAGC,GAKd,MAHAtF,MAAKqF,EAAIA,GAAK,EACdrF,KAAKsF,EAAIA,IAAc,IAANA,EAAWtF,KAAKqF,EAAI,GAE9BrF,MAYX07B,IAAK,SAAUr2B,EAAGC,GAId,MAFAtF,MAAKqF,GAAKA,EACVrF,KAAKsF,GAAKA,EACHtF,MAYX69B,SAAU,SAAUx4B,EAAGC,GAInB,MAFAtF,MAAKqF,GAAKA,EACVrF,KAAKsF,GAAKA,EACHtF,MAYX89B,SAAU,SAAUz4B,EAAGC,GAInB,MAFAtF,MAAKqF,GAAKA,EACVrF,KAAKsF,GAAKA,EACHtF,MAYX+9B,OAAQ,SAAU14B,EAAGC,GAIjB,MAFAtF,MAAKqF,GAAKA,EACVrF,KAAKsF,GAAKA,EACHtF,MAYXg+B,OAAQ,SAAUlC,EAAKE,GAGnB,MADAh8B,MAAKqF,EAAI6iB,EAAOrnB,KAAKo9B,MAAMj+B,KAAKqF,EAAGy2B,EAAKE,GACjCh8B,MAYXk+B,OAAQ,SAAUpC,EAAKE,GAGnB,MADAh8B,MAAKsF,EAAI4iB,EAAOrnB,KAAKo9B,MAAMj+B,KAAKsF,EAAGw2B,EAAKE,GACjCh8B,MAYXi+B,MAAO,SAAUnC,EAAKE,GAIlB,MAFAh8B,MAAKqF,EAAI6iB,EAAOrnB,KAAKo9B,MAAMj+B,KAAKqF,EAAGy2B,EAAKE,GACxCh8B,KAAKsF,EAAI4iB,EAAOrnB,KAAKo9B,MAAMj+B,KAAKsF,EAAGw2B,EAAKE,GACjCh8B,MAWXy3B,MAAO,SAAUyB,GAWb,MATe3vB,UAAX2vB,GAAmC,OAAXA,EAExBA,EAAS,GAAIhR,GAAO9mB,MAAMpB,KAAKqF,EAAGrF,KAAKsF,GAIvC4zB,EAAON,MAAM54B,KAAKqF,EAAGrF,KAAKsF,GAGvB4zB,GAWXJ,OAAQ,SAAUC,GAKd,MAHAA,GAAK1zB,EAAIrF,KAAKqF,EACd0zB,EAAKzzB,EAAItF,KAAKsF,EAEPyzB,GAYXC,SAAU,SAAUD,EAAME,GAEtB,MAAO/Q,GAAO9mB,MAAM43B,SAASh5B,KAAM+4B,EAAME,IAW7CS,OAAQ,SAAUh1B,GAEd,MAAQA,GAAEW,IAAMrF,KAAKqF,GAAKX,EAAEY,IAAMtF,KAAKsF,GAY3C+zB,MAAO,SAAU30B,EAAG40B,GAIhB,MAFkB/vB,UAAd+vB,IAA2BA,GAAY,GAEvCA,EAEOpR,EAAOrnB,KAAKs9B,SAASt9B,KAAK2E,MAAMd,EAAEY,EAAItF,KAAKsF,EAAGZ,EAAEW,EAAIrF,KAAKqF,IAIzDxE,KAAK2E,MAAMd,EAAEY,EAAItF,KAAKsF,EAAGZ,EAAEW,EAAIrF,KAAKqF,IAgBnD61B,OAAQ,SAAU71B,EAAGC,EAAG+zB,EAAOC,EAAWN,GAEtC,MAAO9Q,GAAO9mB,MAAM85B,OAAOl7B,KAAMqF,EAAGC,EAAG+zB,EAAOC,EAAWN,IAU7DoF,aAAc,WAEV,MAAOv9B,MAAK0E,KAAMvF,KAAKqF,EAAIrF,KAAKqF,EAAMrF,KAAKsF,EAAItF,KAAKsF,IAUxD+4B,eAAgB,WAEZ,MAAQr+B,MAAKqF,EAAIrF,KAAKqF,EAAMrF,KAAKsF,EAAItF,KAAKsF,GAW9Cg5B,aAAc,SAAUC,GAEpB,MAAOv+B,MAAKw+B,YAAYV,SAASS,EAAWA,IAUhDC,UAAW,WAEP,IAAKx+B,KAAKy+B,SACV,CACI,GAAIC,GAAI1+B,KAAKo+B,cACbp+B,MAAKqF,GAAKq5B,EACV1+B,KAAKsF,GAAKo5B,EAGd,MAAO1+B,OAUXy+B,OAAQ,WAEJ,MAAmB,KAAXz+B,KAAKqF,GAAsB,IAAXrF,KAAKsF,GAWjCq5B,IAAK,SAAUj6B,GAEX,MAAS1E,MAAKqF,EAAIX,EAAEW,EAAMrF,KAAKsF,EAAIZ,EAAEY,GAWzCs5B,MAAO,SAAUl6B,GAEb,MAAS1E,MAAKqF,EAAIX,EAAEY,EAAMtF,KAAKsF,EAAIZ,EAAEW,GAUzC4pB,KAAM,WAEF,MAAOjvB,MAAK44B,OAAO54B,KAAKsF,EAAGtF,KAAKqF,IAUpCw5B,MAAO,WAEH,MAAO7+B,MAAK44B,MAAM54B,KAAKsF,GAAItF,KAAKqF,IAUpCy5B,gBAAiB,WAEb,MAAO9+B,MAAK44B,MAAe,GAAT54B,KAAKsF,EAAQtF,KAAKqF,IAUxCyuB,MAAO,WAEH,MAAO9zB,MAAK44B,MAAM/3B,KAAKizB,MAAM9zB,KAAKqF,GAAIxE,KAAKizB,MAAM9zB,KAAKsF,KAU1DuuB,KAAM,WAEF,MAAO7zB,MAAK44B,MAAM/3B,KAAKgzB,KAAK7zB,KAAKqF,GAAIxE,KAAKgzB,KAAK7zB,KAAKsF,KAUxD6hB,SAAU,WAEN,MAAO,cAAgBnnB,KAAKqF,EAAI,MAAQrF,KAAKsF,EAAI,QAMzD4iB,EAAO9mB,MAAMyB,UAAUC,YAAcolB,EAAO9mB,MAW5C8mB,EAAO9mB,MAAMs6B,IAAM,SAAUh3B,EAAGC,EAAG8zB,GAO/B,MALYlvB,UAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAE1Cq3B,EAAIpzB,EAAIX,EAAEW,EAAIV,EAAEU,EAChBozB,EAAInzB,EAAIZ,EAAEY,EAAIX,EAAEW,EAETmzB,GAaXvQ,EAAO9mB,MAAMy8B,SAAW,SAAUn5B,EAAGC,EAAG8zB,GAOpC,MALYlvB,UAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAE1Cq3B,EAAIpzB,EAAIX,EAAEW,EAAIV,EAAEU,EAChBozB,EAAInzB,EAAIZ,EAAEY,EAAIX,EAAEW,EAETmzB,GAaXvQ,EAAO9mB,MAAM08B,SAAW,SAAUp5B,EAAGC,EAAG8zB,GAOpC,MALYlvB,UAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAE1Cq3B,EAAIpzB,EAAIX,EAAEW,EAAIV,EAAEU,EAChBozB,EAAInzB,EAAIZ,EAAEY,EAAIX,EAAEW,EAETmzB,GAaXvQ,EAAO9mB,MAAM28B,OAAS,SAAUr5B,EAAGC,EAAG8zB,GAOlC,MALYlvB,UAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAE1Cq3B,EAAIpzB,EAAIX,EAAEW,EAAIV,EAAEU,EAChBozB,EAAInzB,EAAIZ,EAAEY,EAAIX,EAAEW,EAETmzB,GAYXvQ,EAAO9mB,MAAMs4B,OAAS,SAAUh1B,EAAGC,GAE/B,MAAQD,GAAEW,IAAMV,EAAEU,GAAKX,EAAEY,IAAMX,EAAEW,GAYrC4iB,EAAO9mB,MAAMi4B,MAAQ,SAAU30B,EAAGC,GAG9B,MAAO9D,MAAK2E,MAAMd,EAAEY,EAAIX,EAAEW,EAAGZ,EAAEW,EAAIV,EAAEU,IAYzC6iB,EAAO9mB,MAAM29B,SAAW,SAAUr6B,EAAG+zB,GAIjC,MAFYlvB,UAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAEnCq3B,EAAIG,OAAOl0B,EAAEW,GAAIX,EAAEY,IAc9B4iB,EAAO9mB,MAAM49B,YAAc,SAAUt6B,EAAGC,EAAGs6B,EAAGxG,GAI1C,MAFYlvB,UAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAEnCq3B,EAAIG,MAAMl0B,EAAEW,EAAIV,EAAEU,EAAI45B,EAAGv6B,EAAEY,EAAIX,EAAEW,EAAI25B,IAchD/W,EAAO9mB,MAAM89B,YAAc,SAAUx6B,EAAGC,EAAG0xB,EAAGoC,GAI1C,MAFYlvB,UAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAEnCq3B,EAAIG,MAAMl0B,EAAEW,GAAKV,EAAEU,EAAIX,EAAEW,GAAKgxB,EAAG3xB,EAAEY,GAAKX,EAAEW,EAAIZ,EAAEY,GAAK+wB,IAYhEnO,EAAO9mB,MAAM6tB,KAAO,SAAUvqB,EAAG+zB,GAI7B,MAFYlvB,UAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAEnCq3B,EAAIG,OAAOl0B,EAAEY,EAAGZ,EAAEW,IAY7B6iB,EAAO9mB,MAAMy9B,MAAQ,SAAUn6B,EAAG+zB,GAI9B,MAFYlvB,UAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAEnCq3B,EAAIG,MAAMl0B,EAAEY,GAAIZ,EAAEW,IAa7B6iB,EAAO9mB,MAAM43B,SAAW,SAAUt0B,EAAGC,EAAGs0B,GAEpC,GAAID,GAAW9Q,EAAOrnB,KAAKm4B,SAASt0B,EAAEW,EAAGX,EAAEY,EAAGX,EAAEU,EAAGV,EAAEW,EACrD,OAAO2zB,GAAQp4B,KAAKo4B,MAAMD,GAAYA,GAa1C9Q,EAAO9mB,MAAM+9B,QAAU,SAAUz6B,EAAGC,EAAG8zB,GAEvBlvB,SAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,MAE1C,IAAIg+B,GAAM16B,EAAEi6B,IAAIh6B,GAAKA,EAAE05B,gBAOvB,OALY,KAARe,GAEA3G,EAAIG,MAAMwG,EAAMz6B,EAAEU,EAAG+5B,EAAMz6B,EAAEW,GAG1BmzB,GAaXvQ,EAAO9mB,MAAMi+B,YAAc,SAAU36B,EAAGC,EAAG8zB,GAE3BlvB,SAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,MAE1C,IAAIg+B,GAAM16B,EAAEi6B,IAAIh6B,EAOhB,OALY,KAARy6B,GAEA3G,EAAIG,MAAMwG,EAAMz6B,EAAEU,EAAG+5B,EAAMz6B,EAAEW,GAG1BmzB,GAYXvQ,EAAO9mB,MAAM09B,gBAAkB,SAAUp6B,EAAG+zB,GAIxC,MAFYlvB,UAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAEnCq3B,EAAIG,MAAY,GAANl0B,EAAEY,EAAQZ,EAAEW,IAYjC6iB,EAAO9mB,MAAMo9B,UAAY,SAAU95B,EAAG+zB,GAEtBlvB,SAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,MAE1C,IAAIs9B,GAAIh6B,EAAE05B,cAOV,OALU,KAANM,GAEAjG,EAAIG,MAAMl0B,EAAEW,EAAIq5B,EAAGh6B,EAAEY,EAAIo5B,GAGtBjG,GAqBXvQ,EAAO9mB,MAAM85B,OAAS,SAAUx2B,EAAGW,EAAGC,EAAG+zB,EAAOC,EAAWN,GAIvD,GAFIM,IAAaD,EAAQnR,EAAOrnB,KAAK+4B,SAASP,IAE7B9vB,SAAbyvB,EACJ,CACIt0B,EAAEm5B,SAASx4B,EAAGC,EAEd,IAAI25B,GAAIp+B,KAAKsE,IAAIk0B,GACbz0B,EAAI/D,KAAKuE,IAAIi0B,GAEbv0B,EAAKF,EAAIF,EAAEW,EAAI45B,EAAIv6B,EAAEY,EACrBP,EAAKk6B,EAAIv6B,EAAEW,EAAIT,EAAIF,EAAEY,CAEzBZ,GAAEW,EAAIP,EAAKO,EACXX,EAAEY,EAAIP,EAAKO,MAGf,CACI,GAAIwvB,GAAIuE,EAAQx4B,KAAK2E,MAAMd,EAAEY,EAAIA,EAAGZ,EAAEW,EAAIA,EAC1CX,GAAEW,EAAIA,EAAI2zB,EAAWn4B,KAAKuE,IAAI0vB,GAC9BpwB,EAAEY,EAAIA,EAAI0zB,EAAWn4B,KAAKsE,IAAI2vB,GAGlC,MAAOpwB,IAYXwjB,EAAO9mB,MAAMk+B,SAAW,SAAU3Q,EAAQ8J,GAItC,GAFYlvB,SAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAEK,mBAA3CgC,OAAOP,UAAUskB,SAASzhB,KAAKipB,GAE/B,KAAM,IAAIhmB,OAAM,oDAGpB,IAAI42B,GAAe5Q,EAAOzrB,MAE1B,IAAmB,EAAfq8B,EAEA,KAAM,IAAI52B,OAAM,2DAGpB,IAAqB,IAAjB42B,EAGA,MADA9G,GAAII,SAASlK,EAAO,IACb8J,CAGX,KAAK,GAAIx1B,GAAI,EAAOs8B,EAAJt8B,EAAkBA,IAE9BilB,EAAO9mB,MAAMs6B,IAAIjD,EAAK9J,EAAO1rB,GAAIw1B,EAKrC,OAFAA,GAAIsF,OAAOwB,EAAcA,GAElB9G,GAeXvQ,EAAO9mB,MAAMo+B,MAAQ,SAASnK,EAAKoK,EAAOC,GAEtCD,EAAQA,GAAS,IACjBC,EAAQA,GAAS,GAEjB,IAAI7Q,GAAQ,GAAI3G,GAAO9mB,KAYvB,OAVIi0B,GAAIoK,KAEJ5Q,EAAMxpB,EAAIkxB,SAASlB,EAAIoK,GAAQ,KAG/BpK,EAAIqK,KAEJ7Q,EAAMvpB,EAAIixB,SAASlB,EAAIqK,GAAQ,KAG5B7Q,GAKX5uB,KAAKmB,MAAQ8mB,EAAO9mB,MAyBpB8mB,EAAOyX,QAAU,WAKb3/B,KAAK4/B,KAAO,EAMZ5/B,KAAK6/B,WAEDtL,UAAUrxB,OAAS,GAEnBlD,KAAK44B,MAAM3xB,MAAMjH,KAAMu0B,WAM3Bv0B,KAAK8/B,QAAS,EAKd9/B,KAAK4U,KAAOsT,EAAOyK,SAIvBzK,EAAOyX,QAAQ98B,WASXk9B,cAAe,SAAU7G,GAEN3vB,SAAX2vB,IAAwBA,KAE5B,KAAK,GAAIj2B,GAAI,EAAGA,EAAIjD,KAAK6/B,QAAQ38B,OAAQD,IAEN,gBAApBjD,MAAK6/B,QAAQ58B,IAEpBi2B,EAAOn1B,KAAK/D,KAAK6/B,QAAQ58B,IACzBi2B,EAAOn1B,KAAK/D,KAAK6/B,QAAQ58B,EAAI,IAC7BA,MAIAi2B,EAAOn1B,KAAK/D,KAAK6/B,QAAQ58B,GAAGoC,GAC5B6zB,EAAOn1B,KAAK/D,KAAK6/B,QAAQ58B,GAAGqC,GAIpC,OAAO4zB,IAUX8G,QAAS,WAIL,MAFAhgC,MAAK6/B,QAAU7/B,KAAK+/B,gBAEb//B,MAYXy3B,MAAO,SAAUyB,GAEb,GAAIvK,GAAS3uB,KAAK6/B,QAAQ5L,OAW1B,OATe1qB,UAAX2vB,GAAmC,OAAXA,EAExBA,EAAS,GAAIhR,GAAOyX,QAAQhR,GAI5BuK,EAAON,MAAMjK,GAGVuK,GAYXC,SAAU,SAAU9zB,EAAGC,GAOnB,IAAK,GAHDpC,GAASlD,KAAK6/B,QAAQ38B,OACtB+8B,GAAS,EAEJh9B,EAAI,GAAIa,EAAIZ,EAAS,IAAKD,EAAIC,EAAQY,EAAIb,EACnD,CACI,GAAIi9B,GAAKlgC,KAAK6/B,QAAQ58B,GAAGoC,EACrB86B,EAAKngC,KAAK6/B,QAAQ58B,GAAGqC,EAErB86B,EAAKpgC,KAAK6/B,QAAQ/7B,GAAGuB,EACrBg7B,EAAKrgC,KAAK6/B,QAAQ/7B,GAAGwB,GAEbA,GAAN66B,GAAeE,EAAJ/6B,GAAkBA,GAAN+6B,GAAeF,EAAJ76B,KAAkB86B,EAAKF,IAAO56B,EAAI66B,IAAOE,EAAKF,GAAMD,EAAvC76B,IAEjD46B,GAAUA,GAIlB,MAAOA,IAsBXrH,MAAO,SAAUjK,GAKb,GAHA3uB,KAAK4/B,KAAO,EACZ5/B,KAAK6/B,WAEDtL,UAAUrxB,OAAS,EACvB,CAESvC,MAAMoR,QAAQ4c,KAEfA,EAAShuB,MAAMkC,UAAUoxB,MAAMvuB,KAAK6uB,WAMxC,KAAK,GAHDjS,GAAKge,OAAOC,UAGPt9B,EAAI,EAAG8xB,EAAMpG,EAAOzrB,OAAY6xB,EAAJ9xB,EAASA,IAC9C,CACI,GAAyB,gBAAd0rB,GAAO1rB,GAClB,CACI,GAAIuB,GAAI,GAAIvE,MAAKmB,MAAMutB,EAAO1rB,GAAI0rB,EAAO1rB,EAAI,GAC7CA,SAIA,IAAIuB,GAAI,GAAIvE,MAAKmB,MAAMutB,EAAO1rB,GAAGoC,EAAGspB,EAAO1rB,GAAGqC,EAGlDtF,MAAK6/B,QAAQ97B,KAAKS,GAGdA,EAAEc,EAAIgd,IAENA,EAAK9d,EAAEc,GAIftF,KAAKwgC,cAAcle,GAGvB,MAAOtiB,OAYXwgC,cAAe,SAAUle,GAOrB,IAAK,GALDme,GACAC,EACAC,EACAh6B,EAEK1D,EAAI,EAAG8xB,EAAM/0B,KAAK6/B,QAAQ38B,OAAY6xB,EAAJ9xB,EAASA,IAEhDw9B,EAAKzgC,KAAK6/B,QAAQ58B,GAIdy9B,EAFAz9B,IAAM8xB,EAAM,EAEP/0B,KAAK6/B,QAAQ,GAIb7/B,KAAK6/B,QAAQ58B,EAAI,GAG1B09B,GAAcF,EAAGn7B,EAAIgd,GAAOoe,EAAGp7B,EAAIgd,IAAO,EAC1C3b,EAAQ85B,EAAGp7B,EAAIq7B,EAAGr7B,EAClBrF,KAAK4/B,MAAQe,EAAYh6B,CAG7B,OAAO3G,MAAK4/B,OAMpB1X,EAAOyX,QAAQ98B,UAAUC,YAAcolB,EAAOyX,QAW9Cv8B,OAAOC,eAAe6kB,EAAOyX,QAAQ98B,UAAW,UAE5CS,IAAK,WACD,MAAOtD,MAAK6/B,SAGhBr8B,IAAK,SAASmrB,GAEI,MAAVA,EAEA3uB,KAAK44B,MAAMjK,GAKX3uB,KAAK44B,WAQjB34B,KAAK0/B,QAAUzX,EAAOyX,QAmBtBzX,EAAO1lB,UAAY,SAAU6C,EAAGC,EAAGqB,EAAOC,GAEtCvB,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTqB,EAAQA,GAAS,EACjBC,EAASA,GAAU,EAKnB5G,KAAKqF,EAAIA,EAKTrF,KAAKsF,EAAIA,EAKTtF,KAAK2G,MAAQA,EAKb3G,KAAK4G,OAASA,EAMd5G,KAAK4U,KAAOsT,EAAOmL,WAIvBnL,EAAO1lB,UAAUK,WASbqW,OAAQ,SAAU1L,EAAIE,GAKlB,MAHA1N,MAAKqF,GAAKmI,EACVxN,KAAKsF,GAAKoI,EAEH1N,MAUXu5B,YAAa,SAAU1K,GAEnB,MAAO7uB,MAAKkZ,OAAO2V,EAAMxpB,EAAGwpB,EAAMvpB,IAatCszB,MAAO,SAAUvzB,EAAGC,EAAGqB,EAAOC,GAO1B,MALA5G,MAAKqF,EAAIA,EACTrF,KAAKsF,EAAIA,EACTtF,KAAK2G,MAAQA,EACb3G,KAAK4G,OAASA,EAEP5G,MAYXqB,MAAO,SAAUgE,EAAGC,GAOhB,MALUiE,UAANjE,IAAmBA,EAAID,GAE3BrF,KAAK2G,OAAStB,EACdrF,KAAK4G,QAAUtB,EAERtF,MAYXy7B,SAAU,SAAUp2B,EAAGC,GAKnB,MAHAtF,MAAKmtB,QAAU9nB,EACfrF,KAAKotB,QAAU9nB,EAERtF,MAQX8zB,MAAO,WAEH9zB,KAAKqF,EAAIxE,KAAKizB,MAAM9zB,KAAKqF,GACzBrF,KAAKsF,EAAIzE,KAAKizB,MAAM9zB,KAAKsF,IAQ7Bs7B,SAAU,WAEN5gC,KAAKqF,EAAIxE,KAAKizB,MAAM9zB,KAAKqF,GACzBrF,KAAKsF,EAAIzE,KAAKizB,MAAM9zB,KAAKsF,GACzBtF,KAAK2G,MAAQ9F,KAAKizB,MAAM9zB,KAAK2G,OAC7B3G,KAAK4G,OAAS/F,KAAKizB,MAAM9zB,KAAK4G,SAQlCitB,KAAM,WAEF7zB,KAAKqF,EAAIxE,KAAKgzB,KAAK7zB,KAAKqF,GACxBrF,KAAKsF,EAAIzE,KAAKgzB,KAAK7zB,KAAKsF,IAQ5Bu7B,QAAS,WAEL7gC,KAAKqF,EAAIxE,KAAKgzB,KAAK7zB,KAAKqF,GACxBrF,KAAKsF,EAAIzE,KAAKgzB,KAAK7zB,KAAKsF,GACxBtF,KAAK2G,MAAQ9F,KAAKgzB,KAAK7zB,KAAK2G,OAC5B3G,KAAK4G,OAAS/F,KAAKgzB,KAAK7zB,KAAK4G,SAUjCiyB,SAAU,SAAUxqB,GAEhB,MAAOrO,MAAK44B,MAAMvqB,EAAOhJ,EAAGgJ,EAAO/I,EAAG+I,EAAO1H,MAAO0H,EAAOzH,SAU/DkyB,OAAQ,SAAUC,GAOd,MALAA,GAAK1zB,EAAIrF,KAAKqF,EACd0zB,EAAKzzB,EAAItF,KAAKsF,EACdyzB,EAAKpyB,MAAQ3G,KAAK2G,MAClBoyB,EAAKnyB,OAAS5G,KAAK4G,OAEZmyB,GAWX+H,QAAS,SAAUtzB,EAAIE,GAEnB,MAAOwa,GAAO1lB,UAAUs+B,QAAQ9gC,KAAMwN,EAAIE,IAU9CmT,KAAM,SAAUqY,GAEZ,MAAOhR,GAAO1lB,UAAUqe,KAAK7gB,KAAMk5B,IAavCrxB,OAAQ,SAAUlB,EAAOC,GAKrB,MAHA5G,MAAK2G,MAAQA,EACb3G,KAAK4G,OAASA,EAEP5G,MAUXy3B,MAAO,SAAUyB,GAEb,MAAOhR,GAAO1lB,UAAUi1B,MAAMz3B,KAAMk5B,IAWxCC,SAAU,SAAU9zB,EAAGC,GAEnB,MAAO4iB,GAAO1lB,UAAU22B,SAASn5B,KAAMqF,EAAGC,IAW9Cy7B,aAAc,SAAUp8B,GAEpB,MAAOujB,GAAO1lB,UAAUu+B,aAAap8B,EAAG3E,OAW5C05B,OAAQ,SAAU/0B,GAEd,MAAOujB,GAAO1lB,UAAUk3B,OAAO15B,KAAM2E,IAWzCq8B,aAAc,SAAUr8B,EAAG8zB,GAEvB,MAAOvQ,GAAO1lB,UAAUw+B,aAAahhC,KAAM2E,EAAG8zB,IAYlDkB,WAAY,SAAUh1B,GAElB,MAAOujB,GAAO1lB,UAAUm3B,WAAW35B,KAAM2E,IAe7Cs8B,cAAe,SAAUlK,EAAMD,EAAO0C,EAAKC,EAAQyH,GAE/C,MAAOhZ,GAAO1lB,UAAUy+B,cAAcjhC,KAAM+2B,EAAMD,EAAO0C,EAAKC,EAAQyH,IAW1EC,MAAO,SAAUx8B,EAAG8zB,GAEhB,MAAOvQ,GAAO1lB,UAAU2+B,MAAMnhC,KAAM2E,EAAG8zB,IAY3C1C,OAAQ,SAAU0C,GAOd,MALYlvB,UAARkvB,IAAqBA,EAAM,GAAIvQ,GAAO9mB,OAE1Cq3B,EAAIpzB,EAAIrF,KAAKohC,QACb3I,EAAInzB,EAAItF,KAAKqhC,QAEN5I,GASXtR,SAAU,WAEN,MAAO,kBAAoBnnB,KAAKqF,EAAI,MAAQrF,KAAKsF,EAAI,UAAYtF,KAAK2G,MAAQ,WAAa3G,KAAK4G,OAAS,UAAY5G,KAAKshC,MAAQ,QAW1Il+B,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,aAE9CS,IAAK,WACD,MAAOzC,MAAKo4B,MAAMj5B,KAAK2G,MAAQ,MAUvCvD,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,cAE9CS,IAAK,WACD,MAAOzC,MAAKo4B,MAAMj5B,KAAK4G,OAAS,MAUxCxD,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,UAE9CS,IAAK,WACD,MAAOtD,MAAKsF,EAAItF,KAAK4G,QAGzBpD,IAAK,SAAUC,GAEPA,GAASzD,KAAKsF,EAEdtF,KAAK4G,OAAS,EAId5G,KAAK4G,OAASnD,EAAQzD,KAAKsF,KAYvClC,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,cAE9CS,IAAK,WACD,MAAO,IAAI4kB,GAAO9mB,MAAMpB,KAAKqF,EAAGrF,KAAKy5B,SAGzCj2B,IAAK,SAAUC,GACXzD,KAAKqF,EAAI5B,EAAM4B,EACfrF,KAAKy5B,OAASh2B,EAAM6B,KAU5BlC,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,eAE9CS,IAAK,WACD,MAAO,IAAI4kB,GAAO9mB,MAAMpB,KAAK82B,MAAO92B,KAAKy5B,SAG7Cj2B,IAAK,SAAUC,GACXzD,KAAK82B,MAAQrzB,EAAM4B,EACnBrF,KAAKy5B,OAASh2B,EAAM6B,KAU5BlC,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,QAE9CS,IAAK,WACD,MAAOtD,MAAKqF,GAGhB7B,IAAK,SAAUC,GACPA,GAASzD,KAAK82B,MACd92B,KAAK2G,MAAQ,EAEb3G,KAAK2G,MAAQ3G,KAAK82B,MAAQrzB,EAE9BzD,KAAKqF,EAAI5B,KAUjBL,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,SAE9CS,IAAK,WACD,MAAOtD,MAAKqF,EAAIrF,KAAK2G,OAGzBnD,IAAK,SAAUC,GACPA,GAASzD,KAAKqF,EACdrF,KAAK2G,MAAQ,EAEb3G,KAAK2G,MAAQlD,EAAQzD,KAAKqF,KAYtCjC,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,UAE9CS,IAAK,WACD,MAAOtD,MAAK2G,MAAQ3G,KAAK4G,UAWjCxD,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,aAE9CS,IAAK,WACD,MAAqB,GAAbtD,KAAK2G,MAA4B,EAAd3G,KAAK4G,UAUxCxD,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,WAE9CS,IAAK,WACD,MAAOtD,MAAKqF,EAAIrF,KAAK+5B,WAGzBv2B,IAAK,SAAUC,GACXzD,KAAKqF,EAAI5B,EAAQzD,KAAK+5B,aAU9B32B,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,WAE9CS,IAAK,WACD,MAAOtD,MAAKsF,EAAItF,KAAKi6B,YAGzBz2B,IAAK,SAAUC,GACXzD,KAAKsF,EAAI7B,EAAQzD,KAAKi6B,cAW9B72B,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,WAE9CS,IAAK,WAED,MAAOtD,MAAKqF,EAAKxE,KAAKk1B,SAAW/1B,KAAK2G,SAY9CvD,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,WAE9CS,IAAK,WAED,MAAOtD,MAAKsF,EAAKzE,KAAKk1B,SAAW/1B,KAAK4G,UAY9CxD,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,OAE9CS,IAAK,WACD,MAAOtD,MAAKsF,GAGhB9B,IAAK,SAAUC,GACPA,GAASzD,KAAKy5B,QACdz5B,KAAK4G,OAAS,EACd5G,KAAKsF,EAAI7B,GAETzD,KAAK4G,OAAU5G,KAAKy5B,OAASh2B,KAWzCL,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,WAE9CS,IAAK,WACD,MAAO,IAAI4kB,GAAO9mB,MAAMpB,KAAKqF,EAAGrF,KAAKsF,IAGzC9B,IAAK,SAAUC,GACXzD,KAAKqF,EAAI5B,EAAM4B,EACfrF,KAAKsF,EAAI7B,EAAM6B,KAUvBlC,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,YAE9CS,IAAK,WACD,MAAO,IAAI4kB,GAAO9mB,MAAMpB,KAAKqF,EAAIrF,KAAK2G,MAAO3G,KAAKsF,IAGtD9B,IAAK,SAAUC,GACXzD,KAAK82B,MAAQrzB,EAAM4B,EACnBrF,KAAKsF,EAAI7B,EAAM6B,KAWvBlC,OAAOC,eAAe6kB,EAAO1lB,UAAUK,UAAW,SAE9CS,IAAK,WACD,OAAStD,KAAK2G,QAAU3G,KAAK4G,QAGjCpD,IAAK,SAAUC,GAEPA,KAAU,GAEVzD,KAAK44B,MAAM,EAAG,EAAG,EAAG,MAOhC1Q,EAAO1lB,UAAUK,UAAUC,YAAcolB,EAAO1lB,UAUhD0lB,EAAO1lB,UAAUs+B,QAAU,SAAUp8B,EAAG8I,EAAIE,GAOxC,MALAhJ,GAAEW,GAAKmI,EACP9I,EAAEiC,OAAS,EAAI6G,EACf9I,EAAEY,GAAKoI,EACPhJ,EAAEkC,QAAU,EAAI8G,EAEThJ,GAWXwjB,EAAO1lB,UAAU++B,aAAe,SAAU78B,EAAGmqB,GAEzC,MAAO3G,GAAO1lB,UAAUs+B,QAAQp8B,EAAGmqB,EAAMxpB,EAAGwpB,EAAMvpB,IAWtD4iB,EAAO1lB,UAAUqe,KAAO,SAAUnc,EAAGw0B,GAWjC,MATe3vB,UAAX2vB,GAAmC,OAAXA,EAExBA,EAAS,GAAIhR,GAAO9mB,MAAMsD,EAAEiC,MAAOjC,EAAEkC,QAIrCsyB,EAAON,MAAMl0B,EAAEiC,MAAOjC,EAAEkC,QAGrBsyB,GAWXhR,EAAO1lB,UAAUi1B,MAAQ,SAAU/yB,EAAGw0B,GAWlC,MATe3vB,UAAX2vB,GAAmC,OAAXA,EAExBA,EAAS,GAAIhR,GAAO1lB,UAAUkC,EAAEW,EAAGX,EAAEY,EAAGZ,EAAEiC,MAAOjC,EAAEkC,QAInDsyB,EAAON,MAAMl0B,EAAEW,EAAGX,EAAEY,EAAGZ,EAAEiC,MAAOjC,EAAEkC,QAG/BsyB,GAYXhR,EAAO1lB,UAAU22B,SAAW,SAAUz0B,EAAGW,EAAGC,GAExC,MAAIZ,GAAEiC,OAAS,GAAKjC,EAAEkC,QAAU,GAErB,EAGHvB,GAAKX,EAAEW,GAAKA,EAAIX,EAAEoyB,OAASxxB,GAAKZ,EAAEY,GAAKA,EAAIZ,EAAE+0B,QAezDvR,EAAO1lB,UAAUg/B,YAAc,SAAUC,EAAIC,EAAIC,EAAIC,EAAIv8B,EAAGC,GAExD,MAAQD,IAAKo8B,GAAWA,EAAKE,EAAVt8B,GAAiBC,GAAKo8B,GAAWA,EAAKE,EAAVt8B,GAWnD4iB,EAAO1lB,UAAUq/B,cAAgB,SAAUn9B,EAAGmqB,GAE1C,MAAO3G,GAAO1lB,UAAU22B,SAASz0B,EAAGmqB,EAAMxpB,EAAGwpB,EAAMvpB,IAYvD4iB,EAAO1lB,UAAUu+B,aAAe,SAAUr8B,EAAGC,GAGzC,MAAID,GAAEo9B,OAASn9B,EAAEm9B,QAEN,EAGHp9B,EAAEW,GAAKV,EAAEU,GAAKX,EAAEY,GAAKX,EAAEW,GAAKZ,EAAEoyB,MAAQnyB,EAAEmyB,OAASpyB,EAAE+0B,OAAS90B,EAAE80B,QAY1EvR,EAAO1lB,UAAUk3B,OAAS,SAAUh1B,EAAGC,GAEnC,MAAQD,GAAEW,GAAKV,EAAEU,GAAKX,EAAEY,GAAKX,EAAEW,GAAKZ,EAAEiC,OAAShC,EAAEgC,OAASjC,EAAEkC,QAAUjC,EAAEiC,QAW5EshB,EAAO1lB,UAAUu/B,eAAiB,SAAUr9B,EAAGC,GAE3C,MAAQD,GAAEiC,QAAUhC,EAAEgC,OAASjC,EAAEkC,SAAWjC,EAAEiC,QAYlDshB,EAAO1lB,UAAUw+B,aAAe,SAAUt8B,EAAGC,EAAGu0B,GAe5C,MAbe3vB,UAAX2vB,IAEAA,EAAS,GAAIhR,GAAO1lB,WAGpB0lB,EAAO1lB,UAAUm3B,WAAWj1B,EAAGC,KAE/Bu0B,EAAO7zB,EAAIxE,KAAKm7B,IAAIt3B,EAAEW,EAAGV,EAAEU,GAC3B6zB,EAAO5zB,EAAIzE,KAAKm7B,IAAIt3B,EAAEY,EAAGX,EAAEW,GAC3B4zB,EAAOvyB,MAAQ9F,KAAKi7B,IAAIp3B,EAAEoyB,MAAOnyB,EAAEmyB,OAASoC,EAAO7zB,EACnD6zB,EAAOtyB,OAAS/F,KAAKi7B,IAAIp3B,EAAE+0B,OAAQ90B,EAAE80B,QAAUP,EAAO5zB,GAGnD4zB,GAYXhR,EAAO1lB,UAAUm3B,WAAa,SAAUj1B,EAAGC,GAEvC,MAAID,GAAEiC,OAAS,GAAKjC,EAAEkC,QAAU,GAAKjC,EAAEgC,OAAS,GAAKhC,EAAEiC,QAAU,GAEtD,IAGFlC,EAAEoyB,MAAQnyB,EAAEU,GAAKX,EAAE+0B,OAAS90B,EAAEW,GAAKZ,EAAEW,EAAIV,EAAEmyB,OAASpyB,EAAEY,EAAIX,EAAE80B,SAczEvR,EAAO1lB,UAAUy+B,cAAgB,SAAUv8B,EAAGqyB,EAAMD,EAAO0C,EAAKC,EAAQyH,GAIpE,MAFkB33B,UAAd23B,IAA2BA,EAAY,KAElCnK,EAAOryB,EAAEoyB,MAAQoK,GAAapK,EAAQpyB,EAAEqyB,KAAOmK,GAAa1H,EAAM90B,EAAE+0B,OAASyH,GAAazH,EAAS/0B,EAAE80B,IAAM0H,IAYxHhZ,EAAO1lB,UAAU2+B,MAAQ,SAAUz8B,EAAGC,EAAGu0B,GAOrC,MALe3vB,UAAX2vB,IAEAA,EAAS,GAAIhR,GAAO1lB,WAGjB02B,EAAON,MAAM/3B,KAAKi7B,IAAIp3B,EAAEW,EAAGV,EAAEU,GAAIxE,KAAKi7B,IAAIp3B,EAAEY,EAAGX,EAAEW,GAAIzE,KAAKm7B,IAAIt3B,EAAEoyB,MAAOnyB,EAAEmyB,OAASj2B,KAAKi7B,IAAIp3B,EAAEqyB,KAAMpyB,EAAEoyB,MAAOl2B,KAAKm7B,IAAIt3B,EAAE+0B,OAAQ90B,EAAE80B,QAAU54B,KAAKi7B,IAAIp3B,EAAE80B,IAAK70B,EAAE60B,OAaxKtR,EAAO1lB,UAAUw/B,KAAO,SAASrT,EAAQ8J,GAEzBlvB,SAARkvB,IACAA,EAAM,GAAIvQ,GAAO1lB,UAGrB,IAAIu5B,GAAOuE,OAAO2B,UACdpG,EAAOyE,OAAOC,UACdrE,EAAOoE,OAAO2B,UACdhG,EAAOqE,OAAOC,SAoBlB,OAlBA5R,GAAOiG,QAAQ,SAAS/F,GAChBA,EAAMxpB,EAAI02B,IACVA,EAAOlN,EAAMxpB,GAEbwpB,EAAMxpB,EAAIw2B,IACVA,EAAOhN,EAAMxpB,GAGbwpB,EAAMvpB,EAAI42B,IACVA,EAAOrN,EAAMvpB,GAEbupB,EAAMvpB,EAAI22B,IACVA,EAAOpN,EAAMvpB,KAIrBmzB,EAAIG,MAAMiD,EAAMI,EAAMF,EAAOF,EAAMK,EAAOD,GAEnCxD,GAIXx4B,KAAKuC,UAAY0lB,EAAO1lB,UACxBvC,KAAK8F,eAAiB,GAAImiB,GAAO1lB,UAAU,EAAG,EAAG,EAAG,GAqBpD0lB,EAAOga,iBAAmB,SAAS78B,EAAGC,EAAGqB,EAAOC,EAAQ+xB,GAE1CpvB,SAANlE,IAAmBA,EAAI,GACjBkE,SAANjE,IAAmBA,EAAI,GACbiE,SAAV5C,IAAuBA,EAAQ,GACpB4C,SAAX3C,IAAwBA,EAAS,GACtB2C,SAAXovB,IAAwBA,EAAS,IAKrC34B,KAAKqF,EAAIA,EAKTrF,KAAKsF,EAAIA,EAKTtF,KAAK2G,MAAQA,EAKb3G,KAAK4G,OAASA,EAKd5G,KAAK24B,OAASA,GAAU,GAMxB34B,KAAK4U,KAAOsT,EAAOuL,kBAGvBvL,EAAOga,iBAAiBr/B,WASpB40B,MAAO,WAEH,MAAO,IAAIvP,GAAOga,iBAAiBliC,KAAKqF,EAAGrF,KAAKsF,EAAGtF,KAAK2G,MAAO3G,KAAK4G,OAAQ5G,KAAK24B,SAYrFQ,SAAU,SAAU9zB,EAAGC,GAEnB,GAAItF,KAAK2G,OAAS,GAAK3G,KAAK4G,QAAU,EAElC,OAAO,CAGX,IAAI2F,GAAKvM,KAAKqF,CAEd,IAAIA,GAAKkH,GAAMlH,GAAKkH,EAAKvM,KAAK2G,MAC9B,CACI,GAAI6F,GAAKxM,KAAKsF,CAEd,IAAIA,GAAKkH,GAAMlH,GAAKkH,EAAKxM,KAAK4G,OAE1B,OAAO,EAIf,OAAO,IAMfshB,EAAOga,iBAAiBr/B,UAAUC,YAAcolB,EAAOga,iBAGvDjiC,KAAKiiC,iBAAmBha,EAAOga,iBAqB/Bha,EAAOia,OAAS,SAAUjiC,EAAMuV,EAAIpQ,EAAGC,EAAGqB,EAAOC,GAK7C5G,KAAKE,KAAOA,EAKZF,KAAKyE,MAAQvE,EAAKuE,MAMlBzE,KAAKyV,GAAK,EASVzV,KAAK4Y,KAAO,GAAIsP,GAAO1lB,UAAU6C,EAAGC,EAAGqB,EAAOC,GAS9C5G,KAAKwG,OAAS,GAAI0hB,GAAO1lB,UAAU6C,EAAGC,EAAGqB,EAAOC,GAKhD5G,KAAKoiC,SAAW,KAMhBpiC,KAAKyB,SAAU,EAMfzB,KAAKqiC,SAAU,EAKfriC,KAAKsiC,SAAYj9B,GAAG,EAAOC,GAAG,GAM9BtF,KAAKiE,OAAS,KAKdjE,KAAK+a,cAAgB,KAKrB/a,KAAKqB,MAAQ,KAMbrB,KAAKuiC,YAAc,EAMnBviC,KAAKwiC,gBAAkB,GAAIta,GAAO9mB,MAOlCpB,KAAKyiC,MAAQ,EAObziC,KAAK0iC,UAAY,GAAIxa,GAAO9mB,OAQhC8mB,EAAOia,OAAOQ,cAAgB,EAM9Bza,EAAOia,OAAOS,kBAAoB,EAMlC1a,EAAOia,OAAOU,eAAiB,EAM/B3a,EAAOia,OAAOW,qBAAuB,EAErC5a,EAAOia,OAAOt/B,WAOVsD,UAAW,WAEPnG,KAAKuiC,YAAc,GAcvBQ,OAAQ,SAAU9+B,EAAQiX,GAER3R,SAAV2R,IAAuBA,EAAQgN,EAAOia,OAAOQ,eAEjD3iC,KAAKiE,OAASA,CAEd,IAAI++B,EAEJ,QAAQ9nB,GAEJ,IAAKgN,GAAOia,OAAOS,kBACf,GAAIxrB,GAAIpX,KAAK2G,MAAQ,EACjB+b,EAAI1iB,KAAK4G,OAAS,CACtB5G,MAAKoiC,SAAW,GAAIla,GAAO1lB,WAAWxC,KAAK2G,MAAQyQ,GAAK,GAAIpX,KAAK4G,OAAS8b,GAAK,EAAQ,IAAJA,EAAUtL,EAAGsL,EAChG,MAEJ,KAAKwF,GAAOia,OAAOU,eACfG,EAASniC,KAAKm7B,IAAIh8B,KAAK2G,MAAO3G,KAAK4G,QAAU,EAC7C5G,KAAKoiC,SAAW,GAAIla,GAAO1lB,WAAWxC,KAAK2G,MAAQq8B,GAAU,GAAIhjC,KAAK4G,OAASo8B,GAAU,EAAGA,EAAQA,EACpG,MAEJ,KAAK9a,GAAOia,OAAOW,qBACfE,EAASniC,KAAKm7B,IAAIh8B,KAAK2G,MAAO3G,KAAK4G,QAAU,EAC7C5G,KAAKoiC,SAAW,GAAIla,GAAO1lB,WAAWxC,KAAK2G,MAAQq8B,GAAU,GAAIhjC,KAAK4G,OAASo8B,GAAU,EAAGA,EAAQA,EACpG,MAEJ,KAAK9a,GAAOia,OAAOQ,cACf3iC,KAAKoiC,SAAW,IAChB,MAEJ,SACIpiC,KAAKoiC,SAAW,OAW5Ba,SAAU,WAENjjC,KAAKiE,OAAS,MASlBi/B,QAAS,SAAUnoB,GAEf/a,KAAKmjC,YAAYtiC,KAAKo4B,MAAMle,EAAc1V,EAAIrF,KAAK4Y,KAAKmhB,WAAYl5B,KAAKo4B,MAAMle,EAAczV,EAAItF,KAAK4Y,KAAKqhB,cAU/GmJ,UAAW,SAAU/9B,EAAGC,GAEpBtF,KAAKmjC,YAAYtiC,KAAKo4B,MAAM5zB,EAAIrF,KAAK4Y,KAAKmhB,WAAYl5B,KAAKo4B,MAAM3zB,EAAItF,KAAK4Y,KAAKqhB,cAQnFoJ,OAAQ,WAEArjC,KAAKiE,QAELjE,KAAKsjC,eAGLtjC,KAAKwG,QAELxG,KAAKujC,cAGLvjC,KAAKqiC,SAELriC,KAAK4Y,KAAKkb,QAGd9zB,KAAK+a,cAAc5Z,SAASkE,GAAKrF,KAAK4Y,KAAKvT,EAC3CrF,KAAK+a,cAAc5Z,SAASmE,GAAKtF,KAAK4Y,KAAKtT,GAS/Cg+B,aAAc,WAEVtjC,KAAKwiC,gBAAgB3J,SAAS74B,KAAKiE,QAE/BjE,KAAKiE,OAAOrC,QAEZ5B,KAAKwiC,gBAAgB1E,SAAS99B,KAAKiE,OAAOrC,OAAOG,eAAe2C,EAAG1E,KAAKiE,OAAOrC,OAAOG,eAAe8C,GAGrG7E,KAAKoiC,UAELpiC,KAAKyiC,MAAQziC,KAAKwiC,gBAAgBn9B,EAAIrF,KAAK4Y,KAAKvT,EAE5CrF,KAAKyiC,MAAQziC,KAAKoiC,SAASrL,KAE3B/2B,KAAK4Y,KAAKvT,EAAIrF,KAAKwiC,gBAAgBn9B,EAAIrF,KAAKoiC,SAASrL,KAEhD/2B,KAAKyiC,MAAQziC,KAAKoiC,SAAStL,QAEhC92B,KAAK4Y,KAAKvT,EAAIrF,KAAKwiC,gBAAgBn9B,EAAIrF,KAAKoiC,SAAStL,OAGzD92B,KAAKyiC,MAAQziC,KAAKwiC,gBAAgBl9B,EAAItF,KAAK4Y,KAAKtT,EAE5CtF,KAAKyiC,MAAQziC,KAAKoiC,SAAS5I,IAE3Bx5B,KAAK4Y,KAAKtT,EAAItF,KAAKwiC,gBAAgBl9B,EAAItF,KAAKoiC,SAAS5I,IAEhDx5B,KAAKyiC,MAAQziC,KAAKoiC,SAAS3I,SAEhCz5B,KAAK4Y,KAAKtT,EAAItF,KAAKwiC,gBAAgBl9B,EAAItF,KAAKoiC,SAAS3I,UAKzDz5B,KAAK4Y,KAAKvT,EAAIrF,KAAKwiC,gBAAgBn9B,EAAIrF,KAAK4Y,KAAKmhB,UACjD/5B,KAAK4Y,KAAKtT,EAAItF,KAAKwiC,gBAAgBl9B,EAAItF,KAAK4Y,KAAKqhB,aASzDuJ,iBAAkB,WAEVxjC,KAAKwG,QAELxG,KAAKwG,OAAOqyB,SAAS74B,KAAKE,KAAKuE,MAAM+B,SAS7C+8B,YAAa,WAETvjC,KAAKsiC,QAAQj9B,GAAI,EACjBrF,KAAKsiC,QAAQh9B,GAAI,EAGbtF,KAAK4Y,KAAKvT,GAAKrF,KAAKwG,OAAOnB,IAE3BrF,KAAKsiC,QAAQj9B,GAAI,EACjBrF,KAAK4Y,KAAKvT,EAAIrF,KAAKwG,OAAOnB,GAG1BrF,KAAK4Y,KAAKke,OAAS92B,KAAKwG,OAAOswB,QAE/B92B,KAAKsiC,QAAQj9B,GAAI,EACjBrF,KAAK4Y,KAAKvT,EAAIrF,KAAKwG,OAAOswB,MAAQ92B,KAAK2G,OAGvC3G,KAAK4Y,KAAKtT,GAAKtF,KAAKwG,OAAOgzB,MAE3Bx5B,KAAKsiC,QAAQh9B,GAAI,EACjBtF,KAAK4Y,KAAKtT,EAAItF,KAAKwG,OAAOgzB,KAG1Bx5B,KAAK4Y,KAAK6gB,QAAUz5B,KAAKwG,OAAOizB,SAEhCz5B,KAAKsiC,QAAQh9B,GAAI,EACjBtF,KAAK4Y,KAAKtT,EAAItF,KAAKwG,OAAOizB,OAASz5B,KAAK4G,SAahDu8B,YAAa,SAAU99B,EAAGC,GAEtBtF,KAAK4Y,KAAKvT,EAAIA,EACdrF,KAAK4Y,KAAKtT,EAAIA,EAEVtF,KAAKwG,QAELxG,KAAKujC,eAYbE,QAAS,SAAU98B,EAAOC,GAEtB5G,KAAK4Y,KAAKjS,MAAQA,EAClB3G,KAAK4Y,KAAKhS,OAASA,GASvB88B,MAAO,WAEH1jC,KAAKiE,OAAS,KACdjE,KAAK4Y,KAAKvT,EAAI,EACdrF,KAAK4Y,KAAKtT,EAAI,IAMtB4iB,EAAOia,OAAOt/B,UAAUC,YAAcolB,EAAOia,OAO7C/+B,OAAOC,eAAe6kB,EAAOia,OAAOt/B,UAAW,KAE3CS,IAAK,WACD,MAAOtD,MAAK4Y,KAAKvT,GAGrB7B,IAAK,SAAUC,GAEXzD,KAAK4Y,KAAKvT,EAAI5B,EAEVzD,KAAKwG,QAELxG,KAAKujC,iBAWjBngC,OAAOC,eAAe6kB,EAAOia,OAAOt/B,UAAW,KAE3CS,IAAK,WACD,MAAOtD,MAAK4Y,KAAKtT,GAGrB9B,IAAK,SAAUC,GAEXzD,KAAK4Y,KAAKtT,EAAI7B,EAEVzD,KAAKwG,QAELxG,KAAKujC,iBAWjBngC,OAAOC,eAAe6kB,EAAOia,OAAOt/B,UAAW,YAE3CS,IAAK,WAED,MADAtD,MAAK0iC,UAAUl/B,IAAIxD,KAAK4Y,KAAKuU,QAASntB,KAAK4Y,KAAKwU,SACzCptB,KAAK0iC,WAGhBl/B,IAAK,SAAUC,GAEY,mBAAZA,GAAM4B,IAAqBrF,KAAK4Y,KAAKvT,EAAI5B,EAAM4B,GACnC,mBAAZ5B,GAAM6B,IAAqBtF,KAAK4Y,KAAKtT,EAAI7B,EAAM6B,GAEtDtF,KAAKwG,QAELxG,KAAKujC,iBAWjBngC,OAAOC,eAAe6kB,EAAOia,OAAOt/B,UAAW,SAE3CS,IAAK,WACD,MAAOtD,MAAK4Y,KAAKjS,OAGrBnD,IAAK,SAAUC,GACXzD,KAAK4Y,KAAKjS,MAAQlD,KAU1BL,OAAOC,eAAe6kB,EAAOia,OAAOt/B,UAAW,UAE3CS,IAAK,WACD,MAAOtD,MAAK4Y,KAAKhS,QAGrBpD,IAAK,SAAUC,GACXzD,KAAK4Y,KAAKhS,OAASnD,KAkB3BykB,EAAOyb,MAAQ,WAKX3jC,KAAKE,KAAO,KAKZF,KAAKuU,IAAM,GAKXvU,KAAK07B,IAAM,KAKX17B,KAAK4jC,KAAO,KAKZ5jC,KAAK6jC,OAAS,KAKd7jC,KAAK8jC,MAAQ,KAKb9jC,KAAK+jC,MAAQ,KAKb/jC,KAAKgkC,KAAO,KAKZhkC,KAAKikC,KAAO,KAKZjkC,KAAKkkC,MAAQ,KAKblkC,KAAKqB,MAAQ,KAKbrB,KAAK6B,MAAQ,KAKb7B,KAAKmkC,KAAO,KAKZnkC,KAAKokC,OAAS,KAKdpkC,KAAKyE,MAAQ,KAKbzE,KAAKqkC,UAAY,KAKjBrkC,KAAKskC,QAAU,KAKftkC,KAAKukC,IAAM,MAIfrc,EAAOyb,MAAM9gC,WAST8Q,KAAM,aAUN6wB,QAAS,aAQTC,WAAY,aASZC,WAAY,aASZx8B,OAAQ,aAURm7B,OAAQ,aAQRsB,UAAW,aAUX79B,OAAQ,aAQRe,OAAQ,aAQR+8B,OAAQ,aAQRC,QAAS,aAQTC,YAAa,aAQbC,SAAU,cAKd7c,EAAOyb,MAAM9gC,UAAUC,YAAcolB,EAAOyb,MAkB5Czb,EAAO8c,aAAe,SAAU9kC,EAAM+kC,GAKlCjlC,KAAKE,KAAOA,EAKZF,KAAKklC,UAMLllC,KAAKmlC,cAAgB,KAEO,mBAAjBF,IAAiD,OAAjBA,IAEvCjlC,KAAKmlC,cAAgBF,GAOzBjlC,KAAKolC,aAAc,EAMnBplC,KAAKqlC,aAAc,EAMnBrlC,KAAKslC,UAAW,EAMhBtlC,KAAKulC,SAMLvlC,KAAK21B,QAAU,GAcf31B,KAAKwlC,cAAgB,GAAItd,GAAOud,OAMhCzlC,KAAK0lC,eAAiB,KAMtB1lC,KAAK2lC,kBAAoB,KAMzB3lC,KAAK4lC,iBAAmB,KAMxB5lC,KAAK6lC,iBAAmB,KAMxB7lC,KAAK8lC,iBAAmB,KAMxB9lC,KAAK+lC,iBAAmB,KAMxB/lC,KAAKgmC,oBAAsB,KAM3BhmC,KAAKimC,qBAAuB,KAM5BjmC,KAAKkmC,qBAAuB,KAM5BlmC,KAAKmmC,iBAAmB,KAMxBnmC,KAAKomC,kBAAoB,KAMzBpmC,KAAKqmC,sBAAwB,KAM7BrmC,KAAKsmC,mBAAqB,MAI9Bpe,EAAO8c,aAAaniC,WAOhB0jC,KAAM,WAEFvmC,KAAKE,KAAKsmC,QAAQ9K,IAAI17B,KAAKymC,MAAOzmC,MAClCA,KAAKE,KAAKwmC,SAAShL,IAAI17B,KAAK2mC,OAAQ3mC,MAET,OAAvBA,KAAKmlC,eAAwD,gBAAvBnlC,MAAKmlC,eAE3CnlC,KAAK07B,IAAI,UAAW17B,KAAKmlC,eAAe,IAehDzJ,IAAK,SAAUnnB,EAAKqyB,EAAOC,GAELt9B,SAAds9B,IAA2BA,GAAY,EAE3C,IAAIC,EA8BJ,OA5BIF,aAAiB1e,GAAOyb,MAExBmD,EAAWF,EAEW,gBAAVA,IAEZE,EAAWF,EACXE,EAAS5mC,KAAOF,KAAKE,MAEC,kBAAV0mC,KAEZE,EAAW,GAAIF,GAAM5mC,KAAKE,OAG9BF,KAAKklC,OAAO3wB,GAAOuyB,EAEfD,IAEI7mC,KAAKE,KAAK6mC,SAEV/mC,KAAKkL,MAAMqJ,GAIXvU,KAAKmlC,cAAgB5wB,GAItBuyB,GASXp2B,OAAQ,SAAU6D,GAEVvU,KAAK21B,UAAYphB,IAEjBvU,KAAKgnC,gBAAkB,KAEvBhnC,KAAK0lC,eAAiB,KACtB1lC,KAAKsmC,mBAAqB,KAE1BtmC,KAAK2lC,kBAAoB,KACzB3lC,KAAKkmC,qBAAuB,KAC5BlmC,KAAKimC,qBAAuB,KAC5BjmC,KAAK4lC,iBAAmB,KACxB5lC,KAAK6lC,iBAAmB,KACxB7lC,KAAKgmC,oBAAsB,KAC3BhmC,KAAK8lC,iBAAmB,KACxB9lC,KAAK+lC,iBAAmB,KACxB/lC,KAAKmmC,iBAAmB,KACxBnmC,KAAKomC,kBAAoB,KACzBpmC,KAAKqmC,sBAAwB,YAG1BrmC,MAAKklC,OAAO3wB,IAavBrJ,MAAO,SAAUqJ,EAAK0yB,EAAYC,GAEX39B,SAAf09B,IAA4BA,GAAa,GAC1B19B,SAAf29B,IAA4BA,GAAa,GAEzClnC,KAAKmnC,WAAW5yB,KAGhBvU,KAAKmlC,cAAgB5wB,EACrBvU,KAAKolC,YAAc6B,EACnBjnC,KAAKqlC,YAAc6B,EAEf3S,UAAUrxB,OAAS,IAEnBlD,KAAKulC,MAAQ5kC,MAAMkC,UAAU6F,OAAOhD,KAAK6uB,UAAW,MAchE6S,QAAS,SAAUH,EAAYC,GAER39B,SAAf09B,IAA4BA,GAAa,GAC1B19B,SAAf29B,IAA4BA,GAAa,GAG7ClnC,KAAKmlC,cAAgBnlC,KAAK21B,QAC1B31B,KAAKolC,YAAc6B,EACnBjnC,KAAKqlC,YAAc6B,EAEf3S,UAAUrxB,OAAS,IAEnBlD,KAAKulC,MAAQ5kC,MAAMkC,UAAUoxB,MAAMvuB,KAAK6uB,UAAW,KAU3D8S,MAAO,aAQPlhC,UAAW,WAEP,GAAInG,KAAKmlC,eAAiBnlC,KAAKE,KAAK6mC,SACpC,CACI,GAAIO,GAAmBtnC,KAAK21B,OAS5B,IANA31B,KAAKunC,oBAELvnC,KAAKwnC,gBAAgBxnC,KAAKmlC,eAE1BnlC,KAAKwlC,cAAciC,SAASznC,KAAK21B,QAAS2R,GAEtCtnC,KAAK21B,UAAY31B,KAAKmlC,cAEtB,MAIAnlC,MAAKmlC,cAAgB,KAKrBnlC,KAAK2lC,mBAEL3lC,KAAKE,KAAK8jC,KAAKN,OAAM,GACrB1jC,KAAK2lC,kBAAkBjgC,KAAK1F,KAAKgnC,gBAAiBhnC,KAAKE,MAGb,IAAtCF,KAAKE,KAAK8jC,KAAK0D,oBAAkE,IAAtC1nC,KAAKE,KAAK8jC,KAAK2D,mBAE1D3nC,KAAK4nC,eAKL5nC,KAAKE,KAAK8jC,KAAK94B,SAMnBlL,KAAK4nC,iBAYjBL,kBAAmB,WAEXvnC,KAAK21B,UAED31B,KAAKsmC,oBAELtmC,KAAKsmC,mBAAmB5gC,KAAK1F,KAAKgnC,gBAAiBhnC,KAAKE,MAG5DF,KAAKE,KAAKkkC,OAAOyD,YAEjB7nC,KAAKE,KAAK2jC,OAAOH,QAEjB1jC,KAAKE,KAAK6jC,MAAML,OAAM,GAEtB1jC,KAAKE,KAAKokC,QAAQ1pB,QAElB5a,KAAKE,KAAKikC,KAAK0D,YAEf7nC,KAAKE,KAAKmB,MAAMqiC,MAAM1jC,KAAKolC,aAEvBplC,KAAKE,KAAK4nC,OAEV9nC,KAAKE,KAAK4nC,MAAMpE,QAGhB1jC,KAAKolC,cAELplC,KAAKE,KAAKuE,MAAMsgC,WAEZ/kC,KAAKqlC,eAAgB,GAErBrlC,KAAKE,KAAK4jC,MAAM/gC,aAchCokC,WAAY,SAAU5yB,GAElB,GAAIvU,KAAKklC,OAAO3wB,GAChB,CACI,GAAItI,IAAQ,CAOZ,QALIjM,KAAKklC,OAAO3wB,GAAc,SAAKvU,KAAKklC,OAAO3wB,GAAa,QAAKvU,KAAKklC,OAAO3wB,GAAa,QAAKvU,KAAKklC,OAAO3wB,GAAa,UAEpHtI,GAAQ,GAGRA,KAAU,GAEVsG,QAAQ2iB,KAAK,gIACN,IAGJ,EAKP,MADA3iB,SAAQ2iB,KAAK,sDAAwD3gB,IAC9D,GAYfwzB,KAAM,SAAUxzB,GAEZvU,KAAKklC,OAAO3wB,GAAKrU,KAAOF,KAAKE,KAC7BF,KAAKklC,OAAO3wB,GAAKmnB,IAAM17B,KAAKE,KAAKw7B,IACjC17B,KAAKklC,OAAO3wB,GAAKqvB,KAAO5jC,KAAKE,KAAK0jC,KAClC5jC,KAAKklC,OAAO3wB,GAAKsvB,OAAS7jC,KAAKE,KAAK2jC,OACpC7jC,KAAKklC,OAAO3wB,GAAKuvB,MAAQ9jC,KAAKE,KAAK4jC,MACnC9jC,KAAKklC,OAAO3wB,GAAKwvB,MAAQ/jC,KAAKE,KAAK6jC,MACnC/jC,KAAKklC,OAAO3wB,GAAKyvB,KAAOhkC,KAAKE,KAAK8jC,KAClChkC,KAAKklC,OAAO3wB,GAAK0vB,KAAOjkC,KAAKE,KAAK+jC,KAClCjkC,KAAKklC,OAAO3wB,GAAK2vB,MAAQlkC,KAAKE,KAAKgkC,MACnClkC,KAAKklC,OAAO3wB,GAAKlT,MAAQrB,KAAKE,KAAKmB,MACnCrB,KAAKklC,OAAO3wB,GAAKqyB,MAAQ5mC,KACzBA,KAAKklC,OAAO3wB,GAAK1S,MAAQ7B,KAAKE,KAAK2B,MACnC7B,KAAKklC,OAAO3wB,GAAK4vB,KAAOnkC,KAAKE,KAAKikC,KAClCnkC,KAAKklC,OAAO3wB,GAAK6vB,OAASpkC,KAAKE,KAAKkkC,OACpCpkC,KAAKklC,OAAO3wB,GAAK9P,MAAQzE,KAAKE,KAAKuE,MACnCzE,KAAKklC,OAAO3wB,GAAK8vB,UAAYrkC,KAAKE,KAAKmkC,UACvCrkC,KAAKklC,OAAO3wB,GAAKgwB,IAAMvkC,KAAKE,KAAKqkC,IACjCvkC,KAAKklC,OAAO3wB,GAAK+vB,QAAUtkC,KAAKE,KAAKokC,QACrCtkC,KAAKklC,OAAO3wB,GAAKA,IAAMA,GAW3ByzB,OAAQ,SAAUzzB,GAEVvU,KAAKklC,OAAO3wB,KAEZvU,KAAKklC,OAAO3wB,GAAKrU,KAAO,KACxBF,KAAKklC,OAAO3wB,GAAKmnB,IAAM,KACvB17B,KAAKklC,OAAO3wB,GAAKqvB,KAAO,KACxB5jC,KAAKklC,OAAO3wB,GAAKsvB,OAAS,KAC1B7jC,KAAKklC,OAAO3wB,GAAKuvB,MAAQ,KACzB9jC,KAAKklC,OAAO3wB,GAAKwvB,MAAQ,KACzB/jC,KAAKklC,OAAO3wB,GAAKyvB,KAAO,KACxBhkC,KAAKklC,OAAO3wB,GAAK0vB,KAAO,KACxBjkC,KAAKklC,OAAO3wB,GAAK2vB,MAAQ,KACzBlkC,KAAKklC,OAAO3wB,GAAKlT,MAAQ,KACzBrB,KAAKklC,OAAO3wB,GAAKqyB,MAAQ,KACzB5mC,KAAKklC,OAAO3wB,GAAK1S,MAAQ,KACzB7B,KAAKklC,OAAO3wB,GAAK4vB,KAAO,KACxBnkC,KAAKklC,OAAO3wB,GAAK6vB,OAAS,KAC1BpkC,KAAKklC,OAAO3wB,GAAK9P,MAAQ,KACzBzE,KAAKklC,OAAO3wB,GAAK8vB,UAAY,KAC7BrkC,KAAKklC,OAAO3wB,GAAKgwB,IAAM,KACvBvkC,KAAKklC,OAAO3wB,GAAK+vB,QAAU,OAYnCkD,gBAAiB,SAAUjzB,GAEvBvU,KAAKgnC,gBAAkBhnC,KAAKklC,OAAO3wB,GAEnCvU,KAAK+nC,KAAKxzB,GAGVvU,KAAK0lC,eAAiB1lC,KAAKklC,OAAO3wB,GAAW,MAAKvU,KAAKqnC,MAEvDrnC,KAAK2lC,kBAAoB3lC,KAAKklC,OAAO3wB,GAAc,SAAK,KACxDvU,KAAKkmC,qBAAuBlmC,KAAKklC,OAAO3wB,GAAiB,YAAK,KAC9DvU,KAAKimC,qBAAuBjmC,KAAKklC,OAAO3wB,GAAiB,YAAK,KAC9DvU,KAAK4lC,iBAAmB5lC,KAAKklC,OAAO3wB,GAAa,QAAK,KACtDvU,KAAK6lC,iBAAmB7lC,KAAKklC,OAAO3wB,GAAa,QAAK,KACtDvU,KAAKgmC,oBAAsBhmC,KAAKklC,OAAO3wB,GAAgB,WAAK,KAC5DvU,KAAK8lC,iBAAmB9lC,KAAKklC,OAAO3wB,GAAa,QAAK,KACtDvU,KAAK+lC,iBAAmB/lC,KAAKklC,OAAO3wB,GAAa,QAAK,KACtDvU,KAAKmmC,iBAAmBnmC,KAAKklC,OAAO3wB,GAAa,QAAK,KACtDvU,KAAKomC,kBAAoBpmC,KAAKklC,OAAO3wB,GAAc,SAAK,KACxDvU,KAAKqmC,sBAAwBrmC,KAAKklC,OAAO3wB,GAAkB,aAAK,KAGhEvU,KAAKsmC,mBAAqBtmC,KAAKklC,OAAO3wB,GAAe,UAAKvU,KAAKqnC,MAG1C,KAAjBrnC,KAAK21B,SAEL31B,KAAKE,KAAKokC,QAAQZ,QAGtB1jC,KAAK21B,QAAUphB,EACfvU,KAAKslC,UAAW,EAGhBtlC,KAAK0lC,eAAez+B,MAAMjH,KAAKgnC,gBAAiBhnC,KAAKulC,OAGjDhxB,IAAQvU,KAAKmlC,gBAEbnlC,KAAKulC,UAGTvlC,KAAKE,KAAK+nC,YAAa,GAW3BC,gBAAiB,WACb,MAAOloC,MAAKklC,OAAOllC,KAAK21B,UAO5BiS,aAAc,WAEN5nC,KAAKslC,YAAa,GAAStlC,KAAK4lC,kBAEhC5lC,KAAKslC,UAAW,EAChBtlC,KAAK4lC,iBAAiBlgC,KAAK1F,KAAKgnC,gBAAiBhnC,KAAKE,OAItDF,KAAKslC,UAAW,GASxBmB,MAAO,WAECzmC,KAAKslC,UAAYtlC,KAAKmmC,kBAEtBnmC,KAAKmmC,iBAAiBzgC,KAAK1F,KAAKgnC,gBAAiBhnC,KAAKE,OAS9DymC,OAAQ,WAEA3mC,KAAKslC,UAAYtlC,KAAKomC,mBAEtBpmC,KAAKomC,kBAAkB1gC,KAAK1F,KAAKgnC,gBAAiBhnC,KAAKE,OAS/DmjC,OAAQ,WAEArjC,KAAKslC,SAEDtlC,KAAK6lC,kBAEL7lC,KAAK6lC,iBAAiBngC,KAAK1F,KAAKgnC,gBAAiBhnC,KAAKE,MAKtDF,KAAKimC,sBAELjmC,KAAKimC,qBAAqBvgC,KAAK1F,KAAKgnC,gBAAiBhnC,KAAKE,OAUtE4kC,YAAa,WAEL9kC,KAAKslC,SAEDtlC,KAAKqmC,uBAELrmC,KAAKqmC,sBAAsB3gC,KAAK1F,KAAKgnC,gBAAiBhnC,KAAKE,MAK3DF,KAAKimC,sBAELjmC,KAAKimC,qBAAqBvgC,KAAK1F,KAAKgnC,gBAAiBhnC,KAAKE,OAWtEykC,UAAW,SAAUwD,GAEbnoC,KAAKslC,UAAYtlC,KAAKgmC,qBAEtBhmC,KAAKgmC,oBAAoBtgC,KAAK1F,KAAKgnC,gBAAiBhnC,KAAKE,KAAMioC,IASvEtgC,OAAQ,SAAUlB,EAAOC,GAEjB5G,KAAK+lC,kBAEL/lC,KAAK+lC,iBAAiBrgC,KAAK1F,KAAKgnC,gBAAiBrgC,EAAOC,IAShEE,OAAQ,WAEA9G,KAAKslC,SAEDtlC,KAAK8lC,mBAED9lC,KAAKE,KAAKkoC,aAAelgB,EAAOqJ,QAEhCvxB,KAAKE,KAAK+M,QAAQyZ,OAClB1mB,KAAKE,KAAK+M,QAAQW,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GAC9C5N,KAAK8lC,iBAAiBpgC,KAAK1F,KAAKgnC,gBAAiBhnC,KAAKE,MACtDF,KAAKE,KAAK+M,QAAQ8Z,WAIlB/mB,KAAK8lC,iBAAiBpgC,KAAK1F,KAAKgnC,gBAAiBhnC,KAAKE,OAM1DF,KAAKkmC,sBAELlmC,KAAKkmC,qBAAqBxgC,KAAK1F,KAAKgnC,gBAAiBhnC,KAAKE,OAWtE6C,QAAS,WAEL/C,KAAKunC,oBAELvnC,KAAKgnC,gBAAkB,KAEvBhnC,KAAK0lC,eAAiB,KACtB1lC,KAAKsmC,mBAAqB;AAE1BtmC,KAAK2lC,kBAAoB,KACzB3lC,KAAKkmC,qBAAuB,KAC5BlmC,KAAKimC,qBAAuB,KAC5BjmC,KAAK4lC,iBAAmB,KACxB5lC,KAAK6lC,iBAAmB,KACxB7lC,KAAK8lC,iBAAmB,KACxB9lC,KAAKmmC,iBAAmB,KACxBnmC,KAAKomC,kBAAoB,KACzBpmC,KAAKqmC,sBAAwB,KAE7BrmC,KAAKE,KAAO,KACZF,KAAKklC,UACLllC,KAAKmlC,cAAgB,KACrBnlC,KAAK21B,QAAU,KAMvBzN,EAAO8c,aAAaniC,UAAUC,YAAcolB,EAAO8c,aAOnD5hC,OAAOC,eAAe6kB,EAAO8c,aAAaniC,UAAW,WAEjDS,IAAK,WAED,MAAOtD,MAAKslC,YAyBpBpd,EAAOud,OAAS,aAGhBvd,EAAOud,OAAO5iC,WAMVwlC,UAAW,KAMXC,YAAa,KAUbC,UAAU,EAMVC,kBAAkB,EAUlBC,QAAQ,EAMRC,gBAAgB,EAQhBC,iBAAkB,SAAUC,EAAUC,GAElC,GAAwB,kBAAbD,GAEP,KAAM,IAAIjgC,OAAM,kFAAkFkvB,QAAQ,OAAQgR,KAc1HC,kBAAmB,SAAUF,EAAUG,EAAQC,EAAiBC,EAAU7U,GAEtE,GACI8U,GADAC,EAAYnpC,KAAKopC,iBAAiBR,EAAUI,EAGhD,IAAkB,KAAdG,GAIA,GAFAD,EAAUlpC,KAAKqoC,UAAUc,GAErBD,EAAQH,WAAaA,EAErB,KAAM,IAAIpgC,OAAM,kBAAoBogC,EAAS,GAAK,QAAU,eAAkBA,EAAc,OAAL,IAAe,qEAK1GG,GAAU,GAAIhhB,GAAOmhB,cAAcrpC,KAAM4oC,EAAUG,EAAQC,EAAiBC,EAAU7U,GACtFp0B,KAAKspC,YAAYJ,EAQrB,OALIlpC,MAAKuoC,UAAYvoC,KAAKsoC,aAEtBY,EAAQK,QAAQvpC,KAAKsoC,aAGlBY,GASXI,YAAa,SAAUJ,GAEdlpC,KAAKqoC,YAENroC,KAAKqoC,aAIT,IAAI9Z,GAAIvuB,KAAKqoC,UAAUnlC,MAEvB,GACIqrB,WAEGvuB,KAAKqoC,UAAU9Z,IAAM2a,EAAQM,WAAaxpC,KAAKqoC,UAAU9Z,GAAGib,UAEnExpC,MAAKqoC,UAAU3/B,OAAO6lB,EAAI,EAAG,EAAG2a,IAWpCE,iBAAkB,SAAUR,EAAU37B,GAElC,IAAKjN,KAAKqoC,UAEN,MAAO,EAGK9+B,UAAZ0D,IAAyBA,EAAU,KAKvC,KAHA,GACIw8B,GADAlb,EAAIvuB,KAAKqoC,UAAUnlC,OAGhBqrB,KAIH,GAFAkb,EAAMzpC,KAAKqoC,UAAU9Z,GAEjBkb,EAAIC,YAAcd,GAAYa,EAAIx8B,UAAYA,EAE9C,MAAOshB,EAIf,OAAO,IAYXob,IAAK,SAAUf,EAAU37B,GAErB,MAAoD,KAA7CjN,KAAKopC,iBAAiBR,EAAU37B,IA4B3CyuB,IAAK,SAAUkN,EAAUI,EAAiBC,GAEtCjpC,KAAK2oC,iBAAiBC,EAAU,MAEhC,IAAIxU,KAEJ,IAAIG,UAAUrxB,OAAS,EAEnB,IAAK,GAAID,GAAI,EAAGA,EAAIsxB,UAAUrxB,OAAQD,IAElCmxB,EAAKrwB,KAAKwwB,UAAUtxB,GAI5B,OAAOjD,MAAK8oC,kBAAkBF,GAAU,EAAOI,EAAiBC,EAAU7U,IAiB9EwV,QAAS,SAAUhB,EAAUI,EAAiBC,GAE1CjpC,KAAK2oC,iBAAiBC,EAAU,UAEhC,IAAIxU,KAEJ,IAAIG,UAAUrxB,OAAS,EAEnB,IAAK,GAAID,GAAI,EAAGA,EAAIsxB,UAAUrxB,OAAQD,IAElCmxB,EAAKrwB,KAAKwwB,UAAUtxB,GAI5B,OAAOjD,MAAK8oC,kBAAkBF,GAAU,EAAMI,EAAiBC,EAAU7U,IAY7E1jB,OAAQ,SAAUk4B,EAAU37B,GAExBjN,KAAK2oC,iBAAiBC,EAAU,SAEhC,IAAI3lC,GAAIjD,KAAKopC,iBAAiBR,EAAU37B,EAQxC,OANU,KAANhK,IAEAjD,KAAKqoC,UAAUplC,GAAG4mC,WAClB7pC,KAAKqoC,UAAU3/B,OAAOzF,EAAG,IAGtB2lC,GAUXf,UAAW,SAAU56B,GAIjB,GAFgB1D,SAAZ0D,IAAyBA,EAAU,MAElCjN,KAAKqoC,UAAV,CAOA,IAFA,GAAI9Z,GAAIvuB,KAAKqoC,UAAUnlC,OAEhBqrB,KAECthB,EAEIjN,KAAKqoC,UAAU9Z,GAAGthB,UAAYA,IAE9BjN,KAAKqoC,UAAU9Z,GAAGsb,WAClB7pC,KAAKqoC,UAAU3/B,OAAO6lB,EAAG,IAK7BvuB,KAAKqoC,UAAU9Z,GAAGsb,UAIrB58B,KAEDjN,KAAKqoC,UAAUnlC,OAAS,KAWhC4mC,gBAAiB,WAEb,MAAO9pC,MAAKqoC,UAAYroC,KAAKqoC,UAAUnlC,OAAS,GAYpD6mC,KAAM,WAEF/pC,KAAKwoC,kBAAmB,GAY5Bf,SAAU,WAEN,GAAKznC,KAAKyoC,QAAWzoC,KAAKqoC,UAA1B,CAKA,GAEI2B,GAFAC,EAAYtpC,MAAMkC,UAAUoxB,MAAMvuB,KAAK6uB,WACvChG,EAAIvuB,KAAKqoC,UAAUnlC,MAQvB,IALIlD,KAAKuoC,WAELvoC,KAAKsoC,YAAc2B,GAGlB1b,EAAL,CAMAyb,EAAWhqC,KAAKqoC,UAAUpU,QAC1Bj0B,KAAKwoC,kBAAmB,CAIxB,GACIja,WAEGyb,EAASzb,IAAMvuB,KAAKwoC,kBAAoBwB,EAASzb,GAAGgb,QAAQU,MAAe,MAStFC,OAAQ,WAEAlqC,KAAKsoC,cAELtoC,KAAKsoC,YAAc,OAa3B6B,QAAS,WAELnqC,KAAK6nC,YAEL7nC,KAAKqoC,UAAY,KACbroC,KAAKsoC,cAELtoC,KAAKsoC,YAAc,OAW3BnhB,SAAU,WAEN,MAAO,yBAA0BnnB,KAAKyoC,OAAQ,iBAAkBzoC,KAAK8pC,kBAAmB,MAehG1mC,OAAOC,eAAe6kB,EAAOud,OAAO5iC,UAAW,iBAE3CS,IAAK,WACD,GAAI8mC,GAAQpqC,IACZ,OAAOA,MAAK0oC,iBAAmB1oC,KAAK0oC,eAAiB,WACjD,MAAO0B,GAAM3C,SAASxgC,MAAMmjC,EAAO7V,gBAM/CrM,EAAOud,OAAO5iC,UAAUC,YAAcolB,EAAOud,OAuB7Cvd,EAAOmhB,cAAgB,SAAUgB,EAAQzB,EAAUG,EAAQC,EAAiBC,EAAU7U,GAMlFp0B,KAAK0pC,UAAYd,EAEbG,IAEA/oC,KAAKsqC,SAAU,GAGI,MAAnBtB,IAEAhpC,KAAKiN,QAAU+7B,GAOnBhpC,KAAKuqC,QAAUF,EAEXpB,IAEAjpC,KAAKwpC,UAAYP,GAGjB7U,GAAQA,EAAKlxB,SAEblD,KAAKulC,MAAQnR,IAKrBlM,EAAOmhB,cAAcxmC,WAKjBoK,QAAS,KAMTq9B,SAAS,EAMTd,UAAW,EAMXjE,MAAO,KAKPiF,UAAW,EAOX/B,QAAQ,EAORgC,OAAQ,KASRlB,QAAS,SAASU,GAEd,GAAIS,GAAeD,CAqBnB,OAnBIzqC,MAAKyoC,QAAYzoC,KAAK0pC,YAEtBe,EAASzqC,KAAKyqC,OAASzqC,KAAKyqC,OAAOnW,OAAO2V,GAAaA,EAEnDjqC,KAAKulC,QAELkF,EAASA,EAAOnW,OAAOt0B,KAAKulC,QAGhCmF,EAAgB1qC,KAAK0pC,UAAUziC,MAAMjH,KAAKiN,QAASw9B,GAEnDzqC,KAAKwqC,YAEDxqC,KAAKsqC,SAELtqC,KAAK2qC,UAIND,GAUXC,OAAQ,WACJ,MAAO3qC,MAAK4qC,UAAY5qC,KAAKuqC,QAAQ75B,OAAO1Q,KAAK0pC,UAAW1pC,KAAKiN,SAAW,MAOhF29B,QAAS,WACL,QAAU5qC,KAAKuqC,WAAavqC,KAAK0pC,WAOrCX,OAAQ,WACJ,MAAO/oC,MAAKsqC,SAOhBO,YAAa,WACT,MAAO7qC,MAAK0pC,WAOhBoB,UAAW,WACP,MAAO9qC,MAAKuqC,SAQhBV,SAAU,iBACC7pC,MAAKuqC,cACLvqC,MAAK0pC,gBACL1pC,MAAKiN,SAOhBka,SAAU,WACN,MAAO,gCAAkCnnB,KAAKsqC,QAAS,aAActqC,KAAK4qC,UAAW,YAAc5qC,KAAKyoC,OAAS,MAKzHvgB,EAAOmhB,cAAcxmC,UAAUC,YAAcolB,EAAOmhB,cAiBpDnhB,EAAO6iB,OAAS,SAAU7qC,EAAMsU,EAAU5B,GAKtC5S,KAAKE,KAAOA,EAMZF,KAAK4U,KAAOsT,EAAO4K,aAQnB9yB,KAAK4D,QAAU5D,MAMfA,KAAKwhB,WAMLxhB,KAAKyT,OAAQ,EAMbzT,KAAK0kB,QAAU,EAKf1kB,KAAKgrC,UAAY,GAAI9iB,GAAO9mB,KAM5B,IAAIyD,GAAI,GAAIomC,KAoBZ,IAfAjrC,KAAKwU,UAEDnO,YAAcuO,KAAM,KAAMnR,OAAS4B,EAAG,IAAKC,EAAG,MAC9C6+B,MAAQvvB,KAAM,KAAMnR,MAAO,GAC3BynC,OAASt2B,KAAM,KAAMnR,OAAS4B,EAAG,EAAKC,EAAG,IACzC6lC,MAAQv2B,KAAM,MAAOnR,OAASoB,EAAEumC,cAAgBvmC,EAAEwmC,WAAaxmC,EAAEymC,UAAyB,GAAdzmC,EAAE0mC,WAAiB,GAAsB,GAAjB1mC,EAAE2mC,aAAoB3mC,EAAE4mC,eAC5HC,YAAc92B,KAAM,KAAMnR,MAAO,OACjCkoC,WAAa/2B,KAAM,YAAanR,MAAO,KAAMiS,aAAeS,QAAQ,IACpEy1B,WAAah3B,KAAM,YAAanR,MAAO,KAAMiS,aAAeS,QAAQ,IACpE01B,WAAaj3B,KAAM,YAAanR,MAAO,KAAMiS,aAAeS,QAAQ,IACpE21B,WAAal3B,KAAM,YAAanR,MAAO,KAAMiS,aAAeS,QAAQ,KAKpE3B,EAEA,IAAK,GAAID,KAAOC,GAEZxU,KAAKwU,SAASD,GAAOC,EAASD,EAOtCvU,MAAK4S,YAAcA,GAAe,IAItCsV,EAAO6iB,OAAOloC,WAMV8Q,KAAM,aAUNo4B,cAAe,SAAUplC,EAAOC,GAE5B5G,KAAKwU,SAASnO,WAAW5C,MAAM4B,EAAIsB,EACnC3G,KAAKwU,SAASnO,WAAW5C,MAAM6B,EAAIsB,GASvCy8B,OAAQ,SAAU2I,GAEd,GAAuB,mBAAZA,GACX,CACI,GAAI3mC,GAAI2mC,EAAQ3mC,EAAIrF,KAAKE,KAAKyG,MAC1BrB,EAAI,EAAI0mC,EAAQ1mC,EAAItF,KAAKE,KAAK0G,QAE9BvB,IAAMrF,KAAKgrC,UAAU3lC,GAAKC,IAAMtF,KAAKgrC,UAAU1lC,KAE/CtF,KAAKwU,SAAS02B,MAAMznC,MAAM4B,EAAIA,EAAE4mC,QAAQ,GACxCjsC,KAAKwU,SAAS02B,MAAMznC,MAAM6B,EAAIA,EAAE2mC,QAAQ,GACxCjsC,KAAKgrC,UAAUxnC,IAAI6B,EAAGC,IAI9BtF,KAAKwU,SAAS2vB,KAAK1gC,MAAQzD,KAAKE,KAAKikC,KAAK+H,uBAsB9CC,WAAY,SAAU9mC,EAAGC,EAAGqB,EAAOC,EAAQwlC,EAASC,GAEhC9iC,SAAZ6iC,IAAyBA,EAAU,GACvB7iC,SAAZ8iC,IAAyBA,EAAU,GAEzB9iC,SAAV5C,GAAiC,OAAVA,EAEvB3G,KAAK2G,MAAQA,EAIbA,EAAQ3G,KAAK2G,MAGF4C,SAAX3C,GAAmC,OAAXA,EAExB5G,KAAK4G,OAASA,EAIdA,EAAS5G,KAAK4G,MAGlB,IAAI4iB,GAAQxpB,KAAKE,KAAKw7B,IAAIlS,MAAMnkB,EAAGC,EAAG,YAStC,OAPAkkB,GAAM7iB,MAAQA,EACd6iB,EAAM5iB,OAASA,EAEf4iB,EAAMxhB,OAAOxE,IAAI4oC,EAASC,GAE1B7iB,EAAMzhB,SAAY/H,MAEXwpB,GAQXzmB,QAAS,WAEL/C,KAAKE,KAAO,OAMpBgoB,EAAO6iB,OAAOloC,UAAUC,YAAcolB,EAAO6iB,OAM7C3nC,OAAOC,eAAe6kB,EAAO6iB,OAAOloC,UAAW,SAE3CS,IAAK,WACD,MAAOtD,MAAKwU,SAASnO,WAAW5C,MAAM4B,GAG1C7B,IAAK,SAASC,GACVzD,KAAKwU,SAASnO,WAAW5C,MAAM4B,EAAI5B,KAS3CL,OAAOC,eAAe6kB,EAAO6iB,OAAOloC,UAAW,UAE3CS,IAAK,WACD,MAAOtD,MAAKwU,SAASnO,WAAW5C,MAAM6B,GAG1C9B,IAAK,SAASC,GACVzD,KAAKwU,SAASnO,WAAW5C,MAAM6B,EAAI7B,KAmB3CykB,EAAOokB,OAAS,SAAUpsC,EAAM0B,GAEb2H,SAAX3H,IAAwBA,EAAS,MAKrC5B,KAAKE,KAAOA,EAKZF,KAAK4B,OAASA,EAMd5B,KAAKyoC,QAAS,EAMdzoC,KAAKyB,SAAU,EAMfzB,KAAKusC,cAAe,EAMpBvsC,KAAKwsC,WAAY,EAMjBxsC,KAAKysC,eAAgB,EAMrBzsC,KAAK0sC,WAAY,EAMjB1sC,KAAK2sC,eAAgB,GAIzBzkB,EAAOokB,OAAOzpC,WAOVsD,UAAW,aAQXk9B,OAAQ,aAQRv8B,OAAQ,aAQR8lC,WAAY,aAOZ7pC,QAAS,WAEL/C,KAAKE,KAAO,KACZF,KAAK4B,OAAS,KACd5B,KAAKyoC,QAAS,EACdzoC,KAAKyB,SAAU,IAMvBymB,EAAOokB,OAAOzpC,UAAUC,YAAcolB,EAAOokB,OAiB7CpkB,EAAO2kB,cAAgB,SAAS3sC,GAK5BF,KAAKE,KAAOA,EAKZF,KAAK8sC,WAML9sC,KAAK+sC,KAAO,EAMZ/sC,KAAKgtC,GAAK,GAId9kB,EAAO2kB,cAAchqC,WAWjB64B,IAAK,SAAUuR,GAEX,GAAI7Y,GAAOzzB,MAAMkC,UAAUoxB,MAAMvuB,KAAK6uB,UAAW,GAC7C1jB,GAAS,CA6Cb,OA1CsB,kBAAXo8B,GAEPA,EAAS,GAAIA,GAAOjtC,KAAKE,KAAMF,OAI/BitC,EAAO/sC,KAAOF,KAAKE,KACnB+sC,EAAOrrC,OAAS5B,MAIe,kBAAxBitC,GAAkB,YAEzBA,EAAOV,cAAe,EACtB17B,GAAS,GAGmB,kBAArBo8B,GAAe,SAEtBA,EAAOT,WAAY,EACnB37B,GAAS,GAGuB,kBAAzBo8B,GAAmB,aAE1BA,EAAOR,eAAgB,EACvB57B,GAAS,GAGmB,kBAArBo8B,GAAe,SAEtBA,EAAOP,WAAY,EACnB77B,GAAS,GAGuB,kBAAzBo8B,GAAmB,aAE1BA,EAAON,eAAgB,EACvB97B,GAAS,GAITA,IAEIo8B,EAAOV,cAAgBU,EAAOT,WAAaS,EAAOR,iBAElDQ,EAAOxE,QAAS,IAGhBwE,EAAOP,WAAaO,EAAON,iBAE3BM,EAAOxrC,SAAU,GAGrBzB,KAAK+sC,KAAO/sC,KAAK8sC,QAAQ/oC,KAAKkpC,GAGA,kBAAnBA,GAAa,MAEpBA,EAAOt5B,KAAK1M,MAAMgmC,EAAQ7Y,GAGvB6Y,GAIA,MAUfv8B,OAAQ,SAAUu8B,GAId,IAFAjtC,KAAKgtC,GAAKhtC,KAAK+sC,KAER/sC,KAAKgtC,MAER,GAAIhtC,KAAK8sC,QAAQ9sC,KAAKgtC,MAAQC,EAK1B,MAHAA,GAAOlqC,UACP/C,KAAK8sC,QAAQpkC,OAAO1I,KAAKgtC,GAAI,OAC7BhtC,MAAK+sC,QAYjBlF,UAAW,WAIP,IAFA7nC,KAAKgtC,GAAKhtC,KAAK+sC,KAER/sC,KAAKgtC,MAERhtC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIjqC,SAG1B/C,MAAK8sC,QAAQ5pC,OAAS,EACtBlD,KAAK+sC,KAAO,GAUhB5mC,UAAW,WAIP,IAFAnG,KAAKgtC,GAAKhtC,KAAK+sC,KAER/sC,KAAKgtC,MAEJhtC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIvE,QAAUzoC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIT,cAEtDvsC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAI7mC,aAYlCk9B,OAAQ,WAIJ,IAFArjC,KAAKgtC,GAAKhtC,KAAK+sC,KAER/sC,KAAKgtC,MAEJhtC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIvE,QAAUzoC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIR,WAEtDxsC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAI3J,UAalC6J,WAAY,WAIR,IAFAltC,KAAKgtC,GAAKhtC,KAAK+sC,KAER/sC,KAAKgtC,MAEJhtC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIvE,QAAUzoC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIP,eAEtDzsC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIE,cAYlCpmC,OAAQ,WAIJ,IAFA9G,KAAKgtC,GAAKhtC,KAAK+sC,KAER/sC,KAAKgtC,MAEJhtC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIvrC,SAAWzB,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIN,WAEvD1sC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIlmC,UAYlC8lC,WAAY,WAIR,IAFA5sC,KAAKgtC,GAAKhtC,KAAK+sC,KAER/sC,KAAKgtC,MAEJhtC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIvrC,SAAWzB,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIL,eAEvD3sC,KAAK8sC,QAAQ9sC,KAAKgtC,IAAIJ,cAWlC7pC,QAAS,WAEL/C,KAAK6nC,YAEL7nC,KAAKE,KAAO,OAMpBgoB,EAAO2kB,cAAchqC,UAAUC,YAAcolB,EAAO2kB,cAiBpD3kB,EAAOilB,MAAQ,SAAUjtC,GAKrBF,KAAKE,KAAOA,EAEZD,KAAKgI,uBAAuBvC,KAAK1F,MAMjCA,KAAKs3B,KAAO,cAMZt3B,KAAKotC,yBAA0B,EAM/BptC,KAAKqtC,QAAS,EAOdrtC,KAAK+B,eAAiB,GAAI9B,MAAK+B,OAO/BhC,KAAK6B,MAAQ7B,KAKbA,KAAKstC,qBAAuB,EAM5BttC,KAAKutC,WAAa,SAMlBvtC,KAAKwtC,UAAY,KAMjBxtC,KAAKya,UAAaC,EAAG,EAAGC,EAAG,EAAGhW,EAAG,EAAGD,EAAG,EAAG0T,MAAO,EAAGoQ,KAAM,WAErDxoB,KAAKE,KAAKsY,cAGXxY,KAAKya,SAAS/V,EAAI,GAGlBxE,EAAKutC,QAELztC,KAAK0tC,YAAYxtC,EAAKutC,SAK9BvlB,EAAOilB,MAAMtqC,UAAYO,OAAO8E,OAAOjI,KAAKgI,uBAAuBpF,WACnEqlB,EAAOilB,MAAMtqC,UAAUC,YAAcolB,EAAOilB,MAS5CjlB,EAAOilB,MAAMtqC,UAAU6qC,YAAc,SAAUD,GAEvCA,EAAgC,0BAEhCztC,KAAKotC,wBAA0BK,EAAgC,yBAG/DA,EAAwB,iBAExBztC,KAAK2tC,mBAAmBF,EAAwB,kBAUxDvlB,EAAOilB,MAAMtqC,UAAU0jC,KAAO,WAE1Bre,EAAO0lB,IAAIC,UAAU7tC,KAAKE,KAAKmQ,OAAQrQ,KAAKkZ,QAE5CgP,EAAOC,OAAO2lB,cAAc9tC,KAAKE,KAAKmQ,OAAQ,QAC9C6X,EAAOC,OAAO4lB,eAAe/tC,KAAKE,KAAKmQ,OAAQ,QAE/CrQ,KAAKguC,mBAUT9lB,EAAOilB,MAAMtqC,UAAUsD,UAAY,WAE/BnG,KAAKstC,qBAAuB,CAG5B,KAAK,GAAIrqC,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAGkD,aAUzB+hB,EAAOilB,MAAMtqC,UAAUwgC,OAAS,WAI5B,IAFA,GAAIpgC,GAAIjD,KAAKgD,SAASE,OAEfD,KAEHjD,KAAKgD,SAASC,GAAGogC,UAazBnb,EAAOilB,MAAMtqC,UAAUqqC,WAAa,WAEhC,GAAIltC,KAAKE,KAAKuE,MAAMo/B,OAAO5/B,OAC3B,CACIjE,KAAKE,KAAKuE,MAAMo/B,OAAO5/B,OAAOipC,aAE9BltC,KAAKE,KAAKuE,MAAMo/B,OAAOR,QAIvB,KAFA,GAAIpgC,GAAIjD,KAAKgD,SAASE,OAEfD,KAECjD,KAAKgD,SAASC,KAAOjD,KAAKE,KAAKuE,MAAMo/B,OAAO5/B,QAE5CjE,KAAKgD,SAASC,GAAGiqC,iBAK7B,CACIltC,KAAKE,KAAKuE,MAAMo/B,OAAOR,QAIvB,KAFA,GAAIpgC,GAAIjD,KAAKgD,SAASE,OAEfD,KAEHjD,KAAKgD,SAASC,GAAGiqC,eAY7BhlB,EAAOilB,MAAMtqC,UAAU0B,gBAAkB,WAErCvE,KAAK8B,WAAa,CAElB,KAAK,GAAImB,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAGsB,mBAWzB2jB,EAAOilB,MAAMtqC,UAAUmrC,gBAAkB,WAEPzkC,SAA1BuG,SAASm+B,aAETjuC,KAAKutC,WAAa,yBAEUhkC,SAAvBuG,SAASo+B,UAEdluC,KAAKutC,WAAa,sBAEShkC,SAAtBuG,SAASq+B,SAEdnuC,KAAKutC,WAAa,qBAEOhkC,SAApBuG,SAASs+B,OAEdpuC,KAAKutC,WAAa,mBAIlBvtC,KAAKutC,WAAa,IAGtB,IAAInD,GAAQpqC,IAEZA,MAAKwtC,UAAY,SAAUa,GACvB,MAAOjE,GAAMkE,iBAAiBD,IAI9BruC,KAAKutC,YAELz9B,SAASy+B,iBAAiBvuC,KAAKutC,WAAYvtC,KAAKwtC,WAAW,GAG/Dl7B,OAAOk8B,OAASxuC,KAAKwtC,UACrBl7B,OAAOm8B,QAAUzuC,KAAKwtC,UAEtBl7B,OAAOo8B,WAAa1uC,KAAKwtC,UACzBl7B,OAAOq8B,WAAa3uC,KAAKwtC,UAErBxtC,KAAKE,KAAK0uC,OAAOC,cAEjBC,SAASC,IAAIC,YAAYT,iBAAiB,WACtCrmB,EAAOilB,MAAMtqC,UAAUyrC,iBAAiB5oC,KAAK0kC,GAASx1B,KAAM,YAGhEk6B,SAASC,IAAIE,YAAYV,iBAAiB,WACtCrmB,EAAOilB,MAAMtqC,UAAUyrC,iBAAiB5oC,KAAK0kC,GAASx1B,KAAM,eAYxEsT,EAAOilB,MAAMtqC,UAAUyrC,iBAAmB,SAAUD,GAEhD,MAAmB,aAAfA,EAAMz5B,MAAsC,SAAfy5B,EAAMz5B,MAAkC,aAAfy5B,EAAMz5B,MAAsC,UAAfy5B,EAAMz5B,UAEtE,aAAfy5B,EAAMz5B,MAAsC,SAAfy5B,EAAMz5B,KAEnC5U,KAAKE,KAAKgvC,UAAUb,IAEA,aAAfA,EAAMz5B,MAAsC,UAAfy5B,EAAMz5B,OAExC5U,KAAKE,KAAKivC,UAAUd,SAMxBruC,KAAKotC,0BAKLt9B,SAASs+B,QAAUt+B,SAASo+B,WAAap+B,SAASq+B,UAAYr+B,SAASm+B,cAA+B,UAAfI,EAAMz5B,KAE7F5U,KAAKE,KAAKkvC,WAAWf,GAIrBruC,KAAKE,KAAKmvC,YAAYhB,MAiB9BnmB,EAAOilB,MAAMtqC,UAAU8qC,mBAAqB,SAAUv1B,GAE9CpY,KAAKE,KAAKsY,cAEd0P,EAAOonB,MAAMC,aAAan3B,EAAOpY,KAAKya,UACtCyN,EAAOonB,MAAME,YAAYxvC,KAAKya,UAG9Bza,KAAKya,SAASC,GAAK,IACnB1a,KAAKya,SAASE,GAAK,IACnB3a,KAAKya,SAAS9V,GAAK,IACnB3E,KAAKya,SAAS/V,EAAI,IAStBwjB,EAAOilB,MAAMtqC,UAAUE,QAAW,WAE1B/C,KAAKutC,YAELz9B,SAAS2/B,oBAAoBzvC,KAAKutC,WAAYvtC,KAAKwtC,WAAW,GAGlEl7B,OAAOo8B,WAAa,KACpBp8B,OAAOq8B,WAAa,KAEpBr8B,OAAOk8B,OAAS,KAChBl8B,OAAOm8B,QAAU,MAQrBrrC,OAAOC,eAAe6kB,EAAOilB,MAAMtqC,UAAW,mBAE1CS,IAAK,WAED,MAAOtD,MAAKya,SAASrC,OAIzB5U,IAAK,SAAU4U,GAEXpY,KAAK2tC,mBAAmBv1B,MAYhChV,OAAOC,eAAe6kB,EAAOilB,MAAMtqC,UAAW,YAE1CS,IAAK,WAED,MAAOrD,MAAKqN,WAAWoY,UAAYzlB,KAAKqN,WAAWC,QAIvD/J,IAAK,SAAUC,GAEPA,EAEAxD,KAAKqN,WAAWoY,QAAUzlB,KAAKqN,WAAWC,OAI1CtN,KAAKqN,WAAWoY,QAAUzlB,KAAKqN,WAAW+N,WAgCtD6M,EAAOwnB,MAAQ,SAAUxvC,EAAM0B,EAAQ01B,EAAMqY,EAAYC,EAAYC,GAE9CtmC,SAAfomC,IAA4BA,GAAa,GAC1BpmC,SAAfqmC,IAA4BA,GAAa,GACrBrmC,SAApBsmC,IAAiCA,EAAkB3nB,EAAO4nB,QAAQC,QAOtE/vC,KAAKE,KAAOA,EAEGqJ,SAAX3H,IAEAA,EAAS1B,EAAKuE,OAOlBzE,KAAKs3B,KAAOA,GAAQ,QAQpBt3B,KAAKmX,EAAI,EAETlX,KAAKgI,uBAAuBvC,KAAK1F,MAE7B2vC,GAEA3vC,KAAKE,KAAK2B,MAAMwG,SAASrI,MACzBA,KAAKmX,EAAInX,KAAKE,KAAK2B,MAAMmB,SAASE,QAI9BtB,IAEAA,EAAOyG,SAASrI,MAChBA,KAAKmX,EAAIvV,EAAOoB,SAASE,QASjClD,KAAK4U,KAAOsT,EAAOoK,MAMnBtyB,KAAKgwC,YAAc9nB,EAAOoK,MAO1BtyB,KAAKiwC,OAAQ,EAObjwC,KAAKqtC,QAAS,EAOdrtC,KAAKkwC,eAAgB,EAYrBlwC,KAAKmwC,gBAAiB,EAWtBnwC,KAAKowC,UAAYloB,EAAOzgB,OAQxBzH,KAAKqwC,OAAS,KAQdrwC,KAAK4vC,WAAaA,EASlB5vC,KAAKswC,iBAAkB,EAQvBtwC,KAAK6vC,gBAAkBA,EAkBvB7vC,KAAKuwC,qBAAuB,KAM5BvwC,KAAKwwC,UAAY,GAAItoB,GAAOud,OAM5BzlC,KAAKywC,YAAc,EAUnBzwC,KAAK0wC,eAAgB,EAOrB1wC,KAAK2wC,aAAe,GAAIzoB,GAAO9mB,MAa/BpB,KAAK4wC,QAOL5wC,KAAK6wC,cAAgB,KAIzB3oB,EAAOwnB,MAAM7sC,UAAYO,OAAO8E,OAAOjI,KAAKgI,uBAAuBpF,WACnEqlB,EAAOwnB,MAAM7sC,UAAUC,YAAcolB,EAAOwnB,MAO5CxnB,EAAOwnB,MAAMoB,YAAc,EAO3B5oB,EAAOwnB,MAAMqB,aAAe,EAO5B7oB,EAAOwnB,MAAMsB,aAAe,EAO5B9oB,EAAOwnB,MAAMuB,eAAiB,GAO9B/oB,EAAOwnB,MAAMwB,gBAAkB,EAgB/BhpB,EAAOwnB,MAAM7sC,UAAU64B,IAAM,SAAUpzB,EAAO6oC,GA8B1C,MA5Be5nC,UAAX4nC,IAAwBA,GAAS,GAEjC7oC,EAAM1G,SAAW5B,OAEjBA,KAAKqI,SAASC,GAEdA,EAAM6O,EAAInX,KAAKgD,SAASE,OAEpBlD,KAAK4vC,YAA6B,OAAftnC,EAAM8oC,KAEzBpxC,KAAKE,KAAKokC,QAAQpqB,OAAO5R,EAAOtI,KAAK6vC,iBAEhCvnC,EAAM8oC,MAEXpxC,KAAKqxC,UAAU/oC,IAGd6oC,GAAU7oC,EAAMgpC,QAEjBhpC,EAAMgpC,OAAOC,wBAAwBjpC,EAAOtI,MAG5B,OAAhBA,KAAKqwC,SAELrwC,KAAKqwC,OAAS/nC,IAIfA,GAYX4f,EAAOwnB,MAAM7sC,UAAUwuC,UAAY,SAAU/oC,GAEzC,GAAIA,EAAM1G,SAAW5B,KACrB,CACI,GAAIwI,GAAQxI,KAAK4wC,KAAK3nC,QAAQX,EAE9B,IAAc,KAAVE,EAGA,MADAxI,MAAK4wC,KAAK7sC,KAAKuE,IACR,EAIf,OAAO,GAYX4f,EAAOwnB,MAAM7sC,UAAU2uC,eAAiB,SAAUlpC,GAE9C,GAAIA,EACJ,CACI,GAAIE,GAAQxI,KAAK4wC,KAAK3nC,QAAQX,EAE9B,IAAc,KAAVE,EAGA,MADAxI,MAAK4wC,KAAKloC,OAAOF,EAAO,IACjB,EAIf,OAAO,GAiBX0f,EAAOwnB,MAAM7sC,UAAU4uC,YAAc,SAAUzuC,EAAUmuC,GAErD,GAAInuC,YAAoBklB,GAAOwnB,MAE3B1sC,EAAS0uC,QAAQ1xC,KAAMmxC,OAEtB,IAAIxwC,MAAMoR,QAAQ/O,GAEnB,IAAK,GAAIC,GAAI,EAAGA,EAAID,EAASE,OAAQD,IAEjCjD,KAAK07B,IAAI14B,EAASC,GAAIkuC,EAI9B,OAAOnuC,IAeXklB,EAAOwnB,MAAM7sC,UAAU8uC,MAAQ,SAAUrpC,EAAOE,EAAO2oC,GA8BnD,MA5Be5nC,UAAX4nC,IAAwBA,GAAS,GAEjC7oC,EAAM1G,SAAW5B,OAEjBA,KAAKuI,WAAWD,EAAOE,GAEvBxI,KAAK4xC,UAED5xC,KAAK4vC,YAA6B,OAAftnC,EAAM8oC,KAEzBpxC,KAAKE,KAAKokC,QAAQpqB,OAAO5R,EAAOtI,KAAK6vC,iBAEhCvnC,EAAM8oC,MAEXpxC,KAAKqxC,UAAU/oC,IAGd6oC,GAAU7oC,EAAMgpC,QAEjBhpC,EAAMgpC,OAAOC,wBAAwBjpC,EAAOtI,MAG5B,OAAhBA,KAAKqwC,SAELrwC,KAAKqwC,OAAS/nC,IAIfA,GAWX4f,EAAOwnB,MAAM7sC,UAAUgvC,MAAQ,SAAUrpC,GAErC,MAAY,GAARA,GAAaA,GAASxI,KAAKgD,SAASE,OAE7B,GAIAlD,KAAKoJ,WAAWZ,IAkB/B0f,EAAOwnB,MAAM7sC,UAAUqF,OAAS,SAAU7C,EAAGC,EAAGiP,EAAKzI,EAAOuhC,GAEzC9jC,SAAX8jC,IAAwBA,GAAS,EAErC,IAAI/kC,GAAQ,GAAItI,MAAKowC,UAAUpwC,KAAKE,KAAMmF,EAAGC,EAAGiP,EAAKzI,EAyBrD,OAvBAxD,GAAM+kC,OAASA,EACf/kC,EAAM7G,QAAU4rC,EAChB/kC,EAAM2nC,MAAQ5C,EAEdrtC,KAAKqI,SAASC,GAEdA,EAAM6O,EAAInX,KAAKgD,SAASE,OAEpBlD,KAAK4vC,YAEL5vC,KAAKE,KAAKokC,QAAQpqB,OAAO5R,EAAOtI,KAAK6vC,gBAAiB7vC,KAAKswC,iBAG3DhoC,EAAMgpC,QAENhpC,EAAMgpC,OAAOC,wBAAwBjpC,EAAOtI,MAG5B,OAAhBA,KAAKqwC,SAELrwC,KAAKqwC,OAAS/nC,GAGXA,GAkBX4f,EAAOwnB,MAAM7sC,UAAUivC,eAAiB,SAAUC,EAAUx9B,EAAKzI,EAAOuhC,GAErD9jC,SAAX8jC,IAAwBA,GAAS,EAErC,KAAK,GAAIpqC,GAAI,EAAO8uC,EAAJ9uC,EAAcA,IAE1BjD,KAAKkI,OAAO,EAAG,EAAGqM,EAAKzI,EAAOuhC,IAatCnlB,EAAOwnB,MAAM7sC,UAAU+uC,QAAU,WAI7B,IAFA,GAAI3uC,GAAIjD,KAAKgD,SAASE,OAEfD,KAEHjD,KAAKgD,SAASC,GAAGkU,EAAIlU,GAc7BilB,EAAOwnB,MAAM7sC,UAAUmvC,YAAc,SAAUxpC,GAS3C,MAPce,UAAVf,IAAuBA,EAAQ,GAE/BA,EAAQxI,KAAKgD,SAASE,OAAS,IAE/BsF,EAAQ,GAGRxI,KAAKqwC,QAELrwC,KAAKywC,YAAcjoC,EACnBxI,KAAKqwC,OAASrwC,KAAKgD,SAAShD,KAAKywC,aAC1BzwC,KAAKqwC,QAJhB,QAiBJnoB,EAAOwnB,MAAM7sC,UAAUovC,KAAO,WAE1B,MAAIjyC,MAAKqwC,QAGDrwC,KAAKywC,aAAezwC,KAAKgD,SAASE,OAAS,EAE3ClD,KAAKywC,YAAc,EAInBzwC,KAAKywC,cAGTzwC,KAAKqwC,OAASrwC,KAAKgD,SAAShD,KAAKywC,aAE1BzwC,KAAKqwC,QAdhB,QA2BJnoB,EAAOwnB,MAAM7sC,UAAUqvC,SAAW,WAE9B,MAAIlyC,MAAKqwC,QAGoB,IAArBrwC,KAAKywC,YAELzwC,KAAKywC,YAAczwC,KAAKgD,SAASE,OAAS,EAI1ClD,KAAKywC,cAGTzwC,KAAKqwC,OAASrwC,KAAKgD,SAAShD,KAAKywC,aAE1BzwC,KAAKqwC,QAdhB,QA4BJnoB,EAAOwnB,MAAM7sC,UAAUsvC,KAAO,SAAUC,EAAQvpC,GAE5C7I,KAAK4I,aAAawpC,EAAQvpC,GAC1B7I,KAAK4xC,WAWT1pB,EAAOwnB,MAAM7sC,UAAUwvC,WAAa,SAAU/pC,GAQ1C,MANIA,GAAM1G,SAAW5B,MAAQA,KAAKsyC,SAAShqC,GAAStI,KAAKgD,SAASE,SAE9DlD,KAAK0Q,OAAOpI,GAAO,GAAO,GAC1BtI,KAAK07B,IAAIpzB,GAAO,IAGbA,GAWX4f,EAAOwnB,MAAM7sC,UAAU0vC,WAAa,SAAUjqC,GAQ1C,MANIA,GAAM1G,SAAW5B,MAAQA,KAAKsyC,SAAShqC,GAAS,IAEhDtI,KAAK0Q,OAAOpI,GAAO,GAAO,GAC1BtI,KAAK2xC,MAAMrpC,EAAO,GAAG,IAGlBA,GAWX4f,EAAOwnB,MAAM7sC,UAAU2vC,OAAS,SAAUlqC,GAEtC,GAAIA,EAAM1G,SAAW5B,MAAQA,KAAKsyC,SAAShqC,GAAStI,KAAKgD,SAASE,OAAS,EAC3E,CACI,GAAIwB,GAAI1E,KAAKsyC,SAAShqC,GAClB3D,EAAI3E,KAAK6xC,MAAMntC,EAAI,EAEnBC,IAEA3E,KAAKmyC,KAAK7pC,EAAO3D,GAIzB,MAAO2D,IAWX4f,EAAOwnB,MAAM7sC,UAAU4vC,SAAW,SAAUnqC,GAExC,GAAIA,EAAM1G,SAAW5B,MAAQA,KAAKsyC,SAAShqC,GAAS,EACpD,CACI,GAAI5D,GAAI1E,KAAKsyC,SAAShqC,GAClB3D,EAAI3E,KAAK6xC,MAAMntC,EAAI,EAEnBC,IAEA3E,KAAKmyC,KAAK7pC,EAAO3D,GAIzB,MAAO2D,IAYX4f,EAAOwnB,MAAM7sC,UAAU6vC,GAAK,SAAUlqC,EAAOnD,EAAGC,GAE5C,MAAY,GAARkD,GAAaA,EAAQxI,KAAKgD,SAASE,OAE5B,IAIPlD,KAAKoJ,WAAWZ,GAAOnD,EAAIA,OAC3BrF,KAAKoJ,WAAWZ,GAAOlD,EAAIA,KAYnC4iB,EAAOwnB,MAAM7sC,UAAU6a,QAAU,WAE7B1d,KAAKgD,SAAS0a,UACd1d,KAAK4xC,WAWT1pB,EAAOwnB,MAAM7sC,UAAUyvC,SAAW,SAAUhqC,GAExC,MAAOtI,MAAKgD,SAASiG,QAAQX,IAYjC4f,EAAOwnB,MAAM7sC,UAAUg1B,QAAU,SAAU8a,EAAUC,GAEjD,GAAIpqC,GAAQxI,KAAKsyC,SAASK,EAE1B,OAAc,KAAVnqC,GAEIoqC,EAAShxC,SAELgxC,EAAShxC,iBAAkBsmB,GAAOwnB,MAElCkD,EAAShxC,OAAO8O,OAAOkiC,GAIvBA,EAAShxC,OAAO6G,YAAYmqC,IAIpC5yC,KAAK0Q,OAAOiiC,GAEZ3yC,KAAK2xC,MAAMiB,EAAUpqC,GAEdmqC,GAlBX,QAiCJzqB,EAAOwnB,MAAM7sC,UAAUgwC,YAAc,SAAUvqC,EAAOiM,GAElD,GAAIwgB,GAAMxgB,EAAIrR,MAEd,OAAY,KAAR6xB,GAAaxgB,EAAI,IAAMjM,IAEhB,EAEM,IAARysB,GAAaxgB,EAAI,IAAMjM,IAASiM,EAAI,IAAMjM,GAAMiM,EAAI,KAElD,EAEM,IAARwgB,GAAaxgB,EAAI,IAAMjM,IAASiM,EAAI,IAAMjM,GAAMiM,EAAI,KAAOA,EAAI,IAAMjM,GAAMiM,EAAI,IAAIA,EAAI,KAErF,EAEM,IAARwgB,GAAaxgB,EAAI,IAAMjM,IAASiM,EAAI,IAAMjM,GAAMiM,EAAI,KAAOA,EAAI,IAAMjM,GAAMiM,EAAI,IAAIA,EAAI,KAAOA,EAAI,IAAMjM,GAAMiM,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAEhI,GAGJ,GAsBX2T,EAAOwnB,MAAM7sC,UAAU+yB,YAAc,SAAUttB,EAAOiM,EAAK9Q,EAAOqvC,EAAWC,GAgBzE,GAdcxpC,SAAVwpC,IAAuBA,GAAQ,GAEnCD,EAAYA,GAAa,GAYpB9yC,KAAK6yC,YAAYvqC,EAAOiM,MAAUw+B,GAASD,EAAY,GAExD,OAAO,CAGX,IAAI/d,GAAMxgB,EAAIrR,MAmCd,OAjCY,KAAR6xB,EAEkB,IAAd+d,EAAmBxqC,EAAMiM,EAAI,IAAM9Q,EACjB,GAAbqvC,EAAkBxqC,EAAMiM,EAAI,KAAO9Q,EACtB,GAAbqvC,EAAkBxqC,EAAMiM,EAAI,KAAO9Q,EACtB,GAAbqvC,EAAkBxqC,EAAMiM,EAAI,KAAO9Q,EACtB,GAAbqvC,IAAkBxqC,EAAMiM,EAAI,KAAO9Q,GAE/B,IAARsxB,EAEa,IAAd+d,EAAmBxqC,EAAMiM,EAAI,IAAIA,EAAI,IAAM9Q,EACzB,GAAbqvC,EAAkBxqC,EAAMiM,EAAI,IAAIA,EAAI,KAAO9Q,EAC9B,GAAbqvC,EAAkBxqC,EAAMiM,EAAI,IAAIA,EAAI,KAAO9Q,EAC9B,GAAbqvC,EAAkBxqC,EAAMiM,EAAI,IAAIA,EAAI,KAAO9Q,EAC9B,GAAbqvC,IAAkBxqC,EAAMiM,EAAI,IAAIA,EAAI,KAAO9Q,GAEvC,IAARsxB,EAEa,IAAd+d,EAAmBxqC,EAAMiM,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAM9Q,EACjC,GAAbqvC,EAAkBxqC,EAAMiM,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO9Q,EACtC,GAAbqvC,EAAkBxqC,EAAMiM,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO9Q,EACtC,GAAbqvC,EAAkBxqC,EAAMiM,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO9Q,EACtC,GAAbqvC,IAAkBxqC,EAAMiM,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO9Q,GAE/C,IAARsxB,IAEa,IAAd+d,EAAmBxqC,EAAMiM,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAM9Q,EACzC,GAAbqvC,EAAkBxqC,EAAMiM,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO9Q,EAC9C,GAAbqvC,EAAkBxqC,EAAMiM,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO9Q,EAC9C,GAAbqvC,EAAkBxqC,EAAMiM,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO9Q,EAC9C,GAAbqvC,IAAkBxqC,EAAMiM,EAAI,IAAIA,EAAI,IAAIA,EAAI,IAAIA,EAAI,KAAO9Q,KAGjE,GAcXykB,EAAOwnB,MAAM7sC,UAAUmwC,cAAgB,SAAU1qC,EAAOiM,EAAK9Q,EAAOsvC,GAKhE,MAHcxpC,UAAVwpC,IAAuBA,GAAQ,IAG9B7qB,EAAOiN,MAAMC,YAAY9sB,EAAOiM,IAAQw+B,GAElC,EAGP7qB,EAAOiN,MAAMC,YAAY9sB,EAAOiM,KAAS9Q,GAElC,GAGJ,GAmBXykB,EAAOwnB,MAAM7sC,UAAUW,IAAM,SAAU8E,EAAOiM,EAAK9Q,EAAOwvC,EAAYC,EAAcJ,EAAWC,GAS3F,MAPcxpC,UAAVwpC,IAAuBA,GAAQ,GAEnCx+B,EAAMA,EAAIihB,MAAM,KAEGjsB,SAAf0pC,IAA4BA,GAAa,GACxB1pC,SAAjB2pC,IAA8BA,GAAe,IAE5CD,KAAe,GAAUA,GAAc3qC,EAAM2nC,SAAYiD,KAAiB,GAAUA,GAAgB5qC,EAAM7G,SAEpGzB,KAAK41B,YAAYttB,EAAOiM,EAAK9Q,EAAOqvC,EAAWC,GAF1D,QAuBJ7qB,EAAOwnB,MAAM7sC,UAAUswC,OAAS,SAAU5+B,EAAK9Q,EAAOwvC,EAAYC,EAAcJ,EAAWC,GAEpExpC,SAAf0pC,IAA4BA,GAAa,GACxB1pC,SAAjB2pC,IAA8BA,GAAe,GACnC3pC,SAAVwpC,IAAuBA,GAAQ,GAEnCx+B,EAAMA,EAAIihB,MAAM,KAChBsd,EAAYA,GAAa,CAEzB,KAAK,GAAI7vC,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,MAEhCgwC,GAAeA,GAAcjzC,KAAKgD,SAASC,GAAGgtC,UAAaiD,GAAiBA,GAAgBlzC,KAAKgD,SAASC,GAAGxB,UAE/GzB,KAAK41B,YAAY51B,KAAKgD,SAASC,GAAIsR,EAAK9Q,EAAOqvC,EAAWC,IAsBtE7qB,EAAOwnB,MAAM7sC,UAAUuwC,eAAiB,SAAU7+B,EAAK9Q,EAAOwvC,EAAYC,EAAcJ,EAAWC,GAE5ExpC,SAAf0pC,IAA4BA,GAAa,GACxB1pC,SAAjB2pC,IAA8BA,GAAe,GACnC3pC,SAAVwpC,IAAuBA,GAAQ,GAEnCD,EAAYA,GAAa,CAEzB,KAAK,GAAI7vC,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,MAEhCgwC,GAAeA,GAAcjzC,KAAKgD,SAASC,GAAGgtC,UAAaiD,GAAiBA,GAAgBlzC,KAAKgD,SAASC,GAAGxB,WAE3GzB,KAAKgD,SAASC,YAAcilB,GAAOwnB,MAEnC1vC,KAAKgD,SAASC,GAAGmwC,eAAe7+B,EAAK9Q,EAAOwvC,EAAYC,EAAcJ,EAAWC,GAIjF/yC,KAAK41B,YAAY51B,KAAKgD,SAASC,GAAIsR,EAAIihB,MAAM,KAAM/xB,EAAOqvC,EAAWC,KAmBrF7qB,EAAOwnB,MAAM7sC,UAAUwwC,SAAW,SAAU9+B,EAAK9Q,EAAOwvC,EAAYC,EAAcH,GAE3DxpC,SAAf0pC,IAA4BA,GAAa,GACxB1pC,SAAjB2pC,IAA8BA,GAAe,GACnC3pC,SAAVwpC,IAAuBA,GAAQ,EAEnC,KAAK,GAAI9vC,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtC,KAAMgwC,GAAeA,GAAcjzC,KAAKgD,SAASC,GAAGgtC,UAAaiD,GAAiBA,GAAgBlzC,KAAKgD,SAASC,GAAGxB,WAE1GzB,KAAKgzC,cAAchzC,KAAKgD,SAASC,GAAIsR,EAAK9Q,EAAOsvC,GAElD,OAAO,CAKnB,QAAO,GAeX7qB,EAAOwnB,MAAM7sC,UAAUywC,OAAS,SAAUC,EAAUzkB,EAAQmkB,EAAYC,GAEpElzC,KAAKmzC,OAAOI,EAAUzkB,EAAQmkB,EAAYC,EAAc,IAe5DhrB,EAAOwnB,MAAM7sC,UAAU2wC,OAAS,SAAUD,EAAUzkB,EAAQmkB,EAAYC,GAEpElzC,KAAKmzC,OAAOI,EAAUzkB,EAAQmkB,EAAYC,EAAc,IAe5DhrB,EAAOwnB,MAAM7sC,UAAU4wC,YAAc,SAAUF,EAAUzkB,EAAQmkB,EAAYC,GAEzElzC,KAAKmzC,OAAOI,EAAUzkB,EAAQmkB,EAAYC,EAAc,IAe5DhrB,EAAOwnB,MAAM7sC,UAAU6wC,UAAY,SAAUH,EAAUzkB,EAAQmkB,EAAYC,GAEvElzC,KAAKmzC,OAAOI,EAAUzkB,EAAQmkB,EAAYC,EAAc,IAc5DhrB,EAAOwnB,MAAM7sC,UAAU8wC,cAAgB,SAAUC,EAAUC,GAEvD,GAAIzf,EAEJ,IAAIG,UAAUrxB,OAAS,EACvB,CACIkxB,IAEA,KAAK,GAAInxB,GAAI,EAAGA,EAAIsxB,UAAUrxB,OAAQD,IAElCmxB,EAAKrwB,KAAKwwB,UAAUtxB,IAI5B,IAAK,GAAIA,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAElCjD,KAAKgD,SAASC,GAAGoqC,SAAWwG,GAAe7zC,KAAKgD,SAASC,GAAG2wC,IAE5D5zC,KAAKgD,SAASC,GAAG2wC,GAAU3sC,MAAMjH,KAAKgD,SAASC,GAAImxB,IAe/DlM,EAAOwnB,MAAM7sC,UAAUixC,kBAAoB,SAAUxrC,EAAOsrC,EAAU1wC,GAIlE,GAAc,GAAVA,GAEA,GAAIoF,EAAMsrC,EAAS,IAEf,MAAOtrC,GAAMsrC,EAAS,QAGzB,IAAc,GAAV1wC,GAEL,GAAIoF,EAAMsrC,EAAS,IAAIA,EAAS,IAE5B,MAAOtrC,GAAMsrC,EAAS,IAAIA,EAAS,QAGtC,IAAc,GAAV1wC,GAEL,GAAIoF,EAAMsrC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEzC,MAAOtrC,GAAMsrC,EAAS,IAAIA,EAAS,IAAIA,EAAS,QAGnD,IAAc,GAAV1wC,GAEL,GAAIoF,EAAMsrC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAEtD,MAAOtrC,GAAMsrC,EAAS,IAAIA,EAAS,IAAIA,EAAS,IAAIA,EAAS,QAKjE,IAAItrC,EAAMsrC,GAEN,MAAOtrC,GAAMsrC,EAIrB,QAAO,GAeX1rB,EAAOwnB,MAAM7sC,UAAUkxC,QAAU,SAAUC,EAAQ/mC,GAE/C,GAAe1D,SAAXyqC,EAAJ,CAMAA,EAASA,EAAOxe,MAAM,IAEtB,IAAIye,GAAeD,EAAO9wC,MAE1B,IAAgBqG,SAAZ0D,GAAqC,OAAZA,GAAgC,KAAZA,EAE7CA,EAAU,SAKV,IAAuB,gBAAZA,GACX,CACIA,EAAUA,EAAQuoB,MAAM,IACxB,IAAI0e,GAAgBjnC,EAAQ/J,OAIpC,GAAIkxB,EAEJ,IAAIG,UAAUrxB,OAAS,EACvB,CACIkxB,IAEA,KAAK,GAAInxB,GAAI,EAAGA,EAAIsxB,UAAUrxB,OAAQD,IAElCmxB,EAAKrwB,KAAKwwB,UAAUtxB,IAO5B,IAAK,GAHD2wC,GAAW,KACX5M,EAAkB,KAEb/jC,EAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtC2wC,EAAW5zC,KAAK8zC,kBAAkB9zC,KAAKgD,SAASC,GAAI+wC,EAAQC,GAExDhnC,GAAW2mC,GAEX5M,EAAkBhnC,KAAK8zC,kBAAkB9zC,KAAKgD,SAASC,GAAIgK,EAASinC,GAEhEN,GAEAA,EAAS3sC,MAAM+/B,EAAiB5S,IAG/Bwf,GAELA,EAAS3sC,MAAMjH,KAAKgD,SAASC,GAAImxB,KAW7ClM,EAAOwnB,MAAM7sC,UAAUsD,UAAY,WAE/B,GAAInG,KAAKmwC,eAGL,MADAnwC,MAAK+C,WACE,CAGX,KAAK/C,KAAKqtC,SAAWrtC,KAAK4B,OAAOyrC,OAG7B,MADArtC,MAAKm0C,cAAgB,IACd,CAKX,KAFA,GAAIlxC,GAAIjD,KAAKgD,SAASE,OAEfD,KAEHjD,KAAKgD,SAASC,GAAGkD,WAGrB,QAAO,GASX+hB,EAAOwnB,MAAM7sC,UAAUwgC,OAAS,WAI5B,IAFA,GAAIpgC,GAAIjD,KAAKgD,SAASE,OAEfD,KAEHjD,KAAKgD,SAASC,GAAGogC,UAUzBnb,EAAOwnB,MAAM7sC,UAAUqqC,WAAa,WAG5BltC,KAAK0wC,gBAEL1wC,KAAKqF,EAAIrF,KAAKE,KAAK2jC,OAAOjrB,KAAKvT,EAAIrF,KAAK2wC,aAAatrC,EACrDrF,KAAKsF,EAAItF,KAAKE,KAAK2jC,OAAOjrB,KAAKtT,EAAItF,KAAK2wC,aAAarrC,EAKzD,KAFA,GAAIrC,GAAIjD,KAAKgD,SAASE,OAEfD,KAEHjD,KAAKgD,SAASC,GAAGiqC,cAuBzBhlB,EAAOwnB,MAAM7sC,UAAU2hB,OAAS,SAAU4vB,EAAWC,GAMjD,IAJA,GAAI7rC,GAAQ,GACRtF,EAASlD,KAAKgD,SAASE,OACvBm5B,OAEK7zB,EAAQtF,GACjB,CACI,GAAIoF,GAAQtI,KAAKgD,SAASwF,KAErB6rC,GAAgBA,GAAe/rC,EAAM+kC,SAElC+G,EAAU9rC,EAAOE,EAAOxI,KAAKgD,WAE7Bq5B,EAAQt4B,KAAKuE,GAKzB,MAAO,IAAI4f,GAAOosB,SAASjY,IAqB/BnU,EAAOwnB,MAAM7sC,UAAU+xB,QAAU,SAAUgf,EAAU5M,EAAiBqN,GAIlE,GAFoB9qC,SAAhB8qC,IAA6BA,GAAc,GAE3C9f,UAAUrxB,QAAU,EAEpB,IAAK,GAAID,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,MAEjCoxC,GAAgBA,GAAer0C,KAAKgD,SAASC,GAAGoqC,SAEjDuG,EAASluC,KAAKshC,EAAiBhnC,KAAKgD,SAASC,QAKzD,CAKI,IAAK,GAFDmxB,IAAQ,MAEHnxB,EAAI,EAAGA,EAAIsxB,UAAUrxB,OAAQD,IAElCmxB,EAAKrwB,KAAKwwB,UAAUtxB,GAGxB,KAAK,GAAIA,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,MAEjCoxC,GAAgBA,GAAer0C,KAAKgD,SAASC,GAAGoqC,UAEjDjZ,EAAK,GAAKp0B,KAAKgD,SAASC,GACxB2wC,EAAS3sC,MAAM+/B,EAAiB5S,MAiBhDlM,EAAOwnB,MAAM7sC,UAAU0xC,cAAgB,SAAUX,EAAU5M,GAEvD,GAAI5S,EAEJ,IAAIG,UAAUrxB,OAAS,EACvB,CACIkxB,GAAQ,KAER,KAAK,GAAInxB,GAAI,EAAGA,EAAIsxB,UAAUrxB,OAAQD,IAElCmxB,EAAKrwB,KAAKwwB,UAAUtxB,IAI5BjD,KAAKw0C,QAAQ,UAAU,EAAMtsB,EAAOwnB,MAAMqB,aAAc6C,EAAU5M,EAAiB5S,IAcvFlM,EAAOwnB,MAAM7sC,UAAU4xC,aAAe,SAAUb,EAAU5M,GAEtD,GAAI5S,EAEJ,IAAIG,UAAUrxB,OAAS,EACvB,CACIkxB,GAAQ,KAER,KAAK,GAAInxB,GAAI,EAAGA,EAAIsxB,UAAUrxB,OAAQD,IAElCmxB,EAAKrwB,KAAKwwB,UAAUtxB,IAI5BjD,KAAKw0C,QAAQ,SAAS,EAAMtsB,EAAOwnB,MAAMqB,aAAc6C,EAAU5M,EAAiB5S,IActFlM,EAAOwnB,MAAM7sC,UAAU6xC,YAAc,SAAUd,EAAU5M,GAErD,GAAI5S,EAEJ,IAAIG,UAAUrxB,OAAS,EACvB,CACIkxB,GAAQ,KAER,KAAK,GAAInxB,GAAI,EAAGA,EAAIsxB,UAAUrxB,OAAQD,IAElCmxB,EAAKrwB,KAAKwwB,UAAUtxB,IAI5BjD,KAAKw0C,QAAQ,SAAS,EAAOtsB,EAAOwnB,MAAMqB,aAAc6C,EAAU5M,EAAiB5S,IAcvFlM,EAAOwnB,MAAM7sC,UAAU8xC,KAAO,SAAUpgC,EAAKqgC,GAErC50C,KAAKgD,SAASE,OAAS,IAMfqG,SAARgL,IAAqBA,EAAM,KACjBhL,SAAVqrC,IAAuBA,EAAQ1sB,EAAOwnB,MAAMuB,gBAEhDjxC,KAAK6wC,cAAgBt8B,EAEjBqgC,IAAU1sB,EAAOwnB,MAAMuB,eAEvBjxC,KAAKgD,SAAS2xC,KAAK30C,KAAK60C,qBAAqB7gB,KAAKh0B,OAIlDA,KAAKgD,SAAS2xC,KAAK30C,KAAK80C,sBAAsB9gB,KAAKh0B,OAGvDA,KAAK4xC,YAcT1pB,EAAOwnB,MAAM7sC,UAAUkyC,WAAa,SAAUC,EAAa/nC,GAEnDjN,KAAKgD,SAASE,OAAS,IAM3BlD,KAAKgD,SAAS2xC,KAAKK,EAAYhhB,KAAK/mB,IAEpCjN,KAAK4xC,YAYT1pB,EAAOwnB,MAAM7sC,UAAUgyC,qBAAuB,SAAUnwC,EAAGC,GAEvD,MAAID,GAAE1E,KAAK6wC,eAAiBlsC,EAAE3E,KAAK6wC,eAExB,GAEFnsC,EAAE1E,KAAK6wC,eAAiBlsC,EAAE3E,KAAK6wC,eAE7B,EAIHnsC,EAAEyS,EAAIxS,EAAEwS,EAED,GAIA,GAcnB+Q,EAAOwnB,MAAM7sC,UAAUiyC,sBAAwB,SAAUpwC,EAAGC,GAExD,MAAID,GAAE1E,KAAK6wC,eAAiBlsC,EAAE3E,KAAK6wC,eAExB,EAEFnsC,EAAE1E,KAAK6wC,eAAiBlsC,EAAE3E,KAAK6wC,eAE7B,GAIA,GAiCf3oB,EAAOwnB,MAAM7sC,UAAU2xC,QAAU,SAAUjgC,EAAK9Q,EAAOwxC,EAAYrB,EAAU5M,EAAiB5S,GAE1F,GAAI6gB,IAAe/sB,EAAOwnB,MAAMqB,cAAyC,IAAzB/wC,KAAKgD,SAASE,OAE1D,MAAO,EAKX,KAAK,GAFD6rB,GAAQ,EAEH9rB,EAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtC,GAAIjD,KAAKgD,SAASC,GAAGsR,KAAS9Q,IAE1BsrB,IAEI6kB,IAEIxf,GAEAA,EAAK,GAAKp0B,KAAKgD,SAASC,GACxB2wC,EAAS3sC,MAAM+/B,EAAiB5S,IAIhCwf,EAASluC,KAAKshC,EAAiBhnC,KAAKgD,SAASC,KAIjDgyC,IAAe/sB,EAAOwnB,MAAMsB,cAE5B,MAAOhxC,MAAKgD,SAASC,EAKjC,OAAIgyC,KAAe/sB,EAAOwnB,MAAMqB,aAErBhiB,EAIJ,MAuBX7G,EAAOwnB,MAAM7sC,UAAUqyC,eAAiB,SAAU7H,EAAQ8H,EAAc9vC,EAAGC,EAAGiP,EAAKzI,GAE1DvC,SAAjB4rC,IAA8BA,GAAe,GAE3B,iBAAX9H,KAEPA,GAAS,EAGb,IAAI/kC,GAAQtI,KAAKw0C,QAAQ,SAAUnH,EAAQnlB,EAAOwnB,MAAMsB,aAExD,OAAkB,QAAV1oC,GAAkB6sC,EAAgBn1C,KAAKkI,OAAO7C,EAAGC,EAAGiP,EAAKzI,GAAS9L,KAAKo1C,WAAW9sC,EAAOjD,EAAGC,EAAGiP,EAAKzI,IAwBhHoc,EAAOwnB,MAAM7sC,UAAUwyC,cAAgB,SAAUF,EAAc9vC,EAAGC,EAAGiP,EAAKzI,GAEjDvC,SAAjB4rC,IAA8BA,GAAe,EAEjD,IAAI7sC,GAAQtI,KAAKw0C,QAAQ,SAAS,EAAMtsB,EAAOwnB,MAAMsB,aAErD,OAAkB,QAAV1oC,GAAkB6sC,EAAgBn1C,KAAKkI,OAAO7C,EAAGC,EAAGiP,EAAKzI,GAAS9L,KAAKo1C,WAAW9sC,EAAOjD,EAAGC,EAAGiP,EAAKzI,IAwBhHoc,EAAOwnB,MAAM7sC,UAAUyyC,aAAe,SAAUH,EAAc9vC,EAAGC,EAAGiP,EAAKzI,GAEhDvC,SAAjB4rC,IAA8BA,GAAe,EAEjD,IAAI7sC,GAAQtI,KAAKw0C,QAAQ,SAAS,EAAOtsB,EAAOwnB,MAAMsB,aAEtD,OAAkB,QAAV1oC,GAAkB6sC,EAAgBn1C,KAAKkI,OAAO7C,EAAGC,EAAGiP,EAAKzI,GAAS9L,KAAKo1C,WAAW9sC,EAAOjD,EAAGC,EAAGiP,EAAKzI,IAmBhHoc,EAAOwnB,MAAM7sC,UAAUuyC,WAAa,SAAU9sC,EAAOjD,EAAGC,EAAGiP,EAAKzI,GAE5D,MAAc,QAAVxD,EAEO,MAGDiB,SAANlE,IAAmBA,EAAI,MACjBkE,SAANjE,IAAmBA,EAAI,MAEjB,OAAND,GAAoB,OAANC,GAEdgD,EAAMo7B,MAAMr+B,EAAGC,GAGPiE,SAARgL,GAEAjM,EAAMitC,YAAYhhC,EAAKzI,GAGpBxD,IAYX4f,EAAOwnB,MAAM7sC,UAAU2yC,OAAS,WAE5B,MAAIx1C,MAAKgD,SAASE,OAAS,EAEhBlD,KAAKgD,SAAShD,KAAKgD,SAASE,OAAS,GAFhD,QAeJglB,EAAOwnB,MAAM7sC,UAAU4yC,UAAY,WAE/B,MAAIz1C,MAAKgD,SAASE,OAAS,EAEhBlD,KAAKgD,SAAS,GAFzB,QAaJklB,EAAOwnB,MAAM7sC,UAAU6yC,YAAc,WAEjC,MAAO11C,MAAKw0C,QAAQ,SAAS,EAAMtsB,EAAOwnB,MAAMqB,eAUpD7oB,EAAOwnB,MAAM7sC,UAAU8yC,UAAY,WAE/B,MAAO31C,MAAKw0C,QAAQ,SAAS,EAAOtsB,EAAOwnB,MAAMqB,eAYrD7oB,EAAOwnB,MAAM7sC,UAAU+yC,UAAY,SAAU9xB,EAAY5gB,GAErD,MAA6B,KAAzBlD,KAAKgD,SAASE,OAEP,MAGX4gB,EAAaA,GAAc,EAC3B5gB,EAASA,GAAUlD,KAAKgD,SAASE,OAE1BglB,EAAO2tB,WAAWC,cAAc91C,KAAKgD,SAAU8gB,EAAY5gB,KAiBtEglB,EAAOwnB,MAAM7sC,UAAU6N,OAAS,SAAUpI,EAAOvF,EAASouC,GAKtD,GAHgB5nC,SAAZxG,IAAyBA,GAAU,GACxBwG,SAAX4nC,IAAwBA,GAAS,GAER,IAAzBnxC,KAAKgD,SAASE,QAAiD,KAAjClD,KAAKgD,SAASiG,QAAQX,GAEpD,OAAO,CAGN6oC,KAAU7oC,EAAMgpC,QAAWhpC,EAAMytC,cAElCztC,EAAMgpC,OAAO0E,4BAA4B1tC,EAAOtI,KAGpD,IAAI8J,GAAU9J,KAAKyI,YAAYH,EAgB/B,OAdAtI,MAAKwxC,eAAelpC,GAEpBtI,KAAK4xC,UAED5xC,KAAKqwC,SAAW/nC,GAEhBtI,KAAKiyC,OAGLlvC,GAAW+G,GAEXA,EAAQ/G,SAAQ,IAGb,GAYXmlB,EAAOwnB,MAAM7sC,UAAU6uC,QAAU,SAAUuE,EAAO9E,GAI9C,GAFe5nC,SAAX4nC,IAAwBA,GAAS,GAEjCnxC,KAAKgD,SAASE,OAAS,GAAK+yC,YAAiB/tB,GAAOwnB,MACxD,CACI,EAEIuG,GAAMva,IAAI17B,KAAKgD,SAAS,GAAImuC,SAEzBnxC,KAAKgD,SAASE,OAAS,EAE9BlD,MAAK4wC,QAEL5wC,KAAKqwC,OAAS,KAGlB,MAAO4F,IAWX/tB,EAAOwnB,MAAM7sC,UAAUglC,UAAY,SAAU9kC,EAASouC,GAKlD,GAHgB5nC,SAAZxG,IAAyBA,GAAU,GACxBwG,SAAX4nC,IAAwBA,GAAS,GAER,IAAzBnxC,KAAKgD,SAASE,OAAlB,CAKA,EACA,EACSiuC,GAAUnxC,KAAKgD,SAAS,GAAGsuC,QAE5BtxC,KAAKgD,SAAS,GAAGsuC,OAAO0E,4BAA4Bh2C,KAAKgD,SAAS,GAAIhD,KAG1E,IAAI8J,GAAU9J,KAAKyI,YAAYzI,KAAKgD,SAAS,GAE7ChD,MAAKwxC,eAAe1nC,GAEhB/G,GAAW+G,GAEXA,EAAQ/G,SAAQ,SAGjB/C,KAAKgD,SAASE,OAAS,EAE9BlD,MAAK4wC,QAEL5wC,KAAKqwC,OAAS,OAalBnoB,EAAOwnB,MAAM7sC,UAAUqzC,cAAgB,SAAUpyB,EAAYpa,EAAU3G,EAASouC,GAM5E,GAJiB5nC,SAAbG,IAA0BA,EAAW1J,KAAKgD,SAASE,OAAS,GAChDqG,SAAZxG,IAAyBA,GAAU,GACxBwG,SAAX4nC,IAAwBA,GAAS,GAER,IAAzBnxC,KAAKgD,SAASE,OAAlB,CAKA,GAAI4gB,EAAapa,GAAyB,EAAboa,GAAkBpa,EAAW1J,KAAKgD,SAASE,OAEpE,OAAO,CAKX,KAFA,GAAID,GAAIyG,EAEDzG,GAAK6gB,GACZ,EACSqtB,GAAUnxC,KAAKgD,SAASC,GAAGquC,QAE5BtxC,KAAKgD,SAASC,GAAGquC,OAAO0E,4BAA4Bh2C,KAAKgD,SAASC,GAAIjD,KAG1E,IAAI8J,GAAU9J,KAAKyI,YAAYzI,KAAKgD,SAASC,GAE7CjD,MAAKwxC,eAAe1nC,GAEhB/G,GAAW+G,GAEXA,EAAQ/G,SAAQ,GAGhB/C,KAAKqwC,SAAWrwC,KAAKgD,SAASC,KAE9BjD,KAAKqwC,OAAS,MAGlBptC,IAGJjD,KAAK4xC,YAaT1pB,EAAOwnB,MAAM7sC,UAAUE,QAAU,SAAUozC,EAAiBC,GAEtC,OAAdp2C,KAAKE,MAAiBF,KAAKkwC,gBAEP3mC,SAApB4sC,IAAiCA,GAAkB,GAC1C5sC,SAAT6sC,IAAsBA,GAAO,GAEjCp2C,KAAKwwC,UAAU/I,SAASznC,KAAMm2C,EAAiBC,GAE/Cp2C,KAAK6nC,UAAUsO,GAEfn2C,KAAKqwC,OAAS,KACdrwC,KAAK+H,QAAU,KACf/H,KAAKmwC,gBAAiB,EAEjBiG,IAEGp2C,KAAK4B,QAEL5B,KAAK4B,OAAO6G,YAAYzI,MAG5BA,KAAKE,KAAO,KACZF,KAAKqtC,QAAS,KAYtBjqC,OAAOC,eAAe6kB,EAAOwnB,MAAM7sC,UAAW,SAE1CS,IAAK,WAED,MAAOtD,MAAKw0C,QAAQ,UAAU,EAAMtsB,EAAOwnB,MAAMqB,iBAazD3tC,OAAOC,eAAe6kB,EAAOwnB,MAAM7sC,UAAW,UAE1CS,IAAK,WAED,MAAOtD,MAAKgD,SAASE,UAiB7BE,OAAOC,eAAe6kB,EAAOwnB,MAAM7sC,UAAW,SAE1CS,IAAK,WACD,MAAO4kB,GAAOrnB,KAAKs9B,SAASn+B,KAAKuB,WAGrCiC,IAAK,SAASC,GACVzD,KAAKuB,SAAW2mB,EAAOrnB,KAAK+4B,SAASn2B,MA2E7CykB,EAAOmuB,MAAQ,SAAUn2C,GAErBgoB,EAAOwnB,MAAMhqC,KAAK1F,KAAME,EAAM,KAAM,WAAW,GAS/CF,KAAKwG,OAAS,GAAI0hB,GAAO1lB,UAAU,EAAG,EAAGtC,EAAKyG,MAAOzG,EAAK0G,QAK1D5G,KAAK6jC,OAAS,KAMd7jC,KAAKs2C,cAAe,EAKpBt2C,KAAKmI,OAASjI,EAAKyG,MAKnB3G,KAAKoI,QAAUlI,EAAK0G,OAEpB5G,KAAKE,KAAK0mC,MAAMpB,cAAc9J,IAAI17B,KAAKu2C,YAAav2C,OAIxDkoB,EAAOmuB,MAAMxzC,UAAYO,OAAO8E,OAAOggB,EAAOwnB,MAAM7sC,WACpDqlB,EAAOmuB,MAAMxzC,UAAUC,YAAcolB,EAAOmuB,MAQ5CnuB,EAAOmuB,MAAMxzC,UAAU0jC,KAAO,WAE1BvmC,KAAK6jC,OAAS,GAAI3b,GAAOia,OAAOniC,KAAKE,KAAM,EAAG,EAAG,EAAGF,KAAKE,KAAKyG,MAAO3G,KAAKE,KAAK0G,QAE/E5G,KAAK6jC,OAAO9oB,cAAgB/a,KAE5BA,KAAK6jC,OAAOxiC,MAAQrB,KAAKqB,MAEzBrB,KAAKE,KAAK2jC,OAAS7jC,KAAK6jC,OAExB7jC,KAAKE,KAAK2B,MAAMwG,SAASrI,OAa7BkoB,EAAOmuB,MAAMxzC,UAAU0zC,YAAc,WAEjCv2C,KAAKqF,EAAI,EACTrF,KAAKsF,EAAI,EAETtF,KAAK6jC,OAAOH,SAchBxb,EAAOmuB,MAAMxzC,UAAU2zC,UAAY,SAAUnxC,EAAGC,EAAGqB,EAAOC,GAEtD5G,KAAKs2C,cAAe,EACpBt2C,KAAKmI,OAASxB,EACd3G,KAAKoI,QAAUxB,EAEf5G,KAAKwG,OAAOoyB,MAAMvzB,EAAGC,EAAGqB,EAAOC,GAE/B5G,KAAKqF,EAAIA,EACTrF,KAAKsF,EAAIA,EAELtF,KAAK6jC,OAAOr9B,QAGZxG,KAAK6jC,OAAOr9B,OAAOoyB,MAAMvzB,EAAGC,EAAGzE,KAAKm7B,IAAIr1B,EAAO3G,KAAKE,KAAKyG,OAAQ9F,KAAKm7B,IAAIp1B,EAAQ5G,KAAKE,KAAK0G,SAGhG5G,KAAKE,KAAKokC,QAAQd,oBAWtBtb,EAAOmuB,MAAMxzC,UAAUgF,OAAS,SAAUlB,EAAOC,GAIzC5G,KAAKs2C,eAED3vC,EAAQ3G,KAAKmI,SAEbxB,EAAQ3G,KAAKmI,QAGbvB,EAAS5G,KAAKoI,UAEdxB,EAAS5G,KAAKoI,UAItBpI,KAAKwG,OAAOG,MAAQA,EACpB3G,KAAKwG,OAAOI,OAASA,EAErB5G,KAAKE,KAAK2jC,OAAOL,mBAEjBxjC,KAAKE,KAAKokC,QAAQd,oBAStBtb,EAAOmuB,MAAMxzC,UAAUkiC,SAAW,WAG9B/kC,KAAK+C,SAAQ,GAAM,IAgBvBmlB,EAAOmuB,MAAMxzC,UAAU65B,KAAO,SAAU1a,EAAQ0C,EAAS+xB,EAAWC,EAAYC,GAE5DptC,SAAZmb,IAAyBA,EAAU,GACrBnb,SAAdktC,IAA2BA,GAAY,GACxBltC,SAAfmtC,IAA4BA,GAAa,GAC5BntC,SAAbotC,IAA0BA,GAAW,GAEpCF,GAsBDz0B,EAAOnc,YAEH6wC,IAEK10B,EAAO3c,EAAI2c,EAAOvf,eAAekE,MAAS3G,KAAKwG,OAAOnB,EAEvD2c,EAAO3c,EAAIrF,KAAKwG,OAAOswB,MAElB9U,EAAO3c,EAAIrF,KAAKwG,OAAOswB,QAE5B9U,EAAO3c,EAAIrF,KAAKwG,OAAOuwB,OAI3B4f,IAEK30B,EAAO1c,EAAI0c,EAAOvf,eAAemE,OAAU5G,KAAKwG,OAAOgzB,IAExDxX,EAAO1c,EAAItF,KAAKwG,OAAOizB,OAElBzX,EAAO1c,EAAItF,KAAKwG,OAAOizB,SAE5BzX,EAAO1c,EAAItF,KAAKwG,OAAOgzB,QA1C3Bkd,GAAc10B,EAAO3c,EAAIqf,EAAU1kB,KAAKwG,OAAOnB,EAE/C2c,EAAO3c,EAAIrF,KAAKwG,OAAOswB,MAAQpS,EAE1BgyB,GAAc10B,EAAO3c,EAAIqf,EAAU1kB,KAAKwG,OAAOswB,QAEpD9U,EAAO3c,EAAIrF,KAAKwG,OAAOuwB,KAAOrS,GAG9BiyB,GAAY30B,EAAO1c,EAAIof,EAAU1kB,KAAKwG,OAAOgzB,IAE7CxX,EAAO1c,EAAItF,KAAKwG,OAAOizB,OAAS/U,EAE3BiyB,GAAY30B,EAAO1c,EAAIof,EAAU1kB,KAAKwG,OAAOizB,SAElDzX,EAAO1c,EAAItF,KAAKwG,OAAOgzB,IAAM9U,KAsCzCthB,OAAOC,eAAe6kB,EAAOmuB,MAAMxzC,UAAW,SAE1CS,IAAK,WACD,MAAOtD,MAAKwG,OAAOG,OAGvBnD,IAAK,SAAUC,GAEPA,EAAQzD,KAAKE,KAAKyG,QAElBlD,EAAQzD,KAAKE,KAAKyG,OAGtB3G,KAAKwG,OAAOG,MAAQlD,EACpBzD,KAAKmI,OAAS1E,EACdzD,KAAKs2C,cAAe,KAU5BlzC,OAAOC,eAAe6kB,EAAOmuB,MAAMxzC,UAAW,UAE1CS,IAAK,WACD,MAAOtD,MAAKwG,OAAOI,QAGvBpD,IAAK,SAAUC,GAEPA,EAAQzD,KAAKE,KAAK0G,SAElBnD,EAAQzD,KAAKE,KAAK0G,QAGtB5G,KAAKwG,OAAOI,OAASnD,EACrBzD,KAAKoI,QAAU3E,EACfzD,KAAKs2C,cAAe,KAW5BlzC,OAAOC,eAAe6kB,EAAOmuB,MAAMxzC,UAAW,WAE1CS,IAAK,WACD,MAAOtD,MAAKwG,OAAOuzB,aAU3B32B,OAAOC,eAAe6kB,EAAOmuB,MAAMxzC,UAAW,WAE1CS,IAAK,WACD,MAAOtD,MAAKwG,OAAOyzB,cAU3B72B,OAAOC,eAAe6kB,EAAOmuB,MAAMxzC,UAAW,WAE1CS,IAAK,WAED,MAAItD,MAAKwG,OAAOnB,EAAI,EAETrF,KAAKE,KAAKqkC,IAAIqS,QAAQ52C,KAAKwG,OAAOnB,EAAIrF,KAAKwG,OAAOG,MAAQ9F,KAAKi5B,IAAI95B,KAAKwG,OAAOnB,IAI/ErF,KAAKE,KAAKqkC,IAAIqS,QAAQ52C,KAAKwG,OAAOnB,EAAGrF,KAAKwG,OAAOG,UAYpEvD,OAAOC,eAAe6kB,EAAOmuB,MAAMxzC,UAAW,WAE1CS,IAAK,WAED,MAAItD,MAAKwG,OAAOlB,EAAI,EAETtF,KAAKE,KAAKqkC,IAAIqS,QAAQ52C,KAAKwG,OAAOlB,EAAItF,KAAKwG,OAAOI,OAAS/F,KAAKi5B,IAAI95B,KAAKwG,OAAOlB,IAIhFtF,KAAKE,KAAKqkC,IAAIqS,QAAQ52C,KAAKwG,OAAOlB,EAAGtF,KAAKwG,OAAOI,WA+BpEshB,EAAO2uB,KAAO,SAAUlwC,EAAOC,EAAQL,EAAU3E,EAAQglC,EAAOpuB,EAAaM,EAAWg+B,GAyZpF,MAnZA92C,MAAKyV,GAAKyS,EAAOmJ,MAAMttB,KAAK/D,MAAQ,EAKpCA,KAAKytC,OAAS,KAKdztC,KAAK82C,cAAgBA,EAMrB92C,KAAK4B,OAAS,GAWd5B,KAAK2G,MAAQ,IAWb3G,KAAK4G,OAAS,IASd5G,KAAKqG,WAAa,EAMlBrG,KAAKmI,OAAS,IAMdnI,KAAKoI,QAAU,IAMfpI,KAAKwY,aAAc,EAMnBxY,KAAK8Y,WAAY,EAMjB9Y,KAAK0Y,uBAAwB,EAQ7B1Y,KAAK2Y,mBAAoB,EAMzB3Y,KAAKuG,SAAW,KAMhBvG,KAAKooC,WAAalgB,EAAOoJ,KAKzBtxB,KAAK4mC,MAAQ,KAMb5mC,KAAK+mC,UAAW,EAMhB/mC,KAAK+2C,WAAY,EAMjB/2C,KAAKg3C,IAAM,KAKXh3C,KAAK07B,IAAM,KAKX17B,KAAK4jC,KAAO,KAKZ5jC,KAAK8jC,MAAQ,KAKb9jC,KAAK+jC,MAAQ,KAKb/jC,KAAKgkC,KAAO,KAKZhkC,KAAKikC,KAAO,KAKZjkC,KAAKi3C,IAAM,KAKXj3C,KAAKqB,MAAQ,KAKbrB,KAAKkkC,MAAQ,KAKblkC,KAAK6B,MAAQ,KAKb7B,KAAKmkC,KAAO,KAKZnkC,KAAKokC,OAAS,KAKdpkC,KAAKyE,MAAQ,KAKbzE,KAAKskC,QAAU,KAKftkC,KAAK8sC,QAAU,KAKf9sC,KAAKukC,IAAM,KAKXvkC,KAAK4uC,OAAS1mB,EAAOgvB,OAKrBl3C,KAAK6jC,OAAS,KAKd7jC,KAAKqQ,OAAS,KAKdrQ,KAAKiN,QAAU,KAKfjN,KAAK8nC,MAAQ,KAKb9nC,KAAKqkC,UAAY,KAKjBrkC,KAAKkI,OAAS,KASdlI,KAAKm3C,YAAa,EAOlBn3C,KAAKo3C,UAAW,EAOhBp3C,KAAKq3C,aAAc,EAOnBr3C,KAAKs3C,UAAY,EAKjBt3C,KAAKwmC,QAAU,KAKfxmC,KAAK0mC,SAAW,KAKhB1mC,KAAKu3C,OAAS,KAKdv3C,KAAKw3C,QAAU,KAMfx3C,KAAKy3C,SAAU,EAMfz3C,KAAK03C,aAAc,EAQnB13C,KAAK23C,gBAAkB,EAOvB33C,KAAK43C,iBAAmB,EAMxB53C,KAAK63C,WAAa,EAMlB73C,KAAK83C,WAAa,EAMlB93C,KAAK+3C,WAAa,EAMlB/3C,KAAKioC,YAAa,EAQlBjoC,KAAKg4C,mBAAqB,GAAI9vB,GAAOud,OAKrCzlC,KAAKi4C,mBAAoB,EAMzBj4C,KAAKk4C,qBAAuB,EAGH,IAArB3jB,UAAUrxB,QAAwC,gBAAjBqxB,WAAU,GAE3Cv0B,KAAK0tC,YAAYnZ,UAAU,KAI3Bv0B,KAAKytC,QAAW0K,aAAa,GAER,mBAAVxxC,KAEP3G,KAAKmI,OAASxB,GAGI,mBAAXC,KAEP5G,KAAKoI,QAAUxB,GAGK,mBAAbL,KAEPvG,KAAKooC,WAAa7hC,GAGA,mBAAX3E,KAEP5B,KAAK4B,OAASA,GAGS,mBAAhB4W,KAEPxY,KAAKwY,YAAcA,GAGE,mBAAdM,KAEP9Y,KAAK8Y,UAAYA,GAGrB9Y,KAAKukC,IAAM,GAAIrc,GAAOkwB,sBAAsBnN,KAAKoN,MAAQx3C,KAAKk1B,UAAU5O,aAExEnnB,KAAK4mC,MAAQ,GAAI1e,GAAO8c,aAAahlC,KAAM4mC,IAG/C5mC,KAAK4uC,OAAO0J,UAAUt4C,KAAKumC,KAAMvmC,MAE1BA,MAIXkoB,EAAO2uB,KAAKh0C,WAQR6qC,YAAa,SAAUD,GAEnBztC,KAAKytC,OAASA,EAEgBlkC,SAA1BkkC,EAAoB,cAEpBztC,KAAKytC,OAAO0K,aAAc,GAG1B1K,EAAc,QAEdztC,KAAKmI,OAASslC,EAAc,OAG5BA,EAAe,SAEfztC,KAAKoI,QAAUqlC,EAAe,QAG9BA,EAAiB,WAEjBztC,KAAKooC,WAAaqF,EAAiB,UAGnCA,EAAe,SAEfztC,KAAK4B,OAAS6rC,EAAe,QAG7BA,EAAoB,cAEpBztC,KAAKwY,YAAci1B,EAAoB,aAGvCA,EAAkB,YAElBztC,KAAK8Y,UAAY20B,EAAkB,WAGnCA,EAAmB,aAEnBztC,KAAKqG,WAAaonC,EAAmB,YAGrCA,EAA8B,wBAE9BztC,KAAK0Y,sBAAwB+0B,EAA8B,uBAG3DA,EAAsB,gBAEtBztC,KAAK82C,cAAgBrJ,EAAsB,cAG/C,IAAI8K,KAAStN,KAAKoN,MAAQx3C,KAAKk1B,UAAU5O,WAErCsmB,GAAa,OAEb8K,EAAO9K,EAAa,MAGxBztC,KAAKukC,IAAM,GAAIrc,GAAOkwB,oBAAoBG,EAE1C,IAAI3R,GAAQ,IAER6G,GAAc,QAEd7G,EAAQ6G,EAAc,OAG1BztC,KAAK4mC,MAAQ,GAAI1e,GAAO8c,aAAahlC,KAAM4mC,IAU/CL,KAAM,WAEEvmC,KAAK+mC,WAKT/mC,KAAKwmC,QAAU,GAAIte,GAAOud,OAC1BzlC,KAAK0mC,SAAW,GAAIxe,GAAOud,OAC3BzlC,KAAKu3C,OAAS,GAAIrvB,GAAOud,OACzBzlC,KAAKw3C,QAAU,GAAItvB,GAAOud,OAE1BzlC,KAAK+mC,UAAW,EAEhB9mC,KAAKC,KAAOF,KAEZA,KAAKikC,KAAO/b,EAAOrnB,KAEnBb,KAAKqB,MAAQ,GAAI6mB,GAAOswB,aAAax4C,KAAMA,KAAKmI,OAAQnI,KAAKoI,SAC7DpI,KAAK6B,MAAQ,GAAIqmB,GAAOilB,MAAMntC;AAE9BA,KAAKy4C,gBAELz4C,KAAKyE,MAAQ,GAAIyjB,GAAOmuB,MAAMr2C,MAC9BA,KAAK07B,IAAM,GAAIxT,GAAOwwB,kBAAkB14C,MACxCA,KAAK4jC,KAAO,GAAI1b,GAAOywB,kBAAkB34C,MACzCA,KAAK8jC,MAAQ,GAAI5b,GAAO0wB,MAAM54C,MAC9BA,KAAKgkC,KAAO,GAAI9b,GAAO2wB,OAAO74C,MAC9BA,KAAKmkC,KAAO,GAAIjc,GAAO4wB,KAAK94C,MAC5BA,KAAKokC,OAAS,GAAIlc,GAAO6wB,aAAa/4C,MACtCA,KAAK+jC,MAAQ,GAAI7b,GAAO8wB,MAAMh5C,MAC9BA,KAAKkkC,MAAQ,GAAIhc,GAAO+wB,aAAaj5C,MACrCA,KAAKskC,QAAU,GAAIpc,GAAO4nB,QAAQ9vC,KAAMA,KAAK82C,eAC7C92C,KAAKqkC,UAAY,GAAInc,GAAOgxB,UAAUl5C,MACtCA,KAAKkI,OAAS,GAAIggB,GAAOixB,OAAOn5C,MAChCA,KAAK8sC,QAAU,GAAI5kB,GAAO2kB,cAAc7sC,MACxCA,KAAKi3C,IAAM,GAAI/uB,GAAOkxB,IAAIp5C,MAE1BA,KAAKmkC,KAAKoC,OACVvmC,KAAK6B,MAAM0kC,OACXvmC,KAAKyE,MAAM8hC,OACXvmC,KAAKqB,MAAMklC,OACXvmC,KAAK+jC,MAAMwC,OACXvmC,KAAKkkC,MAAMqC,OACXvmC,KAAK4mC,MAAML,OAEPvmC,KAAKytC,OAAoB,aAEzBztC,KAAK8nC,MAAQ,GAAI5f,GAAOiN,MAAMkkB,MAAMr5C,MACpCA,KAAK8nC,MAAMvB,QAIXvmC,KAAK8nC,OAAU3hC,UAAW,aAAgBk9B,OAAQ,aAAgBK,MAAO,cAG7E1jC,KAAKs5C,kBAELt5C,KAAK+2C,WAAY,EAEb/2C,KAAKytC,QAAUztC,KAAKytC,OAAwB,gBAE5CztC,KAAKg3C,IAAM,GAAI9uB,GAAOqxB,sBAAsBv5C,KAAMA,KAAKytC,OAAwB,iBAI/EztC,KAAKg3C,IAAM,GAAI9uB,GAAOqxB,sBAAsBv5C,MAAM,GAGtDA,KAAKioC,YAAa,EAEd31B,OAAc,SAETA,OAAqB,cAAMA,OAAqB,eAAMA,OAAqB,aAAEknC,YAE9ElnC,OAAOmnC,QAIfz5C,KAAKg3C,IAAI9rC,UAUbouC,gBAAiB,WAEb,IAAIhnC,OAAqB,eAAKA,OAAqB,aAAEonC,WAArD,CAKA,GAAIC,GAAIzxB,EAAO7nB,QACXqa,EAAI,SACJhW,EAAI,aACJE,EAAI,CAkBR,IAhBI5E,KAAKooC,aAAelgB,EAAOsJ,OAE3B9W,EAAI,QACJ9V,KAEK5E,KAAKooC,YAAclgB,EAAOuJ,WAE/B/W,EAAI,YAGJ1a,KAAK4uC,OAAOgL,WAEZl1C,EAAI,WACJE,KAGA5E,KAAK4uC,OAAOiL,OAChB,CAWI,IAAK,GAVDzlB,IACA,oBAAsBulB,EAAI,cAAgB15C,KAAKI,QAAU,MAAQqa,EAAI,MAAQhW,EAAI,wCACjF,sBACA,sBACA,uCACA,sBACA,sBACA,uBAGKzB,EAAI,EAAO,EAAJA,EAAOA,IAEX2B,EAAJ3B,EAEAmxB,EAAKrwB,KAAK,oCAIVqwB,EAAKrwB,KAAK,mCAIlBwO,SAAQC,IAAIvL,MAAMsL,QAAS6hB,OAEtB9hB,QAAgB,SAErBC,QAAQC,IAAI,WAAamnC,EAAI,cAAgB15C,KAAKI,QAAU,MAAQqa,EAAI,MAAQhW,EAAI,yBAW5F+zC,cAAe,WAaX,GAXAz4C,KAAKqQ,OAAS6X,EAAOC,OAAOjgB,OAAOlI,KAAMA,KAAK2G,MAAO3G,KAAK4G,OAAQ5G,KAAKytC,OAAiB,UAAG,GAEvFztC,KAAKytC,OAAoB,YAEzBztC,KAAKqQ,OAAO6K,MAAQlb,KAAKytC,OAAoB,YAI7CztC,KAAKqQ,OAAO6K,MAAM,uBAAyB,4BAG3Clb,KAAKooC,aAAelgB,EAAOuJ,UAAYzxB,KAAKooC,aAAelgB,EAAOqJ,QAAWvxB,KAAKooC,aAAelgB,EAAOoJ,OAAStxB,KAAK4uC,OAAOkL,MACjI,CACI,IAAI95C,KAAK4uC,OAAOv+B,OAWZ,KAAM,IAAI1H,OAAM,iEARhB3I,MAAKooC,WAAalgB,EAAOqJ,OAEzBvxB,KAAKuG,SAAW,GAAItG,MAAK+nB,eAAehoB,MAExCA,KAAKiN,QAAUjN,KAAKuG,SAAS0G,YAUjCjN,MAAKooC,WAAalgB,EAAOsJ,MAEzBxxB,KAAKuG,SAAW,GAAItG,MAAKqY,cAActY,MAEvCA,KAAKiN,QAAU,KAEfjN,KAAKqQ,OAAOk+B,iBAAiB,mBAAoBvuC,KAAKoa,YAAY4Z,KAAKh0B,OAAO,GAC9EA,KAAKqQ,OAAOk+B,iBAAiB,uBAAwBvuC,KAAK+5C,gBAAgB/lB,KAAKh0B,OAAO,EAGtFA,MAAK4uC,OAAOoL,WAEZh6C,KAAKqQ,OAAOkY,aAAgBvoB,KAAKooC,aAAelgB,EAAOqJ,QAAU,GAAO,GAGxEvxB,KAAKooC,aAAelgB,EAAOuJ,WAE3BzxB,KAAK6B,MAAMo4C,SAAWj6C,KAAK8Y,UAE3BoP,EAAOC,OAAO+xB,SAASl6C,KAAKqQ,OAAQrQ,KAAK4B,QAAQ,GACjDsmB,EAAOC,OAAO4lB,eAAe/tC,KAAKqQ,UAY1C+J,YAAa,SAAUi0B,GAEnBA,EAAM8L,iBAENn6C,KAAKuG,SAAS6T,aAAc,GAUhC2/B,gBAAiB,WAEb/5C,KAAKuG,SAASqT,cAEd5Z,KAAK8jC,MAAMsW,kBAEXp6C,KAAKuG,SAAS6T,aAAc,GAWhCipB,OAAQ,SAAUc,GAId,GAFAnkC,KAAKmkC,KAAKd,OAAOc,GAEbnkC,KAAKioC,WAYL,MAVAjoC,MAAKq6C,YAAYr6C,KAAKmkC,KAAKmW,gBAG3Bt6C,KAAK6B,MAAM0C,kBAGXvE,KAAKu6C,aAAav6C,KAAKmkC,KAAKqW,WAAax6C,KAAKmkC,KAAKsW,iBAEnDz6C,KAAKioC,YAAa,EAMtB,IAAIjoC,KAAK+3C,WAAa,IAAM/3C,KAAKi4C,kBAGzBj4C,KAAKmkC,KAAKA,KAAOnkC,KAAKk4C,uBAGtBl4C,KAAKk4C,qBAAuBl4C,KAAKmkC,KAAKA,KAAO,IAG7CnkC,KAAKg4C,mBAAmBvQ,YAI5BznC,KAAK63C,WAAa,EAClB73C,KAAK+3C,WAAa,EAGlB/3C,KAAKu6C,aAAav6C,KAAKmkC,KAAKqW,WAAax6C,KAAKmkC,KAAKsW,gBAGvD,CAEI,GAAIC,GAAkC,IAAvB16C,KAAKmkC,KAAKqW,WAAsBx6C,KAAKmkC,KAAKsW,UAGzDz6C,MAAK63C,YAAch3C,KAAKm7B,IAAIn7B,KAAKi7B,IAAe,EAAX4e,EAAc16C,KAAKmkC,KAAKwW,SAAU,EAIvE,IAAIh9B,GAAQ,CASZ,KAPA3d,KAAK43C,iBAAmB/2C,KAAKizB,MAAM9zB,KAAK63C,WAAa6C,GAEjD16C,KAAKi4C,oBAELj4C,KAAK43C,iBAAmB/2C,KAAKi7B,IAAI,EAAG97B,KAAK43C,mBAGtC53C,KAAK63C,YAAc6C,IAEtB16C,KAAK63C,YAAc6C,EACnB16C,KAAK23C,gBAAkBh6B,EAEvB3d,KAAKq6C,YAAYr6C,KAAKmkC,KAAKmW,gBAG3Bt6C,KAAK6B,MAAM0C,kBAEXoZ,KAEI3d,KAAKi4C,mBAA+B,IAAVt6B,IAM1B3d,KAAKmkC,KAAKlc,SAKdtK,GAAQ3d,KAAK83C,WAEb93C,KAAK+3C,aAEAp6B,EAAQ3d,KAAK83C,aAGlB93C,KAAK+3C,WAAa,GAGtB/3C,KAAK83C,WAAan6B,EAGlB3d,KAAKu6C,aAAav6C,KAAK63C,WAAa6C,KAY5CL,YAAa,SAAUO,GAEd56C,KAAKy3C,SAAYz3C,KAAKq3C,aA8BvBr3C,KAAKqB,MAAMyjC,cACX9kC,KAAK4mC,MAAM9B,cACX9kC,KAAK8nC,MAAM3hC,cA9BPnG,KAAKo3C,WAELp3C,KAAKq3C,aAAc,GAGvBr3C,KAAKqB,MAAM8E,YACXnG,KAAK8nC,MAAM3hC,YACXnG,KAAKyE,MAAMo/B,OAAO19B,YAClBnG,KAAKskC,QAAQn+B,YACbnG,KAAK4mC,MAAMzgC,UAAUy0C,GACrB56C,KAAK8sC,QAAQ3mC,UAAUy0C,GACvB56C,KAAK6B,MAAMsE,YAEXnG,KAAK4mC,MAAMvD,SACXrjC,KAAK6B,MAAMwhC,SACXrjC,KAAKokC,OAAOf,SACZrjC,KAAKkkC,MAAMb,SACXrjC,KAAK+jC,MAAMV,SACXrjC,KAAKskC,QAAQjB,SACbrjC,KAAKqkC,UAAUhB,SACfrjC,KAAK8sC,QAAQzJ,SAEbrjC,KAAK6B,MAAMqrC,aACXltC,KAAK8sC,QAAQI,eA2BrBqN,aAAc,SAAUpS,GAEhBnoC,KAAKm3C,aAKTn3C,KAAK4mC,MAAMjC,UAAUwD,GAErBnoC,KAAKuG,SAASO,OAAO9G,KAAK6B,OAE1B7B,KAAK8sC,QAAQhmC,OAAOqhC,GAEpBnoC,KAAK4mC,MAAM9/B,OAAOqhC,GAElBnoC,KAAK8sC,QAAQF,WAAWzE,KAU5B0S,WAAY,WAER76C,KAAKo3C,UAAW,EAChBp3C,KAAKq3C,aAAc,EACnBr3C,KAAKs3C,UAAY,GASrBwD,YAAa,WAET96C,KAAKo3C,UAAW,EAChBp3C,KAAKq3C,aAAc,GAUvB0D,KAAM,WAEF/6C,KAAKq3C,aAAc,EACnBr3C,KAAKs3C,aASTv0C,QAAS,WAEL/C,KAAKg3C,IAAIlsC,OAET9K,KAAK4mC,MAAM7jC,UACX/C,KAAKkkC,MAAMnhC,UAEX/C,KAAKqB,MAAM0B,UACX/C,KAAK6B,MAAMkB,UACX/C,KAAK+jC,MAAMhhC,UACX/C,KAAKskC,QAAQvhC,UAEb/C,KAAK4mC,MAAQ,KACb5mC,KAAK8jC,MAAQ,KACb9jC,KAAK+jC,MAAQ,KACb/jC,KAAKgkC,KAAO,KACZhkC,KAAKkkC,MAAQ,KACblkC,KAAK6B,MAAQ,KACb7B,KAAKmkC,KAAO,KACZnkC,KAAKyE,MAAQ,KACbzE,KAAK+mC,UAAW,EAEhB/mC,KAAKuG,SAASxD,SAAQ,GACtBmlB,EAAOC,OAAO6yB,cAAch7C,KAAKqQ,QAEjC6X,EAAOmJ,MAAMrxB,KAAKyV,IAAM,MAW5B25B,WAAY,SAAUf,GAGbruC,KAAKy3C,UAENz3C,KAAKy3C,SAAU,EACfz3C,KAAKmkC,KAAKiL,aACVpvC,KAAKkkC,MAAM+W,UACXj7C,KAAKwmC,QAAQiB,SAAS4G,GAGlBruC,KAAK4uC,OAAOsM,SAAWl7C,KAAK4uC,OAAOuM,MAEnCn7C,KAAKm3C,YAAa,KAa9B9H,YAAa,SAAUhB,GAGfruC,KAAKy3C,UAAYz3C,KAAK03C,cAEtB13C,KAAKy3C,SAAU,EACfz3C,KAAKmkC,KAAKkL,cACVrvC,KAAK+jC,MAAML,QACX1jC,KAAKkkC,MAAMkX,YACXp7C,KAAK0mC,SAASe,SAAS4G,GAGnBruC,KAAK4uC,OAAOsM,SAAWl7C,KAAK4uC,OAAOuM,MAEnCn7C,KAAKm3C,YAAa,KAa9BjI,UAAW,SAAUb,GAEjBruC,KAAKu3C,OAAO9P,SAAS4G,GAEhBruC,KAAK6B,MAAMurC,yBAEZptC,KAAKovC,WAAWf,IAYxBc,UAAW,SAAUd,GAEjBruC,KAAKw3C,QAAQ/P,SAAS4G,GAEjBruC,KAAK6B,MAAMurC,yBAEZptC,KAAKqvC,YAAYhB,KAO7BnmB,EAAO2uB,KAAKh0C,UAAUC,YAAcolB,EAAO2uB,KAQ3CzzC,OAAOC,eAAe6kB,EAAO2uB,KAAKh0C,UAAW,UAEzCS,IAAK,WACD,MAAOtD,MAAKy3C,SAGhBj0C,IAAK,SAAUC,GAEPA,KAAU,GAENzD,KAAKy3C,WAAY,IAEjBz3C,KAAKy3C,SAAU,EACfz3C,KAAKkkC,MAAM+W,UACXj7C,KAAKmkC,KAAKiL,aACVpvC,KAAKwmC,QAAQiB,SAASznC,OAE1BA,KAAK03C,aAAc,IAIf13C,KAAKy3C,UAELz3C,KAAKy3C,SAAU,EACfz3C,KAAK+jC,MAAML,QACX1jC,KAAKkkC,MAAMkX,YACXp7C,KAAKmkC,KAAKkL,cACVrvC,KAAK0mC,SAASe,SAASznC,OAE3BA,KAAK03C,aAAc,MA6B/BxvB,EAAO8wB,MAAQ,SAAU94C,GAKrBF,KAAKE,KAAOA,EAMZF,KAAKq7C,UAAY,KAMjBr7C,KAAKs7C,WAAa,KAQlBt7C,KAAKu7C,iBAMLv7C,KAAKw7C,SAAW,EAShBx7C,KAAKy7C,SAAU,EAMfz7C,KAAK07C,mBAAqBxzB,EAAO8wB,MAAM2C,oBAMvC37C,KAAKmB,SAAW,KAKhBnB,KAAK47C,MAAQ,KAOb57C,KAAK67C,OAAS,KAKd77C,KAAKqB,MAAQ,KAMbrB,KAAK87C,YAAc,GAMnB97C,KAAK+7C,QAAU,IAMf/7C,KAAKg8C,cAAgB,IAMrBh8C,KAAKi8C,SAAW,IAMhBj8C,KAAKk8C,gBAAkB,IAMvBl8C,KAAKm8C,iBAAmB,IASxBn8C,KAAKo8C,sBAAuB,EAM5Bp8C,KAAKq8C,WAAa,IAQlBr8C,KAAKs8C,YAAc,IAKnBt8C,KAAKu8C,SAAW,KAKhBv8C,KAAKw8C,SAAW,KAKhBx8C,KAAKy8C,SAAW,KAKhBz8C,KAAK08C,SAAW,KAKhB18C,KAAK28C,SAAW,KAKhB38C,KAAK48C,SAAW,KAKhB58C,KAAK68C,SAAW,KAKhB78C,KAAK88C,SAAW,KAKhB98C,KAAK+8C,SAAW,KAKhB/8C,KAAKg9C,UAAY,KASjBh9C,KAAKi9C,YASLj9C,KAAKk9C,cAAgB,KAOrBl9C,KAAKm9C,aAAe,KAUpBn9C,KAAKkrC,MAAQ,KAOblrC,KAAKo9C,SAAW,KAUhBp9C,KAAKq9C,MAAQ,KAUbr9C,KAAKs9C,UAAY,KAOjBt9C,KAAKu9C,QAAU,KAQfv9C,KAAKw9C,aAAc,EAMnBx9C,KAAKy9C,OAAS,KAMdz9C,KAAK09C,KAAO,KAMZ19C,KAAK29C,MAAQ,KAMb39C,KAAK49C,OAAS,KAQd59C,KAAK69C,cAAgB,EAMrB79C,KAAK89C,iBAAmB,GAAI51B,GAAOosB,SAMnCt0C,KAAK+9C,YAAc,GAAI71B,GAAO9mB,MAM9BpB,KAAKg+C,aAAe,EAMpBh+C,KAAKi+C,aAAe,KAMpBj+C,KAAKk+C,GAAK,EAMVl+C,KAAKm+C,GAAK,GAQdj2B,EAAO8wB,MAAMoF,sBAAwB,EAMrCl2B,EAAO8wB,MAAMqF,sBAAwB,EAMrCn2B,EAAO8wB,MAAM2C,oBAAsB,EAOnCzzB,EAAO8wB,MAAMsF,aAAe,GAE5Bp2B,EAAO8wB,MAAMn2C,WAQT0jC,KAAM,WAEFvmC,KAAKm9C,aAAe,GAAIj1B,GAAOq2B,QAAQv+C,KAAKE,KAAM,EAAGgoB,EAAOs2B,YAAYC,QACxEz+C,KAAK0+C,aACL1+C,KAAK0+C,aAEL1+C,KAAKkrC,MAAQ,GAAIhjB,GAAOy2B,MAAM3+C,KAAKE,MACnCF,KAAKq9C,MAAQ,GAAIn1B,GAAO02B,MAAM5+C,KAAKE,MACnCF,KAAKs9C,UAAY,GAAIp1B,GAAO22B,UAAU7+C,KAAKE,MAEvCgoB,EAAO42B,WAEP9+C,KAAKo9C,SAAW,GAAIl1B,GAAO42B,SAAS9+C,KAAKE,OAGzCgoB,EAAO62B,UAEP/+C,KAAKu9C,QAAU,GAAIr1B,GAAO62B,QAAQ/+C,KAAKE,OAG3CF,KAAKy9C,OAAS,GAAIv1B,GAAOud,OACzBzlC,KAAK09C,KAAO,GAAIx1B,GAAOud,OACvBzlC,KAAK29C,MAAQ,GAAIz1B,GAAOud,OACxBzlC,KAAK49C,OAAS,GAAI11B,GAAOud,OAEzBzlC,KAAKqB,MAAQ,GAAI6mB,GAAO9mB,MAAM,EAAG,GACjCpB,KAAK47C,MAAQ,GAAI1zB,GAAO9mB,MACxBpB,KAAKmB,SAAW,GAAI+mB,GAAO9mB,MAC3BpB,KAAKi+C,aAAe,GAAI/1B,GAAO9mB,MAE/BpB,KAAK67C,OAAS,GAAI3zB,GAAOkQ,OAAO,EAAG,EAAG,IAEtCp4B,KAAKk9C,cAAgBl9C,KAAKm9C,aAE1Bn9C,KAAKq7C,UAAYp7C,KAAKqQ,WAAWpI,OAAOlI,KAAM,EAAG,GACjDA,KAAKs7C,WAAat7C,KAAKq7C,UAAU9qC,WAAW,MAE5CvQ,KAAKkrC,MAAMhgC,QACXlL,KAAKq9C,MAAMnyC,QACXlL,KAAKs9C,UAAUpyC,QACflL,KAAKm9C,aAAa1U,QAAS,EAEvBzoC,KAAKo9C,UAELp9C,KAAKo9C,SAASlyC,OAGlB,IAAIk/B,GAAQpqC,IAEZA,MAAKg/C,mBAAqB,SAAU3Q,GAChCjE,EAAM6U,kBAAkB5Q,IAG5BruC,KAAKE,KAAKmQ,OAAOk+B,iBAAiB,QAASvuC,KAAKg/C,oBAAoB,IASxEj8C,QAAS,WAEL/C,KAAKkrC,MAAMpgC,OACX9K,KAAKq9C,MAAMvyC,OACX9K,KAAKs9C,UAAUxyC,OAEX9K,KAAKo9C,UAELp9C,KAAKo9C,SAAStyC,OAGd9K,KAAKu9C,SAELv9C,KAAKu9C,QAAQzyC,OAGjB9K,KAAKu7C,iBAELt7C,KAAKqQ,WAAWI,OAAO1Q,MAEvBA,KAAKE,KAAKmQ,OAAOo/B,oBAAoB,QAASzvC,KAAKg/C,qBAkBvDE,gBAAiB,SAAUtL,EAAU3mC,GAEjCjN,KAAKu7C,cAAcx3C,MAAO6vC,SAAUA,EAAU3mC,QAASA,KAW3DkyC,mBAAoB,SAAUvL,EAAU3mC,GAIpC,IAFA,GAAIhK,GAAIjD,KAAKu7C,cAAcr4C,OAEpBD,KAEH,GAAIjD,KAAKu7C,cAAct4C,GAAG2wC,WAAaA,GAAY5zC,KAAKu7C,cAAct4C,GAAGgK,UAAYA,EAGjF,WADAjN,MAAKu7C,cAAc7yC,OAAOzF,EAAG,IAezCy7C,WAAY,WAER,GAAI1+C,KAAKi9C,SAAS/5C,QAAUglB,EAAO8wB,MAAMsF,aAGrC,MADA/rC,SAAQ2iB,KAAK,6CAA+ChN,EAAO8wB,MAAMsF,aAAe,sBACjF,IAGX,IAAI7oC,GAAKzV,KAAKi9C,SAAS/5C,OAAS,EAC5B8oC,EAAU,GAAI9jB,GAAOq2B,QAAQv+C,KAAKE,KAAMuV,EAAIyS,EAAOs2B,YAAYY,MAKnE,OAHAp/C,MAAKi9C,SAASl5C,KAAKioC,GACnBhsC,KAAK,UAAYyV,GAAMu2B,EAEhBA,GAUX3I,OAAQ,WAOJ,GALIrjC,KAAKo9C,UAELp9C,KAAKo9C,SAAS/Z,SAGdrjC,KAAKw7C,SAAW,GAAKx7C,KAAKg+C,aAAeh+C,KAAKw7C,SAG9C,WADAx7C,MAAKg+C,cAITh+C,MAAK47C,MAAMv2C,EAAIrF,KAAKmB,SAASkE,EAAIrF,KAAKi+C,aAAa54C,EACnDrF,KAAK47C,MAAMt2C,EAAItF,KAAKmB,SAASmE,EAAItF,KAAKi+C,aAAa34C,EAEnDtF,KAAKi+C,aAAaplB,SAAS74B,KAAKmB,UAChCnB,KAAKm9C,aAAa9Z,SAEdrjC,KAAKu9C,SAAWv9C,KAAKu9C,QAAQ9U,QAE7BzoC,KAAKu9C,QAAQla,QAGjB,KAAK,GAAIpgC,GAAI,EAAGA,EAAIjD,KAAKi9C,SAAS/5C,OAAQD,IAEtCjD,KAAKi9C,SAASh6C,GAAGogC,QAGrBrjC,MAAKg+C,aAAe,GAexBta,MAAO,SAAU2b,GAEb,GAAKr/C,KAAKE,KAAK6mC,WAAY/mC,KAAKw9C,YAAhC,CAKaj0C,SAAT81C,IAAsBA,GAAO,GAEjCr/C,KAAKm9C,aAAazZ,QAEd1jC,KAAKo9C,UAELp9C,KAAKo9C,SAAS1Z,MAAM2b,GAGpBr/C,KAAKu9C,SAELv9C,KAAKu9C,QAAQ7Z,OAGjB,KAAK,GAAIzgC,GAAI,EAAGA,EAAIjD,KAAKi9C,SAAS/5C,OAAQD,IAEtCjD,KAAKi9C,SAASh6C,GAAGygC,OAGiB,UAAlC1jC,KAAKE,KAAKmQ,OAAO6K,MAAMm1B,SAEvBrwC,KAAKE,KAAKmQ,OAAO6K,MAAMm1B,OAAS,WAGhCgP,IAEAr/C,KAAKy9C,OAAOtT,UACZnqC,KAAK09C,KAAKvT,UACVnqC,KAAK29C,MAAMxT,UACXnqC,KAAK49C,OAAOzT,UACZnqC,KAAKy9C,OAAS,GAAIv1B,GAAOud,OACzBzlC,KAAK09C,KAAO,GAAIx1B,GAAOud,OACvBzlC,KAAK29C,MAAQ,GAAIz1B,GAAOud,OACxBzlC,KAAK49C,OAAS,GAAI11B,GAAOud,OACzBzlC,KAAKu7C,kBAGTv7C,KAAKg+C,aAAe,IAWxBsB,WAAY,SAAUj6C,EAAGC,GAErBtF,KAAKi+C,aAAarlB,MAAMvzB,EAAGC,GAC3BtF,KAAK47C,MAAMhjB,MAAM,EAAG,IAaxB2mB,aAAc,SAAUlR,GAEpB,GAAIruC,KAAK87C,aAAe,GAAK97C,KAAKw/C,oBAAoBx/C,KAAK87C,cAAgB97C,KAAK87C,YAE5E,MAAO,KAGX,KAAK97C,KAAKu8C,SAAS9T,OAEf,MAAOzoC,MAAKu8C,SAASrxC,MAAMmjC,EAG/B,KAAKruC,KAAKw8C,SAAS/T,OAEf,MAAOzoC,MAAKw8C,SAAStxC,MAAMmjC,EAG/B,KAAK,GAAIprC,GAAI,EAAGA,EAAIjD,KAAKi9C,SAAS/5C,OAAQD,IAC1C,CACI,GAAI+oC,GAAUhsC,KAAKi9C,SAASh6C,EAE5B,KAAK+oC,EAAQvD,OAET,MAAOuD,GAAQ9gC,MAAMmjC,GAI7B,MAAO,OAaXoR,cAAe,SAAUpR,GAErB,GAAIruC,KAAKu8C,SAAS9T,QAAUzoC,KAAKu8C,SAASmD,aAAerR,EAAMqR,WAE3D,MAAO1/C,MAAKu8C,SAASoD,KAAKtR,EAG9B,IAAIruC,KAAKw8C,SAAS/T,QAAUzoC,KAAKw8C,SAASkD,aAAerR,EAAMqR,WAE3D,MAAO1/C,MAAKw8C,SAASmD,KAAKtR,EAG9B,KAAK,GAAIprC,GAAI,EAAGA,EAAIjD,KAAKi9C,SAAS/5C,OAAQD,IAC1C,CACI,GAAI+oC,GAAUhsC,KAAKi9C,SAASh6C,EAE5B,IAAI+oC,EAAQvD,QAAUuD,EAAQ0T,aAAerR,EAAMqR,WAE/C,MAAO1T,GAAQ2T,KAAKtR,GAI5B,MAAO,OAYXuR,YAAa,SAAUvR,GAEnB,GAAIruC,KAAKu8C,SAAS9T,QAAUzoC,KAAKu8C,SAASmD,aAAerR,EAAMqR,WAE3D,MAAO1/C,MAAKu8C,SAASzxC,KAAKujC,EAG9B,IAAIruC,KAAKw8C,SAAS/T,QAAUzoC,KAAKw8C,SAASkD,aAAerR,EAAMqR,WAE3D,MAAO1/C,MAAKw8C,SAAS1xC,KAAKujC,EAG9B,KAAK,GAAIprC,GAAI,EAAGA,EAAIjD,KAAKi9C,SAAS/5C,OAAQD,IAC1C,CACI,GAAI+oC,GAAUhsC,KAAKi9C,SAASh6C,EAE5B,IAAI+oC,EAAQvD,QAAUuD,EAAQ0T,aAAerR,EAAMqR,WAE/C,MAAO1T,GAAQlhC,KAAKujC,GAI5B,MAAO,OAYXmR,oBAAqB,SAAUK,GAEbt2C,SAAVs2C,IAAuBA,EAAQ7/C,KAAKi9C,SAAS/5C,OAIjD,KAAK,GAFDya,GAAQkiC,EAEH58C,EAAI,EAAGA,EAAIjD,KAAKi9C,SAAS/5C,QAAUya,EAAQ,EAAG1a,IACvD,CACI,GAAI+oC,GAAUhsC,KAAKi9C,SAASh6C,EAExB+oC,GAAQvD,QAER9qB,IAIR,MAAQkiC,GAAQliC,GAWpBmiC,WAAY,SAAUC,GAEDx2C,SAAbw2C,IAA0BA,GAAW,EAEzC,KAAK,GAAI98C,GAAI,EAAGA,EAAIjD,KAAKi9C,SAAS/5C,OAAQD,IAC1C,CACI,GAAI+oC,GAAUhsC,KAAKi9C,SAASh6C,EAE5B,IAAI+oC,EAAQvD,SAAWsX,EAEnB,MAAO/T,GAIf,MAAO,OAeXgU,yBAA0B,SAAUN,GAEhC,IAAK,GAAIz8C,GAAI,EAAGA,EAAIjD,KAAKi9C,SAAS/5C,OAAQD,IAC1C,CACI,GAAI+oC,GAAUhsC,KAAKi9C,SAASh6C,EAE5B,IAAI+oC,EAAQ0T,aAAeA,EAEvB,MAAO1T,GAIf,MAAO,OAcXiU,iBAAkB,SAAUC,GAExB,IAAK,GAAIj9C,GAAI,EAAGA,EAAIjD,KAAKi9C,SAAS/5C,OAAQD,IAC1C,CACI,GAAI+oC,GAAUhsC,KAAKi9C,SAASh6C,EAE5B,IAAI+oC,EAAQkU,YAAcA,EAEtB,MAAOlU,GAIf,MAAO,OAYXmU,iBAAkB,SAAUplC,EAAeixB,EAAS9S,GAEjC3vB,SAAX2vB,IAAwBA,EAAS,GAAIhR,GAAO9mB,MAEhD,IAAI6D,GAAK8V,EAAchZ,eACnB0T,EAAK,GAAKxQ,EAAGP,EAAIO,EAAGJ,EAAII,EAAGL,GAAKK,EAAGN,EAEvC,OAAOu0B,GAAON,MACV3zB,EAAGJ,EAAI4Q,EAAKu2B,EAAQ3mC,GAAKJ,EAAGL,EAAI6Q,EAAKu2B,EAAQ1mC,GAAKL,EAAGF,GAAKE,EAAGL,EAAIK,EAAGH,GAAKG,EAAGJ,GAAK4Q,EACjFxQ,EAAGP,EAAI+Q,EAAKu2B,EAAQ1mC,GAAKL,EAAGN,EAAI8Q,EAAKu2B,EAAQ3mC,IAAMJ,EAAGF,GAAKE,EAAGP,EAAIO,EAAGH,GAAKG,EAAGN,GAAK8Q,IAa1F2qC,QAAS,SAAUrlC,EAAeixB,EAASqU,GAEvC,IAAKtlC,EAAculC,aAEf,OAAO,CAOX,IAJAtgD,KAAKmgD,iBAAiBplC,EAAeixB,EAAShsC,KAAK+9C,aAEnDsC,EAAWxnB,SAAS74B,KAAK+9C,aAErBhjC,EAAcrZ,SAAWqZ,EAAcrZ,QAAQy3B,SAE/C,MAAQpe,GAAcrZ,QAAQy3B,SAASn5B,KAAK+9C,YAAY14C,EAAGrF,KAAK+9C,YAAYz4C,EAE3E,IAAIyV,YAAyBmN,GAAOq4B,WACzC,CACI,GAAI55C,GAAQoU,EAAcpU,MACtBC,EAASmU,EAAcnU,OACvB2F,GAAM5F,EAAQoU,EAAc/S,OAAO3C,CAEvC,IAAIrF,KAAK+9C,YAAY14C,GAAKkH,GAAMvM,KAAK+9C,YAAY14C,EAAIkH,EAAK5F,EAC1D,CACI,GAAI6F,IAAM5F,EAASmU,EAAc/S,OAAO1C,CAExC,IAAItF,KAAK+9C,YAAYz4C,GAAKkH,GAAMxM,KAAK+9C,YAAYz4C,EAAIkH,EAAK5F,EAEtD,OAAO,OAId,IAAImU,YAAyB9a,MAAKwH,OACvC,CACI,GAAId,GAAQoU,EAAcnT,QAAQkE,MAAMnF,MACpCC,EAASmU,EAAcnT,QAAQkE,MAAMlF,OACrC2F,GAAM5F,EAAQoU,EAAc/S,OAAO3C,CAEvC,IAAIrF,KAAK+9C,YAAY14C,GAAKkH,GAAMvM,KAAK+9C,YAAY14C,EAAIkH,EAAK5F,EAC1D,CACI,GAAI6F,IAAM5F,EAASmU,EAAc/S,OAAO1C,CAExC,IAAItF,KAAK+9C,YAAYz4C,GAAKkH,GAAMxM,KAAK+9C,YAAYz4C,EAAIkH,EAAK5F,EAEtD,OAAO,OAId,IAAImU,YAAyBmN,GAAOs4B,SAErC,IAAK,GAAIv9C,GAAI,EAAGA,EAAI8X,EAAc0lC,aAAav9C,OAAQD,IACvD,CACI,GAAIwN,GAAOsK,EAAc0lC,aAAax9C,EAEtC,IAAKwN,EAAK4d,MAMN5d,EAAKiwC,OAASjwC,EAAKiwC,MAAMvnB,SAASn5B,KAAK+9C,YAAY14C,EAAGrF,KAAK+9C,YAAYz4C,GAEvE,OAAO,EAOnB,IAAK,GAAIrC,GAAI,EAAG8xB,EAAMha,EAAc/X,SAASE,OAAY6xB,EAAJ9xB,EAASA,IAE1D,GAAIjD,KAAKogD,QAAQrlC,EAAc/X,SAASC,GAAI+oC,EAASqU,GAEjD,OAAO,CAIf,QAAO,GASXpB,kBAAmB,WAIfj/C,KAAKk9C,cAAcyD,4BAM3Bz4B,EAAO8wB,MAAMn2C,UAAUC,YAAcolB,EAAO8wB,MAQ5C51C,OAAOC,eAAe6kB,EAAO8wB,MAAMn2C,UAAW,KAE1CS,IAAK,WACD,MAAOtD,MAAKk+C,IAGhB16C,IAAK,SAAUC,GACXzD,KAAKk+C,GAAKr9C,KAAKizB,MAAMrwB,MAW7BL,OAAOC,eAAe6kB,EAAO8wB,MAAMn2C,UAAW,KAE1CS,IAAK,WACD,MAAOtD,MAAKm+C,IAGhB36C,IAAK,SAAUC,GACXzD,KAAKm+C,GAAKt9C,KAAKizB,MAAMrwB,MAW7BL,OAAOC,eAAe6kB,EAAO8wB,MAAMn2C,UAAW,cAE1CS,IAAK,WACD,MAAQtD,MAAKw7C,SAAW,GAAKx7C,KAAKg+C,aAAeh+C,KAAKw7C,YAW9Dp4C,OAAOC,eAAe6kB,EAAO8wB,MAAMn2C,UAAW,yBAE1CS,IAAK,WACD,MAAOtD,MAAKi9C,SAAS/5C,OAASlD,KAAKw/C,yBAW3Cp8C,OAAOC,eAAe6kB,EAAO8wB,MAAMn2C,UAAW,uBAE1CS,IAAK,WACD,MAAOtD,MAAKw/C,yBAWpBp8C,OAAOC,eAAe6kB,EAAO8wB,MAAMn2C,UAAW,UAE1CS,IAAK,WACD,MAAOtD,MAAKE,KAAK2jC,OAAOjrB,KAAKvT,EAAIrF,KAAKqF,KAW9CjC,OAAOC,eAAe6kB,EAAO8wB,MAAMn2C,UAAW,UAE1CS,IAAK,WACD,MAAOtD,MAAKE,KAAK2jC,OAAOjrB,KAAKtT,EAAItF,KAAKsF,KAyB9C4iB,EAAOy2B,MAAQ,SAAUz+C,GAKrBF,KAAKE,KAAOA,EAMZF,KAAK+jC,MAAQ7jC,EAAK6jC,MAKlB/jC,KAAKgnC,gBAAkBhnC,KAAKE,KAK5BF,KAAK4gD,kBAAoB,KAKzB5gD,KAAK6gD,gBAAkB,KAKvB7gD,KAAK8gD,iBAAmB,KAKxB9gD,KAAK+gD,kBAAoB,KAKzB/gD,KAAKghD,mBAAqB,KAK1BhhD,KAAKihD,SAAU,EASfjhD,KAAKkhD,OAAS,GAMdlhD,KAAKmhD,WAAa,EAOlBnhD,KAAKy7C,SAAU,EAMfz7C,KAAKohD,QAAS,EAMdphD,KAAKqhD,eAAgB,EAMrBrhD,KAAKshD,YAAc,GAAIp5B,GAAOud,OAQ9BzlC,KAAKquC,MAAQ,KAMbruC,KAAKuhD,aAAe,KAMpBvhD,KAAKwhD,aAAe,KAMpBxhD,KAAKyhD,WAAa,KAMlBzhD,KAAK0hD,YAAc,KAMnB1hD,KAAK2hD,aAAe,KAMpB3hD,KAAK4hD,cAAgB,KAOrB5hD,KAAK6hD,YAAc,MAQvB35B,EAAOy2B,MAAMmD,UAAY,GAMzB55B,EAAOy2B,MAAMoD,YAAc,EAM3B75B,EAAOy2B,MAAMqD,cAAgB,EAM7B95B,EAAOy2B,MAAMsD,aAAe,EAM5B/5B,EAAOy2B,MAAMuD,YAAc,EAM3Bh6B,EAAOy2B,MAAMwD,eAAiB,EAM9Bj6B,EAAOy2B,MAAMyD,SAAW,EAMxBl6B,EAAOy2B,MAAM0D,WAAa,GAE1Bn6B,EAAOy2B,MAAM97C,WAMTqI,MAAO,WAEH,KAAIlL,KAAKE,KAAK0uC,OAAO0T,SAAWtiD,KAAKE,KAAK0uC,OAAOiL,UAAW,IAMlC,OAAtB75C,KAAKuhD,aAAT,CAMA,GAAInX,GAAQpqC,IAEZA,MAAKuhD,aAAe,SAAUlT,GAC1B,MAAOjE,GAAMmY,YAAYlU,IAG7BruC,KAAKwhD,aAAe,SAAUnT,GAC1B,MAAOjE,GAAMoY,YAAYnU,IAG7BruC,KAAKyhD,WAAa,SAAUpT,GACxB,MAAOjE,GAAMqY,UAAUpU,IAG3BruC,KAAK0iD,iBAAmB,SAAUrU,GAC9B,MAAOjE,GAAMuY,gBAAgBtU,IAGjCruC,KAAK0hD,YAAc,SAAUrT,GACzB,MAAOjE,GAAMwY,WAAWvU,IAG5BruC,KAAK2hD,aAAe,SAAUtT,GAC1B,MAAOjE,GAAMyY,YAAYxU,IAG7BruC,KAAK4hD,cAAgB,SAAUvT,GAC3B,MAAOjE,GAAM0Y,aAAazU,GAG9B,IAAIh+B,GAASrQ,KAAKE,KAAKmQ,MAEvBA,GAAOk+B,iBAAiB,YAAavuC,KAAKuhD,cAAc,GACxDlxC,EAAOk+B,iBAAiB,YAAavuC,KAAKwhD,cAAc,GACxDnxC,EAAOk+B,iBAAiB,UAAWvuC,KAAKyhD,YAAY,GAE/CzhD,KAAKE,KAAK0uC,OAAOoL,WAElB1nC,OAAOi8B,iBAAiB,UAAWvuC,KAAK0iD,kBAAkB,GAC1DryC,EAAOk+B,iBAAiB,YAAavuC,KAAK2hD,cAAc,GACxDtxC,EAAOk+B,iBAAiB,WAAYvuC,KAAK0hD,aAAa,GAG1D,IAAIqB,GAAa/iD,KAAKE,KAAK0uC,OAAOmU,UAE9BA,KAEA1yC,EAAOk+B,iBAAiBwU,EAAY/iD,KAAK4hD,eAAe,GAErC,eAAfmB,EAEA/iD,KAAK6hD,YAAc,GAAI9wB,GAAgB,GAAG,GAAI,GAE1B,mBAAfgyB,IAEL/iD,KAAK6hD,YAAc,GAAI9wB,GAAgB,EAAG,OAWtDwxB,YAAa,SAAUlU,GAEnBruC,KAAKquC,MAAQA,EAETruC,KAAKihD,SAEL5S,EAAM8L,iBAGNn6C,KAAK4gD,mBAEL5gD,KAAK4gD,kBAAkBl7C,KAAK1F,KAAKgnC,gBAAiBqH,GAGjDruC,KAAK+jC,MAAM0X,SAAYz7C,KAAKy7C,UAKjCpN,EAAkB,WAAI,EAEtBruC,KAAK+jC,MAAMoZ,aAAajyC,MAAMmjC,KASlCmU,YAAa,SAAUnU,GAEnBruC,KAAKquC,MAAQA,EAETruC,KAAKihD,SAEL5S,EAAM8L,iBAGNn6C,KAAKgjD,mBAELhjD,KAAKgjD,kBAAkBt9C,KAAK1F,KAAKgnC,gBAAiBqH,GAGjDruC,KAAK+jC,MAAM0X,SAAYz7C,KAAKy7C,UAKjCpN,EAAkB,WAAI,EAEtBruC,KAAK+jC,MAAMoZ,aAAawC,KAAKtR,KASjCoU,UAAW,SAAUpU,GAEjBruC,KAAKquC,MAAQA,EAETruC,KAAKihD,SAEL5S,EAAM8L,iBAGNn6C,KAAK6gD,iBAEL7gD,KAAK6gD,gBAAgBn7C,KAAK1F,KAAKgnC,gBAAiBqH,GAG/CruC,KAAK+jC,MAAM0X,SAAYz7C,KAAKy7C,UAKjCpN,EAAkB,WAAI,EAEtBruC,KAAK+jC,MAAMoZ,aAAaryC,KAAKujC,KAUjCsU,gBAAiB,SAAUtU,GAElBruC,KAAK+jC,MAAMoZ,aAAa8F,aAErBjjD,KAAK6gD,iBAEL7gD,KAAK6gD,gBAAgBn7C,KAAK1F,KAAKgnC,gBAAiBqH,GAGpDA,EAAkB,WAAI,EAEtBruC,KAAK+jC,MAAMoZ,aAAaryC,KAAKujC,KAWrCuU,WAAY,SAAUvU,GAElBruC,KAAKquC,MAAQA,EAETruC,KAAKihD,SAEL5S,EAAM8L,iBAGVn6C,KAAK+jC,MAAMoZ,aAAa8F,YAAa,EAEjCjjD,KAAK8gD,kBAEL9gD,KAAK8gD,iBAAiBp7C,KAAK1F,KAAKgnC,gBAAiBqH,GAGhDruC,KAAK+jC,MAAM0X,SAAYz7C,KAAKy7C,SAK7Bz7C,KAAKqhD,gBAELhT,EAAkB,WAAI,EAEtBruC,KAAK+jC,MAAMoZ,aAAaryC,KAAKujC,KAWrCwU,YAAa,SAAUxU,GAEnBruC,KAAKquC,MAAQA,EAETruC,KAAKihD,SAEL5S,EAAM8L,iBAGVn6C,KAAK+jC,MAAMoZ,aAAa8F,YAAa,EAEjCjjD,KAAK+gD,mBAEL/gD,KAAK+gD,kBAAkBr7C,KAAK1F,KAAKgnC,gBAAiBqH,IAW1DyU,aAAc,SAAUzU,GAEhBruC,KAAK6hD,cACLxT,EAAQruC,KAAK6hD,YAAYqB,UAAU7U,IAGvCruC,KAAKquC,MAAQA,EAETruC,KAAKihD,SAEL5S,EAAM8L,iBAIVn6C,KAAKmhD,WAAaj5B,EAAOrnB,KAAKo9B,OAAOoQ,EAAM8U,OAAQ,GAAI,GAEnDnjD,KAAKghD,oBAELhhD,KAAKghD,mBAAmBt7C,KAAK1F,KAAKgnC,gBAAiBqH,IAW3D+U,mBAAoB,WAEhB,GAAIpjD,KAAKE,KAAK0uC,OAAO0S,YACrB,CACI,GAAI+B,GAAUrjD,KAAKE,KAAKmQ,MAExBgzC,GAAQD,mBAAqBC,EAAQD,oBAAsBC,EAAQC,uBAAyBD,EAAQE,yBAEpGF,EAAQD,oBAER,IAAIhZ,GAAQpqC,IAEZA,MAAKwjD,mBAAqB,SAAUnV,GAChC,MAAOjE,GAAMqZ,kBAAkBpV,IAGnCv+B,SAASy+B,iBAAiB,oBAAqBvuC,KAAKwjD,oBAAoB,GACxE1zC,SAASy+B,iBAAiB,uBAAwBvuC,KAAKwjD,oBAAoB,GAC3E1zC,SAASy+B,iBAAiB,0BAA2BvuC,KAAKwjD,oBAAoB,KAWtFC,kBAAmB,SAAUpV,GAEzB,GAAIgV,GAAUrjD,KAAKE,KAAKmQ,MAEpBP,UAAS4zC,qBAAuBL,GAAWvzC,SAAS6zC,wBAA0BN,GAAWvzC,SAAS8zC,2BAA6BP,GAG/HrjD,KAAKohD,QAAS,EACdphD,KAAKshD,YAAY7Z,UAAS,EAAM4G,KAKhCruC,KAAKohD,QAAS,EACdphD,KAAKshD,YAAY7Z,UAAS,EAAO4G,KASzCwV,mBAAoB,WAEhB/zC,SAASg0C,gBAAkBh0C,SAASg0C,iBAAmBh0C,SAASi0C,oBAAsBj0C,SAASk0C,sBAE/Fl0C,SAASg0C,kBAETh0C,SAAS2/B,oBAAoB,oBAAqBzvC,KAAKwjD,oBAAoB,GAC3E1zC,SAAS2/B,oBAAoB,uBAAwBzvC,KAAKwjD,oBAAoB,GAC9E1zC,SAAS2/B,oBAAoB,0BAA2BzvC,KAAKwjD,oBAAoB,IAQrF14C,KAAM,WAEF,GAAIuF,GAASrQ,KAAKE,KAAKmQ,MAEvBA,GAAOo/B,oBAAoB,YAAazvC,KAAKuhD,cAAc,GAC3DlxC,EAAOo/B,oBAAoB,YAAazvC,KAAKwhD,cAAc,GAC3DnxC,EAAOo/B,oBAAoB,UAAWzvC,KAAKyhD,YAAY,GACvDpxC,EAAOo/B,oBAAoB,YAAazvC,KAAK2hD,cAAc,GAC3DtxC,EAAOo/B,oBAAoB,WAAYzvC,KAAK0hD,aAAa,EAEzD,IAAIqB,GAAa/iD,KAAKE,KAAK0uC,OAAOmU,UAE9BA,IAEA1yC,EAAOo/B,oBAAoBsT,EAAY/iD,KAAK4hD,eAAe,GAG/DtvC,OAAOm9B,oBAAoB,UAAWzvC,KAAK0iD,kBAAkB,GAE7D5yC,SAAS2/B,oBAAoB,oBAAqBzvC,KAAKwjD,oBAAoB,GAC3E1zC,SAAS2/B,oBAAoB,uBAAwBzvC,KAAKwjD,oBAAoB,GAC9E1zC,SAAS2/B,oBAAoB,0BAA2BzvC,KAAKwjD,oBAAoB,KAMzFt7B,EAAOy2B,MAAM97C,UAAUC,YAAcolB,EAAOy2B,MAoC5C5tB,EAAgBluB,aAChBkuB,EAAgBluB,UAAUC,YAAciuB,EAExCA,EAAgBluB,UAAUqgD,UAAY,SAAU7U,GAG5C,IAAKtd,EAAgBkzB,iBAAmB5V,EACxC,CACI,GAAI6V,GAAa,SAAU5sB,GAEvB,MAAO,YACH,GAAIqiB,GAAI35C,KAAKoxB,cAAckG,EAC3B,OAAoB,kBAANqiB,GAAmBA,EAAIA,EAAE3lB,KAAKh0B,KAAKoxB,gBAKzD,KAAK,GAAIkE,KAAQ+Y,GAEP/Y,IAAQvE,GAAgBluB,WAE1BO,OAAOC,eAAe0tB,EAAgBluB,UAAWyyB,GAC7ChyB,IAAK4gD,EAAW5uB,IAI5BvE,GAAgBkzB,iBAAkB,EAItC,MADAjkD,MAAKoxB,cAAgBid,EACdruC,MAIXoD,OAAO+gD,iBAAiBpzB,EAAgBluB,WACpC+R,MAAUnR,MAAO,SACjBwtB,WAAe3tB,IAAK,WAAc,MAAOtD,MAAKmxB,aAC9CgyB,QACI7/C,IAAK,WACD,MAAQtD,MAAKkxB,cAAgBlxB,KAAKoxB,cAAc+vB,YAAcnhD,KAAKoxB,cAAcgzB,SAAY,IAGrGC,QACI/gD,IAAK,WACD,MAAQtD,MAAKkxB,aAAelxB,KAAKoxB,cAAckzB,aAAgB,IAGvEC,QAAY9gD,MAAO,KAyBvBykB,EAAO22B,UAAY,SAAU3+C,GAKzBF,KAAKE,KAAOA,EAMZF,KAAK+jC,MAAQ7jC,EAAK6jC,MAKlB/jC,KAAKgnC,gBAAkBhnC,KAAKE,KAK5BF,KAAKwkD,oBAAsB,KAK3BxkD,KAAKykD,oBAAsB,KAK3BzkD,KAAK0kD,kBAAoB,KAKzB1kD,KAAKihD,SAAU,EAQfjhD,KAAKkhD,OAAS,GAQdlhD,KAAKquC,MAAQ,KAObruC,KAAKy7C,SAAU,EAMfz7C,KAAK2kD,iBAAmB,KAMxB3kD,KAAK4kD,iBAAmB,KAMxB5kD,KAAK6kD,eAAiB,KAMtB7kD,KAAK8kD,qBAAuB,KAM5B9kD,KAAK+kD,gBAAkB,KAMvB/kD,KAAKglD,iBAAmB,MAI5B98B,EAAO22B,UAAUh8C,WAMbqI,MAAO,WAEH,GAA8B,OAA1BlL,KAAK2kD,iBAAT,CAMA,GAAIva,GAAQpqC,IAEZ,IAAIA,KAAKE,KAAK0uC,OAAO0O,UACrB,CACIt9C,KAAK2kD,iBAAmB,SAAUtW,GAC9B,MAAOjE,GAAM6a,cAAc5W,IAG/BruC,KAAK4kD,iBAAmB,SAAUvW,GAC9B,MAAOjE,GAAM8a,cAAc7W,IAG/BruC,KAAK6kD,eAAiB,SAAUxW,GAC5B,MAAOjE,GAAM+a,YAAY9W,IAG7BruC,KAAK8kD,qBAAuB,SAAUzW,GAClC,MAAOjE,GAAMgb,kBAAkB/W,IAGnCruC,KAAK+kD,gBAAkB,SAAU1W,GAC7B,MAAOjE,GAAMib,aAAahX,IAG9BruC,KAAKglD,iBAAmB,SAAU3W,GAC9B,MAAOjE,GAAMkb,cAAcjX,GAG/B,IAAIh+B,GAASrQ,KAAKE,KAAKmQ,MAEvBA,GAAOk+B,iBAAiB,gBAAiBvuC,KAAK2kD,kBAAkB,GAChEt0C,EAAOk+B,iBAAiB,gBAAiBvuC,KAAK4kD,kBAAkB,GAChEv0C,EAAOk+B,iBAAiB,cAAevuC,KAAK6kD,gBAAgB,GAG5Dx0C,EAAOk+B,iBAAiB,cAAevuC,KAAK2kD,kBAAkB,GAC9Dt0C,EAAOk+B,iBAAiB,cAAevuC,KAAK4kD,kBAAkB,GAC9Dv0C,EAAOk+B,iBAAiB,YAAavuC,KAAK6kD,gBAAgB,GAE1Dx0C,EAAO6K,MAAM,uBAAyB,OACtC7K,EAAO6K,MAAM,oBAAsB,OAE9Blb,KAAKE,KAAK0uC,OAAOoL,WAElB1nC,OAAOi8B,iBAAiB,cAAevuC,KAAK8kD,sBAAsB,GAClEz0C,EAAOk+B,iBAAiB,gBAAiBvuC,KAAKglD,kBAAkB,GAChE30C,EAAOk+B,iBAAiB,eAAgBvuC,KAAK+kD,iBAAiB,GAG9DzyC,OAAOi8B,iBAAiB,YAAavuC,KAAK8kD,sBAAsB,GAChEz0C,EAAOk+B,iBAAiB,cAAevuC,KAAKglD,kBAAkB,GAC9D30C,EAAOk+B,iBAAiB,aAAcvuC,KAAK+kD,iBAAiB,OAYxEE,cAAe,SAAU5W,GAErBruC,KAAKquC,MAAQA,EAETruC,KAAKihD,SAEL5S,EAAM8L,iBAGNn6C,KAAKwkD,qBAELxkD,KAAKwkD,oBAAoB9+C,KAAK1F,KAAKgnC,gBAAiBqH,GAGnDruC,KAAK+jC,MAAM0X,SAAYz7C,KAAKy7C,UAKjCpN,EAAMqR,WAAarR,EAAM6R,UAEC,UAAtB7R,EAAMkX,aAAiD,IAAtBlX,EAAMkX,YAEvCvlD,KAAK+jC,MAAMoZ,aAAajyC,MAAMmjC,GAI9BruC,KAAK+jC,MAAMwb,aAAalR,KAUhC6W,cAAe,SAAU7W,GAErBruC,KAAKquC,MAAQA,EAETruC,KAAKihD,SAEL5S,EAAM8L,iBAGNn6C,KAAKykD,qBAELzkD,KAAKykD,oBAAoB/+C,KAAK1F,KAAKgnC,gBAAiBqH,GAGnDruC,KAAK+jC,MAAM0X,SAAYz7C,KAAKy7C,UAKjCpN,EAAMqR,WAAarR,EAAM6R,UAEC,UAAtB7R,EAAMkX,aAAiD,IAAtBlX,EAAMkX,YAEvCvlD,KAAK+jC,MAAMoZ,aAAawC,KAAKtR,GAI7BruC,KAAK+jC,MAAM0b,cAAcpR,KAUjC8W,YAAa,SAAU9W,GAEnBruC,KAAKquC,MAAQA,EAETruC,KAAKihD,SAEL5S,EAAM8L,iBAGNn6C,KAAK0kD,mBAEL1kD,KAAK0kD,kBAAkBh/C,KAAK1F,KAAKgnC,gBAAiBqH,GAGjDruC,KAAK+jC,MAAM0X,SAAYz7C,KAAKy7C,UAKjCpN,EAAMqR,WAAarR,EAAM6R,UAEC,UAAtB7R,EAAMkX,aAAiD,IAAtBlX,EAAMkX,YAEvCvlD,KAAK+jC,MAAMoZ,aAAaryC,KAAKujC,GAI7BruC,KAAK+jC,MAAM6b,YAAYvR,KAW/B+W,kBAAmB,SAAU/W,GAEzB,GAA2B,UAAtBA,EAAMkX,aAAiD,IAAtBlX,EAAMkX,aAAgCvlD,KAAK+jC,MAAMoZ,aAAa8F,WAKpG,CACI,GAAIjX,GAAUhsC,KAAK+jC,MAAMic,yBAAyB3R,EAAMqR,WAEpD1T,IAAWA,EAAQiX,YAEnBjjD,KAAKmlD,YAAY9W,OARrBruC,MAAKmlD,YAAY9W,IAoBzBgX,aAAc,SAAUhX,GASpB,GAPAruC,KAAKquC,MAAQA,EAETruC,KAAKihD,SAEL5S,EAAM8L,iBAGgB,UAAtB9L,EAAMkX,aAAiD,IAAtBlX,EAAMkX,YAEvCvlD,KAAK+jC,MAAMoZ,aAAa8F,YAAa,MAGzC,CACI,GAAIjX,GAAUhsC,KAAK+jC,MAAMic,yBAAyB3R,EAAMqR,WAEpD1T,KAEAA,EAAQiX,YAAa,GAIzBjjD,KAAK+jC,MAAMmH,MAAM4V,kBAEjB9gD,KAAK+jC,MAAMmH,MAAM4V,iBAAiBp7C,KAAK1F,KAAK+jC,MAAMmH,MAAMlE,gBAAiBqH,GAGxEruC,KAAK+jC,MAAM0X,SAAYz7C,KAAKy7C,SAK7Bz7C,KAAK+jC,MAAMmH,MAAMmW,gBAEjBhT,EAAkB,WAAI,EAElBrC,EAEAA,EAAQlhC,KAAKujC,GAIbruC,KAAK+jC,MAAMoZ,aAAaryC,KAAKujC,KAYzCiX,cAAe,SAAUjX,GASrB,GAPAruC,KAAKquC,MAAQA,EAETruC,KAAKihD,SAEL5S,EAAM8L,iBAGgB,UAAtB9L,EAAMkX,aAAiD,IAAtBlX,EAAMkX,YAEvCvlD,KAAK+jC,MAAMoZ,aAAa8F,YAAa,MAGzC,CACI,GAAIjX,GAAUhsC,KAAK+jC,MAAMic,yBAAyB3R,EAAMqR,WAEpD1T,KAEAA,EAAQiX,YAAa,GAIzBjjD,KAAK+jC,MAAMmH,MAAM6V,mBAEjB/gD,KAAK+jC,MAAMmH,MAAM6V,kBAAkBr7C,KAAK1F,KAAK+jC,MAAMmH,MAAMlE,gBAAiBqH,IASlFvjC,KAAM,WAEF,GAAIuF,GAASrQ,KAAKE,KAAKmQ,MAEvBA,GAAOo/B,oBAAoB,gBAAiBzvC,KAAK2kD,kBAAkB,GACnEt0C,EAAOo/B,oBAAoB,gBAAiBzvC,KAAK4kD,kBAAkB,GACnEv0C,EAAOo/B,oBAAoB,cAAezvC,KAAK6kD,gBAAgB,GAG/Dx0C,EAAOo/B,oBAAoB,cAAezvC,KAAK2kD,kBAAkB,GACjEt0C,EAAOo/B,oBAAoB,cAAezvC,KAAK4kD,kBAAkB,GACjEv0C,EAAOo/B,oBAAoB,YAAazvC,KAAK6kD,gBAAgB,GAE7DvyC,OAAOm9B,oBAAoB,cAAezvC,KAAK8kD,sBAAsB,GACrEz0C,EAAOo/B,oBAAoB,gBAAiBzvC,KAAKglD,kBAAkB,GACnE30C,EAAOo/B,oBAAoB,eAAgBzvC,KAAK+kD,iBAAiB,GAGjEzyC,OAAOm9B,oBAAoB,YAAazvC,KAAK8kD,sBAAsB,GACnEz0C,EAAOo/B,oBAAoB,cAAezvC,KAAKglD,kBAAkB,GACjE30C,EAAOo/B,oBAAoB,aAAczvC,KAAK+kD,iBAAiB,KAMvE78B,EAAO22B,UAAUh8C,UAAUC,YAAcolB,EAAO22B,UAgChD32B,EAAOs9B,aAAe,SAAU5jD,EAAQ6jD,GAKpCzlD,KAAK4B,OAASA,EAKd5B,KAAKE,KAAO0B,EAAO1B,KAMnBF,KAAKquC,MAAQ,KAMbruC,KAAK0lD,QAAS,EAMd1lD,KAAK2lD,MAAO,EAMZ3lD,KAAK4lD,SAAW,EAMhB5lD,KAAK6lD,OAAS,EAQd7lD,KAAK8lD,QAAU,EAQf9lD,KAAK+lD,QAAS,EAQd/lD,KAAKgmD,UAAW,EAQhBhmD,KAAKimD,SAAU,EAMfjmD,KAAKyD,MAAQ,EAKbzD,KAAKylD,WAAaA,EAQlBzlD,KAAKy9C,OAAS,GAAIv1B,GAAOud,OAQzBzlC,KAAK09C,KAAO,GAAIx1B,GAAOud,OAQvBzlC,KAAKkmD,QAAU,GAAIh+B,GAAOud,QAI9Bvd,EAAOs9B,aAAa3iD,WAWhBqI,MAAO,SAAUmjC,EAAO5qC,GAEhBzD,KAAK0lD,SAKT1lD,KAAK0lD,QAAS,EACd1lD,KAAK2lD,MAAO,EACZ3lD,KAAK4lD,SAAW5lD,KAAKE,KAAKikC,KAAKA,KAC/BnkC,KAAK8lD,QAAU,EAEf9lD,KAAKquC,MAAQA,EACbruC,KAAKyD,MAAQA,EAET4qC,IAEAruC,KAAK+lD,OAAS1X,EAAM0X,OACpB/lD,KAAKgmD,SAAW3X,EAAM2X,SACtBhmD,KAAKimD,QAAU5X,EAAM4X,SAGzBjmD,KAAKy9C,OAAOhW,SAASznC,KAAMyD,KAa/BqH,KAAM,SAAUujC,EAAO5qC,GAEfzD,KAAK2lD,OAKT3lD,KAAK0lD,QAAS,EACd1lD,KAAK2lD,MAAO,EACZ3lD,KAAK6lD,OAAS7lD,KAAKE,KAAKikC,KAAKA,KAE7BnkC,KAAKquC,MAAQA,EACbruC,KAAKyD,MAAQA,EAET4qC,IAEAruC,KAAK+lD,OAAS1X,EAAM0X,OACpB/lD,KAAKgmD,SAAW3X,EAAM2X,SACtBhmD,KAAKimD,QAAU5X,EAAM4X,SAGzBjmD,KAAK09C,KAAKjW,SAASznC,KAAMyD,KAW7B0iD,SAAU,SAAU1iD,GAEhBzD,KAAKyD,MAAQA,EAEbzD,KAAKkmD,QAAQze,SAASznC,KAAMyD,IAYhC2iD,YAAa,SAAUC,GAInB,MAFAA,GAAWA,GAAY,IAEfrmD,KAAK0lD,QAAW1lD,KAAK4lD,SAAWS,EAAYrmD,KAAKE,KAAKikC,KAAKA,MAYvEmiB,aAAc,SAAUD,GAIpB,MAFAA,GAAWA,GAAY,IAEfrmD,KAAK2lD,MAAS3lD,KAAK6lD,OAASQ,EAAYrmD,KAAKE,KAAKikC,KAAKA,MASnET,MAAO,WAEH1jC,KAAK0lD,QAAS,EACd1lD,KAAK2lD,MAAO,EAEZ3lD,KAAK4lD,SAAW5lD,KAAKE,KAAKikC,KAAKA,KAC/BnkC,KAAK8lD,QAAU,EAEf9lD,KAAK+lD,QAAS,EACd/lD,KAAKgmD,UAAW,EAChBhmD,KAAKimD,SAAU,GAUnBljD,QAAS,WAEL/C,KAAKy9C,OAAOtT,UACZnqC,KAAK09C,KAAKvT,UACVnqC,KAAKkmD,QAAQ/b,UAEbnqC,KAAK4B,OAAS,KACd5B,KAAKE,KAAO,OAMpBgoB,EAAOs9B,aAAa3iD,UAAUC,YAAcolB,EAAOs9B,aAUnDpiD,OAAOC,eAAe6kB,EAAOs9B,aAAa3iD,UAAW,YAEjDS,IAAK,WAED,MAAItD,MAAK2lD,KAEE,GAGJ3lD,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAK4lD,YAqB1C19B,EAAOq2B,QAAU,SAAUr+C,EAAMuV,EAAI8wC,GAKjCvmD,KAAKE,KAAOA,EAKZF,KAAKyV,GAAKA,EAMVzV,KAAK4U,KAAOsT,EAAOgL,QAMnBlzB,KAAKqtC,QAAS,EAMdrtC,KAAK0/C,WAAa,EAMlB1/C,KAAKkgD,UAAY,KAKjBlgD,KAAKumD,YAAcA,GAAgBr+B,EAAOs2B,YAAYC,OAASv2B,EAAOs2B,YAAYgI,QAMlFxmD,KAAKiE,OAAS,KASdjE,KAAKkhD,OAAS,KAWdlhD,KAAKymD,WAAa,GAAIv+B,GAAOs9B,aAAaxlD,KAAMkoB,EAAOq2B,QAAQwD,aAa/D/hD,KAAK0mD,aAAe,GAAIx+B,GAAOs9B,aAAaxlD,KAAMkoB,EAAOq2B,QAAQyD,eAajEhiD,KAAK2mD,YAAc,GAAIz+B,GAAOs9B,aAAaxlD,KAAMkoB,EAAOq2B,QAAQ0D,cAahEjiD,KAAK4mD,WAAa,GAAI1+B,GAAOs9B,aAAaxlD,KAAMkoB,EAAOq2B,QAAQ2D,aAa/DliD,KAAK6mD,cAAgB,GAAI3+B,GAAOs9B,aAAaxlD,KAAMkoB,EAAOq2B,QAAQ4D,gBAalEniD,KAAK8mD,aAAe,GAAI5+B,GAAOs9B,aAAaxlD,KAAMkoB,EAAOq2B,QAAQwI,eAOjE/mD,KAAKgnD,WAAY,EAMjBhnD,KAAKinD,YAMLjnD,KAAKknD,UAAY,EAMjBlnD,KAAKmnD,aAAc,EAKnBnnD,KAAKijD,YAAa,EAKlBjjD,KAAKonD,QAAU,GAKfpnD,KAAKqnD,QAAU,GAKfrnD,KAAKsnD,MAAQ,GAKbtnD,KAAKunD,MAAQ,GAKbvnD,KAAKwnD,QAAU,GAKfxnD,KAAKynD,QAAU,GAMfznD,KAAK0nD,aAAe,EAMpB1nD,KAAK2nD,aAAe,EAMpB3nD,KAAK4nD,UAAY,EAMjB5nD,KAAK6nD,UAAY,EAMjB7nD,KAAKqF,EAAI,GAMTrF,KAAKsF,EAAI,GAKTtF,KAAK8nD,QAAkB,IAAPryC,EAQhBzV,KAAK0lD,QAAS,EAQd1lD,KAAK2lD,MAAO,EAMZ3lD,KAAK4lD,SAAW,EAMhB5lD,KAAK6lD,OAAS,EAMd7lD,KAAK+nD,gBAAkB,EAMvB/nD,KAAKgoD,aAAe,EAMpBhoD,KAAKioD,iBAAmB3nB,OAAOC,UAM/BvgC,KAAKkoD,aAAe,KAMpBloD,KAAKyoC,QAAS,EAMdzoC,KAAKyT,OAAQ,EAKbzT,KAAKmB,SAAW,GAAI+mB,GAAO9mB,MAK3BpB,KAAKmoD,aAAe,GAAIjgC,GAAO9mB,MAK/BpB,KAAKooD,WAAa,GAAIlgC,GAAO9mB,MAO7BpB,KAAK67C,OAAS,GAAI3zB,GAAOkQ,OAAO,EAAG,EAAG,IAOtCp4B,KAAKqoD,kBAAoB,KAQzBroD,KAAKsoD,wBAA0B,MASnCpgC,EAAOq2B,QAAQuD,UAAY,EAO3B55B,EAAOq2B,QAAQwD,YAAc,EAO7B75B,EAAOq2B,QAAQ0D,aAAe,EAO9B/5B,EAAOq2B,QAAQyD,cAAgB,EAQ/B95B,EAAOq2B,QAAQ2D,YAAc,EAQ7Bh6B,EAAOq2B,QAAQ4D,eAAiB,GAOhCj6B,EAAOq2B,QAAQwI,cAAgB,GAE/B7+B,EAAOq2B,QAAQ17C,WAQX0lD,aAAc,WAEVvoD,KAAK0lD,QAAS,EACd1lD,KAAK2lD,MAAO,EAER3lD,KAAK8nD,UAEL9nD,KAAKymD,WAAW/iB,QAChB1jC,KAAK0mD,aAAahjB,QAClB1jC,KAAK2mD,YAAYjjB,QACjB1jC,KAAK4mD,WAAWljB,QAChB1jC,KAAK6mD,cAAcnjB,QACnB1jC,KAAK8mD,aAAapjB,UAa1B8kB,mBAAoB,SAAUC,EAASpa,GAI/BnmB,EAAOq2B,QAAQwD,YAAc0G,GAE7BzoD,KAAKymD,WAAWv7C,MAAMmjC,GAGtBnmB,EAAOq2B,QAAQ0D,aAAewG,GAE9BzoD,KAAK2mD,YAAYz7C,MAAMmjC,GAGvBnmB,EAAOq2B,QAAQyD,cAAgByG,GAE/BzoD,KAAK0mD,aAAax7C,MAAMmjC,GAGxBnmB,EAAOq2B,QAAQ2D,YAAcuG,GAE7BzoD,KAAK4mD,WAAW17C,MAAMmjC,GAGtBnmB,EAAOq2B,QAAQ4D,eAAiBsG,GAEhCzoD,KAAK6mD,cAAc37C,MAAMmjC,GAGzBnmB,EAAOq2B,QAAQwI,cAAgB0B,GAE/BzoD,KAAK8mD,aAAa57C,MAAMmjC,IAahCqa,iBAAkB,SAAUxH,EAAQ7S,GAI5B6S,IAAWh5B,EAAOy2B,MAAMoD,aAExB/hD,KAAKymD,WAAW37C,KAAKujC,GAGrB6S,IAAWh5B,EAAOy2B,MAAMsD,cAExBjiD,KAAK2mD,YAAY77C,KAAKujC,GAGtB6S,IAAWh5B,EAAOy2B,MAAMqD,eAExBhiD,KAAK0mD,aAAa57C,KAAKujC,GAGvB6S,IAAWh5B,EAAOy2B,MAAMuD,aAExBliD,KAAK4mD,WAAW97C,KAAKujC,GAGrB6S,IAAWh5B,EAAOy2B,MAAMwD,gBAExBniD,KAAK6mD,cAAc/7C,KAAKujC,GAGb,IAAX6S,GAEAlhD,KAAK8mD,aAAah8C,KAAKujC,IAa/Bsa,cAAe,SAAUta,GAErBruC,KAAKkhD,OAAS7S,EAAM6S,MAEpB,IAAI0H,GAAgD,SAAxCva,EAAMz5B,KAAKi0C,cAAczhC,OAAO,GAEtB7d,UAAlB8kC,EAAMoa,QAEFG,EAEA5oD,KAAKwoD,mBAAmBna,EAAMoa,QAASpa,GAIvCruC,KAAK0oD,iBAAiBra,EAAM6S,OAAQ7S,GAMpCua,EAEA5oD,KAAKymD,WAAWv7C,MAAMmjC,IAItBruC,KAAKymD,WAAW37C,KAAKujC,GACrBruC,KAAK2mD,YAAY77C,KAAKujC,IAO1BA,EAAM4X,SAAWjmD,KAAKymD,WAAWf,QAEjC1lD,KAAK2mD,YAAYz7C,MAAMmjC,GAG3BruC,KAAK2lD,MAAO,EACZ3lD,KAAK0lD,QAAS,GAEV1lD,KAAKymD,WAAWf,QAAU1lD,KAAK2mD,YAAYjB,QAAU1lD,KAAK0mD,aAAahB,QAAU1lD,KAAK4mD,WAAWlB,QAAU1lD,KAAK6mD,cAAcnB,QAAU1lD,KAAK8mD,aAAapB,UAE1J1lD,KAAK2lD,MAAO,EACZ3lD,KAAK0lD,QAAS,IAUtBx6C,MAAO,SAAUmjC,GAEb,GAAItK,GAAQ/jC,KAAKE,KAAK6jC,KA2DtB,OAzDIsK,GAAiB,YAEjBruC,KAAKkgD,UAAY7R,EAAM6R,WAG3BlgD,KAAK0/C,WAAarR,EAAMqR,WACxB1/C,KAAKiE,OAASoqC,EAAMpqC,OAEhBjE,KAAK8nD,QAEL9nD,KAAK2oD,cAActa,IAInBruC,KAAK0lD,QAAS,EACd1lD,KAAK2lD,MAAO,GAGhB3lD,KAAKyoC,QAAS,EACdzoC,KAAKijD,YAAa,EAClBjjD,KAAKyT,OAAQ,EAEbzT,KAAKinD,YACLjnD,KAAKqoD,kBAAoB,KACzBroD,KAAKsoD,wBAA0B,KAG/BtoD,KAAKioD,iBAAmBjoD,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAK4lD,SACnD5lD,KAAK4lD,SAAW5lD,KAAKE,KAAKikC,KAAKA,KAC/BnkC,KAAKgnD,WAAY,EAGjBhnD,KAAK2/C,KAAKtR,GAAO,GAGjBruC,KAAKmoD,aAAavvB,MAAM54B,KAAKqF,EAAGrF,KAAKsF,IAEjCy+B,EAAM2X,qBAAuBxzB,EAAO8wB,MAAMoF,uBAC1Cra,EAAM2X,qBAAuBxzB,EAAO8wB,MAAM2C,qBACzC5X,EAAM2X,qBAAuBxzB,EAAO8wB,MAAMqF,uBAAuD,IAA9Bta,EAAM+kB,uBAE1E/kB,EAAM1+B,EAAIrF,KAAKqF,EACf0+B,EAAMz+B,EAAItF,KAAKsF,EACfy+B,EAAM5iC,SAASy3B,MAAM54B,KAAKqF,EAAGrF,KAAKsF,GAClCy+B,EAAM0Z,OAAOhW,SAASznC,KAAMquC,GAC5BtK,EAAMub,WAAWt/C,KAAKqF,EAAGrF,KAAKsF,IAGlCtF,KAAKmnD,aAAc,EAEnBnnD,KAAKgoD,eAEqB,OAAtBhoD,KAAKkoD,cAELloD,KAAKkoD,aAAaa,gBAAgB/oD,MAG/BA,MAQXqjC,OAAQ,WAEJ,GAAIU,GAAQ/jC,KAAKE,KAAK6jC,KAElB/jC,MAAKyoC,SAGDzoC,KAAKyT,QAEDswB,EAAM+Z,iBAAiB/uB,MAAQ,GAE/B/uB,KAAKgpD,2BAA0B,GAGnChpD,KAAKyT,OAAQ,GAGbzT,KAAKgnD,aAAc,GAAShnD,KAAKqmD,UAAYtiB,EAAMkY,YAE/ClY,EAAM2X,qBAAuBxzB,EAAO8wB,MAAMoF,uBAC1Cra,EAAM2X,qBAAuBxzB,EAAO8wB,MAAM2C,qBACzC5X,EAAM2X,qBAAuBxzB,EAAO8wB,MAAMqF,uBAAuD,IAA9Bta,EAAM+kB,sBAE1E/kB,EAAM6Z,OAAOnW,SAASznC,MAG1BA,KAAKgnD,WAAY,GAIjBjjB,EAAMqY,sBAAwBp8C,KAAKE,KAAKikC,KAAKA,MAAQnkC,KAAKknD,YAE1DlnD,KAAKknD,UAAYlnD,KAAKE,KAAKikC,KAAKA,KAAOJ,EAAMsY,WAE7Cr8C,KAAKinD,SAASljD,MACVsB,EAAGrF,KAAKmB,SAASkE,EACjBC,EAAGtF,KAAKmB,SAASmE,IAGjBtF,KAAKinD,SAAS/jD,OAAS6gC,EAAMuY,aAE7Bt8C,KAAKinD,SAASgC,WAc9BtJ,KAAM,SAAUtR,EAAO6a,GAEnB,GAAInlB,GAAQ/jC,KAAKE,KAAK6jC,KAEtB,KAAIA,EAAMolB,WAAV,CAyDA,GApDkB5/C,SAAd2/C,IAA2BA,GAAY,GAEtB3/C,SAAjB8kC,EAAM6S,SAENlhD,KAAKkhD,OAAS7S,EAAM6S,QAGpBgI,GAAalpD,KAAK8nD,SAElB9nD,KAAK2oD,cAActa,GAGvBruC,KAAKonD,QAAU/Y,EAAM+Y,QACrBpnD,KAAKqnD,QAAUhZ,EAAMgZ,QAErBrnD,KAAKsnD,MAAQjZ,EAAMiZ,MACnBtnD,KAAKunD,MAAQlZ,EAAMkZ,MAEnBvnD,KAAKwnD,QAAUnZ,EAAMmZ,QACrBxnD,KAAKynD,QAAUpZ,EAAMoZ,QAEjBznD,KAAK8nD,SAAW/jB,EAAMmH,MAAMkW,SAAW8H,IAEvClpD,KAAK0nD,aAAerZ,EAAMuZ,WAAavZ,EAAM+a,cAAgB/a,EAAMgb,iBAAmB,EACtFrpD,KAAK2nD,aAAetZ,EAAMwZ,WAAaxZ,EAAMib,cAAgBjb,EAAMkb,iBAAmB,EAEtFvpD,KAAK4nD,WAAa5nD,KAAK0nD,aACvB1nD,KAAK6nD,WAAa7nD,KAAK2nD,cAG3B3nD,KAAKqF,GAAKrF,KAAKsnD,MAAQtnD,KAAKE,KAAKmB,MAAM6X,OAAO7T,GAAK0+B,EAAM1iC,MAAMgE,EAC/DrF,KAAKsF,GAAKtF,KAAKunD,MAAQvnD,KAAKE,KAAKmB,MAAM6X,OAAO5T,GAAKy+B,EAAM1iC,MAAMiE,EAE/DtF,KAAKmB,SAASy3B,MAAM54B,KAAKqF,EAAGrF,KAAKsF,GACjCtF,KAAK67C,OAAOx2C,EAAIrF,KAAKqF,EACrBrF,KAAK67C,OAAOv2C,EAAItF,KAAKsF,GAEjBy+B,EAAM2X,qBAAuBxzB,EAAO8wB,MAAMoF,uBAC1Cra,EAAM2X,qBAAuBxzB,EAAO8wB,MAAM2C,qBACzC5X,EAAM2X,qBAAuBxzB,EAAO8wB,MAAMqF,uBAAuD,IAA9Bta,EAAM+kB,uBAE1E/kB,EAAMmZ,cAAgBl9C,KACtB+jC,EAAM1+B,EAAIrF,KAAKqF,EACf0+B,EAAMz+B,EAAItF,KAAKsF,EACfy+B,EAAM5iC,SAASy3B,MAAMmL,EAAM1+B,EAAG0+B,EAAMz+B,GACpCy+B,EAAM8X,OAAOx2C,EAAI0+B,EAAM1+B,EACvB0+B,EAAM8X,OAAOv2C,EAAIy+B,EAAMz+B,GAG3BtF,KAAKijD,WAAajjD,KAAKE,KAAKmB,MAAMmF,OAAO2yB,SAASn5B,KAAKsnD,MAAOtnD,KAAKunD,OAG/DvnD,KAAKE,KAAK0kC,OAEV,MAAO5kC,KAKX,KAFA,GAAIiD,GAAI8gC,EAAMwX,cAAcr4C,OAErBD,KAEH8gC,EAAMwX,cAAct4C,GAAG2wC,SAASluC,KAAKq+B,EAAMwX,cAAct4C,GAAGgK,QAASjN,KAAMA,KAAKqF,EAAGrF,KAAKsF,EAAG4jD;AAgB/F,MAZ0B,QAAtBlpD,KAAKkoD,cAAyBloD,KAAKkoD,aAAasB,aAAc,EAE1DxpD,KAAKkoD,aAAa7kB,OAAOrjC,SAAU,IAEnCA,KAAKkoD,aAAe,MAGnBnkB,EAAM+Z,iBAAiB/uB,MAAQ,GAEpC/uB,KAAKgpD,0BAA0BE,GAG5BlpD,OAYXgpD,0BAA2B,SAAUE,GAYjC,IATA,GAAIO,GAAuBnpB,OAAOC,UAC9BmpB,EAAyB,GACzBC,EAAkB,KAKlBC,EAAc5pD,KAAKE,KAAK6jC,MAAM+Z,iBAAiB+L,MAE5CD,GAGHA,EAAYE,SAAU,EAElBF,EAAYG,cAAcL,EAAwBD,GAAsB,KAGxEG,EAAYE,SAAU,GAEjBZ,GAAaU,EAAYI,iBAAiBhqD,MAAM,KAC/CkpD,GAAaU,EAAYK,iBAAiBjqD,MAAM,MAElDypD,EAAuBG,EAAY5nC,OAAOmyB,cAC1CuV,EAAyBE,EAAYM,WACrCP,EAAkBC,IAI1BA,EAAc5pD,KAAKE,KAAK6jC,MAAM+Z,iBAAiB7L,IASnD,KAFA,GAAI2X,GAAc5pD,KAAKE,KAAK6jC,MAAM+Z,iBAAiB+L,MAE5CD,IAEEA,EAAYE,SACbF,EAAYG,cAAcL,EAAwBD,GAAsB,KAEnEP,GAAaU,EAAYI,iBAAiBhqD,MAAM,KAC/CkpD,GAAaU,EAAYK,iBAAiBjqD,MAAM,MAElDypD,EAAuBG,EAAY5nC,OAAOmyB,cAC1CuV,EAAyBE,EAAYM,WACrCP,EAAkBC,GAI1BA,EAAc5pD,KAAKE,KAAK6jC,MAAM+Z,iBAAiB7L,IA4CnD,OAxCwB,QAApB0X,EAGI3pD,KAAKkoD,eAELloD,KAAKkoD,aAAaiC,mBAAmBnqD,MACrCA,KAAKkoD,aAAe,MAKE,OAAtBloD,KAAKkoD,cAGLloD,KAAKkoD,aAAeyB,EACpBA,EAAgBS,oBAAoBpqD,OAKhCA,KAAKkoD,eAAiByB,EAGlBA,EAAgBtmB,OAAOrjC,SAAU,IAEjCA,KAAKkoD,aAAe,OAMxBloD,KAAKkoD,aAAaiC,mBAAmBnqD,MAGrCA,KAAKkoD,aAAeyB,EACpB3pD,KAAKkoD,aAAakC,oBAAoBpqD,OAKpB,OAAtBA,KAAKkoD,cAUjBmC,MAAO,SAAUhc,GAEbruC,KAAKijD,YAAa,EAClBjjD,KAAK2/C,KAAKtR,GAAO,IAUrBvjC,KAAM,SAAUujC,GAEZ,GAAItK,GAAQ/jC,KAAKE,KAAK6jC,KAEtB,OAAI/jC,MAAKmnD,aAAennD,KAAKijD,eAEzB5U,GAAM8L,kBAIVn6C,KAAK6lD,OAAS7lD,KAAKE,KAAKikC,KAAKA,MAEzBJ,EAAM2X,qBAAuBxzB,EAAO8wB,MAAMoF,uBAC1Cra,EAAM2X,qBAAuBxzB,EAAO8wB,MAAM2C,qBACzC5X,EAAM2X,qBAAuBxzB,EAAO8wB,MAAMqF,uBAAuD,IAA9Bta,EAAM+kB,uBAE1E/kB,EAAM2Z,KAAKjW,SAASznC,KAAMquC,GAGtBruC,KAAKqmD,UAAY,GAAKrmD,KAAKqmD,UAAYtiB,EAAMgY,UAGzC/7C,KAAK6lD,OAAS7lD,KAAK+nD,gBAAkBhkB,EAAMiY,cAG3CjY,EAAM4Z,MAAMlW,SAASznC,MAAM,GAK3B+jC,EAAM4Z,MAAMlW,SAASznC,MAAM,GAG/BA,KAAK+nD,gBAAkB/nD,KAAK6lD,SAIhC7lD,KAAK8nD,QAEL9nD,KAAK2oD,cAActa,IAInBruC,KAAK0lD,QAAS,EACd1lD,KAAK2lD,MAAO,GAIZ3lD,KAAKyV,GAAK,IAEVzV,KAAKyoC,QAAS,GAGlBzoC,KAAKijD,WAAajjD,KAAKE,KAAKmB,MAAMmF,OAAO2yB,SAASkV,EAAMiZ,MAAOjZ,EAAMkZ,OACrEvnD,KAAKkgD,UAAY,KACjBlgD,KAAK0/C,WAAa,KAElB1/C,KAAKooD,WAAWxvB,MAAM54B,KAAKqF,EAAGrF,KAAKsF,GAE/BtF,KAAK8nD,WAAY,GAEjB/jB,EAAMumB,kBAGVvmB,EAAM+Z,iBAAiB/J,QAAQ,mBAAoB/zC,MAE/CA,KAAKqoD,oBAELroD,KAAKsoD,wBAA0BtoD,KAAKkoD,cAGxCloD,KAAKkoD,aAAe,KAEbloD,OAYXomD,YAAa,SAAUC,GAInB,MAFAA,GAAWA,GAAYrmD,KAAKE,KAAK6jC,MAAMmY,gBAE/Bl8C,KAAK0lD,UAAW,GAAS1lD,KAAK4lD,SAAWS,EAAYrmD,KAAKE,KAAKikC,KAAKA,MAYhFmiB,aAAc,SAAUD,GAIpB,MAFAA,GAAWA,GAAYrmD,KAAKE,KAAK6jC,MAAMoY,iBAE/Bn8C,KAAK2lD,MAAS3lD,KAAK6lD,OAASQ,EAAYrmD,KAAKE,KAAKikC,KAAKA,MAqBnEomB,mBAAoB,SAAUjzB,EAAMsc,EAAU5M,EAAiBwjB,GAE3D,GAAKxqD,KAAK0lD,OAAV,CAOA,IAAK,GAFD+E,GAAezqD,KAAKqoD,kBAAoBroD,KAAKqoD,sBAExCplD,EAAI,EAAGA,EAAIwnD,EAAYvnD,OAAQD,IAEpC,GAAIwnD,EAAYxnD,GAAGq0B,OAASA,EAC5B,CACImzB,EAAY/hD,OAAOzF,EAAG,EACtB,OAIRwnD,EAAY1mD,MACRuzB,KAAMA,EACN4wB,aAAcloD,KAAKkoD,aACnBtU,SAAUA,EACV5M,gBAAiBA,EACjBwjB,aAAcA,MAUtB7J,wBAAyB,WAErB,GAAI8J,GAAczqD,KAAKqoD,iBAEvB,IAAKoC,EAAL,CAKA,IAAK,GAAIxnD,GAAI,EAAGA,EAAIwnD,EAAYvnD,OAAQD,IACxC,CACI,GAAIynD,GAAaD,EAAYxnD,EAEzBynD,GAAWxC,eAAiBloD,KAAKsoD,yBAEjCoC,EAAW9W,SAAS3sC,MAAMyjD,EAAW1jB,gBAAiB0jB,EAAWF,cAIzExqD,KAAKqoD,kBAAoB,KACzBroD,KAAKsoD,wBAA0B,OAQnC5kB,MAAO,WAEC1jC,KAAK8nD,WAAY,IAEjB9nD,KAAKyoC,QAAS,GAGlBzoC,KAAKkgD,UAAY,KACjBlgD,KAAK0/C,WAAa,KAClB1/C,KAAKyT,OAAQ,EACbzT,KAAKgoD,aAAe,EACpBhoD,KAAKgnD,WAAY,EACjBhnD,KAAKinD,SAAS/jD,OAAS,EACvBlD,KAAKmnD,aAAc,EAEnBnnD,KAAKuoD,eAEDvoD,KAAKkoD,cAELloD,KAAKkoD,aAAayC,iBAAiB3qD,MAGvCA,KAAKkoD,aAAe,MAQxB0C,cAAe,WAEX5qD,KAAK4nD,UAAY,EACjB5nD,KAAK6nD,UAAY,IAMzB3/B,EAAOq2B,QAAQ17C,UAAUC,YAAcolB,EAAOq2B,QAW9Cn7C,OAAOC,eAAe6kB,EAAOq2B,QAAQ17C,UAAW,YAE5CS,IAAK,WAED,MAAItD,MAAK2lD,KAEE,GAGJ3lD,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAK4lD,YAY1CxiD,OAAOC,eAAe6kB,EAAOq2B,QAAQ17C,UAAW,UAE5CS,IAAK,WAED,MAAOtD,MAAKE,KAAKuE,MAAMo/B,OAAOx+B,EAAIrF,KAAKqF,KAY/CjC,OAAOC,eAAe6kB,EAAOq2B,QAAQ17C,UAAW,UAE5CS,IAAK,WAED,MAAOtD,MAAKE,KAAKuE,MAAMo/B,OAAOv+B,EAAItF,KAAKsF,KAgB/C4iB,EAAOs2B,aASHC,OAAQ,EAMR+H,QAAS,GAmBbt+B,EAAO02B,MAAQ,SAAU1+C,GAKrBF,KAAKE,KAAOA,EAOZF,KAAKy7C,SAAU,EASfz7C,KAAK6qD,sBAKL7qD,KAAKgnC,gBAAkBhnC,KAAKE,KAK5BF,KAAK8qD,mBAAqB,KAK1B9qD,KAAK+qD,kBAAoB,KAKzB/qD,KAAKgrD,iBAAmB,KAKxBhrD,KAAKirD,mBAAqB,KAK1BjrD,KAAKkrD,mBAAqB,KAK1BlrD,KAAKmrD,oBAAsB,KAM3BnrD,KAAKm6C,gBAAiB,EAMtBn6C,KAAKquC,MAAQ,KAMbruC,KAAKorD,cAAgB,KAMrBprD,KAAKqrD,aAAe,KAMpBrrD,KAAKsrD,YAAc,KAMnBtrD,KAAKurD,cAAgB,KAMrBvrD,KAAKwrD,cAAgB,KAMrBxrD,KAAKyrD,eAAiB,KAMtBzrD,KAAKqrD,aAAe,MAIxBnjC,EAAO02B,MAAM/7C,WAMTqI,MAAO,WAEH,GAA2B,OAAvBlL,KAAKorD,cAAT,CAMA,GAAIhhB,GAAQpqC,IAERA,MAAKE,KAAK0uC,OAAOyO,QAEjBr9C,KAAKorD,cAAgB,SAAU/c,GAC3B,MAAOjE,GAAMshB,aAAard,IAG9BruC,KAAKqrD,aAAe,SAAUhd,GAC1B,MAAOjE,GAAMuhB,YAAYtd,IAG7BruC,KAAKsrD,YAAc,SAAUjd,GACzB,MAAOjE,GAAMwhB,WAAWvd,IAG5BruC,KAAKurD,cAAgB,SAAUld,GAC3B,MAAOjE,GAAMyhB,aAAaxd,IAG9BruC,KAAKwrD,cAAgB,SAAUnd,GAC3B,MAAOjE,GAAM0hB,aAAazd,IAG9BruC,KAAKyrD,eAAiB,SAAUpd,GAC5B,MAAOjE,GAAM2hB,cAAc1d,IAG/BruC,KAAKE,KAAKmQ,OAAOk+B,iBAAiB,aAAcvuC,KAAKorD,eAAe,GACpEprD,KAAKE,KAAKmQ,OAAOk+B,iBAAiB,YAAavuC,KAAKqrD,cAAc,GAClErrD,KAAKE,KAAKmQ,OAAOk+B,iBAAiB,WAAYvuC,KAAKsrD,aAAa,GAChEtrD,KAAKE,KAAKmQ,OAAOk+B,iBAAiB,cAAevuC,KAAKyrD,gBAAgB,GAEjEzrD,KAAKE,KAAK0uC,OAAOoL,WAElBh6C,KAAKE,KAAKmQ,OAAOk+B,iBAAiB,aAAcvuC,KAAKurD,eAAe,GACpEvrD,KAAKE,KAAKmQ,OAAOk+B,iBAAiB,aAAcvuC,KAAKwrD,eAAe,OAUhFQ,uBAAwB,WAEpBhsD,KAAKisD,mBAAqB,SAAU5d,GAChCA,EAAM8L,kBAGVrqC,SAASy+B,iBAAiB,YAAavuC,KAAKisD,oBAAoB,IAkBpEC,qBAAsB,SAAUtY,EAAU3mC,EAASk/C,GAEjC5iD,SAAV4iD,IAAuBA,GAAQ,GAEnCnsD,KAAK6qD,mBAAmB9mD,MAAO6vC,SAAUA,EAAU3mC,QAASA,EAASk/C,MAAOA,KAYhFC,wBAAyB,SAAUxY,EAAU3mC,GAIzC,IAFA,GAAIhK,GAAIjD,KAAK6qD,mBAAmB3nD,OAEzBD,KAEH,GAAIjD,KAAK6qD,mBAAmB5nD,GAAG2wC,WAAaA,GAAY5zC,KAAK6qD,mBAAmB5nD,GAAGgK,UAAYA,EAG3F,MADAjN,MAAK6qD,mBAAmBniD,OAAOzF,EAAG,IAC3B,CAIf,QAAO,GASXyoD,aAAc,SAAUrd,GAIpB,IAFA,GAAIprC,GAAIjD,KAAK6qD,mBAAmB3nD,OAEzBD,KACP,CACI,GAAIopD,GAAKrsD,KAAK6qD,mBAAmB5nD,IAE5BopD,EAAGF,OAASE,EAAGzY,SAASluC,KAAK2mD,EAAGp/C,QAASjN,KAAMquC,IAEhDruC,KAAK6qD,mBAAmBniD,OAAOzF,EAAG,GAM1C,GAFAjD,KAAKquC,MAAQA,EAERruC,KAAKE,KAAK6jC,MAAM0X,SAAYz7C,KAAKy7C,QAAtC,CAKIz7C,KAAK8qD,oBAEL9qD,KAAK8qD,mBAAmBplD,KAAK1F,KAAKgnC,gBAAiBqH,GAGnDruC,KAAKm6C,gBAEL9L,EAAM8L,gBAMV,KAAK,GAAIl3C,GAAI,EAAGA,EAAIorC,EAAMie,eAAeppD,OAAQD,IAE7CjD,KAAKE,KAAK6jC,MAAMwb,aAAalR,EAAMie,eAAerpD,MAW1D8oD,cAAe,SAAU1d,GASrB,GAPAruC,KAAKquC,MAAQA,EAETruC,KAAKmrD,qBAELnrD,KAAKmrD,oBAAoBzlD,KAAK1F,KAAKgnC,gBAAiBqH,GAGnDruC,KAAKE,KAAK6jC,MAAM0X,SAAYz7C,KAAKy7C,QAAtC,CAKIz7C,KAAKm6C,gBAEL9L,EAAM8L,gBAKV,KAAK,GAAIl3C,GAAI,EAAGA,EAAIorC,EAAMie,eAAeppD,OAAQD,IAE7CjD,KAAKE,KAAK6jC,MAAM6b,YAAYvR,EAAMie,eAAerpD,MAWzD4oD,aAAc,SAAUxd,GAEpBruC,KAAKquC,MAAQA,EAETruC,KAAKirD,oBAELjrD,KAAKirD,mBAAmBvlD,KAAK1F,KAAKgnC,gBAAiBqH,GAGlDruC,KAAKE,KAAK6jC,MAAM0X,SAAYz7C,KAAKy7C,SAKlCz7C,KAAKm6C,gBAEL9L,EAAM8L,kBAWd2R,aAAc,SAAUzd,GAEpBruC,KAAKquC,MAAQA,EAETruC,KAAKkrD,oBAELlrD,KAAKkrD,mBAAmBxlD,KAAK1F,KAAKgnC,gBAAiBqH,GAGnDruC,KAAKm6C,gBAEL9L,EAAM8L,kBAUdwR,YAAa,SAAUtd,GAEnBruC,KAAKquC,MAAQA,EAETruC,KAAK+qD,mBAEL/qD,KAAK+qD,kBAAkBrlD,KAAK1F,KAAKgnC,gBAAiBqH,GAGlDruC,KAAKm6C,gBAEL9L,EAAM8L,gBAGV,KAAK,GAAIl3C,GAAI,EAAGA,EAAIorC,EAAMie,eAAeppD,OAAQD,IAE7CjD,KAAKE,KAAK6jC,MAAM0b,cAAcpR,EAAMie,eAAerpD,KAU3D2oD,WAAY,SAAUvd,GAIlB,IAFA,GAAIprC,GAAIjD,KAAK6qD,mBAAmB3nD,OAEzBD,KACP,CACI,GAAIopD,GAAKrsD,KAAK6qD,mBAAmB5nD,EAE7BopD,GAAGF,OAASE,EAAGzY,SAASluC,KAAK2mD,EAAGp/C,QAASjN,KAAMquC,IAE/CruC,KAAK6qD,mBAAmBniD,OAAOzF,EAAG,GAI1CjD,KAAKquC,MAAQA,EAETruC,KAAKgrD,kBAELhrD,KAAKgrD,iBAAiBtlD,KAAK1F,KAAKgnC,gBAAiBqH,GAGjDruC,KAAKm6C,gBAEL9L,EAAM8L,gBAMV,KAAK,GAAIl3C,GAAI,EAAGA,EAAIorC,EAAMie,eAAeppD,OAAQD,IAE7CjD,KAAKE,KAAK6jC,MAAM6b,YAAYvR,EAAMie,eAAerpD,KASzD6H,KAAM,WAEE9K,KAAKE,KAAK0uC,OAAOyO,QAEjBr9C,KAAKE,KAAKmQ,OAAOo/B,oBAAoB,aAAczvC,KAAKorD,eACxDprD,KAAKE,KAAKmQ,OAAOo/B,oBAAoB,YAAazvC,KAAKqrD,cACvDrrD,KAAKE,KAAKmQ,OAAOo/B,oBAAoB,WAAYzvC,KAAKsrD,aACtDtrD,KAAKE,KAAKmQ,OAAOo/B,oBAAoB,aAAczvC,KAAKurD,eACxDvrD,KAAKE,KAAKmQ,OAAOo/B,oBAAoB,aAAczvC,KAAKwrD,eACxDxrD,KAAKE,KAAKmQ,OAAOo/B,oBAAoB,cAAezvC,KAAKyrD,mBAOrEvjC,EAAO02B,MAAM/7C,UAAUC,YAAcolB,EAAO02B,MAe5C12B,EAAOqkC,aAAe,SAAUvqC,GAK5BhiB,KAAKgiB,OAASA,EAKdhiB,KAAKE,KAAO8hB,EAAO9hB,KAMnBF,KAAKy7C,SAAU,EAMfz7C,KAAK8pD,SAAU,EASf9pD,KAAKkqD,WAAa,EAMlBlqD,KAAKwsD,eAAgB,EAMrBxsD,KAAKysD,gBAAiB,EAMtBzsD,KAAKwpD,WAAY,EAMjBxpD,KAAK0sD,qBAAsB,EAM3B1sD,KAAK2sD,mBAAoB,EAMzB3sD,KAAKqyC,YAAa,EAMlBryC,KAAK4sD,WAAa,KAMlB5sD,KAAK6sD,YAAa,EAMlB7sD,KAAK8sD,eAAgB,EAMrB9sD,KAAK+sD,MAAQ,EAMb/sD,KAAKgtD,MAAQ,EAMbhtD,KAAKitD,YAAc,EAMnBjtD,KAAKktD,YAAc,EAUnBltD,KAAKmtD,kBAAmB,EAUxBntD,KAAKotD,mBAAoB,EAMzBptD,KAAKqtD,kBAAoB,IAMzBrtD,KAAKstD,WAAY,EAMjBttD,KAAKutD,WAAa,KAMlBvtD,KAAKwtD,aAAe,KAQpBxtD,KAAKytD,qBAAsB,EAK3BztD,KAAK0tD,YAAa,EAKlB1tD,KAAK2tD,WAAa,GAAIzlC,GAAO9mB,MAK7BpB,KAAK4tD,gBAAiB,EAKtB5tD,KAAK6tD,eAAiB,GAAI3lC,GAAO9mB,MAKjCpB,KAAK8tD,UAAY,GAAI5lC,GAAO9mB,MAM5BpB,KAAK+tD,WAAa,GAAI7lC,GAAO9mB,MAM7BpB,KAAKguD,YAAa,EAMlBhuD,KAAKiuD,aAAc,EAMnBjuD,KAAKkuD,WAAa,GAAIhmC,GAAO9mB,MAM7BpB,KAAKmuD,gBAELnuD,KAAKmuD,aAAapqD,MACd0R,GAAI,EACJpQ,EAAG,EACHC,EAAG,EACHogD,QAAQ,EACRC,MAAM,EACNyI,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACT3I,SAAU,EACVC,OAAQ,EACR2I,aAAc,EACdhF,WAAW,KAKnBthC,EAAOqkC,aAAa1pD,WAShBqI,MAAO,SAAU+9B,EAAUujB,GAMvB,GAJAvjB,EAAWA,GAAY,EACD1/B,SAAlBijD,IAA+BA,GAAgB,GAG/CxsD,KAAKy7C,WAAY,EACrB,CAEIz7C,KAAKE,KAAK6jC,MAAM+Z,iBAAiBpiB,IAAI17B,MACrCA,KAAKwsD,cAAgBA,EACrBxsD,KAAKkqD,WAAajhB,CAElB,KAAK,GAAIhmC,GAAI,EAAO,GAAJA,EAAQA,IAEpBjD,KAAKmuD,aAAalrD,IACdwS,GAAIxS,EACJoC,EAAG,EACHC,EAAG,EACHogD,QAAQ,EACRC,MAAM,EACNyI,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACT3I,SAAU,EACVC,OAAQ,EACR2I,aAAc,EACdhF,WAAW,EAInBxpD,MAAK4sD,WAAa,GAAI1kC,GAAO9mB,MAC7BpB,KAAKy7C,SAAU,EACfz7C,KAAKiuD,aAAc,EASvB,MALAjuD,MAAKgiB,OAAOsvB,OAAOmd,eAAe/yB,IAAI17B,KAAK0uD,aAAc1uD,MACzDA,KAAKgiB,OAAOsvB,OAAOqd,mBAAmBjzB,IAAI17B,KAAK4uD,iBAAkB5uD,MAEjEA,KAAK6uD,SAAU,EAER7uD,KAAKgiB,QAUhB0sC,aAAc,WAEN1uD,KAAKguD,YAKLhuD,KAAKiuD,cAAgBjuD,KAAKy7C,SAE1Bz7C,KAAKkL,SAWb0jD,iBAAkB,WAEV5uD,KAAKguD,aAKLhuD,KAAKy7C,SAELz7C,KAAKiuD,aAAc,EACnBjuD,KAAK8K,QAIL9K,KAAKiuD,aAAc,IAS3BvqB,MAAO,WAEH1jC,KAAKy7C,SAAU,EACfz7C,KAAK6uD,SAAU,CAEf,KAAK,GAAI5rD,GAAI,EAAO,GAAJA,EAAQA,IAEpBjD,KAAKmuD,aAAalrD,IACdwS,GAAIxS,EACJoC,EAAG,EACHC,EAAG,EACHogD,QAAQ,EACRC,MAAM,EACNyI,QAAQ,EACRC,OAAO,EACPC,SAAU,EACVC,QAAS,EACT3I,SAAU,EACVC,OAAQ,EACR2I,aAAc,EACdhF,WAAW,IASvB1+C,KAAM,WAGE9K,KAAKy7C,WAAY,IAOjBz7C,KAAKy7C,SAAU,EACfz7C,KAAKE,KAAK6jC,MAAM+Z,iBAAiBptC,OAAO1Q,QAShD+C,QAAS,WAED/C,KAAKgiB,SAEDhiB,KAAKysD,iBAELzsD,KAAKE,KAAKmQ,OAAO6K,MAAMm1B,OAAS,UAChCrwC,KAAKysD,gBAAiB,GAG1BzsD,KAAKy7C,SAAU,EAEfz7C,KAAKE,KAAK6jC,MAAM+Z,iBAAiBptC,OAAO1Q,MAExCA,KAAKmuD,aAAajrD,OAAS,EAC3BlD,KAAKutD,WAAa,KAClBvtD,KAAKwtD,aAAe,KACpBxtD,KAAKgiB,OAAS,OAgBtB+nC,cAAe,SAAU+E,EAAWC,EAAiBC,GAIjD,MAF4BzlD,UAAxBylD,IAAqCA,GAAsB,IAE1DhvD,KAAKy7C,SAAmC,IAAxBz7C,KAAKgiB,OAAO3gB,MAAMgE,GAAmC,IAAxBrF,KAAKgiB,OAAO3gB,MAAMiE,GAAWtF,KAAKkqD,WAAalqD,KAAKE,KAAK6jC,MAAM8Z,eAEtG,GAINmR,IAAwBhvD,KAAKotD,oBAAqBptD,KAAKmtD,oBAKxDntD,KAAKkqD,WAAa4E,GAAc9uD,KAAKkqD,aAAe4E,GAAa9uD,KAAKgiB,OAAOmyB,cAAgB4a,IAEtF,GALA,GAkBfE,eAAgB,WAEZ,MAAQjvD,MAAKotD,mBAAqBptD,KAAKmtD,kBAY3C+B,SAAU,SAAUhP,GAIhB,MAFAA,GAAYA,GAAa,EAElBlgD,KAAKmuD,aAAajO,GAAW76C,GAYxC8pD,SAAU,SAAUjP,GAIhB,MAFAA,GAAYA,GAAa,EAElBlgD,KAAKmuD,aAAajO,GAAW56C,GAYxC8pD,YAAa,SAAUlP,GAInB,MAFAA,GAAYA,GAAa,EAElBlgD,KAAKmuD,aAAajO,GAAWwF,QAYxC2J,UAAW,SAAUnP,GAIjB,MAFAA,GAAYA,GAAa,EAElBlgD,KAAKmuD,aAAajO,GAAWyF,MAWxC2J,gBAAiB,SAAUpP,GAIvB,MAFAA,GAAYA,GAAa,EAElBlgD,KAAKmuD,aAAajO,GAAW0F,UAWxC2J,cAAe,SAAUrP,GAIrB,MAFAA,GAAYA,GAAa,EAElBlgD,KAAKmuD,aAAajO,GAAW2F,QAWxC2J,YAAa,SAAUtP,GAEnB,IAAKlgD,KAAKy7C,QAEN,OAAO,CAGX,IAAkBlyC,SAAd22C,EAYA,MAAOlgD,MAAKmuD,aAAajO,GAAWkO,MAVpC,KAAK,GAAInrD,GAAI,EAAO,GAAJA,EAAQA,IAEpB,GAAIjD,KAAKmuD,aAAalrD,GAAGmrD,OAErB,OAAO,GAkBvBqB,WAAY,SAAUvP,GAElB,IAAKlgD,KAAKy7C,QAEN,OAAO,CAGX,IAAkBlyC,SAAd22C,EAYA,MAAOlgD,MAAKmuD,aAAajO,GAAWmO,KAVpC,KAAK,GAAIprD,GAAI,EAAO,GAAJA,EAAQA,IAEpB,GAAIjD,KAAKmuD,aAAalrD,GAAGorD,MAErB,OAAO,GAkBvBqB,gBAAiB,SAAUxP,GAIvB,MAFAA,GAAYA,GAAa,EAElBlgD,KAAKmuD,aAAajO,GAAWoO,UAWxCqB,eAAgB,SAAUzP,GAItB,MAFAA,GAAYA,GAAa,EAElBlgD,KAAKmuD,aAAajO,GAAWqO,SAWxCqB,eAAgB,SAAU1P,GAItB,MAFAA,GAAYA,GAAa,EAElBlgD,KAAKmuD,aAAajO,GAAWsJ,WAaxCQ,iBAAkB,SAAUhe,EAAS6jB,GAEjC,MAAK7jB,GAAQ0Z,QAAW1lD,KAAKy7C,SAAYz7C,KAAKgiB,QAAWhiB,KAAKgiB,OAAOpgB,QAAW5B,KAAKgiB,OAAOvgB,SAAYzB,KAAKgiB,OAAOpgB,OAAOH,SAMvHzB,KAAKE,KAAK6jC,MAAMqc,QAAQpgD,KAAKgiB,OAAQgqB,EAAShsC,KAAKkuD,aAElC3kD,SAAbsmD,IAEAA,GAAW,IAGVA,GAAY7vD,KAAKotD,kBAEXptD,KAAK8vD,WAAW9vD,KAAKkuD,WAAW7oD,EAAGrF,KAAKkuD,WAAW5oD,IAInD,IAjBJ,GAkCf2kD,iBAAkB,SAAUje,EAAS6jB,GAEjC,MAAK7vD,MAAKy7C,SAAYz7C,KAAKgiB,QAAWhiB,KAAKgiB,OAAOpgB,QAAW5B,KAAKgiB,OAAOvgB,SAAYzB,KAAKgiB,OAAOpgB,OAAOH,SAMpGzB,KAAKE,KAAK6jC,MAAMqc,QAAQpgD,KAAKgiB,OAAQgqB,EAAShsC,KAAKkuD,aAElC3kD,SAAbsmD,IAEAA,GAAW,IAGVA,GAAY7vD,KAAKmtD,iBAEXntD,KAAK8vD,WAAW9vD,KAAKkuD,WAAW7oD,EAAGrF,KAAKkuD,WAAW5oD,IAInD,IAjBJ,GAmCfwqD,WAAY,SAAUzqD,EAAGC,EAAG0mC,GAGxB,GAAIhsC,KAAKgiB,OAAOpa,QAAQ+D,YAAY0C,OACpC,CACI,GAAU,OAANhJ,GAAoB,OAANC,EAClB,CAEItF,KAAKE,KAAK6jC,MAAMoc,iBAAiBngD,KAAKgiB,OAAQgqB,EAAShsC,KAAKkuD,WAE5D,IAAI7oD,GAAIrF,KAAKkuD,WAAW7oD,EACpBC,EAAItF,KAAKkuD,WAAW5oD,EAgB5B,GAb6B,IAAzBtF,KAAKgiB,OAAOha,OAAO3C,IAEnBA,IAAMrF,KAAKgiB,OAAOpa,QAAQkE,MAAMnF,MAAQ3G,KAAKgiB,OAAOha,OAAO3C,GAGlC,IAAzBrF,KAAKgiB,OAAOha,OAAO1C,IAEnBA,IAAMtF,KAAKgiB,OAAOpa,QAAQkE,MAAMlF,OAAS5G,KAAKgiB,OAAOha,OAAO1C,GAGhED,GAAKrF,KAAKgiB,OAAOpa,QAAQkE,MAAMzG,EAC/BC,GAAKtF,KAAKgiB,OAAOpa,QAAQkE,MAAMxG,EAE3BtF,KAAKgiB,OAAOpa,QAAQ6F,OAEpBpI,GAAKrF,KAAKgiB,OAAOpa,QAAQ6F,KAAKpI,EAC9BC,GAAKtF,KAAKgiB,OAAOpa,QAAQ6F,KAAKnI,EAG1BD,EAAIrF,KAAKgiB,OAAOpa,QAAQmF,KAAK1H,GAAKA,EAAIrF,KAAKgiB,OAAOpa,QAAQmF,KAAK+pB,OAASxxB,EAAItF,KAAKgiB,OAAOpa,QAAQmF,KAAKzH,GAAKA,EAAItF,KAAKgiB,OAAOpa,QAAQmF,KAAK0sB,QAIvI,MAFAz5B,MAAK+vD,IAAM1qD,EACXrF,KAAKgwD,IAAM1qD,GACJ,CAIftF,MAAK+vD,IAAM1qD,EACXrF,KAAKgwD,IAAM1qD,EAEXtF,KAAKE,KAAK6jC,MAAMuX,WAAW90B,UAAU,EAAG,EAAG,EAAG,GAC9CxmB,KAAKE,KAAK6jC,MAAMuX,WAAWptC,UAAUlO,KAAKgiB,OAAOpa,QAAQ+D,YAAY0C,OAAQhJ,EAAGC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAElG,IAAIsK,GAAM5P,KAAKE,KAAK6jC,MAAMuX,WAAW9qC,aAAa,EAAG,EAAG,EAAG,EAE3D,IAAIZ,EAAIa,KAAK,IAAMzQ,KAAKqtD,kBAEpB,OAAO,EAIf,OAAO,GAWXhqB,OAAQ,SAAU2I,GAEd,MAAoB,QAAhBhsC,KAAKgiB,QAA0CzY,SAAvBvJ,KAAKgiB,OAAOpgB,OAMnC5B,KAAKy7C,SAAYz7C,KAAKgiB,OAAOvgB,SAAYzB,KAAKgiB,OAAOpgB,OAAOH,QAM7DzB,KAAKstD,WAAattD,KAAKiwD,oBAAsBjkB,EAAQv2B,GAE9CzV,KAAKkwD,WAAWlkB,GAElBhsC,KAAKmuD,aAAaniB,EAAQv2B,IAAI24C,OAE/BpuD,KAAKiqD,iBAAiBje,IAEtBhsC,KAAKmuD,aAAaniB,EAAQv2B,IAAIpQ,EAAI2mC,EAAQ3mC,EAAIrF,KAAKgiB,OAAO3c,EAC1DrF,KAAKmuD,aAAaniB,EAAQv2B,IAAInQ,EAAI0mC,EAAQ1mC,EAAItF,KAAKgiB,OAAO1c,GACnD,IAIPtF,KAAKmqD,mBAAmBne,IACjB,GAXV,QARDhsC,KAAKmqD,mBAAmBne,IACjB,GATX,QAuCJoe,oBAAqB,SAAUpe,GAE3B,GAAoB,OAAhBhsC,KAAKgiB,OAAT,CAMA,GAAIvR,GAAOzQ,KAAKmuD,aAAaniB,EAAQv2B,KAEjChF,EAAK29C,UAAW,GAASpiB,EAAQv4B,SAEjChD,EAAK29C,QAAS,EACd39C,EAAK49C,OAAQ,EACb59C,EAAK69C,SAAWtuD,KAAKE,KAAKikC,KAAKA,KAC/B1zB,EAAKpL,EAAI2mC,EAAQ3mC,EAAIrF,KAAKgiB,OAAO3c,EACjCoL,EAAKnL,EAAI0mC,EAAQ1mC,EAAItF,KAAKgiB,OAAO1c,EAE7BtF,KAAKwsD,eAAiB/7C,EAAK+4C,aAAc,IAEzCxpD,KAAKE,KAAKmQ,OAAO6K,MAAMm1B,OAAS,UAChCrwC,KAAKysD,gBAAiB,GAGtBzsD,KAAKgiB,QAAUhiB,KAAKgiB,OAAOsvB,QAE3BtxC,KAAKgiB,OAAOsvB,OAAO6e,qBAAqBnwD,KAAKgiB,OAAQgqB,MAajEme,mBAAoB,SAAUne,GAE1B,GAAoB,OAAhBhsC,KAAKgiB,OAAT,CAMA,GAAIvR,GAAOzQ,KAAKmuD,aAAaniB,EAAQv2B,GAErChF,GAAK29C,QAAS,EACd39C,EAAK49C,OAAQ,EACb59C,EAAK89C,QAAUvuD,KAAKE,KAAKikC,KAAKA,KAE1BnkC,KAAKwsD,eAAiB/7C,EAAK+4C,aAAc,IAEzCxpD,KAAKE,KAAKmQ,OAAO6K,MAAMm1B,OAAS,UAChCrwC,KAAKysD,gBAAiB,GAGtBzsD,KAAKgiB,QAAUhiB,KAAKgiB,OAAOsvB,QAE3BtxC,KAAKgiB,OAAOsvB,OAAO8e,oBAAoBpwD,KAAKgiB,OAAQgqB,KAY5D+c,gBAAiB,SAAU/c,GAEvB,GAAoB,OAAhBhsC,KAAKgiB,OAAT,CAMA,GAAIvR,GAAOzQ,KAAKmuD,aAAaniB,EAAQv2B,GAErC,KAAKhF,EAAKi1C,QAAUj1C,EAAK29C,OACzB,CACI,GAAIpuD,KAAKotD,oBAAsBptD,KAAK8vD,WAAW,KAAM,KAAM9jB,GAEvD,MAGJv7B,GAAKi1C,QAAS,EACdj1C,EAAKk1C,MAAO,EACZl1C,EAAKm1C,SAAW5lD,KAAKE,KAAKikC,KAAKA,KAE3BnkC,KAAKgiB,QAAUhiB,KAAKgiB,OAAOsvB,QAE3BtxC,KAAKgiB,OAAOsvB,OAAO+e,qBAAqBrwD,KAAKgiB,OAAQgqB,GAIzDA,EAAQv4B,OAAQ,EAGZzT,KAAKstD,WAAattD,KAAKwpD,aAAc,GAErCxpD,KAAKswD,UAAUtkB,GAGfhsC,KAAKqyC,YAELryC,KAAKgiB,OAAOqwB,aAKpB,MAAOryC,MAAKytD,sBAUhB9C,iBAAkB,SAAU3e,GAExB,GAAoB,OAAhBhsC,KAAKgiB,OAAT,CAMA,GAAIvR,GAAOzQ,KAAKmuD,aAAaniB,EAAQv2B,GAGrC,IAAIhF,EAAKi1C,QAAU1Z,EAAQ2Z,KAC3B,CACIl1C,EAAKi1C,QAAS,EACdj1C,EAAKk1C,MAAO,EACZl1C,EAAKo1C,OAAS7lD,KAAKE,KAAKikC,KAAKA,KAC7B1zB,EAAK+9C,aAAe/9C,EAAKo1C,OAASp1C,EAAKm1C,QAGvC,IAAIwI,GAASpuD,KAAKiqD,iBAAiBje,EAE/BhsC,MAAKgiB,QAAUhiB,KAAKgiB,OAAOsvB,SAE3BtxC,KAAKgiB,OAAOsvB,OAAOif,mBAAmBvwD,KAAKgiB,OAAQgqB,EAASoiB,GAGxDA,IAEAA,EAASpuD,KAAKiqD,iBAAiBje,KAIvCv7B,EAAK29C,OAASA,GAETA,GAAUpuD,KAAKwsD,gBAEhBxsD,KAAKE,KAAKmQ,OAAO6K,MAAMm1B,OAAS,UAChCrwC,KAAKysD,gBAAiB,GAI1BzgB,EAAQv4B,OAAQ,EAGZzT,KAAKstD,WAAattD,KAAKwpD,WAAaxpD,KAAKiwD,oBAAsBjkB,EAAQv2B,IAEvEzV,KAAKwwD,SAASxkB,MAY1BkkB,WAAY,SAAUlkB,GAElB,GAAIA,EAAQ2Z,KAGR,MADA3lD,MAAKwwD,SAASxkB,IACP,CAGX,IAAI1V,GAAKt2B,KAAKywD,eAAezkB,EAAQ3mC,GAAKrF,KAAK+tD,WAAW1oD,EAAIrF,KAAK2tD,WAAWtoD,EAC1EqrD,EAAK1wD,KAAK2wD,eAAe3kB,EAAQ1mC,GAAKtF,KAAK+tD,WAAWzoD,EAAItF,KAAK2tD,WAAWroD,CA+D9E,OA7DItF,MAAKgiB,OAAO0uB,eAER1wC,KAAK0sD,sBAEL1sD,KAAKgiB,OAAO2uB,aAAatrC,EAAIixB,GAG7Bt2B,KAAK2sD,oBAEL3sD,KAAKgiB,OAAO2uB,aAAarrC,EAAIorD,GAG7B1wD,KAAKutD,YAELvtD,KAAK4wD,kBAGL5wD,KAAKwtD,cAELxtD,KAAK6wD,oBAGL7wD,KAAK6sD,aAEL7sD,KAAKgiB,OAAO2uB,aAAatrC,EAAIxE,KAAKo4B,OAAOj5B,KAAKgiB,OAAO2uB,aAAatrC,EAAKrF,KAAKitD,YAAcjtD,KAAK+sD,OAAU/sD,KAAK+sD,OAAS/sD,KAAK+sD,MAAS/sD,KAAKitD,YAAcjtD,KAAK+sD,MAC7J/sD,KAAKgiB,OAAO2uB,aAAarrC,EAAIzE,KAAKo4B,OAAOj5B,KAAKgiB,OAAO2uB,aAAarrC,EAAKtF,KAAKktD,YAAcltD,KAAKgtD,OAAUhtD,KAAKgtD,OAAShtD,KAAKgtD,MAAShtD,KAAKktD,YAAcltD,KAAKgtD,MAC7JhtD,KAAK8tD,UAAUtqD,IAAIxD,KAAKgiB,OAAO2uB,aAAatrC,EAAGrF,KAAKgiB,OAAO2uB,aAAarrC,MAKxEtF,KAAK0sD,sBAEL1sD,KAAKgiB,OAAO3c,EAAIixB,GAGhBt2B,KAAK2sD,oBAEL3sD,KAAKgiB,OAAO1c,EAAIorD,GAGhB1wD,KAAKutD,YAELvtD,KAAK4wD,kBAGL5wD,KAAKwtD,cAELxtD,KAAK6wD,oBAGL7wD,KAAK6sD,aAEL7sD,KAAKgiB,OAAO3c,EAAIxE,KAAKo4B,OAAOj5B,KAAKgiB,OAAO3c,EAAKrF,KAAKitD,YAAcjtD,KAAK+sD,OAAU/sD,KAAK+sD,OAAS/sD,KAAK+sD,MAAS/sD,KAAKitD,YAAcjtD,KAAK+sD,MACnI/sD,KAAKgiB,OAAO1c,EAAIzE,KAAKo4B,OAAOj5B,KAAKgiB,OAAO1c,EAAKtF,KAAKktD,YAAcltD,KAAKgtD,OAAUhtD,KAAKgtD,OAAShtD,KAAKgtD,MAAShtD,KAAKktD,YAAcltD,KAAKgtD,MACnIhtD,KAAK8tD,UAAUtqD,IAAIxD,KAAKgiB,OAAO3c,EAAGrF,KAAKgiB,OAAO1c,KAItDtF,KAAKgiB,OAAOsvB,OAAOwf,aAAarpB,SAASznC,KAAKgiB,OAAQgqB,EAAS1V,EAAIo6B,EAAI1wD,KAAK8tD,YAErE,GAYXiD,SAAU,SAAU7Q,EAAW8Q,GAK3B,MAHA9Q,GAAYA,GAAa,EACzB8Q,EAAQA,GAAS,IAEThxD,KAAKmuD,aAAajO,GAAWkO,QAAUpuD,KAAKixD,aAAa/Q,GAAa8Q,GAYlFE,QAAS,SAAUhR,EAAW8Q,GAK1B,MAHA9Q,GAAYA,GAAa,EACzB8Q,EAAQA,GAAS,IAEThxD,KAAKmuD,aAAajO,GAAWmO,OAAUruD,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAKmuD,aAAajO,GAAWqO,QAAUyC,GAYhH5K,YAAa,SAAUlG,EAAW8Q,GAK9B,MAHA9Q,GAAYA,GAAa,EACzB8Q,EAAQA,GAAS,IAEThxD,KAAKmuD,aAAajO,GAAWwF,QAAU1lD,KAAKwuD,aAAatO,GAAa8Q,GAYlF1K,aAAc,SAAUpG,EAAW8Q,GAK/B,MAHA9Q,GAAYA,GAAa,EACzB8Q,EAAQA,GAAS,IAEThxD,KAAKmuD,aAAajO,GAAWyF,MAAS3lD,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAKmuD,aAAajO,GAAW2F,OAASmL,GAW9GC,aAAc,SAAU/Q,GAIpB,MAFAA,GAAYA,GAAa,EAErBlgD,KAAKmuD,aAAajO,GAAWkO,OAEtBpuD,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAKmuD,aAAajO,GAAWoO,SAGvD,IAWXE,aAAc,SAAUtO,GAIpB,MAFAA,GAAYA,GAAa,EAErBlgD,KAAKmuD,aAAajO,GAAWwF,OAEtB1lD,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAKmuD,aAAajO,GAAW0F,SAGvD,IAsBXuL,WAAY,SAAUC,EAAY/e,EAAYgf,EAAcC,EAAgB/D,EAAYC,GAEjEjkD,SAAf6nD,IAA4BA,GAAa,GAC1B7nD,SAAf8oC,IAA4BA,GAAa,GACxB9oC,SAAjB8nD,IAA8BA,GAAe,GAC1B9nD,SAAnB+nD,IAAgCA,EAAiB,KAClC/nD,SAAfgkD,IAA4BA,EAAa,MACxBhkD,SAAjBikD,IAA8BA,EAAe,MAEjDxtD,KAAK+tD,WAAa,GAAI7lC,GAAO9mB,MAC7BpB,KAAKstD,WAAY,EACjBttD,KAAKqyC,WAAaA,EAClBryC,KAAK2tD,WAAa,GAAIzlC,GAAO9mB,MAC7BpB,KAAK4tD,eAAiBwD,EAEtBpxD,KAAKotD,kBAAoBiE,EACzBrxD,KAAKqtD,kBAAoBiE,EAErB/D,IAEAvtD,KAAKutD,WAAaA,GAGlBC,IAEAxtD,KAAKwtD,aAAeA,IAW5B+D,YAAa,WAET,GAAIvxD,KAAKmuD,aAEL,IAAK,GAAIlrD,GAAI,EAAO,GAAJA,EAAQA,IAEpBjD,KAAKmuD,aAAalrD,GAAGumD,WAAY,CAIzCxpD,MAAKstD,WAAY,EACjBttD,KAAKwpD,WAAY,EACjBxpD,KAAKiwD,kBAAoB,IAU7BK,UAAW,SAAUtkB,GAEjB,GAAI3mC,GAAIrF,KAAKgiB,OAAO3c,EAChBC,EAAItF,KAAKgiB,OAAO1c,CAMpB,IAJAtF,KAAKwpD,WAAY,EACjBxpD,KAAKiwD,kBAAoBjkB,EAAQv2B,GACjCzV,KAAKmuD,aAAaniB,EAAQv2B,IAAI+zC,WAAY,EAEtCxpD,KAAKgiB,OAAO0uB,cAER1wC,KAAK4tD,gBAEL5tD,KAAKgiB,OAAOyZ,SAASuQ,EAAQ3mC,EAAG2mC,EAAQ1mC,GACxCtF,KAAK+tD,WAAWn1B,MAAM54B,KAAKgiB,OAAO2uB,aAAatrC,EAAI2mC,EAAQ3mC,EAAGrF,KAAKgiB,OAAO2uB,aAAarrC,EAAI0mC,EAAQ1mC,IAInGtF,KAAK+tD,WAAWn1B,MAAM54B,KAAKgiB,OAAO2uB,aAAatrC,EAAI2mC,EAAQ3mC,EAAGrF,KAAKgiB,OAAO2uB,aAAarrC,EAAI0mC,EAAQ1mC,OAI3G,CACI,GAAItF,KAAK4tD,eACT,CACI,GAAIpnD,GAASxG,KAAKgiB,OAAOnc,WAEzB7F,MAAKgiB,OAAO3c,EAAIrF,KAAKywD,eAAezkB,EAAQ3mC,IAAMrF,KAAKgiB,OAAO3c,EAAImB,EAAO2mB,SACzEntB,KAAKgiB,OAAO1c,EAAItF,KAAK2wD,eAAe3kB,EAAQ1mC,IAAMtF,KAAKgiB,OAAO1c,EAAIkB,EAAO4mB,SAG7EptB,KAAK+tD,WAAWn1B,MAAM54B,KAAKgiB,OAAO3c,EAAIrF,KAAKywD,eAAezkB,EAAQ3mC,GAAIrF,KAAKgiB,OAAO1c,EAAItF,KAAK2wD,eAAe3kB,EAAQ1mC,IAGtHtF,KAAKkwD,WAAWlkB,GAEZhsC,KAAKqyC,aAELryC,KAAKguD,YAAa,EAClBhuD,KAAKgiB,OAAOqwB,cAGhBryC,KAAK6tD,eAAerqD,IAAI6B,EAAGC,GAC3BtF,KAAKgiB,OAAOsvB,OAAOkgB,qBAAqBxxD,KAAKgiB,OAAQgqB,EAAS3mC,EAAGC,IAUrEmrD,eAAgB,SAAUprD,GAQtB,MANIrF,MAAK0tD,aAELroD,GAAKrF,KAAKE,KAAKmB,MAAMowD,KAAKC,YAAYrsD,EACtCA,GAAKrF,KAAKE,KAAKmB,MAAMowD,KAAKE,mBAAmBtsD,GAG1CA,GAUXsrD,eAAgB,SAAUrrD,GAQtB,MANItF,MAAK0tD,aAELpoD,GAAKtF,KAAKE,KAAKmB,MAAMowD,KAAKC,YAAYpsD,EACtCA,GAAKtF,KAAKE,KAAKmB,MAAMowD,KAAKE,mBAAmBrsD,GAG1CA,GAUXkrD,SAAU,SAAUxkB,GAEhBhsC,KAAKwpD,WAAY,EACjBxpD,KAAKiwD,kBAAoB,GACzBjwD,KAAKmuD,aAAaniB,EAAQv2B,IAAI+zC,WAAY,EAC1CxpD,KAAKguD,YAAa,EAEdhuD,KAAK8sD,gBAED9sD,KAAKgiB,OAAO0uB,eAEZ1wC,KAAKgiB,OAAO2uB,aAAatrC,EAAIxE,KAAKo4B,OAAOj5B,KAAKgiB,OAAO2uB,aAAatrC,EAAKrF,KAAKitD,YAAcjtD,KAAK+sD,OAAU/sD,KAAK+sD,OAAS/sD,KAAK+sD,MAAS/sD,KAAKitD,YAAcjtD,KAAK+sD,MAC7J/sD,KAAKgiB,OAAO2uB,aAAarrC,EAAIzE,KAAKo4B,OAAOj5B,KAAKgiB,OAAO2uB,aAAarrC,EAAKtF,KAAKktD,YAAcltD,KAAKgtD,OAAUhtD,KAAKgtD,OAAShtD,KAAKgtD,MAAShtD,KAAKktD,YAAcltD,KAAKgtD,QAI7JhtD,KAAKgiB,OAAO3c,EAAIxE,KAAKo4B,OAAOj5B,KAAKgiB,OAAO3c,EAAKrF,KAAKitD,YAAcjtD,KAAK+sD,OAAU/sD,KAAK+sD,OAAS/sD,KAAK+sD,MAAS/sD,KAAKitD,YAAcjtD,KAAK+sD,MACnI/sD,KAAKgiB,OAAO1c,EAAIzE,KAAKo4B,OAAOj5B,KAAKgiB,OAAO1c,EAAKtF,KAAKktD,YAAcltD,KAAKgtD,OAAUhtD,KAAKgtD,OAAShtD,KAAKgtD,MAAShtD,KAAKktD,YAAcltD,KAAKgtD,QAI3IhtD,KAAKgiB,OAAOsvB,OAAOsgB,oBAAoB5xD,KAAKgiB,OAAQgqB,GAEhDhsC,KAAKiqD,iBAAiBje,MAAa,GAEnChsC,KAAKmqD,mBAAmBne,IAYhC6lB,YAAa,SAAUC,EAAiBC,GAEZxoD,SAApBuoD,IAAiCA,GAAkB,GACjCvoD,SAAlBwoD,IAA+BA,GAAgB,GAEnD/xD,KAAK0sD,oBAAsBoF,EAC3B9xD,KAAK2sD,kBAAoBoF,GAgB7BC,WAAY,SAAUjF,EAAOC,EAAOiF,EAAQC,EAAWjF,EAAaC,GAEjD3jD,SAAX0oD,IAAwBA,GAAS,GACnB1oD,SAAd2oD,IAA2BA,GAAY,GACvB3oD,SAAhB0jD,IAA6BA,EAAc,GAC3B1jD,SAAhB2jD,IAA6BA,EAAc,GAE/CltD,KAAK+sD,MAAQA,EACb/sD,KAAKgtD,MAAQA,EACbhtD,KAAKitD,YAAcA,EACnBjtD,KAAKktD,YAAcA,EACnBltD,KAAK6sD,WAAaoF,EAClBjyD,KAAK8sD,cAAgBoF,GASzBC,YAAa,WAETnyD,KAAK6sD,YAAa,EAClB7sD,KAAK8sD,eAAgB,GAUzB8D,gBAAiB,WAET5wD,KAAKgiB,OAAO0uB,eAER1wC,KAAKgiB,OAAO2uB,aAAatrC,EAAIrF,KAAKutD,WAAWx2B,KAE7C/2B,KAAKgiB,OAAO2uB,aAAatrC,EAAIrF,KAAKutD,WAAWx2B,KAEvC/2B,KAAKgiB,OAAO2uB,aAAatrC,EAAIrF,KAAKgiB,OAAOrb,MAAS3G,KAAKutD,WAAWz2B,QAExE92B,KAAKgiB,OAAO2uB,aAAatrC,EAAIrF,KAAKutD,WAAWz2B,MAAQ92B,KAAKgiB,OAAOrb,OAGjE3G,KAAKgiB,OAAO2uB,aAAarrC,EAAItF,KAAKutD,WAAW/zB,IAE7Cx5B,KAAKgiB,OAAO2uB,aAAarrC,EAAItF,KAAKutD,WAAW/zB,IAEvCx5B,KAAKgiB,OAAO2uB,aAAarrC,EAAItF,KAAKgiB,OAAOpb,OAAU5G,KAAKutD,WAAW9zB,SAEzEz5B,KAAKgiB,OAAO2uB,aAAarrC,EAAItF,KAAKutD,WAAW9zB,OAASz5B,KAAKgiB,OAAOpb,UAKlE5G,KAAKgiB,OAAO+U,KAAO/2B,KAAKutD,WAAWx2B,KAEnC/2B,KAAKgiB,OAAO3c,EAAIrF,KAAKutD,WAAWloD,EAAIrF,KAAKgiB,OAAOa,QAE3C7iB,KAAKgiB,OAAO8U,MAAQ92B,KAAKutD,WAAWz2B,QAEzC92B,KAAKgiB,OAAO3c,EAAIrF,KAAKutD,WAAWz2B,OAAS92B,KAAKgiB,OAAOrb,MAAQ3G,KAAKgiB,OAAOa,UAGzE7iB,KAAKgiB,OAAOwX,IAAMx5B,KAAKutD,WAAW/zB,IAElCx5B,KAAKgiB,OAAO1c,EAAItF,KAAKutD,WAAW/zB,IAAMx5B,KAAKgiB,OAAOc,QAE7C9iB,KAAKgiB,OAAOyX,OAASz5B,KAAKutD,WAAW9zB,SAE1Cz5B,KAAKgiB,OAAO1c,EAAItF,KAAKutD,WAAW9zB,QAAUz5B,KAAKgiB,OAAOpb,OAAS5G,KAAKgiB,OAAOc,YAWvF+tC,kBAAmB,WAEX7wD,KAAKgiB,OAAO0uB,eAAiB1wC,KAAKwtD,aAAa9c,eAE3C1wC,KAAKgiB,OAAO2uB,aAAatrC,EAAIrF,KAAKwtD,aAAa7c,aAAatrC,EAE5DrF,KAAKgiB,OAAO2uB,aAAatrC,EAAIrF,KAAKwtD,aAAa7c,aAAatrC,EAEtDrF,KAAKgiB,OAAO2uB,aAAatrC,EAAIrF,KAAKgiB,OAAOrb,MAAU3G,KAAKwtD,aAAa7c,aAAatrC,EAAIrF,KAAKwtD,aAAa7mD,QAE9G3G,KAAKgiB,OAAO2uB,aAAatrC,EAAKrF,KAAKwtD,aAAa7c,aAAatrC,EAAIrF,KAAKwtD,aAAa7mD,MAAS3G,KAAKgiB,OAAOrb,OAGxG3G,KAAKgiB,OAAO2uB,aAAarrC,EAAItF,KAAKwtD,aAAa7c,aAAarrC,EAE5DtF,KAAKgiB,OAAO2uB,aAAarrC,EAAItF,KAAKwtD,aAAa7c,aAAarrC,EAEtDtF,KAAKgiB,OAAO2uB,aAAarrC,EAAItF,KAAKgiB,OAAOpb,OAAW5G,KAAKwtD,aAAa7c,aAAarrC,EAAItF,KAAKwtD,aAAa5mD,SAE/G5G,KAAKgiB,OAAO2uB,aAAarrC,EAAKtF,KAAKwtD,aAAa7c,aAAarrC,EAAItF,KAAKwtD,aAAa5mD,OAAU5G,KAAKgiB,OAAOpb,UAKzG5G,KAAKgiB,OAAO+U,KAAO/2B,KAAKwtD,aAAaz2B,KAErC/2B,KAAKgiB,OAAO3c,EAAIrF,KAAKwtD,aAAaz2B,KAAO/2B,KAAKgiB,OAAOa,QAEhD7iB,KAAKgiB,OAAO8U,MAAQ92B,KAAKwtD,aAAa12B,QAE3C92B,KAAKgiB,OAAO3c,EAAIrF,KAAKwtD,aAAa12B,OAAS92B,KAAKgiB,OAAOrb,MAAQ3G,KAAKgiB,OAAOa,UAG3E7iB,KAAKgiB,OAAOwX,IAAMx5B,KAAKwtD,aAAah0B,IAEpCx5B,KAAKgiB,OAAO1c,EAAItF,KAAKwtD,aAAah0B,IAAMx5B,KAAKgiB,OAAOc,QAE/C9iB,KAAKgiB,OAAOyX,OAASz5B,KAAKwtD,aAAa/zB,SAE5Cz5B,KAAKgiB,OAAO1c,EAAItF,KAAKwtD,aAAa/zB,QAAUz5B,KAAKgiB,OAAOpb,OAAS5G,KAAKgiB,OAAOc,aA0B7FoF,EAAOqkC,aAAa1pD,UAAUC,YAAcolB,EAAOqkC,aAsBnDrkC,EAAO62B,QAAU,SAAU7+C,GAKvBF,KAAKE,KAAOA,EAMZF,KAAKoyD,oBAMLpyD,KAAKqyD,YAOLryD,KAAKsyD,SAAU,EAOftyD,KAAKy7C,SAAU,EAOfz7C,KAAKuyD,2BAA6BlqC,UAAUmqC,qBAAuBnqC,UAAUoqC,gBAA8D,IAA3CpqC,UAAUqqC,UAAUzpD,QAAQ,eAAwBof,UAAUsqC,YAQ9J3yD,KAAK4yD,wBAQL5yD,KAAK6yD,mBAKL7yD,KAAKgnC,gBAAkBhnC,KAKvBA,KAAK8yD,kBAAoB,KAKzB9yD,KAAK+yD,qBAAuB,KAK5B/yD,KAAKgzD,eAAiB,KAKtBhzD,KAAKizD,aAAe,KAKpBjzD,KAAKkzD,eAAiB,KAKtBlzD,KAAKmzD,gBAAkB,KAMvBnzD,KAAKozD,oBAAsB,KAM3BpzD,KAAKqzD,qBAAuB,KAM5BrzD,KAAKszD,WACD,GAAIprC,GAAOqrC,UAAUrzD,EAAMF,MAC3B,GAAIkoB,GAAOqrC,UAAUrzD,EAAMF,MAC3B,GAAIkoB,GAAOqrC,UAAUrzD,EAAMF,MAC3B,GAAIkoB,GAAOqrC,UAAUrzD,EAAMF,QAKnCkoB,EAAO62B,QAAQl8C,WAUX2wD,aAAc,SAAUvmD,EAASwmD,GAEJ,mBAAdA,KAEPzzD,KAAK8yD,kBAAoD,kBAAxBW,GAAUC,UAA4BD,EAAUC,UAAY1zD,KAAK8yD,kBAClG9yD,KAAK+yD,qBAA0D,kBAA3BU,GAAUE,aAA+BF,EAAUE,aAAe3zD,KAAK+yD,qBAC3G/yD,KAAKgzD,eAA8C,kBAArBS,GAAUhW,OAAyBgW,EAAUhW,OAASz9C,KAAKgzD,eACzFhzD,KAAKizD,aAA0C,kBAAnBQ,GAAU/V,KAAuB+V,EAAU/V,KAAO19C,KAAKizD,aACnFjzD,KAAKkzD,eAA8C,kBAArBO,GAAUG,OAAyBH,EAAUG,OAAS5zD,KAAKkzD,eACzFlzD,KAAKmzD,gBAAgD,kBAAtBM,GAAUvN,QAA0BuN,EAAUvN,QAAUlmD,KAAKmzD,gBAC5FnzD,KAAKgnC,gBAAkB/5B,IAW/B/B,MAAO,WAEH,IAAIlL,KAAKsyD,QAAT,CAMAtyD,KAAKsyD,SAAU,CAEf,IAAIloB,GAAQpqC,IAEZA,MAAK6zD,oBAAsB,SAAUxlB,GACjC,MAAOjE,GAAM0pB,mBAAmBzlB,IAGpCruC,KAAK+zD,uBAAyB,SAAU1lB,GACpC,MAAOjE,GAAM4pB,sBAAsB3lB,IAGvC/7B,OAAOi8B,iBAAiB,mBAAoBvuC,KAAK6zD,qBAAqB,GACtEvhD,OAAOi8B,iBAAiB,sBAAuBvuC,KAAK+zD,wBAAwB,KAWhFD,mBAAoB,SAAUzlB,GAE1B,GAAI4lB,GAAS5lB,EAAMkP,OACnBv9C,MAAKqyD,SAAStuD,KAAKkwD,GACnBj0D,KAAKszD,UAAUW,EAAOzrD,OAAO0rD,QAAQD,IAWzCD,sBAAuB,SAAU3lB,GAE7B,GAAI8lB,GAAa9lB,EAAMkP,OAEvB,KAAK,GAAIt6C,KAAKjD,MAAKqyD,SAEXryD,KAAKqyD,SAASpvD,GAAGuF,QAAU2rD,EAAW3rD,OAEtCxI,KAAKqyD,SAAS3pD,OAAOzF,EAAE,EAI/BjD,MAAKszD,UAAUa,EAAW3rD,OAAO4rD,cASrC/wB,OAAQ,WAEJrjC,KAAKq0D,gBAELr0D,KAAKs0D,KAAKC,aACVv0D,KAAKw0D,KAAKD,aACVv0D,KAAKy0D,KAAKF,aACVv0D,KAAK00D,KAAKH,cAUdF,cAAe,WAEX,GAAIhsC,UAAuB,YAEvB,GAAIssC,GAActsC,UAAUsqC,kBAE3B,IAAItqC,UAA6B,kBAElC,GAAIssC,GAActsC,UAAUmqC,wBAE3B,IAAInqC,UAA0B,eAE/B,GAAIssC,GAActsC,UAAUoqC,gBAGhC,IAAIkC,EACJ,CACI30D,KAAKqyD,WAIL,KAAK,GAFDuC,IAAkB,EAEb3xD,EAAI,EAAGA,EAAI0xD,EAAYzxD,eAEjByxD,GAAY1xD,KAAOjD,KAAK4yD,qBAAqB3vD,KAEpD2xD,GAAkB,EAClB50D,KAAK4yD,qBAAqB3vD,SAAY0xD,GAAY1xD,IAGlD0xD,EAAY1xD,IAEZjD,KAAKqyD,SAAStuD,KAAK4wD,EAAY1xD,IAIzB,IAANA,GAdgCA,KAoBxC,GAAI2xD,EACJ,CAII,IAAK,GAFDC,GADAC,GAAqBC,cAAgBC,eAGhClxD,EAAI,EAAGA,EAAI9D,KAAKszD,UAAUpwD,OAAQY,IAIvC,GAFA+wD,EAAY70D,KAAKszD,UAAUxvD,GAEvB+wD,EAAUI,UAEV,IAAK,GAAIC,GAAI,EAAGA,EAAIl1D,KAAKqyD,SAASnvD,OAAQgyD,IAElCl1D,KAAKqyD,SAAS6C,GAAG1sD,QAAUqsD,EAAUrsD,QAErCssD,EAAiBC,WAAWF,EAAUrsD,QAAS,EAC/CssD,EAAiBE,WAAWlxD,IAAK,EAMjD,KAAK,GAAI4xB,GAAI,EAAGA,EAAI11B,KAAKszD,UAAUpwD,OAAQwyB,IAIvC,GAFAm/B,EAAY70D,KAAKszD,UAAU59B,IAEvBo/B,EAAiBE,WAAWt/B,GAAhC,CAKI11B,KAAKqyD,SAASnvD,OAAS,GAEvB2xD,EAAUT,YAGd,KAAK,GAAI11B,GAAI,EAAGA,EAAI1+B,KAAKqyD,SAASnvD,SAE1B4xD,EAAiBE,WAAWt/B,GAFMgJ,IAC1C,CAMI,GAAIy2B,GAASn1D,KAAKqyD,SAAS3zB,EAE3B,IAAIy2B,EACJ,CACI,GAAIL,EAAiBC,WAAWI,EAAO3sD,OACvC,CACIqsD,EAAUT,YACV,UAIAS,EAAUX,QAAQiB,GAClBL,EAAiBC,WAAWI,EAAO3sD,QAAS,EAC5CssD,EAAiBE,WAAWt/B,IAAK,MAKrCm/B,GAAUT,kBAYlCgB,aAAc,SAAU3xD,GAEpB,IAAK,GAAIR,GAAI,EAAGA,EAAIjD,KAAKszD,UAAUpwD,OAAQD,IAEvCjD,KAAKszD,UAAUrwD,GAAGoyD,SAAW5xD,GAUrCqH,KAAM,WAEF9K,KAAKsyD,SAAU,EAEfhgD,OAAOm9B,oBAAoB,mBAAoBzvC,KAAK6zD,qBACpDvhD,OAAOm9B,oBAAoB,sBAAuBzvC,KAAK+zD,yBAQ3DrwB,MAAO,WAEH1jC,KAAKqjC,QAEL,KAAK,GAAIpgC,GAAI,EAAGA,EAAIjD,KAAKszD,UAAUpwD,OAAQD,IAEvCjD,KAAKszD,UAAUrwD,GAAGygC,SAY1B0iB,YAAa,SAAUX,EAAYY,GAE/B,IAAK,GAAIpjD,GAAI,EAAGA,EAAIjD,KAAKszD,UAAUpwD,OAAQD,IAEvC,GAAIjD,KAAKszD,UAAUrwD,GAAGmjD,YAAYX,EAAYY,MAAc,EAExD,OAAO,CAIf,QAAO,GAWXC,aAAc,SAAUb,EAAYY,GAEhC,IAAK,GAAIpjD,GAAI,EAAGA,EAAIjD,KAAKszD,UAAUpwD,OAAQD,IAEvC,GAAIjD,KAAKszD,UAAUrwD,GAAGqjD,aAAab,EAAYY,MAAc,EAEzD,OAAO,CAIf,QAAO,GAUXX,OAAQ,SAAUD,GAEd,IAAK,GAAIxiD,GAAI,EAAGA,EAAIjD,KAAKszD,UAAUpwD,OAAQD,IAEvC,GAAIjD,KAAKszD,UAAUrwD,GAAGyiD,OAAOD,MAAgB,EAEzC,OAAO,CAIf,QAAO,GAQX1iD,QAAS,WAEL/C,KAAK8K,MAEL,KAAK,GAAI7H,GAAI,EAAGA,EAAIjD,KAAKszD,UAAUpwD,OAAQD,IAEvCjD,KAAKszD,UAAUrwD,GAAGF,YAO9BmlB,EAAO62B,QAAQl8C,UAAUC,YAAcolB,EAAO62B,QAQ9C37C,OAAOC,eAAe6kB,EAAO62B,QAAQl8C,UAAW,UAE5CS,IAAK,WACD,MAAOtD,MAAKsyD,WAWpBlvD,OAAOC,eAAe6kB,EAAO62B,QAAQl8C,UAAW,aAE5CS,IAAK,WACD,MAAOtD,MAAKuyD,4BAWpBnvD,OAAOC,eAAe6kB,EAAO62B,QAAQl8C,UAAW,iBAE5CS,IAAK,WACD,MAAOtD,MAAKqyD,SAASnvD,UAW7BE,OAAOC,eAAe6kB,EAAO62B,QAAQl8C,UAAW,QAE5CS,IAAK,WACD,MAAOtD,MAAKszD,UAAU,MAW9BlwD,OAAOC,eAAe6kB,EAAO62B,QAAQl8C,UAAW,QAE5CS,IAAK,WACD,MAAOtD,MAAKszD,UAAU,MAW9BlwD,OAAOC,eAAe6kB,EAAO62B,QAAQl8C,UAAW,QAE5CS,IAAK,WACD,MAAOtD,MAAKszD,UAAU,MAW9BlwD,OAAOC,eAAe6kB,EAAO62B,QAAQl8C,UAAW,QAE5CS,IAAK,WACD,MAAOtD,MAAKszD,UAAU,MAK9BprC,EAAO62B,QAAQuW,SAAW,EAC1BptC,EAAO62B,QAAQwW,SAAW,EAC1BrtC,EAAO62B,QAAQyW,SAAW,EAC1BttC,EAAO62B,QAAQ0W,SAAW,EAC1BvtC,EAAO62B,QAAQ2W,SAAW,EAC1BxtC,EAAO62B,QAAQ4W,SAAW,EAC1BztC,EAAO62B,QAAQ6W,SAAW,EAC1B1tC,EAAO62B,QAAQ8W,SAAW,EAC1B3tC,EAAO62B,QAAQ+W,SAAW,EAC1B5tC,EAAO62B,QAAQgX,SAAW,EAC1B7tC,EAAO62B,QAAQiX,UAAY,GAC3B9tC,EAAO62B,QAAQkX,UAAY,GAC3B/tC,EAAO62B,QAAQmX,UAAY,GAC3BhuC,EAAO62B,QAAQoX,UAAY,GAC3BjuC,EAAO62B,QAAQqX,UAAY,GAC3BluC,EAAO62B,QAAQsX,UAAY,GAE3BnuC,EAAO62B,QAAQuX,OAAS,EACxBpuC,EAAO62B,QAAQwX,OAAS,EACxBruC,EAAO62B,QAAQyX,OAAS,EACxBtuC,EAAO62B,QAAQ0X,OAAS,EACxBvuC,EAAO62B,QAAQ2X,OAAS,EACxBxuC,EAAO62B,QAAQ4X,OAAS,EACxBzuC,EAAO62B,QAAQ6X,OAAS,EACxB1uC,EAAO62B,QAAQ8X,OAAS,EACxB3uC,EAAO62B,QAAQ+X,OAAS,EACxB5uC,EAAO62B,QAAQgY,OAAS,EAMxB7uC,EAAO62B,QAAQiY,UAAY,EAC3B9uC,EAAO62B,QAAQkY,UAAY,EAC3B/uC,EAAO62B,QAAQmY,UAAY,EAC3BhvC,EAAO62B,QAAQoY,UAAY,EAC3BjvC,EAAO62B,QAAQqY,oBAAsB,EACrClvC,EAAO62B,QAAQsY,qBAAuB,EACtCnvC,EAAO62B,QAAQuY,qBAAuB,EACtCpvC,EAAO62B,QAAQwY,sBAAwB,EACvCrvC,EAAO62B,QAAQyY,aAAe,EAC9BtvC,EAAO62B,QAAQ0Y,cAAgB,EAC/BvvC,EAAO62B,QAAQ2Y,0BAA4B,GAC3CxvC,EAAO62B,QAAQ4Y,2BAA6B,GAE5CzvC,EAAO62B,QAAQ6Y,kBAAoB,GACnC1vC,EAAO62B,QAAQ8Y,mBAAqB,GACpC3vC,EAAO62B,QAAQ+Y,gBAAkB,GACjC5vC,EAAO62B,QAAQgZ,kBAAoB,GAGnC7vC,EAAO62B,QAAQiZ,qBAAuB,EACtC9vC,EAAO62B,QAAQkZ,qBAAuB,EACtC/vC,EAAO62B,QAAQmZ,sBAAwB,EACvChwC,EAAO62B,QAAQoZ,sBAAwB,EAIvCjwC,EAAO62B,QAAQqZ,QAAU,EACzBlwC,EAAO62B,QAAQsZ,aAAe,EAC9BnwC,EAAO62B,QAAQuZ,aAAe,EAC9BpwC,EAAO62B,QAAQwZ,eAAiB,EAChCrwC,EAAO62B,QAAQyZ,SAAW,EAC1BtwC,EAAO62B,QAAQ0Z,SAAW,EAC1BvwC,EAAO62B,QAAQ2Z,SAAW,EAC1BxwC,EAAO62B,QAAQ4Z,SAAW,EAC1BzwC,EAAO62B,QAAQ6Z,aAAe,EAC9B1wC,EAAO62B,QAAQ8Z,YAAc,EAC7B3wC,EAAO62B,QAAQ+Z,wBAA0B,GACzC5wC,EAAO62B,QAAQga,yBAA2B,GAC1C7wC,EAAO62B,QAAQia,cAAgB,GAC/B9wC,EAAO62B,QAAQka,gBAAkB,GACjC/wC,EAAO62B,QAAQma,gBAAkB,GACjChxC,EAAO62B,QAAQoa,iBAAmB,GAClCjxC,EAAO62B,QAAQqa,mBAAqB,EACpClxC,EAAO62B,QAAQsa,mBAAqB,EACpCnxC,EAAO62B,QAAQua,oBAAsB,EACrCpxC,EAAO62B,QAAQwa,oBAAsB,EAiBrCrxC,EAAOqrC,UAAY,SAAUrzD,EAAMs5D,GAK/Bx5D,KAAKE,KAAOA,EAMZF,KAAKwI,MAAQ,KAMbxI,KAAKi1D,WAAY,EAKjBj1D,KAAKgnC,gBAAkBhnC,KAKvBA,KAAK8yD,kBAAoB,KAKzB9yD,KAAK+yD,qBAAuB,KAK5B/yD,KAAKgzD,eAAiB,KAKtBhzD,KAAKizD,aAAe,KAKpBjzD,KAAKkzD,eAAiB,KAKtBlzD,KAAKmzD,gBAAkB,KAKvBnzD,KAAKq1D,SAAW,IAMhBr1D,KAAKy5D,WAAaD,EAMlBx5D,KAAK05D,QAAU,KAMf15D,KAAK25D,eAAiB,KAMtB35D,KAAK45D,YAML55D,KAAK65D,YAAc,EAMnB75D,KAAK85D,SAML95D,KAAK+5D,SAAW,GAIpB7xC,EAAOqrC,UAAU1wD,WAUb2wD,aAAc,SAAUvmD,EAASwmD,GAEJ,mBAAdA,KAEPzzD,KAAK8yD,kBAAoD,kBAAxBW,GAAUC,UAA4BD,EAAUC,UAAY1zD,KAAK8yD,kBAClG9yD,KAAK+yD,qBAA0D,kBAA3BU,GAAUE,aAA+BF,EAAUE,aAAe3zD,KAAK+yD,qBAC3G/yD,KAAKgzD,eAA8C,kBAArBS,GAAUhW,OAAyBgW,EAAUhW,OAASz9C,KAAKgzD,eACzFhzD,KAAKizD,aAA0C,kBAAnBQ,GAAU/V,KAAuB+V,EAAU/V,KAAO19C,KAAKizD,aACnFjzD,KAAKkzD,eAA8C,kBAArBO,GAAUG,OAAyBH,EAAUG,OAAS5zD,KAAKkzD,eACzFlzD,KAAKmzD,gBAAgD,kBAAtBM,GAAUvN,QAA0BuN,EAAUvN,QAAUlmD,KAAKmzD,kBAapG6G,UAAW,SAAUvU,GAEjB,MAAIzlD,MAAK45D,SAASnU,GAEPzlD,KAAK45D,SAASnU,GAId,MAUf8O,WAAY,WAER,GAAKv0D,KAAKi1D,WAAcj1D,KAAKE,KAAK6jC,MAAM0X,SAAYz7C,KAAKE,KAAK6jC,MAAMwZ,QAAQ9B,WAAYz7C,KAAK05D,QAAQO,WAAcj6D,KAAK05D,QAAQO,YAAcj6D,KAAK25D,gBAAnJ,CAKA,IAAK,GAAI12D,GAAI,EAAGA,EAAIjD,KAAK65D,YAAa52D,IACtC,CACI,GAAIi3D,GAAeC,MAAMn6D,KAAK05D,QAAQjR,QAAQxlD,IAAMjD,KAAK05D,QAAQjR,QAAQxlD,GAAGQ,MAAQzD,KAAK05D,QAAQjR,QAAQxlD,EAErGi3D,KAAiBl6D,KAAK45D,SAAS32D,GAAGQ,QAEb,IAAjBy2D,EAEAl6D,KAAKo6D,kBAAkBn3D,EAAGi3D,GAEJ,IAAjBA,EAELl6D,KAAKq6D,gBAAgBp3D,EAAGi3D,GAIxBl6D,KAAKs6D,mBAAmBr3D,EAAGi3D,IAKvC,IAAK,GAAI1xD,GAAQ,EAAGA,EAAQxI,KAAK+5D,SAAUvxD,IAC3C,CACI,GAAI/E,GAAQzD,KAAK05D,QAAQa,KAAK/xD,EAEzB/E,GAAQ,GAAKA,EAAQzD,KAAKq1D,UAAsB,EAAR5xD,GAAaA,GAASzD,KAAKq1D,SAEpEr1D,KAAKw6D,kBAAkBhyD,EAAO/E,GAI9BzD,KAAKw6D,kBAAkBhyD,EAAO,GAItCxI,KAAK25D,eAAiB35D,KAAK05D,QAAQO,YAUvC/F,QAAS,SAAUiB,GAEf,GAAIsF,IAAmBz6D,KAAKi1D,SAE5Bj1D,MAAKi1D,WAAY,EACjBj1D,KAAKwI,MAAQ2sD,EAAO3sD,MAEpBxI,KAAK05D,QAAUvE,EAEfn1D,KAAK45D,YACL55D,KAAK65D,YAAc1E,EAAO1M,QAAQvlD,OAElClD,KAAK85D,SACL95D,KAAK+5D,SAAW5E,EAAOoF,KAAKr3D,MAE5B,KAAK,GAAIwB,GAAI,EAAGA,EAAI1E,KAAK+5D,SAAUr1D,IAE/B1E,KAAK85D,MAAMp1D,GAAKywD,EAAOoF,KAAK71D,EAGhC,KAAK,GAAI+gD,KAAc0P,GAAO1M,QAE1BhD,EAAalvB,SAASkvB,EAAY,IAClCzlD,KAAK45D,SAASnU,GAAc,GAAIv9B,GAAOs9B,aAAaxlD,KAAMylD,EAG1DgV,IAAmBz6D,KAAKy5D,WAAW3G,mBAEnC9yD,KAAKy5D,WAAW3G,kBAAkBptD,KAAK1F,KAAKy5D,WAAWzyB,gBAAiBhnC,KAAKwI,OAG7EiyD,GAAmBz6D,KAAK8yD,mBAExB9yD,KAAK8yD,kBAAkBptD,KAAK1F,KAAKgnC,kBAUzCotB,WAAY,WAER,GAAIqG,GAAkBz6D,KAAKi1D,UACvByF,EAAqB16D,KAAKwI,KAE9BxI,MAAKi1D,WAAY,EACjBj1D,KAAKwI,MAAQ,KAEbxI,KAAK05D,QAAUnwD,MAEf,KAAK,GAAItG,GAAI,EAAGA,EAAIjD,KAAK65D,YAAa52D,IAElCjD,KAAK45D,SAAS32D,GAAGF,SAGrB/C,MAAK45D,YACL55D,KAAK65D,YAAc,EAEnB75D,KAAK85D,SACL95D,KAAK+5D,SAAW,EAEZU,GAAmBz6D,KAAKy5D,WAAW1G,sBAEnC/yD,KAAKy5D,WAAW1G,qBAAqBrtD,KAAK1F,KAAKy5D,WAAWzyB,gBAAiB0zB,GAG3ED,GAAmBz6D,KAAK+yD,sBAExB/yD,KAAK+yD,qBAAqBrtD,KAAK1F,KAAKgnC,kBAU5CjkC,QAAS,WAEL/C,KAAK05D,QAAUnwD,MAEf,KAAK,GAAItG,GAAI,EAAGA,EAAIjD,KAAK65D,YAAa52D,IAElCjD,KAAK45D,SAAS32D,GAAGF,SAGrB/C,MAAK45D,YACL55D,KAAK65D,YAAc,EAEnB75D,KAAK85D,SACL95D,KAAK+5D,SAAW,EAEhB/5D,KAAK8yD,kBAAoB,KACzB9yD,KAAK+yD,qBAAuB,KAC5B/yD,KAAKgzD,eAAiB,KACtBhzD,KAAKizD,aAAe,KACpBjzD,KAAKkzD,eAAiB,KACtBlzD,KAAKmzD,gBAAkB,MAU3BqH,kBAAmB,SAAUhyD,EAAO/E,GAE5BzD,KAAK85D,MAAMtxD,KAAW/E,IAK1BzD,KAAK85D,MAAMtxD,GAAS/E,EAEhBzD,KAAKy5D,WAAWvG,gBAEhBlzD,KAAKy5D,WAAWvG,eAAextD,KAAK1F,KAAKy5D,WAAWzyB,gBAAiBhnC,KAAMwI,EAAO/E,GAGlFzD,KAAKkzD,gBAELlzD,KAAKkzD,eAAextD,KAAK1F,KAAKgnC,gBAAiBhnC,KAAMwI,EAAO/E,KAYpE22D,kBAAmB,SAAU3U,EAAYhiD,GAEjCzD,KAAKy5D,WAAWzG,gBAEhBhzD,KAAKy5D,WAAWzG,eAAettD,KAAK1F,KAAKy5D,WAAWzyB,gBAAiBye,EAAYhiD,EAAOzD,KAAKwI,OAG7FxI,KAAKgzD,gBAELhzD,KAAKgzD,eAAettD,KAAK1F,KAAKgnC,gBAAiBye,EAAYhiD,GAG3DzD,KAAK45D,SAASnU,IAEdzlD,KAAK45D,SAASnU,GAAYv6C,MAAM,KAAMzH;EAY9C42D,gBAAiB,SAAU5U,EAAYhiD,GAE/BzD,KAAKy5D,WAAWxG,cAEhBjzD,KAAKy5D,WAAWxG,aAAavtD,KAAK1F,KAAKy5D,WAAWzyB,gBAAiBye,EAAYhiD,EAAOzD,KAAKwI,OAG3FxI,KAAKizD,cAELjzD,KAAKizD,aAAavtD,KAAK1F,KAAKgnC,gBAAiBye,EAAYhiD,GAGzDzD,KAAK45D,SAASnU,IAEdzlD,KAAK45D,SAASnU,GAAY36C,KAAK,KAAMrH,IAY7C62D,mBAAoB,SAAU7U,EAAYhiD,GAElCzD,KAAKy5D,WAAWtG,iBAEhBnzD,KAAKy5D,WAAWtG,gBAAgBztD,KAAK1F,KAAKy5D,WAAWzyB,gBAAiBye,EAAYhiD,EAAOzD,KAAKwI,OAG9FxI,KAAKmzD,iBAELnzD,KAAKmzD,gBAAgBztD,KAAK1F,KAAKgnC,gBAAiBye,EAAYhiD,GAG5DzD,KAAK45D,SAASnU,IAEdzlD,KAAK45D,SAASnU,GAAYU,SAAS1iD,IAY3Ck3D,KAAM,SAAUC,GAEZ,MAAI56D,MAAK85D,MAAMc,GAEJ56D,KAAK85D,MAAMc,IAGf,GAWXlV,OAAQ,SAAUD,GAEd,MAAIzlD,MAAK45D,SAASnU,GAEPzlD,KAAK45D,SAASnU,GAAYC,QAG9B,GAWXC,KAAM,SAAUF,GAEZ,MAAIzlD,MAAK45D,SAASnU,GAEPzlD,KAAK45D,SAASnU,GAAYE,MAG9B,GAYXW,aAAc,SAAUb,EAAYY,GAEhC,MAAIrmD,MAAK45D,SAASnU,GAEPzlD,KAAK45D,SAASnU,GAAYa,aAAaD,GAFlD,QAeJD,YAAa,SAAUX,EAAYY,GAE/B,MAAIrmD,MAAK45D,SAASnU,GAEPzlD,KAAK45D,SAASnU,GAAYW,YAAYC,GAFjD,QAeJwU,YAAa,SAAUpV,GAEnB,MAAIzlD,MAAK45D,SAASnU,GAEPzlD,KAAK45D,SAASnU,GAAYhiD,MAG9B,MASXigC,MAAO,WAEH,IAAK,GAAI5/B,GAAI,EAAGA,EAAI9D,KAAK85D,MAAM52D,OAAQY,IAEnC9D,KAAK85D,MAAMh2D,GAAK,IAO5BokB,EAAOqrC,UAAU1wD,UAAUC,YAAcolB,EAAOqrC,UAgBhDrrC,EAAO4yC,IAAM,SAAU56D,EAAM66D,GAKzB/6D,KAAKE,KAAOA,EAOZF,KAAKg7D,UAAW,EAMhBh7D,KAAKquC,MAAQ,KAMbruC,KAAK0lD,QAAS,EAMd1lD,KAAK2lD,MAAO,EAMZ3lD,KAAK+lD,QAAS,EAMd/lD,KAAKimD,SAAU,EAMfjmD,KAAKgmD,UAAW,EAKhBhmD,KAAK4lD,SAAW,EAQhB5lD,KAAKqmD,SAAW,EAMhBrmD,KAAK6lD,OAAS,MAMd7lD,KAAK8lD,QAAU,EAKf9lD,KAAKi7D,QAAUF,EAKf/6D,KAAKy9C,OAAS,GAAIv1B,GAAOud,OAKzBzlC,KAAKk7D,eAAiB,KAKtBl7D,KAAKm7D,cAAgB,KAKrBn7D,KAAK09C,KAAO,GAAIx1B,GAAOud,OAMvBzlC,KAAKo7D,WAAY,EAMjBp7D,KAAKq7D,SAAU,GAInBnzC,EAAO4yC,IAAIj4D,WAQPwgC,OAAQ,WAECrjC,KAAKg7D,UAENh7D,KAAK0lD,SAEL1lD,KAAKqmD,SAAWrmD,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAK4lD,SAC3C5lD,KAAK8lD,UAED9lD,KAAKk7D,gBAELl7D,KAAKk7D,eAAex1D,KAAK1F,KAAKm7D,cAAen7D,QAazDs7D,eAAgB,SAAUjtB,GAEjBruC,KAAKg7D,WAEVh7D,KAAKquC,MAAQA,EAGTruC,KAAK0lD,SAKT1lD,KAAK+lD,OAAS1X,EAAM0X,OACpB/lD,KAAKimD,QAAU5X,EAAM4X,QACrBjmD,KAAKgmD,SAAW3X,EAAM2X,SAEtBhmD,KAAK0lD,QAAS,EACd1lD,KAAK2lD,MAAO,EACZ3lD,KAAK4lD,SAAW5lD,KAAKE,KAAKikC,KAAKA,KAC/BnkC,KAAKqmD,SAAW,EAChBrmD,KAAK8lD,QAAU,EAIf9lD,KAAKo7D,WAAY,EAEjBp7D,KAAKy9C,OAAOhW,SAASznC,SAWzBu7D,aAAc,SAAUltB,GAEfruC,KAAKg7D,WAEVh7D,KAAKquC,MAAQA,EAETruC,KAAK2lD,OAKT3lD,KAAK0lD,QAAS,EACd1lD,KAAK2lD,MAAO,EACZ3lD,KAAK6lD,OAAS7lD,KAAKE,KAAKikC,KAAKA,KAC7BnkC,KAAKqmD,SAAWrmD,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAK4lD,SAI3C5lD,KAAKq7D,SAAU,EAEfr7D,KAAK09C,KAAKjW,SAASznC,SAavB0jC,MAAO,SAAU2b,GAEA91C,SAAT81C,IAAsBA,GAAO,GAEjCr/C,KAAK0lD,QAAS,EACd1lD,KAAK2lD,MAAO,EACZ3lD,KAAK6lD,OAAS7lD,KAAKE,KAAKikC,KAAKA,KAC7BnkC,KAAKqmD,SAAW,EAChBrmD,KAAKg7D,UAAW,EAChBh7D,KAAKo7D,WAAY,EACjBp7D,KAAKq7D,SAAU,EAEXhc,IAEAr/C,KAAKy9C,OAAO5V,YACZ7nC,KAAK09C,KAAK7V,YACV7nC,KAAKk7D,eAAiB,KACtBl7D,KAAKm7D,cAAgB,OAa7B3M,aAAc,SAAUnI,GAIpB,MAFiB98C,UAAb88C,IAA0BA,EAAW,IAEjCrmD,KAAK0lD,QAAU1lD,KAAKqmD,SAAWA,GAY3CmV,WAAY,SAAUnV,GAIlB,MAFiB98C,UAAb88C,IAA0BA,EAAW,KAEhCrmD,KAAK0lD,QAAY1lD,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAK6lD,OAAUQ,IAgBvEjjD,OAAOC,eAAe6kB,EAAO4yC,IAAIj4D,UAAW,YAExCS,IAAK,WAED,GAAIqyB,GAAU31B,KAAKo7D,SAEnB,OADAp7D,MAAKo7D,WAAY,EACVzlC,KAgBfvyB,OAAOC,eAAe6kB,EAAO4yC,IAAIj4D,UAAW,UAExCS,IAAK,WAED,GAAIqyB,GAAU31B,KAAKq7D,OAEnB,OADAr7D,MAAKq7D,SAAU,EACR1lC,KAcfvyB,OAAOC,eAAe6kB,EAAO4yC,IAAIj4D,UAAW,WAExCS,IAAK,WAED,MAAOtD,MAAKg7D,UAIhBx3D,IAAK,SAAUC,GAEXA,IAAUA,EAENA,IAAUzD,KAAKg7D,WAEVv3D,GAEDzD,KAAK0jC,OAAM,GAGf1jC,KAAKg7D,SAAWv3D,MAM5BykB,EAAO4yC,IAAIj4D,UAAUC,YAAcolB,EAAO4yC,IAkB1C5yC,EAAO42B,SAAW,SAAU5+C,GAKxBF,KAAKE,KAAOA,EAOZF,KAAKy7C,SAAU,EAKfz7C,KAAKquC,MAAQ,KAKbruC,KAAKy7D,WAAa,KAKlBz7D,KAAKgnC,gBAAkBhnC,KAKvBA,KAAKgzD,eAAiB,KAKtBhzD,KAAK07D,gBAAkB,KAKvB17D,KAAKizD,aAAe,KAMpBjzD,KAAK27D,SAML37D,KAAK47D,YAOL57D,KAAK67D,WAAa,KAOlB77D,KAAK87D,YAAc,KAOnB97D,KAAK+7D,SAAW,KAMhB/7D,KAAKgtC,GAAK,EAMVhtC,KAAKg8D,GAAK,GAId9zC,EAAO42B,SAASj8C,WAWZ2wD,aAAc,SAAUvmD,EAASwwC,EAAQC,EAAMue,GAE3Cj8D,KAAKgnC,gBAAkB/5B,EAER1D,SAAXk0C,GAAmC,OAAXA,IAExBz9C,KAAKgzD,eAAiBvV,GAGbl0C,SAATm0C,GAA+B,OAATA,IAEtB19C,KAAKizD,aAAevV,GAGRn0C,SAAZ0yD,GAAqC,OAAZA,IAEzBj8D,KAAK07D,gBAAkBO,IAa/BC,OAAQ,SAAUnB,GASd,MAPK/6D,MAAK27D,MAAMZ,KAEZ/6D,KAAK27D,MAAMZ,GAAW,GAAI7yC,GAAO4yC,IAAI96D,KAAKE,KAAM66D,GAEhD/6D,KAAKm8D,cAAcpB,IAGhB/6D,KAAK27D,MAAMZ,IAiBtBqB,QAAS,SAAUrkC,GAEf,GAAImB,KAEJ,KAAK,GAAI3kB,KAAOwjB,GAEZmB,EAAO3kB,GAAOvU,KAAKk8D,OAAOnkC,EAAKxjB,GAGnC,OAAO2kB,IAUXmjC,UAAW,SAAUtB,GAEb/6D,KAAK27D,MAAMZ,KAEX/6D,KAAK27D,MAAMZ,GAAW,KAEtB/6D,KAAKs8D,iBAAiBvB,KAW9BwB,iBAAkB,WAEd,MAAOv8D,MAAKo8D,SAAUI,GAAMt0C,EAAOu0C,QAAQ5qC,GAAI+2B,KAAQ1gC,EAAOu0C,QAAQ3qC,KAAMiF,KAAQ7O,EAAOu0C,QAAQ9qC,KAAMmF,MAAS5O,EAAOu0C,QAAQ7qC,SAWrI1mB,MAAO,WAEH,IAAIlL,KAAKE,KAAK0uC,OAAOoL,UAKG,OAApBh6C,KAAK67D,WAAT,CAMA,GAAIzxB,GAAQpqC,IAEZA,MAAK67D,WAAa,SAAUxtB,GACxB,MAAOjE,GAAMkxB,eAAejtB,IAGhCruC,KAAK+7D,SAAW,SAAU1tB,GACtB,MAAOjE,GAAMmxB,aAAaltB,IAG9BruC,KAAK87D,YAAc,SAAUztB,GACzB,MAAOjE,GAAMsyB,gBAAgBruB,IAGjC/7B,OAAOi8B,iBAAiB,UAAWvuC,KAAK67D,YAAY,GACpDvpD,OAAOi8B,iBAAiB,QAASvuC,KAAK+7D,UAAU,GAChDzpD,OAAOi8B,iBAAiB,WAAYvuC,KAAK87D,aAAa,KAS1DhxD,KAAM,WAEFwH,OAAOm9B,oBAAoB,UAAWzvC,KAAK67D,YAC3CvpD,OAAOm9B,oBAAoB,QAASzvC,KAAK+7D,UACzCzpD,OAAOm9B,oBAAoB,WAAYzvC,KAAK87D,aAE5C97D,KAAK67D,WAAa,KAClB77D,KAAK+7D,SAAW,KAChB/7D,KAAK87D,YAAc,MAUvB/4D,QAAS,WAEL/C,KAAK8K,OAEL9K,KAAK28D,gBAEL38D,KAAK27D,MAAMz4D,OAAS,EACpBlD,KAAKgtC,GAAK,GAgBdmvB,cAAe,SAAUpB,GAErB,GAAuB,gBAAZA,GAEP,IAAK,GAAIxmD,KAAOwmD,GAEZ/6D,KAAK47D,SAASb,EAAQxmD,KAAQ,MAKlCvU,MAAK47D,SAASb,IAAW,GAUjCuB,iBAAkB,SAAUvB,SAEjB/6D,MAAK47D,SAASb,IASzB4B,cAAe,WAEX38D,KAAK47D,aASTv4B,OAAQ,WAIJ,IAFArjC,KAAKgtC,GAAKhtC,KAAK27D,MAAMz4D,OAEdlD,KAAKgtC,MAEJhtC,KAAK27D,MAAM37D,KAAKgtC,KAEhBhtC,KAAK27D,MAAM37D,KAAKgtC,IAAI3J,UAahCi4B,eAAgB,SAAUjtB,GAEtBruC,KAAKquC,MAAQA,EAERruC,KAAKE,KAAK6jC,MAAM0X,SAAYz7C,KAAKy7C,UAMlCz7C,KAAK47D,SAASvtB,EAAM4sB,UAEpB5sB,EAAM8L,iBAGLn6C,KAAK27D,MAAMttB,EAAM4sB,WAElBj7D,KAAK27D,MAAMttB,EAAM4sB,SAAW,GAAI/yC,GAAO4yC,IAAI96D,KAAKE,KAAMmuC,EAAM4sB,UAGhEj7D,KAAK27D,MAAMttB,EAAM4sB,SAASK,eAAejtB,GAEzCruC,KAAKg8D,GAAK3tB,EAAM4sB,QAEZj7D,KAAKgzD,gBAELhzD,KAAKgzD,eAAettD,KAAK1F,KAAKgnC,gBAAiBqH,KAYvDquB,gBAAiB,SAAUruB,GAEvBruC,KAAKy7D,WAAaptB,EAEbruC,KAAKE,KAAK6jC,MAAM0X,SAAYz7C,KAAKy7C,SAKlCz7C,KAAK07D,iBAEL17D,KAAK07D,gBAAgBh2D,KAAK1F,KAAKgnC,gBAAiB41B,OAAOC,aAAaxuB,EAAMyuB,UAAWzuB,IAY7FktB,aAAc,SAAUltB,GAEpBruC,KAAKquC,MAAQA,EAERruC,KAAKE,KAAK6jC,MAAM0X,SAAYz7C,KAAKy7C,UAKlCz7C,KAAK47D,SAASvtB,EAAM4sB,UAEpB5sB,EAAM8L,iBAGLn6C,KAAK27D,MAAMttB,EAAM4sB,WAElBj7D,KAAK27D,MAAMttB,EAAM4sB,SAAW,GAAI/yC,GAAO4yC,IAAI96D,KAAKE,KAAMmuC,EAAM4sB,UAGhEj7D,KAAK27D,MAAMttB,EAAM4sB,SAASM,aAAaltB,GAEnCruC,KAAKizD,cAELjzD,KAAKizD,aAAavtD,KAAK1F,KAAKgnC,gBAAiBqH,KAWrD3K,MAAO,SAAU2b,GAEA91C,SAAT81C,IAAsBA,GAAO,GAEjCr/C,KAAKquC,MAAQ,IAIb,KAFA,GAAIprC,GAAIjD,KAAK27D,MAAMz4D,OAEZD,KAECjD,KAAK27D,MAAM14D,IAEXjD,KAAK27D,MAAM14D,GAAGygC,MAAM2b,IAehCmP,aAAc,SAAUuM,EAAS1U,GAE7B,MAAIrmD,MAAK27D,MAAMZ,GAEJ/6D,KAAK27D,MAAMZ,GAASvM,aAAanI,GAIjC,MAcfmV,WAAY,SAAUT,EAAS1U,GAE3B,MAAIrmD,MAAK27D,MAAMZ,GAEJ/6D,KAAK27D,MAAMZ,GAASS,WAAWnV,GAI/B,MAYfX,OAAQ,SAAUqV,GAEd,MAAI/6D,MAAK27D,MAAMZ,GAEJ/6D,KAAK27D,MAAMZ,GAASrV,OAIpB,OAanBtiD,OAAOC,eAAe6kB,EAAO42B,SAASj8C,UAAW,YAE7CS,IAAK,WAED,MAA4B,MAAxBtD,KAAKquC,MAAMyuB,SAEJ,GAIAF,OAAOC,aAAa78D,KAAKy7D,WAAWqB,aAavD15D,OAAOC,eAAe6kB,EAAO42B,SAASj8C,UAAW,WAE7CS,IAAK,WAED,MAAOtD,MAAK27D,MAAM37D,KAAKg8D,OAM/B9zC,EAAO42B,SAASj8C,UAAUC,YAAcolB,EAAO42B,SAiB/C52B,EAAOu0C,SAEHM,EAAG,IAAIC,WAAW,GAElBC,EAAG,IAAID,WAAW,GAElBE,EAAG,IAAIF,WAAW,GAElBG,EAAG,IAAIH,WAAW,GAElBI,EAAG,IAAIJ,WAAW,GAElBvoC,EAAG,IAAIuoC,WAAW,GAElBK,EAAG,IAAIL,WAAW,GAElBM,EAAG,IAAIN,WAAW,GAElBO,EAAG,IAAIP,WAAW,GAElBQ,EAAG,IAAIR,WAAW,GAElBS,EAAG,IAAIT,WAAW,GAElBU,EAAG,IAAIV,WAAW,GAElBW,EAAG,IAAIX,WAAW,GAElBY,EAAG,IAAIZ,WAAW,GAElBa,EAAG,IAAIb,WAAW,GAElBc,EAAG,IAAId,WAAW,GAElBe,EAAG,IAAIf,WAAW,GAElBgB,EAAG,IAAIhB,WAAW,GAElBiB,EAAG,IAAIjB,WAAW,GAElBkB,EAAG,IAAIlB,WAAW,GAElBmB,EAAG,IAAInB,WAAW,GAElBoB,EAAG,IAAIpB,WAAW,GAElBqB,EAAG,IAAIrB,WAAW,GAElBsB,EAAG,IAAItB,WAAW,GAElBuB,EAAG,IAAIvB,WAAW,GAElBwB,EAAG,IAAIxB,WAAW,GAElByB,KAAM,IAAIzB,WAAW,GAErBnhD,IAAK,IAAImhD,WAAW,GAEpB0B,IAAK,IAAI1B,WAAW,GAEpB2B,MAAO,IAAI3B,WAAW,GAEtB4B,KAAM,IAAI5B,WAAW,GAErB6B,KAAM,IAAI7B,WAAW,GAErB8B,IAAK,IAAI9B,WAAW,GAEpB+B,MAAO,IAAI/B,WAAW,GAEtBgC,MAAO,IAAIhC,WAAW,GAEtBiC,KAAM,IAAIjC,WAAW,GAErBkC,SAAU,GAEVC,SAAU,GAEVC,SAAU,GAEVC,SAAU,GAEVC,SAAU,IAEVC,SAAU,IAEVC,SAAU,IAEVC,SAAU,IAEVC,SAAU,IAEVC,SAAU,IAEVC,gBAAiB,IAEjBC,WAAY,IAEZC,aAAc,IAEdC,gBAAiB,IAEjBC,eAAgB,IAEhBC,cAAe,IAEfC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,GAAI,IAEJC,IAAK,IAELC,IAAK,IAELC,IAAK,IAELC,IAAK,IAELC,IAAK,IAELC,IAAK,IAELC,MAAO,IAEPC,OAAQ,IAERC,MAAO,IAEPC,WAAY,IAEZC,OAAQ,IAERC,cAAe,IAEfC,MAAO,IAEPC,aAAc,IAEdC,eAAgB,IAEhBC,eAAgB,IAEhBC,OAAQ,IAERC,UAAW,EAEXC,IAAK,EAELC,MAAO,GAEPC,MAAO,GAEPC,MAAO,GAEPC,QAAS,GAETC,IAAK,GAELC,UAAW,GAEXC,IAAK,GAELC,SAAU,GAEVC,QAAS,GAETC,UAAW,GAEXC,IAAK,GAELC,KAAM,GAEN9wC,KAAM,GAENE,GAAI,GAEJD,MAAO,GAEPE,KAAM,GAEN4wC,KAAM,GAENC,MAAO,GAEPC,OAAQ,GAERC,OAAQ,GAERC,KAAM,GAENC,SAAU,IAId,KAAK,GAAIxuD,KAAO2T,GAAOu0C,QACfv0C,EAAOu0C,QAAQvlC,eAAe3iB,KAASA,EAAIyuD,MAAM,WACjD96C,EAAO42B,SAASvqC,GAAO2T,EAAOu0C,QAAQloD,GAU9C2T,GAAO+6C,UAAY,aAanB/6C,EAAO+6C,UAAUC,MAAQ,aAEzBh7C,EAAO+6C,UAAUC,MAAMrgE,WAenBw2B,OAEI/1B,IAAK,WAED,MAAO4kB,GAAOrnB,KAAKsiE,UAAUj7C,EAAOrnB,KAAKs9B,SAASn+B,KAAKuB,YAI3DiC,IAAK,SAASC,GAEVzD,KAAKuB,SAAW2mB,EAAOrnB,KAAK+4B,SAAS1R,EAAOrnB,KAAKsiE,UAAU1/D,OAmBvEykB,EAAO+6C,UAAUG,UAAY,aAE7Bl7C,EAAO+6C,UAAUG,UAAUvgE,WAiBvBwgE,KAAM,SAAU/rC,EAAMgsC,EAAWC,EAAMC,GAEnC,MAAIxjE,MAAKyjE,WAEEzjE,KAAKyjE,WAAWJ,KAAK/rC,EAAMgsC,EAAWC,EAAMC,GAFvD,SAqBRt7C,EAAO+6C,UAAUS,SAAW,aAE5Bx7C,EAAO+6C,UAAUS,SAAS7gE,WAatB8gE,UAAU,EASVC,UAEItgE,IAAK,WASD,MAPKtD,MAAK2jE,UAAa3jE,KAAK6jE,mBAExB7jE,KAAKuC,QAAQs2B,SAAS74B,KAAK6F,aAC3B7F,KAAKuC,QAAQ8C,GAAKrF,KAAKE,KAAK2jC,OAAOjrB,KAAKvT,EACxCrF,KAAKuC,QAAQ+C,GAAKtF,KAAKE,KAAK2jC,OAAOjrB,KAAKtT,GAGrCtF,KAAKE,KAAKuE,MAAMo/B,OAAOjrB,KAAK+gB,WAAW35B,KAAKuC,YAmB/D2lB,EAAO+6C,UAAUa,OAAS,aAE1B57C,EAAO+6C,UAAUa,OAAOjhE,WAUpBggB,SAEIvf,IAAK,WAED,MAAOtD,MAAKgI,OAAO3C,EAAIrF,KAAK2G,QAcpCmc,SAEIxf,IAAK,WAED,MAAOtD,MAAKgI,OAAO1C,EAAItF,KAAK4G,SAapCmwB,MAEIzzB,IAAK,WAED,MAAOtD,MAAKqF,EAAIrF,KAAK6iB,UAa7BiU,OAEIxzB,IAAK,WAED,MAAQtD,MAAKqF,EAAIrF,KAAK2G,MAAS3G,KAAK6iB,UAa5C2W,KAEIl2B,IAAK,WAED,MAAOtD,MAAKsF,EAAItF,KAAK8iB,UAa7B2W,QAEIn2B,IAAK,WAED,MAAQtD,MAAKsF,EAAItF,KAAK4G,OAAU5G,KAAK8iB,WAmBjDoF,EAAO+6C,UAAUc,WAAa,aAY9B77C,EAAO+6C,UAAUc,WAAWlhE,UAAUwvC,WAAa,WAO/C,MALIryC,MAAK4B,QAEL5B,KAAK4B,OAAOywC,WAAWryC,MAGpBA,MAcXkoB,EAAO+6C,UAAUc,WAAWlhE,UAAU0vC,WAAa,WAO/C,MALIvyC,MAAK4B,QAEL5B,KAAK4B,OAAO2wC,WAAWvyC,MAGpBA,MAcXkoB,EAAO+6C,UAAUc,WAAWlhE,UAAU2vC,OAAS,WAO3C,MALIxyC,MAAK4B,QAEL5B,KAAK4B,OAAO4wC,OAAOxyC,MAGhBA,MAcXkoB,EAAO+6C,UAAUc,WAAWlhE,UAAU4vC,SAAW,WAO7C,MALIzyC,MAAK4B,QAEL5B,KAAK4B,OAAO6wC,SAASzyC,MAGlBA,MAeXkoB,EAAO+6C,UAAUe,KAAO,aAUxB97C,EAAO+6C,UAAUe,KAAKC,QAAU,SAAUC,GAGtCh8C,EAAOiN,MAAMwC,eAAe33B,KAAMkoB,EAAO+6C,UAAUe,KAAKnhE,WAExD7C,KAAKkkE,aAEL,KAAK,GAAIjhE,GAAI,EAAGA,EAAIihE,EAAWhhE,OAAQD,IACvC,CACI,GAAIwS,GAAKyuD,EAAWjhE,GAChB40B,GAAU,CAEH,aAAPpiB,IAEAoiB,GAAU,GAGd3P,EAAOiN,MAAMwC,eAAe33B,KAAMkoB,EAAO+6C,UAAUxtD,GAAI5S,UAAWg1B,GAElE73B,KAAKkkE,WAAWzuD,IAAM,IAa9ByS,EAAO+6C,UAAUe,KAAKrwD,KAAO,SAAUzT,EAAMmF,EAAGC,EAAGiP,EAAKzI,GAEpD9L,KAAKE,KAAOA,EAEZF,KAAKuU,IAAMA,EAEXvU,KAAKmB,SAASqC,IAAI6B,EAAGC,GACrBtF,KAAKyE,MAAQ,GAAIyjB,GAAO9mB,MAAMiE,EAAGC,GACjCtF,KAAKmkE,iBAAmB,GAAIj8C,GAAO9mB,MAAMiE,EAAGC,GAE5CtF,KAAKsxC,OAAS,GAAIppB,GAAOk8C,OAAOpkE,MAEhCA,KAAKuC,QAAU,GAAI2lB,GAAO1lB,UAEtBxC,KAAKkkE,WAAWG,cAGhBrkE,KAAKoxC,KAAOpxC,KAAKoxC,MAGjBpxC,KAAKkkE,WAAWd,YAEhBpjE,KAAKyjE,WAAa,GAAIv7C,GAAOo8C,iBAAiBtkE,OAG9CA,KAAKkkE,WAAWK,aAAuB,OAARhwD,GAE/BvU,KAAKu1C,YAAYhhC,EAAKzI,GAGtB9L,KAAKkkE,WAAWM,gBAEhBxkE,KAAK2wC,aAAe,GAAIzoB,GAAO9mB,MAAMiE,EAAGC,KAKhD4iB,EAAO+6C,UAAUe,KAAK79D,UAAY,WAE9B,GAAInG,KAAKmwC,eAGL,WADAnwC,MAAK+C,SAOT,IAHA/C,KAAKmkE,iBAAiB3gE,IAAIxD,KAAKyE,MAAMY,EAAGrF,KAAKyE,MAAMa,GACnDtF,KAAKykE,iBAAmBzkE,KAAKuB,UAExBvB,KAAKqtC,SAAWrtC,KAAK4B,OAAOyrC,OAG7B,MADArtC,MAAKm0C,cAAgB,IACd,CAGXn0C,MAAKyE,MAAMm0B,MAAM54B,KAAKE,KAAK2jC,OAAOx+B,EAAIrF,KAAK+B,eAAe+C,GAAI9E,KAAKE,KAAK2jC,OAAOv+B,EAAItF,KAAK+B,eAAegD,IAEnG/E,KAAKyB,UAELzB,KAAKm0C,cAAgBn0C,KAAKE,KAAK2B,MAAMyrC,wBAGrCttC,KAAK4H,UAEL5H,KAAK4H,QAAQmG,gBAAiB,GAG9B/N,KAAKyjE,YAELzjE,KAAKyjE,WAAWpgC,SAGhBrjC,KAAKoxC,MAELpxC,KAAKoxC,KAAKjrC,WAGd,KAAK,GAAIlD,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAGkD,WAGrB,QAAO,GAIX+hB,EAAO+6C,UAAUe,KAAKnhE,WAMlB3C,KAAM,KAQNo3B,KAAM,GAON4sC,cAUA/sD,EAAG,EAQHm6B,OAAQ/nC,OAQRk6D,WAAYl6D,OAUZgL,IAAK,GAQL9P,MAAO,KAOPqjC,OAAO,EAOPq8B,iBAAkB,KAOlBM,iBAAkB,EAQlBtwB,cAAe,EAQfuwB,OAAO,EAWPv0B,gBAAgB,EAMhB5tC,QAAS,KAMToiE,SAAS,EAaTt3B,QAEI/pC,IAAK,WAED,MAAOtD,MAAK2kE,SAIhBnhE,IAAK,SAAUC,GAEPA,GAEAzD,KAAK2kE,SAAU,EAEX3kE,KAAKoxC,MAAQpxC,KAAKoxC,KAAKx8B,OAASsT,EAAO4nB,QAAQ80B,MAE/C5kE,KAAKoxC,KAAKjF,aAGdnsC,KAAKyB,SAAU,IAIfzB,KAAK2kE,SAAU,EAEX3kE,KAAKoxC,MAAQpxC,KAAKoxC,KAAKx8B,OAASsT,EAAO4nB,QAAQ80B,MAE/C5kE,KAAKoxC,KAAKyzB,kBAGd7kE,KAAKyB,SAAU,KAc3B4hC,OAAQ,aAUR6J,WAAY,WAEJltC,KAAK8kE,cAEL9kE,KAAKuU,IAAIzN,SAGT9G,KAAKkkE,WAAWG,aAEhBn8C,EAAO+6C,UAAUoB,YAAYn3B,WAAWxnC,KAAK1F,MAG7CA,KAAKkkE,WAAWM,eAEhBt8C,EAAO+6C,UAAUuB,cAAct3B,WAAWxnC,KAAK1F,KAGnD,KAAK,GAAIiD,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAGiqC,eAmB7BhlB,EAAO+6C,UAAU8B,KAAO,aAExB78C,EAAO+6C,UAAU8B,KAAKliE,WASlBmiE,SAAU,KAMVC,MAAO,KAmBPl4D,KAAM,SAASm4D,EAAM3tC,GAEJhuB,SAATguB,IAAsBA,GAAO,GAE7B2tC,GAEI3tC,GAA0B,OAAlBv3B,KAAKglE,SAEbhlE,KAAKglE,SAASpsC,MAAMssC,EAAK7/D,EAAG6/D,EAAK5/D,EAAG4/D,EAAKv+D,MAAOu+D,EAAKt+D,QAEhD2wB,GAA0B,OAAlBv3B,KAAKglE,SAElBhlE,KAAKglE,SAAW,GAAI98C,GAAO1lB,UAAU0iE,EAAK7/D,EAAG6/D,EAAK5/D,EAAG4/D,EAAKv+D,MAAOu+D,EAAKt+D,QAItE5G,KAAKglE,SAAWE,EAGpBllE,KAAKmlE,eAILnlE,KAAKilE,MAAQ,KACbjlE,KAAKglE,SAAW,KAEhBhlE,KAAKolE,eAWbD,WAAY,WAER,GAAKnlE,KAAKglE,SAAV,CAKAhlE,KAAKilE,MAAQ/8C,EAAO1lB,UAAUi1B,MAAMz3B,KAAKglE,SAAUhlE,KAAKilE,OACxDjlE,KAAKilE,MAAM5/D,GAAKrF,KAAKkwB,OAAO7qB,EAC5BrF,KAAKilE,MAAM3/D,GAAKtF,KAAKkwB,OAAO5qB,CAE5B,IAAI6I,GAAKtN,KAAKm7B,IAAIh8B,KAAKkwB,OAAO7qB,EAAGrF,KAAKilE,MAAM5/D,GACxC+I,EAAKvN,KAAKm7B,IAAIh8B,KAAKkwB,OAAO5qB,EAAGtF,KAAKilE,MAAM3/D,GACxCuI,EAAKhN,KAAKi7B,IAAI97B,KAAKkwB,OAAO4G,MAAO92B,KAAKilE,MAAMnuC,OAAS3oB,EACrDL,EAAKjN,KAAKi7B,IAAI97B,KAAKkwB,OAAOuJ,OAAQz5B,KAAKilE,MAAMxrC,QAAUrrB,CAE3DpO,MAAK4H,QAAQmF,KAAK1H,EAAI8I,EACtBnO,KAAK4H,QAAQmF,KAAKzH,EAAI8I,EACtBpO,KAAK4H,QAAQmF,KAAKpG,MAAQkH,EAC1B7N,KAAK4H,QAAQmF,KAAKnG,OAASkH,EAE3B9N,KAAK4H,QAAQkE,MAAMnF,MAAQ9F,KAAKi7B,IAAIjuB,EAAI7N,KAAKglE,SAASr+D,OACtD3G,KAAK4H,QAAQkE,MAAMlF,OAAS/F,KAAKi7B,IAAIhuB,EAAI9N,KAAKglE,SAASp+D,QAEvD5G,KAAK4H,QAAQjB,MAAQ3G,KAAK4H,QAAQkE,MAAMnF,MACxC3G,KAAK4H,QAAQhB,OAAS5G,KAAK4H,QAAQkE,MAAMlF,OAEzC5G,KAAK4H,QAAQuiB,gBAiBrBjC,EAAO+6C,UAAUoC,MAAQ,aAEzBn9C,EAAO+6C,UAAUoC,MAAMxiE,WAUnBwhD,QAEI/gD,IAAK,WAED,MAAOtD,MAAKyE,MAAMY,EAAIrF,KAAKmkE,iBAAiB9+D,IAcpD89C,QAEI7/C,IAAK,WAED,MAAOtD,MAAKyE,MAAMa,EAAItF,KAAKmkE,iBAAiB7+D,IAYpDi/C,QAEIjhD,IAAK,WAED,MAAOtD,MAAKuB,SAAWvB,KAAKykE,oBAmBxCv8C,EAAO+6C,UAAUqC,QAAU,aAE3Bp9C,EAAO+6C,UAAUqC,QAAQziE,WAQrBkzC,cAAc,EAWdhzC,QAAS,SAAUozC,GAEf,GAAkB,OAAdn2C,KAAKE,OAAiBF,KAAK+1C,aAA/B,CAEwBxsC,SAApB4sC,IAAiCA,GAAkB,GAEvDn2C,KAAK+1C,cAAe,EAEhB/1C,KAAKsxC,QAELtxC,KAAKsxC,OAAOi0B,mBAAmBvlE,MAG/BA,KAAK4B,SAED5B,KAAK4B,iBAAkBsmB,GAAOwnB,MAE9B1vC,KAAK4B,OAAO8O,OAAO1Q,MAInBA,KAAK4B,OAAO6G,YAAYzI,OAI5BA,KAAK+jC,OAEL/jC,KAAK+jC,MAAMhhC,UAGX/C,KAAKyjE,YAELzjE,KAAKyjE,WAAW1gE,UAGhB/C,KAAKoxC,MAELpxC,KAAKoxC,KAAKruC,UAGV/C,KAAKsxC,QAELtxC,KAAKsxC,OAAOvuC,SAGhB,IAAIE,GAAIjD,KAAKgD,SAASE,MAEtB,IAAIizC,EAEA,KAAOlzC,KAEHjD,KAAKgD,SAASC,GAAGF,QAAQozC,OAK7B,MAAOlzC,KAEHjD,KAAKyI,YAAYzI,KAAKgD,SAASC,GAInCjD,MAAKilE,QAELjlE,KAAKilE,MAAQ,MAGbjlE,KAAKkwB,SAELlwB,KAAKkwB,OAAS,MAGdhI,EAAOs9C,OAASxlE,KAAKuU,cAAe2T,GAAOs9C,OAE3CxlE,KAAKuU,IAAIkxD,eAAe/0D,OAAO1Q,KAAK0lE,YAAa1lE,MAGjDkoB,EAAOy9C,YAAc3lE,KAAK4lE,UAE1B5lE,KAAK4lE,YAGT5lE,KAAKiwC,OAAQ,EACbjwC,KAAKqtC,QAAS,EACdrtC,KAAKyB,SAAU,EAEfzB,KAAK+H,QAAU,KACf/H,KAAKiL,KAAO,KACZjL,KAAKE,KAAO,KAGZF,KAAK2B,YAAa,EAEd3B,KAAKyF,oBAELzF,KAAKyF,kBAAoB,KACzBzF,KAAK2F,yBAA2B,MAIpC3F,KAAK0B,QAAU,KACf1B,KAAK4B,OAAS,KACd5B,KAAK6B,MAAQ,KACb7B,KAAK+B,eAAiB,KACtB/B,KAAKsC,WAAa,KAClBtC,KAAKuC,QAAU,KACfvC,KAAKyC,eAAiB,KACtBzC,KAAK0C,MAAQ,KAEb1C,KAAKmD,uBAELnD,KAAK+1C,cAAe,EACpB/1C,KAAKmwC,gBAAiB,KA4B9BjoB,EAAOk8C,OAAS,SAAUpiD,GAKtBhiB,KAAK4B,OAASogB,GAMlBkG,EAAOk8C,OAAOvhE,WAOVE,QAAS,WAEL/C,KAAK6lE,QAAU,KAEX7lE,KAAK8lE,YAAwB9lE,KAAK8lE,WAAW37B,UAC7CnqC,KAAK+lE,iBAAwB/lE,KAAK+lE,gBAAgB57B,UAClDnqC,KAAKgmE,qBAAwBhmE,KAAKgmE,oBAAoB77B,UACtDnqC,KAAKimE,qBAAwBjmE,KAAKimE,oBAAoB97B,UACtDnqC,KAAKkmE,WAAwBlmE,KAAKkmE,UAAU/7B,UAC5CnqC,KAAKmmE,YAAwBnmE,KAAKmmE,WAAWh8B,UAC7CnqC,KAAKomE,gBAAwBpmE,KAAKomE,eAAej8B,UACjDnqC,KAAKqmE,gBAAwBrmE,KAAKqmE,eAAel8B,UAEjDnqC,KAAKsmE,cAAwBtmE,KAAKsmE,aAAan8B,UAC/CnqC,KAAKumE,aAAwBvmE,KAAKumE,YAAYp8B,UAC9CnqC,KAAKwmE,cAAwBxmE,KAAKwmE,aAAar8B,UAC/CnqC,KAAKymE,YAAwBzmE,KAAKymE,WAAWt8B,UAC7CnqC,KAAK0mE,cAAwB1mE,KAAK0mE,aAAav8B,UAC/CnqC,KAAK2mE,eAAwB3mE,KAAK2mE,cAAcx8B,UAChDnqC,KAAK4mE,aAAwB5mE,KAAK4mE,YAAYz8B,UAE9CnqC,KAAK6mE,mBAAwB7mE,KAAK6mE,kBAAkB18B,UACpDnqC,KAAK8mE,sBAAwB9mE,KAAK8mE,qBAAqB38B,UACvDnqC,KAAK+mE,kBAAwB/mE,KAAK+mE,iBAAiB58B,WAS3DskB,eAAgB,KAKhBE,mBAAoB,KAKpBqY,mBAAoB,KAKpBx2B,UAAW,KAKXy2B,SAAU,KAKVC,UAAW,KAKXC,cAAe,KAKfC,cAAe,KAKfC,YAAa,KAKbC,WAAY,KAKZC,YAAa,KAKbC,UAAW,KAKXC,YAAa,KAKb3W,aAAc,KAKd4W,WAAY,KAKZC,iBAAkB,KAKlBC,oBAAqB,KAKrBC,gBAAiB,MAIrB3/C,EAAOk8C,OAAOvhE,UAAUC,YAAcolB,EAAOk8C,MAK7C,KAAK,GAAI9uC,KAAQpN,GAAOk8C,OAAOvhE,UAEtBqlB,EAAOk8C,OAAOvhE,UAAUq0B,eAAe5B,IACjB,IAAvBA,EAAKrsB,QAAQ,OACqB,OAAlCif,EAAOk8C,OAAOvhE,UAAUyyB,KAK5B,SAAWA,EAAMwyC,GACb,YAGA1kE,QAAOC,eAAe6kB,EAAOk8C,OAAOvhE,UAAWyyB,GAC3ChyB,IAAK,WACD,MAAOtD,MAAK8nE,KAAa9nE,KAAK8nE,GAAW,GAAI5/C,GAAOud,WAK5Dvd,EAAOk8C,OAAOvhE,UAAUyyB,EAAO,aAAe,WAC1C,MAAOt1B,MAAK8nE,GAAW9nE,KAAK8nE,GAASrgC,SAASxgC,MAAMjH,KAAK8nE,GAAUvzC,WAAa,OAGrFe,EAAM,IAAMA,EAgBnBpN,GAAO+6C,UAAUuB,cAAgB,aAQjCt8C,EAAO+6C,UAAUuB,cAAct3B,WAAa,WAEpCltC,KAAK0wC,gBAEL1wC,KAAKmB,SAASkE,GAAKrF,KAAKE,KAAK2jC,OAAOjrB,KAAKvT,EAAIrF,KAAK2wC,aAAatrC,GAAKrF,KAAKE,KAAK2jC,OAAOxiC,MAAMgE,EAC3FrF,KAAKmB,SAASmE,GAAKtF,KAAKE,KAAK2jC,OAAOjrB,KAAKtT,EAAItF,KAAK2wC,aAAarrC,GAAKtF,KAAKE,KAAK2jC,OAAOxiC,MAAMiE,IAKnG4iB,EAAO+6C,UAAUuB,cAAc3hE,WAM3BklE,gBAAgB,EAmBhBr3B,eAEIptC,IAAK,WAED,MAAOtD,MAAK+nE,gBAIhBvkE,IAAK,SAAUC,GAEPA,GAEAzD,KAAK+nE,gBAAiB,EACtB/nE,KAAK2wC,aAAantC,IAAIxD,KAAKqF,EAAGrF,KAAKsF,IAInCtF,KAAK+nE,gBAAiB,IAalCp3B,aAAc,GAAIzoB,GAAO9mB,OAiB7B8mB,EAAO+6C,UAAU+E,OAAS,aAE1B9/C,EAAO+6C,UAAU+E,OAAOnlE,WAUpBolE,OAAQ,EASRC,UAAW,IAWXC,OAAQ,SAASr5C,GAYb,MAVI9uB,MAAKiwC,QAELjwC,KAAKioE,QAAUn5C,EAEX9uB,KAAKioE,QAAU,GAEfjoE,KAAKooE,QAINpoE,MAWXqoE,KAAM,SAASv5C,GAYX,MAVI9uB,MAAKiwC,QAELjwC,KAAKioE,QAAUn5C,EAEX9uB,KAAKioE,OAASjoE,KAAKkoE,YAEnBloE,KAAKioE,OAASjoE,KAAKkoE,YAIpBloE,OAiBfkoB,EAAO+6C,UAAUqF,SAAW,aAE5BpgD,EAAO+6C,UAAUqF,SAASzlE,WAYtB+gE,UAEItgE,IAAK,WAED,MAAOtD,MAAKE,KAAKuE,MAAMo/B,OAAOjrB,KAAK+gB,WAAW35B,KAAKuC,YAmB/D2lB,EAAO+6C,UAAUsF,aAAe,aAEhCrgD,EAAO+6C,UAAUsF,aAAa1lE,WAU1BkhC,MAAO,KAcPykC,cAEIllE,IAAK,WAED,MAAQtD,MAAK+jC,OAAS/jC,KAAK+jC,MAAM0X,SAIrCj4C,IAAK,SAAUC,GAEPA,EAEmB,OAAfzD,KAAK+jC,OAEL/jC,KAAK+jC,MAAQ,GAAI7b,GAAOqkC,aAAavsD,MACrCA,KAAK+jC,MAAM74B,SAENlL,KAAK+jC,QAAU/jC,KAAK+jC,MAAM0X,SAE/Bz7C,KAAK+jC,MAAM74B,QAKXlL,KAAK+jC,OAAS/jC,KAAK+jC,MAAM0X,SAEzBz7C,KAAK+jC,MAAMj5B,UAuB/Bod,EAAO+6C,UAAUwF,QAAU,aAQ3BvgD,EAAO+6C,UAAUwF,QAAQtiE,UAAY,WAGjC,IAAInG,KAAK2jE,UAAY3jE,KAAK6jE,oBAEtB7jE,KAAKuC,QAAQs2B,SAAS74B,KAAK6F,aAE3B7F,KAAKuC,QAAQ8C,GAAKrF,KAAKE,KAAK2jC,OAAOjrB,KAAKvT,EACxCrF,KAAKuC,QAAQ+C,GAAKtF,KAAKE,KAAK2jC,OAAOjrB,KAAKtT,EAEpCtF,KAAK2jE,WAGD3jE,KAAKE,KAAKuE,MAAMo/B,OAAOjrB,KAAK+gB,WAAW35B,KAAKuC,UAE5CvC,KAAK2B,YAAa,EAClB3B,KAAKE,KAAKuE,MAAMo/B,OAAOtB,eAIvBviC,KAAK2B,YAAa,GAItB3B,KAAK6jE,kBAGL,GAAI7jE,KAAK0oE,mBAAqB1oE,KAAKE,KAAKuE,MAAM+B,OAAOmzB,WAAW35B,KAAKuC,SAEjEvC,KAAK0oE,mBAAoB,EACzB1oE,KAAKsxC,OAAOq3B,uBAAuB3oE,UAElC,KAAKA,KAAK0oE,oBAAsB1oE,KAAKE,KAAKuE,MAAM+B,OAAOmzB,WAAW35B,KAAKuC,WAGxEvC,KAAK0oE,mBAAoB,EACzB1oE,KAAKsxC,OAAOs3B,uBAAuB5oE,MAE/BA,KAAK6oE,iBAGL,MADA7oE,MAAKooE,QACE,CAMvB,QAAO,GAIXlgD,EAAO+6C,UAAUwF,QAAQ5lE,WAmBrBghE,kBAAkB,EAQlBgF,iBAAiB,EAMjBH,mBAAmB,EAQnBI,SAEIxlE,IAAK,WAED,MAAOtD,MAAKE,KAAKuE,MAAM+B,OAAOmzB,WAAW35B,KAAK6F,gBAmB1DqiB,EAAO+6C,UAAU8F,SAAW,aAQ5B7gD,EAAO+6C,UAAU8F,SAAS5iE,UAAY,WAElC,MAAInG,MAAKgpE,SAAW,IAEhBhpE,KAAKgpE,UAAYhpE,KAAKE,KAAKikC,KAAK8kC,iBAE5BjpE,KAAKgpE,UAAY,IAEjBhpE,KAAKooE,QACE,IAIR,GAIXlgD,EAAO+6C,UAAU8F,SAASlmE,WAatBotC,OAAO,EAeP+4B,SAAU,EAaVE,OAAQ,SAAUjB,GAkBd,MAhBe1+D,UAAX0+D,IAAwBA,EAAS,GAErCjoE,KAAKiwC,OAAQ,EACbjwC,KAAKqtC,QAAS,EACdrtC,KAAKyB,SAAU,EAEU,kBAAdzB,MAAKqoE,MAEZroE,KAAKqoE,KAAKJ,GAGVjoE,KAAKsxC,QAELtxC,KAAKsxC,OAAO63B,mBAAmBnpE,MAG5BA,MAiBXooE,KAAM,WAWF,MATApoE,MAAKiwC,OAAQ,EACbjwC,KAAKqtC,QAAS,EACdrtC,KAAKyB,SAAU,EAEXzB,KAAKsxC,QAELtxC,KAAKsxC,OAAO83B,kBAAkBppE,MAG3BA,OAiBfkoB,EAAO+6C,UAAUsB,YAAc,aAE/Br8C,EAAO+6C,UAAUsB,YAAY1hE,WAMzBiiE,cAAc,EAMd50C,OAAQ,KAgBRqlB,YAAa,SAAUhhC,EAAKzI,EAAOu9D,GAE/Bv9D,EAAQA,GAAS,GAEZu9D,GAAmC9/D,SAAlB8/D,IAAgCrpE,KAAKyjE,YAEvDzjE,KAAKyjE,WAAW34D,OAGpB9K,KAAKuU,IAAMA,EACXvU,KAAK8kE,cAAe,CACpB,IAAIhhC,GAAQ9jC,KAAKE,KAAK4jC,MAElB7Z,GAAW,EACXgwB,GAAYj6C,KAAK4H,QAAQ+D,YAAYrF,SAEzC,IAAI4hB,EAAOxhB,eAAiB6N,YAAe2T,GAAOxhB,cAE9C1G,KAAKuU,IAAMA,EAAIA,IACfvU,KAAK+L,WAAWwI,OAEf,IAAI2T,EAAOohD,YAAc/0D,YAAe2T,GAAOohD,WAEhDtpE,KAAK8kE,cAAe,EAEpB9kE,KAAK+L,WAAWwI,EAAI3M,SAEhBk8B,EAAMylC,aAAah1D,EAAIA,IAAK2T,EAAO0wB,MAAMhmB,cAEzC3I,GAAYjqB,KAAKyjE,WAAW+F,cAAc1lC,EAAM2lC,aAAal1D,EAAIA,IAAK2T,EAAO0wB,MAAMhmB,YAAa9mB,QAGnG,IAAIoc,EAAOs9C,OAASjxD,YAAe2T,GAAOs9C,MAC/C,CACIxlE,KAAK8kE,cAAe,CAGpB,IAAI74D,GAAQsI,EAAI3M,QAAQqE,KACxBjM,MAAK+L,WAAWwI,EAAI3M,SACpB5H,KAAKiqB,SAAS1V,EAAI3M,QAAQkE,MAAM2rB,SAChCljB,EAAIkxD,eAAe/pC,IAAI17B,KAAK0lE,YAAa1lE,MACzCA,KAAK4H,QAAQqE,MAAQA,MAEpB,IAAIsI,YAAetU,MAAKoL,QAEzBrL,KAAK+L,WAAWwI,OAGpB,CACI,GAAIm1D,GAAM5lC,EAAM7Y,SAAS1W,GAAK,EAE9BvU,MAAKuU,IAAMm1D,EAAIn1D,IACfvU,KAAK+L,WAAW,GAAI9L,MAAKoL,QAAQq+D,EAAIC,OAErC1/C,GAAYjqB,KAAKyjE,WAAW+F,cAAcE,EAAIE,UAAW99D,GAGzDme,IAEAjqB,KAAKkwB,OAAShI,EAAO1lB,UAAUi1B,MAAMz3B,KAAK4H,QAAQkE,QAGjDmuC,IAEDj6C,KAAK4H,QAAQ+D,YAAYrF,UAAY,IAa7C2jB,SAAU,SAAUne,GAEhB9L,KAAKkwB,OAASpkB,EAEd9L,KAAK4H,QAAQkE,MAAMzG,EAAIyG,EAAMzG,EAC7BrF,KAAK4H,QAAQkE,MAAMxG,EAAIwG,EAAMxG,EAC7BtF,KAAK4H,QAAQkE,MAAMnF,MAAQmF,EAAMnF,MACjC3G,KAAK4H,QAAQkE,MAAMlF,OAASkF,EAAMlF,OAElC5G,KAAK4H,QAAQmF,KAAK1H,EAAIyG,EAAMzG,EAC5BrF,KAAK4H,QAAQmF,KAAKzH,EAAIwG,EAAMxG,EAC5BtF,KAAK4H,QAAQmF,KAAKpG,MAAQmF,EAAMnF,MAChC3G,KAAK4H,QAAQmF,KAAKnG,OAASkF,EAAMlF,OAE7BkF,EAAMwkB,SAEFtwB,KAAK4H,QAAQ6F,MAEbzN,KAAK4H,QAAQ6F,KAAKpI,EAAIyG,EAAMykB,kBAC5BvwB,KAAK4H,QAAQ6F,KAAKnI,EAAIwG,EAAM0kB,kBAC5BxwB,KAAK4H,QAAQ6F,KAAK9G,MAAQmF,EAAMqkB,YAChCnwB,KAAK4H,QAAQ6F,KAAK7G,OAASkF,EAAMukB,aAIjCrwB,KAAK4H,QAAQ6F,MAASpI,EAAGyG,EAAMykB,kBAAmBjrB,EAAGwG,EAAM0kB,kBAAmB7pB,MAAOmF,EAAMqkB,YAAavpB,OAAQkF,EAAMukB,aAG1HrwB,KAAK4H,QAAQjB,MAAQmF,EAAMqkB,YAC3BnwB,KAAK4H,QAAQhB,OAASkF,EAAMukB,YAC5BrwB,KAAK4H,QAAQkE,MAAMnF,MAAQmF,EAAMqkB,YACjCnwB,KAAK4H,QAAQkE,MAAMlF,OAASkF,EAAMukB,cAE5BvkB,EAAMwkB,SAAWtwB,KAAK4H,QAAQ6F,OAEpCzN,KAAK4H,QAAQ6F,KAAO,MAGpBzN,KAAKglE,UAELhlE,KAAKmlE,aAGTnlE,KAAK4H,QAAQmG,gBAAiB,EAE9B/N,KAAK4H,QAAQuiB,aAETnqB,KAAKwiB,gBAELxiB,KAAKyvB,gBAAiB,IAgB9Bi2C,YAAa,SAAU9jE,EAAQ+E,EAAOC,GAElC5G,KAAK4H,QAAQkE,MAAMjE,OAAOlB,EAAOC,GACjC5G,KAAK4H,QAAQqiB,SAASjqB,KAAK4H,QAAQkE,QASvCs5D,WAAY,WAEJplE,KAAKkwB,QAELlwB,KAAKiqB,SAASjqB,KAAKkwB,SAkB3BpkB,OAEIxI,IAAK,WACD,MAAOtD,MAAKyjE,WAAW33D,OAG3BtI,IAAK,SAAUC,GACXzD,KAAKyjE,WAAW33D,MAAQrI,IAkBhComE,WAEIvmE,IAAK,WACD,MAAOtD,MAAKyjE,WAAWoG,WAG3BrmE,IAAK,SAAUC,GACXzD,KAAKyjE,WAAWoG,UAAYpmE,KAkBxCykB,EAAO+6C,UAAU6G,QAAU,aAE3B5hD,EAAO+6C,UAAU6G,QAAQjnE,WAerBknE,QAAS,SAAUhvD,GAEf,MAAOmN,GAAO1lB,UAAUm3B,WAAW35B,KAAK6F,YAAakV,EAAclV,eAkB3EqiB,EAAO+6C,UAAUoB,YAAc,aAQ/Bn8C,EAAO+6C,UAAUoB,YAAYl+D,UAAY,WAErC,MAAInG,MAAK0kE,OAAS1kE,KAAKqtC,QAEnBrtC,KAAKyE,MAAMm0B,MAAM54B,KAAK4B,OAAOT,SAASkE,EAAIrF,KAAKmB,SAASkE,EAAGrF,KAAK4B,OAAOT,SAASmE,EAAItF,KAAKmB,SAASmE,GAClGtF,KAAK+B,eAAe+C,GAAK9E,KAAKyE,MAAMY,EACpCrF,KAAK+B,eAAegD,GAAK/E,KAAKyE,MAAMa,EAEpCtF,KAAKmkE,iBAAiB3gE,IAAIxD,KAAKyE,MAAMY,EAAGrF,KAAKyE,MAAMa,GACnDtF,KAAKykE,iBAAmBzkE,KAAKuB,SAEzBvB,KAAKoxC,MAELpxC,KAAKoxC,KAAKjrC,YAGdnG,KAAK0kE,OAAQ,GAEN,IAGX1kE,KAAKmkE,iBAAiB3gE,IAAIxD,KAAKyE,MAAMY,EAAGrF,KAAKyE,MAAMa,GACnDtF,KAAKykE,iBAAmBzkE,KAAKuB,SAExBvB,KAAK2kE,SAAY3kE,KAAK4B,OAAOyrC,QAM3B,GAJHrtC,KAAKm0C,cAAgB,IACd,KAafjsB,EAAO+6C,UAAUoB,YAAYn3B,WAAa,WAElCltC,KAAKqtC,QAAUrtC,KAAKoxC,MAEpBpxC,KAAKoxC,KAAKlE,cAKlBhlB,EAAO+6C,UAAUoB,YAAYxhE,WAqBzBuuC,KAAM,KAON/rC,GAEI/B,IAAK,WAED,MAAOtD,MAAKmB,SAASkE,GAIzB7B,IAAK,SAAUC,GAEXzD,KAAKmB,SAASkE,EAAI5B,EAEdzD,KAAKoxC,OAASpxC,KAAKoxC,KAAK39B,QAExBzT,KAAKoxC,KAAK44B,QAAS,KAY/B1kE,GAEIhC,IAAK,WAED,MAAOtD,MAAKmB,SAASmE,GAIzB9B,IAAK,SAAUC,GAEXzD,KAAKmB,SAASmE,EAAI7B,EAEdzD,KAAKoxC,OAASpxC,KAAKoxC,KAAK39B,QAExBzT,KAAKoxC,KAAK44B,QAAS,MAoBnC9hD,EAAO+6C,UAAUgH,MAAQ,aAkBzB/hD,EAAO+6C,UAAUgH,MAAMpnE,UAAU6gC,MAAQ,SAAUr+B,EAAGC,EAAG2iE,GA+BrD,MA7Be1+D,UAAX0+D,IAAwBA,EAAS,GAErCjoE,KAAKyE,MAAMjB,IAAI6B,EAAGC,GAClBtF,KAAKmB,SAASqC,IAAI6B,EAAGC,GAErBtF,KAAK0kE,OAAQ,EACb1kE,KAAKqtC,QAAS,EACdrtC,KAAKyB,SAAU,EACfzB,KAAK2B,YAAa,EAEd3B,KAAKkkE,WAAWuE,UAEhBzoE,KAAK0oE,mBAAoB,GAGzB1oE,KAAKkkE,WAAW6E,WAEhB/oE,KAAKiwC,OAAQ,EACbjwC,KAAKioE,OAASA,GAGdjoE,KAAKkkE,WAAWG,aAEZrkE,KAAKoxC,MAELpxC,KAAKoxC,KAAK1N,MAAMr+B,EAAGC,GAAG,GAAO,GAI9BtF,MAeXkoB,EAAO+6C,UAAUiH,YAAc,aAE/BhiD,EAAO+6C,UAAUiH,YAAYrnE,WAMzB4C,kBAAmB,KAMnBE,yBAA0B3F,KAU1BmqE,SAAU,KAUVC,SAAU,KASVC,eAAgB,SAAUplE,GAElBjF,KAAKmqE,WAEDllE,EAAGP,EAAI1E,KAAKmqE,SAAS9kE,IAErBJ,EAAGP,EAAI1E,KAAKmqE,SAAS9kE,GAGrBJ,EAAGJ,EAAI7E,KAAKmqE,SAAS7kE,IAErBL,EAAGJ,EAAI7E,KAAKmqE,SAAS7kE,IAIzBtF,KAAKoqE,WAEDnlE,EAAGP,EAAI1E,KAAKoqE,SAAS/kE,IAErBJ,EAAGP,EAAI1E,KAAKoqE,SAAS/kE,GAGrBJ,EAAGJ,EAAI7E,KAAKoqE,SAAS9kE,IAErBL,EAAGJ,EAAI7E,KAAKoqE,SAAS9kE,KA+BjCglE,eAAgB,SAAUngE,EAAME,EAAMC,EAAMC,GAE3BhB,SAATc,EAGAA,EAAOC,EAAOC,EAAOJ,EAEPZ,SAATe,IAGLA,EAAOC,EAAOF,EACdA,EAAOF,GAGE,OAATA,EAEAnK,KAAKmqE,SAAW,KAIZnqE,KAAKmqE,SAELnqE,KAAKmqE,SAAS3mE,IAAI2G,EAAME,GAIxBrK,KAAKmqE,SAAW,GAAIjiD,GAAO9mB,MAAM+I,EAAME,GAIlC,OAATC,EAEAtK,KAAKoqE,SAAW,KAIZpqE,KAAKoqE,SAELpqE,KAAKoqE,SAAS5mE,IAAI8G,EAAMC,GAIxBvK,KAAKoqE,SAAW,GAAIliD,GAAO9mB,MAAMkJ,EAAMC,GAIzB,OAAlBvK,KAAKmqE,SAELnqE,KAAKyF,kBAAoB,MAIzBzF,KAAKyF,kBAAoBzF,KAAKqqE,eAC9BrqE,KAAK2F,yBAA2B3F,QAiB5CkoB,EAAO+6C,UAAUsH,SAAW,aAE5BriD,EAAO+6C,UAAUsH,SAAS1nE,WAWtBo3C,UAEI32C,IAAK,WAED,OAAQtD,KAAK4H,QAAQ+D,YAAYrF,WAIrC9C,IAAK,SAAUC,GAEPA,EAEIzD,KAAK4H,UAEL5H,KAAK4H,QAAQ+D,YAAYrF,UAAY,GAKrCtG,KAAK4H,UAEL5H,KAAK4H,QAAQ+D,YAAYrF,UAAY,MAyBzD4hB,EAAOwwB,kBAAoB,SAAUx4C,GAMjCF,KAAKE,KAAOA,EAMZF,KAAKyE,MAAQzE,KAAKE,KAAKuE,OAI3ByjB,EAAOwwB,kBAAkB71C,WASrB2nE,SAAU,SAAUC,GAEhB,MAAOzqE,MAAKyE,MAAMi3B,IAAI+uC,IAoB1BjhD,MAAO,SAAUnkB,EAAGC,EAAGiP,EAAKzI,EAAOmqC,GAI/B,MAFc1sC,UAAV0sC,IAAuBA,EAAQj2C,KAAKyE,OAEjCwxC,EAAMva,IAAI,GAAIxT,GAAOhY,MAAMlQ,KAAKE,KAAMmF,EAAGC,EAAGiP,EAAKzI,KAmB5DkW,OAAQ,SAAU3c,EAAGC,EAAGiP,EAAKzI,EAAOmqC,GAIhC,MAFc1sC,UAAV0sC,IAAuBA,EAAQj2C,KAAKyE,OAEjCwxC,EAAM/tC,OAAO7C,EAAGC,EAAGiP,EAAKzI,IAyBnC4+D,SAAU,SAAUrlE,EAAGC,EAAGiP,EAAKo2D,EAAM10B,GAEnB1sC,SAAV0sC,IAAuBA,EAAQj2C,KAAKyE,MAExC,IAAI4wB,GAAM,GAAInN,GAAO0iD,SAAS5qE,KAAKE,KAAMmF,EAAGC,EAAGiP,EAAKo2D,EAIpD,OAFA10B,GAAMva,IAAIrG,GAEHA,GAaXw1C,MAAO,SAAUJ,GAEb,MAAOzqE,MAAKE,KAAKkkC,OAAOl8B,OAAOuiE,IAenCx0B,MAAO,SAAUr0C,EAAQ01B,EAAMqY,EAAYC,EAAYC,GAEnD,MAAO,IAAI3nB,GAAOwnB,MAAM1vC,KAAKE,KAAM0B,EAAQ01B,EAAMqY,EAAYC,EAAYC,IAiB7Ei7B,aAAc,SAAUj7B,EAAiBjuC,EAAQ01B,EAAMqY,GAEnD,MAAO,IAAIznB,GAAOwnB,MAAM1vC,KAAKE,KAAM0B,EAAQ01B,EAAMqY,GAAY,EAAME,IAevEnlC,YAAa,SAAU9I,EAAQ01B,EAAMqY,GAMjC,MAJepmC,UAAX3H,IAAwBA,EAAS,MACxB2H,SAAT+tB,IAAsBA,EAAO,SACd/tB,SAAfomC,IAA4BA,GAAa,GAEtC,GAAIznB,GAAOtZ,YAAY5O,KAAKE,KAAM0B,EAAQ01B,EAAMqY,IAc3Do7B,MAAO,SAAUx2D,EAAKutB,EAAQyhC,EAAMrP,GAEhC,MAAOl0D,MAAKE,KAAKgkC,MAAMxI,IAAInnB,EAAKutB,EAAQyhC,EAAMrP,IAclDhwB,MAAO,SAAU3vB,EAAKutB,EAAQyhC,EAAMrP,GAEhC,MAAOl0D,MAAKE,KAAKgkC,MAAMxI,IAAInnB,EAAKutB,EAAQyhC,EAAMrP,IAWlD8W,YAAa,SAAUz2D,GAEnB,MAAOvU,MAAKE,KAAKgkC,MAAM+mC,UAAU12D,IAiBrC22D,WAAY,SAAU7lE,EAAGC,EAAGqB,EAAOC,EAAQ2N,EAAKzI,EAAOmqC,GAInD,MAFc1sC,UAAV0sC,IAAuBA,EAAQj2C,KAAKyE,OAEjCwxC,EAAMva,IAAI,GAAIxT,GAAOq4B,WAAWvgD,KAAKE,KAAMmF,EAAGC,EAAGqB,EAAOC,EAAQ2N,EAAKzI,KAkBhFq/D,KAAM,SAAU9lE,EAAGC,EAAGiP,EAAKzI,EAAO6iB,EAAQsnB,GAItC,MAFc1sC,UAAV0sC,IAAuBA,EAAQj2C,KAAKyE,OAEjCwxC,EAAMva,IAAI,GAAIxT,GAAOwG,KAAK1uB,KAAKE,KAAMmF,EAAGC,EAAGiP,EAAKzI,EAAO6iB,KAelEy8C,KAAM,SAAU/lE,EAAGC,EAAG8lE,EAAMlwD,EAAO+6B,GAI/B,MAFc1sC,UAAV0sC,IAAuBA,EAAQj2C,KAAKyE,OAEjCwxC,EAAMva,IAAI,GAAIxT,GAAOmjD,KAAKrrE,KAAKE,KAAMmF,EAAGC,EAAG8lE,EAAMlwD,KAoB5DgmC,OAAQ,SAAU77C,EAAGC,EAAGiP,EAAKq/B,EAAU5M,EAAiBskC,EAAWC,EAAUC,EAAWC,EAASx1B,GAI7F,MAFc1sC,UAAV0sC,IAAuBA,EAAQj2C,KAAKyE,OAEjCwxC,EAAMva,IAAI,GAAIxT,GAAOwjD,OAAO1rE,KAAKE,KAAMmF,EAAGC,EAAGiP,EAAKq/B,EAAU5M,EAAiBskC,EAAWC,EAAUC,EAAWC,KAaxH7tD,SAAU,SAAUvY,EAAGC,EAAG2wC,GAItB,MAFc1sC,UAAV0sC,IAAuBA,EAAQj2C,KAAKyE,OAEjCwxC,EAAMva,IAAI,GAAIxT,GAAOs4B,SAASxgD,KAAKE,KAAMmF,EAAGC,KAiBvDqmE,QAAS,SAAUtmE,EAAGC,EAAGsmE,GAErB,MAAO5rE,MAAKE,KAAKmkC,UAAU3I,IAAI,GAAIxT,GAAOgxB,UAAU2yB,OAAOC,QAAQ9rE,KAAKE,KAAMmF,EAAGC,EAAGsmE,KA0BxFG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,MAAO,IAAItkD,GAAOukD,UAAUzsE,KAAKE,KAAM8rE,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IAgCnIE,WAAY,SAAUrnE,EAAGC,EAAG0mE,EAAMZ,EAAMvqD,EAAMo1B,GAI1C,MAFc1sC,UAAV0sC,IAAuBA,EAAQj2C,KAAKyE,OAEjCwxC,EAAMva,IAAI,GAAIxT,GAAOy9C,WAAW3lE,KAAKE,KAAMmF,EAAGC,EAAG0mE,EAAMZ,EAAMvqD,KAqBxE8rD,QAAS,SAAUp4D,EAAKq4D,EAAWC,EAAYlmE,EAAOC,GAElD,MAAO,IAAIshB,GAAO4kD,QAAQ9sE,KAAKE,KAAMqU,EAAKq4D,EAAWC,EAAYlmE,EAAOC,IAc5EH,cAAe,SAAUE,EAAOC,EAAQ2N,EAAKw4D,IAE7BxjE,SAARgL,GAA6B,KAARA,KAAcA,EAAMvU,KAAKE,KAAKqkC,IAAIyoC,QACxCzjE,SAAfwjE,IAA4BA,GAAa,EAE7C,IAAInlE,GAAU,GAAIsgB,GAAOxhB,cAAc1G,KAAKE,KAAMyG,EAAOC,EAAQ2N,EAOjE,OALIw4D,IAEA/sE,KAAKE,KAAK4jC,MAAMmpC,iBAAiB14D,EAAK3M,GAGnCA,GAcXslE,MAAO,SAAU34D,EAAK44D,GAElB,MAAO,IAAIjlD,GAAOs9C,MAAMxlE,KAAKE,KAAMqU,EAAK44D,IAgB5CC,WAAY,SAAUzmE,EAAOC,EAAQ2N,EAAKw4D,GAEnBxjE,SAAfwjE,IAA4BA,GAAa,IACjCxjE,SAARgL,GAA6B,KAARA,KAAcA,EAAMvU,KAAKE,KAAKqkC,IAAIyoC,OAE3D,IAAIplE,GAAU,GAAIsgB,GAAOohD,WAAWtpE,KAAKE,KAAMqU,EAAK5N,EAAOC,EAO3D,OALImmE,IAEA/sE,KAAKE,KAAK4jC,MAAMupC,cAAc94D,EAAK3M,GAGhCA,GAYX4c,OAAQ,SAAUA,GAEd,GAAI4P,GAAOzzB,MAAMkC,UAAUoxB,MAAMvuB,KAAK6uB,UAAW,GAE7C/P,EAAS,GAAI0D,GAAO6iB,OAAOvmB,GAAQxkB,KAAKE,KAI5C,OAFAskB,GAAO7Q,KAAK1M,MAAMud,EAAQ4P,GAEnB5P,GAcXyoB,OAAQ,SAAUA,GAEd,MAAOjtC,MAAKE,KAAK4sC,QAAQpR,IAAIuR,KAMrC/kB,EAAOwwB,kBAAkB71C,UAAUC,YAAcolB,EAAOwwB,kBAgBxDxwB,EAAOywB,kBAAoB,SAAUz4C,GAMjCF,KAAKE,KAAOA,EAMZF,KAAKyE,MAAQzE,KAAKE,KAAKuE,OAI3ByjB,EAAOywB,kBAAkB91C,WAerB2mB,MAAO,SAAUnkB,EAAGC,EAAGiP,EAAKzI,GAExB,MAAO,IAAIoc,GAAOhY,MAAMlQ,KAAKE,KAAMmF,EAAGC,EAAGiP,EAAKzI,IAclDkW,OAAQ,SAAU3c,EAAGC,EAAGiP,EAAKzI,GAEzB,MAAO,IAAIoc,GAAOzgB,OAAOzH,KAAKE,KAAMmF,EAAGC,EAAGiP,EAAKzI,IAanD++D,MAAO,SAAUx1C,GAEb,MAAO,IAAInN,GAAOolD,MAAMj4C,EAAKr1B,KAAKE,KAAMF,KAAKE,KAAKkkC,SAetD6R,MAAO,SAAUr0C,EAAQ01B,EAAMqY,EAAYC,EAAYC,GAEnD,MAAO,IAAI3nB,GAAOwnB,MAAM1vC,KAAKE,KAAM0B,EAAQ01B,EAAMqY,EAAYC,EAAYC,IAa7EnlC,YAAa,SAAU9I,EAAQ01B,EAAMqY,GAKjC,MAHapmC,UAAT+tB,IAAsBA,EAAO,SACd/tB,SAAfomC,IAA4BA,GAAa,GAEtC,GAAIznB,GAAOtZ,YAAY5O,KAAKE,KAAM0B,EAAQ01B,EAAMqY,IAc3Do7B,MAAO,SAAUx2D,EAAKutB,EAAQyhC,EAAMrP,GAEhC,MAAOl0D,MAAKE,KAAKgkC,MAAMxI,IAAInnB,EAAKutB,EAAQyhC,EAAMrP,IAWlD8W,YAAa,SAAUz2D,GAEnB,MAAOvU,MAAKE,KAAKgkC,MAAM+mC,UAAU12D,IAcrC2vB,MAAO,SAAU3vB,EAAKutB,EAAQyhC,EAAMrP,GAEhC,MAAOl0D,MAAKE,KAAKgkC,MAAMxI,IAAInnB,EAAKutB,EAAQyhC,EAAMrP,IAgBlDgX,WAAY,SAAU7lE,EAAGC,EAAGqB,EAAOC,EAAQ2N,EAAKzI,GAE5C,MAAO,IAAIoc,GAAOq4B,WAAWvgD,KAAKE,KAAMmF,EAAGC,EAAGqB,EAAOC,EAAQ2N,EAAKzI,IAgBtEq/D,KAAM,SAAU9lE,EAAGC,EAAGiP,EAAKzI,EAAO6iB,GAE9B,MAAO,IAAIzG,GAAOwG,KAAK1uB,KAAKE,KAAMmF,EAAGC,EAAGiP,EAAKzI,EAAO6iB,IAcxDy8C,KAAM,SAAU/lE,EAAGC,EAAG8lE,EAAMlwD,GAExB,MAAO,IAAIgN,GAAOmjD,KAAKrrE,KAAKE,KAAMmF,EAAGC,EAAG8lE,EAAMlwD,IAmBlDgmC,OAAQ,SAAU77C,EAAGC,EAAGiP,EAAKq/B,EAAU5M,EAAiBskC,EAAWC,EAAUC,EAAWC,GAEpF,MAAO,IAAIvjD,GAAOwjD,OAAO1rE,KAAKE,KAAMmF,EAAGC,EAAGiP,EAAKq/B,EAAU5M,EAAiBskC,EAAWC,EAAUC,EAAWC,IAY9G7tD,SAAU,SAAUvY,EAAGC,GAEnB,MAAO,IAAI4iB,GAAOs4B,SAASxgD,KAAKE,KAAMmF,EAAGC,IAiB7CqmE,QAAS,SAAUtmE,EAAGC,EAAGsmE,GAErB,MAAO,IAAI1jD,GAAOgxB,UAAU2yB,OAAOC,QAAQ9rE,KAAKE,KAAMmF,EAAGC,EAAGsmE,IA0BhEG,UAAW,SAAUC,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEzG,MAAO,IAAItkD,GAAOukD,UAAUzsE,KAAKE,KAAM8rE,EAAMC,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,IAgCnIE,WAAY,SAAUrnE,EAAGC,EAAG0mE,EAAMZ,EAAMvqD,EAAM0sD,GAE1C,MAAO,IAAIrlD,GAAOy9C,WAAW3lE,KAAKE,KAAMmF,EAAGC,EAAG0mE,EAAMZ,EAAMvqD,EAAM0sD,IAoBpEZ,QAAS,SAAUp4D,EAAKq4D,EAAWC,EAAYlmE,EAAOC,GAElD,MAAO,IAAIshB,GAAO4kD,QAAQ9sE,KAAKE,KAAMqU,EAAKq4D,EAAWC,EAAYlmE,EAAOC,IAc5EH,cAAe,SAAUE,EAAOC,EAAQ2N,EAAKw4D,IAE7BxjE,SAARgL,GAA6B,KAARA,KAAcA,EAAMvU,KAAKE,KAAKqkC,IAAIyoC,QACxCzjE,SAAfwjE,IAA4BA,GAAa,EAE7C,IAAInlE,GAAU,GAAIsgB,GAAOxhB,cAAc1G,KAAKE,KAAMyG,EAAOC,EAAQ2N,EAOjE,OALIw4D,IAEA/sE,KAAKE,KAAK4jC,MAAMmpC,iBAAiB14D,EAAK3M,GAGnCA,GAgBXwlE,WAAY,SAAUzmE,EAAOC,EAAQ2N,EAAKw4D,GAEnBxjE,SAAfwjE,IAA4BA,GAAa,IACjCxjE,SAARgL,GAA6B,KAARA,KAAcA,EAAMvU,KAAKE,KAAKqkC,IAAIyoC,OAE3D,IAAIplE,GAAU,GAAIsgB,GAAOohD,WAAWtpE,KAAKE,KAAMqU,EAAK5N,EAAOC,EAO3D,OALImmE,IAEA/sE,KAAKE,KAAK4jC,MAAMupC,cAAc94D,EAAK3M,GAGhCA,GAYX4c,OAAQ,SAAUA,GAEd,GAAI4P,GAAOzzB,MAAMkC,UAAUoxB,MAAMvuB,KAAK6uB,UAAW,GAE7C/P,EAAS,GAAI0D,GAAO6iB,OAAOvmB,GAAQxkB,KAAKE,KAI5C,OAFAskB,GAAO7Q,KAAK1M,MAAMud,EAAQ4P,GAEnB5P,IAMf0D,EAAOywB,kBAAkB91C,UAAUC,YAAcolB,EAAOywB,kBA6CxDzwB,EAAOzgB,OAAS,SAAUvH,EAAMmF,EAAGC,EAAGiP,EAAKzI,GAEvCzG,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTiP,EAAMA,GAAO,KACbzI,EAAQA,GAAS,KAMjB9L,KAAK4U,KAAOsT,EAAO6J,OAMnB/xB,KAAKgwC,YAAc9nB,EAAO6J,OAE1B9xB,KAAKwH,OAAO/B,KAAK1F,KAAMC,KAAKuO,aAAwB,WAEpD0Z,EAAO+6C,UAAUe,KAAKrwD,KAAKjO,KAAK1F,KAAME,EAAMmF,EAAGC,EAAGiP,EAAKzI,IAI3Doc,EAAOzgB,OAAO5E,UAAYO,OAAO8E,OAAOjI,KAAKwH,OAAO5E,WACpDqlB,EAAOzgB,OAAO5E,UAAUC,YAAcolB,EAAOzgB,OAE7CygB,EAAO+6C,UAAUe,KAAKC,QAAQv+D,KAAKwiB,EAAOzgB,OAAO5E,WAC7C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJqlB,EAAOzgB,OAAO5E,UAAU2qE,iBAAmBtlD,EAAO+6C,UAAUoB,YAAYl+D,UACxE+hB,EAAOzgB,OAAO5E,UAAU4qE,kBAAoBvlD,EAAO+6C,UAAU8F,SAAS5iE,UACtE+hB,EAAOzgB,OAAO5E,UAAU6qE,iBAAmBxlD,EAAO+6C,UAAUwF,QAAQtiE,UACpE+hB,EAAOzgB,OAAO5E,UAAU8qE,cAAgBzlD,EAAO+6C,UAAUe,KAAK79D,UAS9D+hB,EAAOzgB,OAAO5E,UAAUsD,UAAY,WAEhC,MAAKnG,MAAKwtE,oBAAuBxtE,KAAKytE,qBAAwBztE,KAAK0tE,mBAK5D1tE,KAAK2tE,iBAHD,GAyCfzlD,EAAOhY,MAAQ,SAAUhQ,EAAMmF,EAAGC,EAAGiP,EAAKzI,GAEtCzG,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTiP,EAAMA,GAAO,KACbzI,EAAQA,GAAS,KAMjB9L,KAAK4U,KAAOsT,EAAO+J,MAEnBhyB,KAAKwH,OAAO/B,KAAK1F,KAAMC,KAAKuO,aAAwB,WAEpD0Z,EAAO+6C,UAAUe,KAAKrwD,KAAKjO,KAAK1F,KAAME,EAAMmF,EAAGC,EAAGiP,EAAKzI,IAI3Doc,EAAOhY,MAAMrN,UAAYO,OAAO8E,OAAOjI,KAAKwH,OAAO5E,WACnDqlB,EAAOhY,MAAMrN,UAAUC,YAAcolB,EAAOhY,MAE5CgY,EAAO+6C,UAAUe,KAAKC,QAAQv+D,KAAKwiB,EAAOhY,MAAMrN,WAC5C,QACA,YACA,WACA,SACA,aACA,OACA,UACA,gBACA,eACA,WACA,cACA,UACA,QACA,aAGJqlB,EAAOhY,MAAMrN,UAAU6qE,iBAAmBxlD,EAAO+6C,UAAUwF,QAAQtiE,UACnE+hB,EAAOhY,MAAMrN,UAAU8qE,cAAgBzlD,EAAO+6C,UAAUe,KAAK79D,UAQ7D+hB,EAAOhY,MAAMrN,UAAUsD,UAAY,WAE/B,MAAKnG,MAAK0tE,mBAKH1tE,KAAK2tE,iBAHD,GAyCfzlD,EAAOwjD,OAAS,SAAUxrE,EAAMmF,EAAGC,EAAGiP,EAAKq/B,EAAU5M,EAAiBskC,EAAWC,EAAUC,EAAWC,GAElGpmE,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTiP,EAAMA,GAAO,KACbq/B,EAAWA,GAAY,KACvB5M,EAAkBA,GAAmBhnC,KAErCkoB,EAAOhY,MAAMxK,KAAK1F,KAAME,EAAMmF,EAAGC,EAAGiP,EAAKg3D,GAOzCvrE,KAAK4U,KAAOsT,EAAO8J,OAMnBhyB,KAAKgwC,YAAc9nB,EAAO6J,OAO1B/xB,KAAK4tE,aAAe,KAOpB5tE,KAAK6tE,YAAc,KAOnB7tE,KAAK8tE,aAAe,KAOpB9tE,KAAK+tE,WAAa,KAOlB/tE,KAAKguE,YAAc,KAOnBhuE,KAAKiuE,WAAa,KAOlBjuE,KAAKkuE,YAAc,KAOnBluE,KAAKmuE,UAAY,KAOjBnuE,KAAKouE,kBAAoB,GAOzBpuE,KAAKquE,iBAAmB,GAOxBruE,KAAKsuE,kBAAoB,GAOzBtuE,KAAKuuE,gBAAkB,GAMvBvuE,KAAKqnE,YAAc,GAAIn/C,GAAOud,OAM9BzlC,KAAKsnE,WAAa,GAAIp/C,GAAOud,OAM7BzlC,KAAKunE,YAAc,GAAIr/C,GAAOud,OAM9BzlC,KAAKwnE,UAAY,GAAIt/C,GAAOud,OAS5BzlC,KAAKwuE,iBAAkB,EASvBxuE,KAAKyuE,yBAA2BvmD,EAAOs2B,YAAYY,MAOnDp/C,KAAK0uE,cAAe,EAUpB1uE,KAAK2uE,UAAW,EAEhB3uE,KAAKwoE,cAAe,EAEpBxoE,KAAK+jC,MAAM74B,MAAM,GAAG,GAEpBlL,KAAK+jC,MAAMyoB,eAAgB,EAE3BxsD,KAAK4uE,UAAUtD,EAAWC,EAAUC,EAAWC,GAE9B,OAAb73B,GAEA5zC,KAAKwnE,UAAU9rC,IAAIkY,EAAU5M,GAIjChnC,KAAKsxC,OAAO+1B,YAAY3rC,IAAI17B,KAAK6uE,mBAAoB7uE,MACrDA,KAAKsxC,OAAOg2B,WAAW5rC,IAAI17B,KAAK8uE,kBAAmB9uE,MACnDA,KAAKsxC,OAAOi2B,YAAY7rC,IAAI17B,KAAK+uE,mBAAoB/uE,MACrDA,KAAKsxC,OAAOk2B,UAAU9rC,IAAI17B,KAAKgvE,iBAAkBhvE,MAEjDA,KAAKsxC,OAAO01B,mBAAmBtrC,IAAI17B,KAAKivE,iBAAkBjvE,OAI9DkoB,EAAOwjD,OAAO7oE,UAAYO,OAAO8E,OAAOggB,EAAOhY,MAAMrN,WACrDqlB,EAAOwjD,OAAO7oE,UAAUC,YAAcolB,EAAOwjD,MAG7C,IAAIwD,GAAa,OACbC,EAAY,MACZC,EAAa,OACbC,EAAW,IAOfnnD,GAAOwjD,OAAO7oE,UAAUysE,YAAc,WAElCtvE,KAAK4uE,UAAU,KAAM,KAAM,KAAM,OAUrC1mD,EAAOwjD,OAAO7oE,UAAUosE,iBAAmB,WAEvCjvE,KAAKwoE,cAAe,GAaxBtgD,EAAOwjD,OAAO7oE,UAAU0sE,cAAgB,SAAU3oC,EAAO96B,EAAO0jE,GAE5D,GAAIC,GAAW,MAAQ7oC,EAAQ,OAEjB,QAAV96B,GAEA9L,KAAKyvE,GAAY3jE,EAEb0jE,GAEAxvE,KAAK0vE,iBAAiB9oC,IAK1B5mC,KAAKyvE,GAAY,MAazBvnD,EAAOwjD,OAAO7oE,UAAU6sE,iBAAmB,SAAU9oC,GAEjD,GAAI5mC,KAAK0uE,aAEL,OAAO,CAGX,IAAIe,GAAW,MAAQ7oC,EAAQ,QAC3B96B,EAAQ9L,KAAKyvE,EAEjB,OAAqB,gBAAV3jE,IAEP9L,KAAK6pE,UAAY/9D,GACV,GAEe,gBAAVA,IAEZ9L,KAAK8L,MAAQA,GACN,IAIA,GAiBfoc,EAAOwjD,OAAO7oE,UAAU+rE,UAAY,SAAUtD,EAAWC,EAAUC,EAAWC,GAE1EzrE,KAAKuvE,cAAcL,EAAY5D,EAAWtrE,KAAK+jC,MAAMyrB,eACrDxvD,KAAKuvE,cAAcJ,EAAW5D,GAAWvrE,KAAK+jC,MAAMyrB,eACpDxvD,KAAKuvE,cAAcH,EAAY5D,EAAWxrE,KAAK+jC,MAAMqrB,eACrDpvD,KAAKuvE,cAAcF,EAAU5D,EAASzrE,KAAK+jC,MAAMsrB,cAarDnnC,EAAOwjD,OAAO7oE,UAAU8sE,cAAgB,SAAU/oC,EAAO1C,EAAO0rC,GAE5D,GAAIC,GAAW,KAAOjpC,EAAQ,QAC1BkpC,EAAY,KAAOlpC,EAAQ,aAE3B1C,aAAiBhc,GAAO6nD,OAAS7rC,YAAiBhc,GAAO8nD,aAEzDhwE,KAAK6vE,GAAY3rC;AACjBlkC,KAAK8vE,GAA+B,gBAAXF,GAAsBA,EAAS,KAIxD5vE,KAAK6vE,GAAY,KACjB7vE,KAAK8vE,GAAa,KAa1B5nD,EAAOwjD,OAAO7oE,UAAUotE,eAAiB,SAAUrpC,GAE/C,GAAIipC,GAAW,KAAOjpC,EAAQ,QAC1B1C,EAAQlkC,KAAK6vE,EAEjB,IAAI3rC,EACJ,CACI,GAAI4rC,GAAY,KAAOlpC,EAAQ,cAC3BgpC,EAAS5vE,KAAK8vE,EAGlB,OADA5rC,GAAMm/B,KAAKuM,IACJ,EAIP,OAAO,GAsBf1nD,EAAOwjD,OAAO7oE,UAAUqtE,UAAY,SAAUC,EAAWC,EAAYC,EAAWC,EAAYC,EAAUC,EAAWC,EAASC,GAEtH1wE,KAAK2vE,cAAcT,EAAYiB,EAAWC,GAC1CpwE,KAAK2vE,cAAcR,EAAWoB,EAAUC,GACxCxwE,KAAK2vE,cAAcP,EAAYiB,EAAWC,GAC1CtwE,KAAK2vE,cAAcN,EAAUoB,EAASC,IAY1CxoD,EAAOwjD,OAAO7oE,UAAU8tE,aAAe,SAAUzsC,EAAO0rC,GAEpD5vE,KAAK2vE,cAAcT,EAAYhrC,EAAO0rC,IAY1C1nD,EAAOwjD,OAAO7oE,UAAU+tE,YAAc,SAAU1sC,EAAO0rC,GAEnD5vE,KAAK2vE,cAAcR,EAAWjrC,EAAO0rC,IAYzC1nD,EAAOwjD,OAAO7oE,UAAUguE,aAAe,SAAU3sC,EAAO0rC,GAEpD5vE,KAAK2vE,cAAcP,EAAYlrC,EAAO0rC,IAY1C1nD,EAAOwjD,OAAO7oE,UAAUiuE,WAAa,SAAU5sC,EAAO0rC,GAElD5vE,KAAK2vE,cAAcN,EAAUnrC,EAAO0rC,IAYxC1nD,EAAOwjD,OAAO7oE,UAAUgsE,mBAAqB,SAAU7sD,EAAQgqB,GAEvDA,EAAQsa,iBACPtmD,KAAKyuE,yBAA2BziC,EAAQua,eAAiBva,EAAQua,cAMtEvmD,KAAK0vE,iBAAiBR,KAElBlvE,KAAKwuE,iBAAoBxiC,EAAQ8b,WAKrC9nD,KAAKiwE,eAAef,GAEhBlvE,KAAKqnE,aAELrnE,KAAKqnE,YAAY5/B,SAASznC,KAAMgsC,MAaxC9jB,EAAOwjD,OAAO7oE,UAAUisE,kBAAoB,SAAU9sD,EAAQgqB,GAE1DhsC,KAAK0vE,iBAAiBP,GAEtBnvE,KAAKiwE,eAAed,GAEhBnvE,KAAKsnE,YAELtnE,KAAKsnE,WAAW7/B,SAASznC,KAAMgsC,IAYvC9jB,EAAOwjD,OAAO7oE,UAAUksE,mBAAqB,SAAU/sD,EAAQgqB,GAE3DhsC,KAAK0vE,iBAAiBN,GAEtBpvE,KAAKiwE,eAAeb,GAEhBpvE,KAAKunE,aAELvnE,KAAKunE,YAAY9/B,SAASznC,KAAMgsC,IAYxC9jB,EAAOwjD,OAAO7oE,UAAUmsE,iBAAmB,SAAUhtD,EAAQgqB,EAASoiB,GAUlE,GARApuD,KAAKiwE,eAAeZ,GAGhBrvE,KAAKwnE,WAELxnE,KAAKwnE,UAAU//B,SAASznC,KAAMgsC,EAASoiB,IAGvCpuD,KAAK0uE,aAKT,GAAI1uE,KAAK2uE,YAAa,IAAS3uE,KAAK2uE,SAAW3iC,EAAQua,eAAiBva,EAAQua,YAE5EvmD,KAAK0vE,iBAAiBP,OAG1B,CACI,GAAI4B,GAAY/wE,KAAK0vE,iBAAiBL,EACjC0B,KAGG3iB,EAEApuD,KAAK0vE,iBAAiBR,GAItBlvE,KAAK0vE,iBAAiBP,MA6BtCjnD,EAAOtZ,YAAc,SAAU1O,EAAM0B,EAAQ01B,EAAMqY,IAEhCpmC,SAAX3H,GAAmC,OAAXA,KAAmBA,EAAS1B,EAAKuE,OAE7DxE,KAAK2O,YAAYlJ,KAAK1F,MAEtBkoB,EAAOwnB,MAAMhqC,KAAK1F,KAAME,EAAM0B,EAAQ01B,EAAMqY,GAM5C3vC,KAAK4U,KAAOsT,EAAO8K,aAIvB9K,EAAOtZ,YAAY/L,UAAYqlB,EAAOiN,MAAMiC,QAAO,EAAMlP,EAAOtZ,YAAY/L,UAAWqlB,EAAOwnB,MAAM7sC,UAAW5C,KAAK2O,YAAY/L,WAEhIqlB,EAAOtZ,YAAY/L,UAAUC,YAAcolB,EAAOtZ,YAoBlDsZ,EAAOohD,WAAa,SAAUppE,EAAMqU,EAAK5N,EAAOC,IAE9B2C,SAAV5C,GAAiC,IAAVA,KAAeA,EAAQ,MACnC4C,SAAX3C,GAAmC,IAAXA,KAAgBA,EAAS,KAKrD5G,KAAKE,KAAOA,EAKZF,KAAKuU,IAAMA,EAKXvU,KAAK2G,MAAQA,EAKb3G,KAAK4G,OAASA,EAOd5G,KAAKqQ,OAASpQ,KAAKqQ,WAAWpI,OAAOlI,KAAM2G,EAAOC,GAMlD5G,KAAKiN,QAAUjN,KAAKqQ,OAAOE,WAAW,MAAQ/O,OAAO,IAKrDxB,KAAKgxE,IAAMhxE,KAAKiN,QAOhBjN,KAAKixE,UAAYjxE,KAAKiN,QAAQuD,aAAa,EAAG,EAAG7J,EAAOC,GAOxD5G,KAAKyQ,KAAO,KAERzQ,KAAKixE,YAELjxE,KAAKyQ,KAAOzQ,KAAKixE,UAAUxgE,MAM/BzQ,KAAKynB,OAAS,KAKVznB,KAAKyQ,OAEDzQ,KAAKixE,UAAUxgE,KAAKuK,QAEpBhb,KAAKgb,OAAShb,KAAKixE,UAAUxgE,KAAKuK,OAClChb,KAAKynB,OAAS,GAAIhnB,aAAYT,KAAKgb,SAI/B1I,OAAoB,aAEpBtS,KAAKgb,OAAS,GAAIta,aAAYV,KAAKixE,UAAUxgE,KAAKvN,QAClDlD,KAAKynB,OAAS,GAAIhnB,aAAYT,KAAKgb,SAInChb,KAAKynB,OAASznB,KAAKixE,UAAUxgE,MASzCzQ,KAAK2L,YAAc,GAAI1L,MAAK4oB,YAAY7oB,KAAKqQ,QAM7CrQ,KAAK4H,QAAU,GAAI3H,MAAKoL,QAAQrL,KAAK2L,aAMrC3L,KAAKkxE,aAAe,GAAIhpD,GAAOipD,MAAM,EAAG,EAAG,EAAGxqE,EAAOC,EAAQ,cAE7D5G,KAAK4H,QAAQkE,MAAQ9L,KAAKkxE,aAM1BlxE,KAAK4U,KAAOsT,EAAO0K,WAKnB5yB,KAAKoxE,sBAAuB,EAK5BpxE,KAAKyT,OAAQ,EAGbzT,KAAKqxE,IAAMrxE,KAAK4a,MAMhB5a,KAAKsxE,OAAS,KAMdtxE,KAAKuxE,KAAO,GAAIrpD,GAAO9mB,MAMvBpB,KAAKwxE,MAAQ,GAAItpD,GAAO9mB,MAMxBpB,KAAKyxE,OAAS,GAAIvpD,GAAO9mB,MAMzBpB,KAAK0xE,QAAU,EAMf1xE,KAAK2xE,QAAWC,KAAM,EAAGj8C,QAAS,GAMlC31B,KAAK6xE,QAAU,GAAI3pD,GAAO9mB,MAM1BpB,KAAK8xE,OAAS,EAMd9xE,KAAK+xE,OAAS,EAMd/xE,KAAKgyE,OAAS,EAMdhyE,KAAKiyE,QAAU,GAAI/pD,GAAOkQ,OAM1Bp4B,KAAKkyE,YAAcjyE,KAAKqQ,WAAWpI,OAAOlI,KAAM2G,EAAOC,IAI3DshB,EAAOohD,WAAWzmE,WAad88C,KAAM,SAAUt6C,EAAGC,EAAGo3B,GAYlB,MAVU,KAANr3B,GAEArF,KAAKmyE,MAAM9sE,EAAGq3B,GAGR,IAANp3B,GAEAtF,KAAKoyE,MAAM9sE,EAAGo3B,GAGX18B,MAcXmyE,MAAO,SAAUn5C,EAAU0D,GAEVnzB,SAATmzB,IAAsBA,GAAO,EAEjC,IAAI93B,GAAI5E,KAAKkyE,YACTlB,EAAMpsE,EAAE2L,WAAW,MACnBmS,EAAI1iB,KAAK4G,OACTuJ,EAAMnQ,KAAKqQ,MAIf,IAFA2gE,EAAIxqD,UAAU,EAAG,EAAGxmB,KAAK2G,MAAO3G,KAAK4G,QAEtB,EAAXoyB,EACJ,CACIA,EAAWn4B,KAAKi5B,IAAId,EAGpB,IAAI5hB,GAAIpX,KAAK2G,MAAQqyB,CAGjB0D,IAEAs0C,EAAI9iE,UAAUiC,EAAK,EAAG,EAAG6oB,EAAUtW,EAAGtL,EAAG,EAAG4hB,EAAUtW,GAI1DsuD,EAAI9iE,UAAUiC,EAAK6oB,EAAU,EAAG5hB,EAAGsL,EAAG,EAAG,EAAGtL,EAAGsL,OAGnD,CAEI,GAAItL,GAAIpX,KAAK2G,MAAQqyB,CAGjB0D,IAEAs0C,EAAI9iE,UAAUiC,EAAKiH,EAAG,EAAG4hB,EAAUtW,EAAG,EAAG,EAAGsW,EAAUtW,GAI1DsuD,EAAI9iE,UAAUiC,EAAK,EAAG,EAAGiH,EAAGsL,EAAGsW,EAAU,EAAG5hB,EAAGsL,GAKnD,MAFA1iB,MAAK4a,QAEE5a,KAAKu3B,KAAKv3B,KAAKkyE,cAc1BE,MAAO,SAAUp5C,EAAU0D,GAEVnzB,SAATmzB,IAAsBA,GAAO,EAEjC,IAAI93B,GAAI5E,KAAKkyE,YACTlB,EAAMpsE,EAAE2L,WAAW,MACnB6G,EAAIpX,KAAK2G,MACTwJ,EAAMnQ,KAAKqQ,MAIf,IAFA2gE,EAAIxqD,UAAU,EAAG,EAAGxmB,KAAK2G,MAAO3G,KAAK4G,QAEtB,EAAXoyB,EACJ,CACIA,EAAWn4B,KAAKi5B,IAAId,EAGpB,IAAItW,GAAI1iB,KAAK4G,OAASoyB,CAGlB0D,IAEAs0C,EAAI9iE,UAAUiC,EAAK,EAAG,EAAGiH,EAAG4hB,EAAU,EAAGtW,EAAGtL,EAAG4hB,GAInDg4C,EAAI9iE,UAAUiC,EAAK,EAAG6oB,EAAU5hB,EAAGsL,EAAG,EAAG,EAAGtL,EAAGsL,OAGnD,CAEI,GAAIA,GAAI1iB,KAAK4G,OAASoyB,CAGlB0D,IAEAs0C,EAAI9iE,UAAUiC,EAAK,EAAGuS,EAAGtL,EAAG4hB,EAAU,EAAG,EAAG5hB,EAAG4hB,GAInDg4C,EAAI9iE,UAAUiC,EAAK,EAAG,EAAGiH,EAAGsL,EAAG,EAAGsW,EAAU5hB,EAAGsL,GAKnD,MAFA1iB,MAAK4a,QAEE5a,KAAKu3B,KAAKv3B,KAAKkyE,cAY1Bx2C,IAAK,SAAU+uC,GAEX,GAAI9pE,MAAMoR,QAAQ04D,GAEd,IAAK,GAAIxnE,GAAI,EAAGA,EAAIwnE,EAAOvnE,OAAQD,IAE3BwnE,EAAOxnE,GAAgB,aAEvBwnE,EAAOxnE,GAAGsyC,YAAYv1C,UAM9ByqE,GAAOl1B,YAAYv1C,KAGvB,OAAOA,OAcXgkC,KAAM,SAAU31B,GAOZ,MALsB,gBAAXA,KAEPA,EAASrO,KAAKE,KAAK4jC,MAAM7Y,SAAS5c,IAGlCA,GAEArO,KAAK6H,OAAOwG,EAAO1H,MAAO0H,EAAOzH,QACjC5G,KAAKqxE,MAOTrxE,KAAKqyE,KAAKhkE,GAEVrO,KAAKqjC,SAEErjC,MAdP,QAqCJ4a,MAAO,SAAUvV,EAAGC,EAAGqB,EAAOC,GAa1B,MAXU2C,UAANlE,IAAmBA,EAAI,GACjBkE,SAANjE,IAAmBA,EAAI,GACbiE,SAAV5C,IAAuBA,EAAQ3G,KAAK2G,OACzB4C,SAAX3C,IAAwBA,EAAS5G,KAAK4G,QAE1C5G,KAAKiN,QAAQuZ,UAAUnhB,EAAGC,EAAGqB,EAAOC,GAEpC5G,KAAKqjC,SAELrjC,KAAKyT,OAAQ,EAENzT,MAcXquB,KAAM,SAAU3T,EAAGC,EAAGhW,EAAGD,GAQrB,MANU6E,UAAN7E,IAAmBA,EAAI,GAE3B1E,KAAKiN,QAAQia,UAAY,QAAUxM,EAAI,IAAMC,EAAI,IAAMhW,EAAI,IAAMD,EAAI,IACrE1E,KAAKiN,QAAQoa,SAAS,EAAG,EAAGrnB,KAAK2G,MAAO3G,KAAK4G,QAC7C5G,KAAKyT,OAAQ,EAENzT,MA4BXoG,gBAAiB,SAAUmO,GAEvB,GAAIiV,GAAQ,GAAItZ,MAEhBsZ,GAAMrZ,IAAMnQ,KAAKqQ,OAAO+a,UAAU,YAElC,IAAIiK,GAAMr1B,KAAKE,KAAK4jC,MAAMwuC,SAAS/9D,EAAK,GAAIiV,EAE5C,OAAO,IAAIvpB,MAAKoL,QAAQgqB,EAAIs0C,OAUhC9hE,OAAQ,SAAUlB,EAAOC,GA6BrB,OA3BID,IAAU3G,KAAK2G,OAASC,IAAW5G,KAAK4G,UAExC5G,KAAK2G,MAAQA,EACb3G,KAAK4G,OAASA,EAEd5G,KAAKqQ,OAAO1J,MAAQA,EACpB3G,KAAKqQ,OAAOzJ,OAASA,EAErB5G,KAAKkyE,YAAYvrE,MAAQA,EACzB3G,KAAKkyE,YAAYtrE,OAASA,EAE1B5G,KAAK2L,YAAYhF,MAAQA,EACzB3G,KAAK2L,YAAY/E,OAASA,EAE1B5G,KAAKkxE,aAAavqE,MAAQA,EAC1B3G,KAAKkxE,aAAatqE,OAASA,EAE3B5G,KAAK4H,QAAQjB,MAAQA,EACrB3G,KAAK4H,QAAQhB,OAASA,EAEtB5G,KAAK4H,QAAQmF,KAAKpG,MAAQA,EAC1B3G,KAAK4H,QAAQmF,KAAKnG,OAASA,EAE3B5G,KAAKqjC,SACLrjC,KAAKyT,OAAQ,GAGVzT,MAgBXqjC,OAAQ,SAAUh+B,EAAGC,EAAGqB,EAAOC,GA4B3B,MA1BU2C,UAANlE,IAAmBA,EAAI,GACjBkE,SAANjE,IAAmBA,EAAI,GACbiE,SAAV5C,IAAuBA,EAAQ9F,KAAKm7B,IAAI,EAAGh8B,KAAK2G,QACrC4C,SAAX3C,IAAwBA,EAAS/F,KAAKm7B,IAAI,EAAGh8B,KAAK4G,SAEtD5G,KAAKixE,UAAYjxE,KAAKiN,QAAQuD,aAAanL,EAAGC,EAAGqB,EAAOC,GACxD5G,KAAKyQ,KAAOzQ,KAAKixE,UAAUxgE,KAEvBzQ,KAAKixE,UAAUxgE,KAAKuK,QAEpBhb,KAAKgb,OAAShb,KAAKixE,UAAUxgE,KAAKuK,OAClChb,KAAKynB,OAAS,GAAIhnB,aAAYT,KAAKgb,SAI/B1I,OAAoB,aAEpBtS,KAAKgb,OAAS,GAAIta,aAAYV,KAAKixE,UAAUxgE,KAAKvN,QAClDlD,KAAKynB,OAAS,GAAIhnB,aAAYT,KAAKgb,SAInChb,KAAKynB,OAASznB,KAAKixE,UAAUxgE,KAI9BzQ,MAuBXuyE,gBAAiB,SAAU3+B,EAAU5M,EAAiB3hC,EAAGC,EAAGqB,EAAOC,GAErD2C,SAANlE,IAAmBA,EAAI,GACjBkE,SAANjE,IAAmBA,EAAI,GACbiE,SAAV5C,IAAuBA,EAAQ3G,KAAK2G,OACzB4C,SAAX3C,IAAwBA,EAAS5G,KAAK4G,OAQ1C,KAAK,GANDwQ,GAAI/R,EAAIsB,EACR+b,EAAIpd,EAAIsB,EACR4rE,EAAQtqD,EAAOonB,MAAMmjC,cACrB5hE,GAAW6J,EAAG,EAAGC,EAAG,EAAGhW,EAAG,EAAGD,EAAG,GAChC+O,GAAQ,EAEH1O,EAAKO,EAAQod,EAAL3d,EAAQA,IAErB,IAAK,GAAID,GAAKO,EAAQ+R,EAALtS,EAAQA,IAErBojB,EAAOonB,MAAMojC,YAAY1yE,KAAK2yE,WAAW7tE,EAAIC,GAAKytE,GAElD3hE,EAAS+iC,EAASluC,KAAKshC,EAAiBwrC,EAAO1tE,EAAIC,GAE/C8L,KAAW,GAAoB,OAAXA,GAA8BtH,SAAXsH,IAEvC7Q,KAAK4yE,WAAW9tE,EAAIC,EAAI8L,EAAO6J,EAAG7J,EAAO8J,EAAG9J,EAAOlM,EAAGkM,EAAOnM,GAAG,GAChE+O,GAAQ,EAWpB,OANIA,KAEAzT,KAAKiN,QAAQ0a,aAAa3nB,KAAKixE,UAAW,EAAG,GAC7CjxE,KAAKyT,OAAQ,GAGVzT,MAoBX6yE,aAAc,SAAUj/B,EAAU5M,EAAiB3hC,EAAGC,EAAGqB,EAAOC,GAElD2C,SAANlE,IAAmBA,EAAI,GACjBkE,SAANjE,IAAmBA,EAAI,GACbiE,SAAV5C,IAAuBA,EAAQ3G,KAAK2G,OACzB4C,SAAX3C,IAAwBA,EAAS5G,KAAK4G,OAQ1C,KAAK,GANDwQ,GAAI/R,EAAIsB,EACR+b,EAAIpd,EAAIsB,EACR4rE,EAAQ,EACR3hE,EAAS,EACT4C,GAAQ,EAEH1O,EAAKO,EAAQod,EAAL3d,EAAQA,IAErB,IAAK,GAAID,GAAKO,EAAQ+R,EAALtS,EAAQA,IAErB0tE,EAAQxyE,KAAK2yE,WAAW7tE,EAAIC,GAC5B8L,EAAS+iC,EAASluC,KAAKshC,EAAiBwrC,EAAO1tE,EAAIC,GAE/C8L,IAAW2hE,IAEXxyE,KAAKynB,OAAO1iB,EAAK/E,KAAK2G,MAAQ7B,GAAM+L,EACpC4C,GAAQ,EAWpB,OANIA,KAEAzT,KAAKiN,QAAQ0a,aAAa3nB,KAAKixE,UAAW,EAAG,GAC7CjxE,KAAKyT,OAAQ,GAGVzT,MAoBX8yE,WAAY,SAAUC,EAAIC,EAAIn2C,EAAIF,EAAIs2C,EAAIC,EAAIp2C,EAAIF,EAAIu2C,GAElD,GAAI72C,GAAK,EACLC,EAAK,EACLnlB,EAAIpX,KAAK2G,MACT+b,EAAI1iB,KAAK4G,OACTyH,EAAS6Z,EAAOonB,MAAM8jC,UAAUL,EAAIC,EAAIn2C,EAAIF,EAEjCpzB,UAAX4pE,GAAwBA,YAAkBjrD,GAAO1lB,YAEjD85B,EAAK62C,EAAO9tE,EACZk3B,EAAK42C,EAAO7tE,EACZ8R,EAAI+7D,EAAOxsE,MACX+b,EAAIywD,EAAOvsE,OAGf,KAAK,GAAItB,GAAI,EAAOod,EAAJpd,EAAOA,IAEnB,IAAK,GAAID,GAAI,EAAO+R,EAAJ/R,EAAOA,IAEfrF,KAAK2yE,WAAWr2C,EAAKj3B,EAAGk3B,EAAKj3B,KAAO+I,GAEpCrO,KAAK4yE,WAAWt2C,EAAKj3B,EAAGk3B,EAAKj3B,EAAG2tE,EAAIC,EAAIp2C,EAAIF,GAAI,EAQ5D,OAHA58B,MAAKiN,QAAQ0a,aAAa3nB,KAAKixE,UAAW,EAAG,GAC7CjxE,KAAKyT,OAAQ,EAENzT,MAcXqzE,OAAQ,SAAU3wD,EAAGuc,EAAGvJ,EAAGy9C,GAMvB,IAJU5pE,SAANmZ,GAAyB,OAANA,KAAcA,GAAI,IAC/BnZ,SAAN01B,GAAyB,OAANA,KAAcA,GAAI,IAC/B11B,SAANmsB,GAAyB,OAANA,KAAcA,GAAI,GAEpChT,GAAMuc,GAAMvJ,EAAjB,CAKensB,SAAX4pE,IAEAA,EAAS,GAAIjrD,GAAO1lB,UAAU,EAAG,EAAGxC,KAAK2G,MAAO3G,KAAK4G,QAKzD,KAAK,GAFD4rE,GAAQtqD,EAAOonB,MAAMmjC,cAEhBntE,EAAI6tE,EAAO7tE,EAAGA,EAAI6tE,EAAO15C,OAAQn0B,IAEtC,IAAK,GAAID,GAAI8tE,EAAO9tE,EAAGA,EAAI8tE,EAAOr8C,MAAOzxB,IAErC6iB,EAAOonB,MAAMojC,YAAY1yE,KAAK2yE,WAAWttE,EAAGC,GAAIktE,GAAO,GAEnD9vD,IAEA8vD,EAAM9vD,EAAIA,GAGVuc,IAEAuzC,EAAMvzC,EAAIA,GAGVvJ,IAEA88C,EAAM98C,EAAIA,GAGdxN,EAAOonB,MAAMgkC,SAASd,EAAM9vD,EAAG8vD,EAAMvzC,EAAGuzC,EAAM98C,EAAG88C,GACjDxyE,KAAK4yE,WAAWvtE,EAAGC,EAAGktE,EAAM93D,EAAG83D,EAAM73D,EAAG63D,EAAM7tE,EAAG6tE,EAAM9tE,GAAG,EAOlE,OAHA1E,MAAKiN,QAAQ0a,aAAa3nB,KAAKixE,UAAW,EAAG,GAC7CjxE,KAAKyT,OAAQ,EAENzT,OAgBXuzE,SAAU,SAAU7wD,EAAGuc,EAAGvJ,EAAGy9C,GAMzB,IAJU5pE,SAANmZ,GAAyB,OAANA,KAAcA,GAAI,IAC/BnZ,SAAN01B,GAAyB,OAANA,KAAcA,GAAI,IAC/B11B,SAANmsB,GAAyB,OAANA,KAAcA,GAAI,GAEpChT,GAAMuc,GAAMvJ,EAAjB,CAKensB,SAAX4pE,IAEAA,EAAS,GAAIjrD,GAAO1lB,UAAU,EAAG,EAAGxC,KAAK2G,MAAO3G,KAAK4G,QAKzD,KAAK,GAFD4rE,GAAQtqD,EAAOonB,MAAMmjC,cAEhBntE,EAAI6tE,EAAO7tE,EAAGA,EAAI6tE,EAAO15C,OAAQn0B,IAEtC,IAAK,GAAID,GAAI8tE,EAAO9tE,EAAGA,EAAI8tE,EAAOr8C,MAAOzxB,IAErC6iB,EAAOonB,MAAMojC,YAAY1yE,KAAK2yE,WAAWttE,EAAGC,GAAIktE,GAAO,GAEnD9vD,IAEA8vD,EAAM9vD,EAAI1iB,KAAKE,KAAK+jC,KAAKvH,KAAK81C,EAAM9vD,EAAIA,EAAG,EAAG,IAG9Cuc,IAEAuzC,EAAMvzC,EAAIj/B,KAAKE,KAAK+jC,KAAKuvC,WAAWhB,EAAMvzC,EAAIA,EAAG,EAAG,IAGpDvJ,IAEA88C,EAAM98C,EAAI11B,KAAKE,KAAK+jC,KAAKuvC,WAAWhB,EAAM98C,EAAIA,EAAG,EAAG,IAGxDxN,EAAOonB,MAAMgkC,SAASd,EAAM9vD,EAAG8vD,EAAMvzC,EAAGuzC,EAAM98C,EAAG88C,GACjDxyE,KAAK4yE,WAAWvtE,EAAGC,EAAGktE,EAAM93D,EAAG83D,EAAM73D,EAAG63D,EAAM7tE,EAAG6tE,EAAM9tE,GAAG,EAOlE,OAHA1E,MAAKiN,QAAQ0a,aAAa3nB,KAAKixE,UAAW,EAAG,GAC7CjxE,KAAKyT,OAAQ,EAENzT,OAiBX4yE,WAAY,SAAUvtE,EAAGC,EAAGmuE,EAAKC,EAAOC,EAAMnyE,EAAOoyE,GAsBjD,MApBkBrqE,UAAdqqE,IAA2BA,GAAY,GAEvCvuE,GAAK,GAAKA,GAAKrF,KAAK2G,OAASrB,GAAK,GAAKA,GAAKtF,KAAK4G,SAE7CshB,EAAOgvB,OAAO28B,cAEd7zE,KAAKynB,OAAOniB,EAAItF,KAAK2G,MAAQtB,GAAM7D,GAAS,GAAOmyE,GAAQ,GAAOD,GAAS,EAAKD,EAIhFzzE,KAAKynB,OAAOniB,EAAItF,KAAK2G,MAAQtB,GAAMouE,GAAO,GAAOC,GAAS,GAAOC,GAAQ,EAAKnyE,EAG9EoyE,IAEA5zE,KAAKiN,QAAQ0a,aAAa3nB,KAAKixE,UAAW,EAAG,GAC7CjxE,KAAKyT,OAAQ,IAIdzT,MAgBX8zE,SAAU,SAAUzuE,EAAGC,EAAGmuE,EAAKC,EAAOC,EAAMC,GAExC,MAAO5zE,MAAK4yE,WAAWvtE,EAAGC,EAAGmuE,EAAKC,EAAOC,EAAM,IAAKC,IAexDG,SAAU,SAAU1uE,EAAGC,EAAGmzB,GAEjBA,IAEDA,EAAMvQ,EAAOonB,MAAMmjC,cAGvB,IAAIjqE,MAAWnD,EAAKC,EAAItF,KAAK2G,MAS7B,OAPA6B,IAAS,EAETiwB,EAAI/d,EAAI1a,KAAKyQ,KAAKjI,GAClBiwB,EAAI9d,EAAI3a,KAAKyQ,OAAOjI,GACpBiwB,EAAI9zB,EAAI3E,KAAKyQ,OAAOjI,GACpBiwB,EAAI/zB,EAAI1E,KAAKyQ,OAAOjI,GAEbiwB,GAeXk6C,WAAY,SAAUttE,EAAGC,GAErB,MAAID,IAAK,GAAKA,GAAKrF,KAAK2G,OAASrB,GAAK,GAAKA,GAAKtF,KAAK4G,OAE1C5G,KAAKynB,OAAOniB,EAAItF,KAAK2G,MAAQtB,GAFxC,QAoBJ2uE,YAAa,SAAU3uE,EAAGC,EAAGmzB,EAAKw7C,EAAKC,GAEnC,MAAOhsD,GAAOonB,MAAMojC,YAAY1yE,KAAK2yE,WAAWttE,EAAGC,GAAImzB,EAAKw7C,EAAKC,IAWrEC,UAAW,SAAUjP,GAEjB,MAAOllE,MAAKiN,QAAQuD,aAAa00D,EAAK7/D,EAAG6/D,EAAK5/D,EAAG4/D,EAAKv+D,MAAOu+D,EAAKt+D,SAmBtEwtE,cAAe,SAAUC,GAEH9qE,SAAd8qE,IAA2BA,EAAY,EAE3C,IAAI7B,GAAQtqD,EAAOonB,MAAMmjC,cAErBptE,EAAI,EACJC,EAAI,EACJq0C,EAAI,EACJ26B,GAAO,CAEO,KAAdD,GAEA16B,EAAI,GACJr0C,EAAItF,KAAK4G,QAEU,IAAdytE,IAEL16B,EAAI,GACJt0C,EAAIrF,KAAK2G,MAGb,GAEIuhB,GAAOonB,MAAMojC,YAAY1yE,KAAK2yE,WAAWttE,EAAGC,GAAIktE,GAE9B,IAAd6B,GAAiC,IAAdA,GAGnBhvE,IAEIA,IAAMrF,KAAK2G,QAEXtB,EAAI,EACJC,GAAKq0C,GAEDr0C,GAAKtF,KAAK4G,QAAe,GAALtB,KAEpBgvE,GAAO,MAII,IAAdD,GAAiC,IAAdA,KAGxB/uE,IAEIA,IAAMtF,KAAK4G,SAEXtB,EAAI,EACJD,GAAKs0C,GAEDt0C,GAAKrF,KAAK2G,OAAc,GAALtB,KAEnBivE,GAAO,WAKJ,IAAZ9B,EAAM9tE,IAAY4vE,EAKzB,OAHA9B,GAAMntE,EAAIA,EACVmtE,EAAMltE,EAAIA,EAEHktE,GAYX3sE,UAAW,SAAUq/D,GAOjB,MALa37D,UAAT27D,IAAsBA,EAAO,GAAIh9C,GAAO1lB,WAE5C0iE,EAAK7/D,EAAIrF,KAAKo0E,cAAc,GAAG/uE,EAG3B6/D,EAAK7/D,IAAMrF,KAAK2G,MAETu+D,EAAKtsC,MAAM,EAAG,EAAG,EAAG,IAG/BssC,EAAK5/D,EAAItF,KAAKo0E,cAAc,GAAG9uE,EAC/B4/D,EAAKv+D,MAAS3G,KAAKo0E,cAAc,GAAG/uE,EAAI6/D,EAAK7/D,EAAK,EAClD6/D,EAAKt+D,OAAU5G,KAAKo0E,cAAc,GAAG9uE,EAAI4/D,EAAK5/D,EAAK,EAE5C4/D,IAgBX/4B,WAAY,SAAU9mC,EAAGC,EAAG8mC,EAASC,EAAStpB,EAAQE,GAElDF,EAASA,GAAU,EACnBE,EAASA,GAAU,CAEnB,IAAIuG,GAAQxpB,KAAKE,KAAKw7B,IAAIlS,MAAMnkB,EAAGC,EAAGtF,KAKtC,OAHAwpB,GAAMxhB,OAAOxE,IAAI4oC,EAASC,GAC1B7iB,EAAMnoB,MAAMmC,IAAIuf,EAAQE,GAEjBuG,GAiCX+N,KAAM,SAAUlpB,EAAQhJ,EAAGC,EAAGqB,EAAOC,EAAQ9B,EAAIC,EAAIwvE,EAAUC,EAAWt5C,EAAQkR,EAASC,EAAStpB,EAAQE,EAAQzhB,EAAO0C,EAAWm+B,GAMlI,IAJe94B,SAAX8E,GAAmC,OAAXA,KAAmBA,EAASrO,MAExDA,KAAKsxE,OAASjjE,EAEVA,YAAkB6Z,GAAOzgB,QAAU4G,YAAkB6Z,GAAOhY,OAAS7B,YAAkB6Z,GAAOmjD,MAAQh9D,YAAkBpO,MAAKwH,OAG7HzH,KAAKuxE,KAAK/tE,IAAI6K,EAAOzG,QAAQmF,KAAK1H,EAAGgJ,EAAOzG,QAAQmF,KAAKzH,GACzDtF,KAAKwxE,MAAMhuE,IAAI6K,EAAOzG,QAAQmF,KAAKpG,MAAO0H,EAAOzG,QAAQmF,KAAKnG,QAC9D5G,KAAKyxE,OAAOjuE,IAAI6K,EAAOhN,MAAMgE,EAAGgJ,EAAOhN,MAAMiE,GAC7CtF,KAAK6xE,QAAQruE,IAAI6K,EAAOrG,OAAO3C,EAAGgJ,EAAOrG,OAAO1C,GAChDtF,KAAK0xE,QAAUrjE,EAAO9M,SACtBvB,KAAK2xE,OAAOh8C,QAAUtnB,EAAO7M,MAC7BxB,KAAKsxE,OAASjjE,EAAOzG,QAAQ+D,YAAY0C,QAE9B9E,SAAPzE,GAA2B,OAAPA,KAAeA,EAAKuJ,EAAOhJ,IACxCkE,SAAPxE,GAA2B,OAAPA,KAAeA,EAAKsJ,EAAO/I,GAE/C+I,EAAOzG,QAAQ6F,OAGf3I,GAAMuJ,EAAOzG,QAAQ6F,KAAKpI,EAAIgJ,EAAOrG,OAAO3C,EAAIgJ,EAAOzG,QAAQ6F,KAAK9G,MACpE5B,GAAMsJ,EAAOzG,QAAQ6F,KAAKnI,EAAI+I,EAAOrG,OAAO1C,EAAI+I,EAAOzG,QAAQ6F,KAAK7G,QAGpD,WAAhByH,EAAO9C,OAEH8C,EAAO7C,aAAe6C,EAAO9C,OAE7B8C,EAAO7C,WAAa6C,EAAO9C,KAC3B8C,EAAO5C,cAAgBxL,KAAK+N,aAAaC,iBAAiBI,EAAQA,EAAO9C,OAG7EvL,KAAKsxE,OAASjjE,EAAO5C,mBAI7B,CAQI,GANAzL,KAAKuxE,KAAK/tE,IAAI,GACdxD,KAAKyxE,OAAOjuE,IAAI,GAChBxD,KAAK6xE,QAAQruE,IAAI,GACjBxD,KAAK0xE,QAAU,EACf1xE,KAAK2xE,OAAOh8C,QAAU,EAElBtnB,YAAkB6Z,GAAOohD,WAEzBtpE,KAAKsxE,OAASjjE,EAAOgC,WAEpB,IAAsB,gBAAXhC,GAChB,CAGI,GAFAA,EAASrO,KAAKE,KAAK4jC,MAAM7Y,SAAS5c,GAEnB,OAAXA,EAEA,MAIArO,MAAKsxE,OAASjjE,EAItBrO,KAAKwxE,MAAMhuE,IAAIxD,KAAKsxE,OAAO3qE,MAAO3G,KAAKsxE,OAAO1qE,QA6DlD,IAzDU2C,SAANlE,GAAyB,OAANA,KAAcA,EAAI,IAC/BkE,SAANjE,GAAyB,OAANA,KAAcA,EAAI,GAGrCqB,IAEA3G,KAAKwxE,MAAMnsE,EAAIsB,GAGfC,IAEA5G,KAAKwxE,MAAMlsE,EAAIsB,IAIR2C,SAAPzE,GAA2B,OAAPA,KAAeA,EAAKO,IACjCkE,SAAPxE,GAA2B,OAAPA,KAAeA,EAAKO,IAC3BiE,SAAbgrE,GAAuC,OAAbA,KAAqBA,EAAWv0E,KAAKwxE,MAAMnsE,IACvDkE,SAAdirE,GAAyC,OAAdA,KAAsBA,EAAYx0E,KAAKwxE,MAAMlsE,GAGtD,gBAAX41B,KAEPl7B,KAAK0xE,QAAUx2C,GAII,gBAAZkR,KAEPpsC,KAAK6xE,QAAQxsE,EAAI+mC,GAGE,gBAAZC,KAEPrsC,KAAK6xE,QAAQvsE,EAAI+mC,GAIC,gBAAXtpB,KAEP/iB,KAAKyxE,OAAOpsE,EAAI0d,GAGE,gBAAXE,KAEPjjB,KAAKyxE,OAAOnsE,EAAI2d,GAIC,gBAAVzhB,KAEPxB,KAAK2xE,OAAOh8C,QAAUn0B,GAGR+H,SAAdrF,IAA2BA,EAAY,MAC3BqF,SAAZ84B,IAAyBA,GAAU,KAEnCriC,KAAK2xE,OAAOh8C,SAAW,GAAuB,IAAlB31B,KAAKyxE,OAAOpsE,GAA6B,IAAlBrF,KAAKyxE,OAAOnsE,GAA4B,IAAjBtF,KAAKwxE,MAAMnsE,GAA4B,IAAjBrF,KAAKwxE,MAAMlsE,GAA/G,CAMA,GAAI0rE,GAAMhxE,KAAKiN,OAiCf,OA/BAjN,MAAK2xE,OAAOC,KAAOZ,EAAI5jE,YAEvB4jE,EAAItqD,OAEJsqD,EAAI5jE,YAAcpN,KAAK2xE,OAAOh8C,QAE1BzxB,IAEAlE,KAAKy0E,GAAKvwE,GAGVm+B,IAEAv9B,GAAM,EACNC,GAAM,GAGVisE,EAAIlmD,UAAUhmB,EAAIC,GAElBisE,EAAI3vE,MAAMrB,KAAKyxE,OAAOpsE,EAAGrF,KAAKyxE,OAAOnsE,GAErC0rE,EAAI91C,OAAOl7B,KAAK0xE,SAEhBV,EAAI9iE,UAAUlO,KAAKsxE,OAAQtxE,KAAKuxE,KAAKlsE,EAAIA,EAAGrF,KAAKuxE,KAAKjsE,EAAIA,EAAGtF,KAAKwxE,MAAMnsE,EAAGrF,KAAKwxE,MAAMlsE,GAAIivE,EAAWv0E,KAAK6xE,QAAQxsE,GAAImvE,EAAYx0E,KAAK6xE,QAAQvsE,EAAGivE,EAAUC,GAE5JxD,EAAIjqD,UAEJiqD,EAAI5jE,YAAcpN,KAAK2xE,OAAOC,KAE9B5xE,KAAKyT,OAAQ,EAENzT,OAiBX00E,SAAU,SAAUrmE,EAAQuxB,EAAMv6B,EAAGC,EAAG9D,EAAO0C,EAAWm+B,GAEtD,MAAOriC,MAAKu3B,KAAKlpB,EAAQuxB,EAAKv6B,EAAGu6B,EAAKt6B,EAAGs6B,EAAKj5B,MAAOi5B,EAAKh5B,OAAQvB,EAAGC,EAAGs6B,EAAKj5B,MAAOi5B,EAAKh5B,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAGpF,EAAO0C,EAAWm+B,IAmBtIgwC,KAAM,SAAUhkE,EAAQhJ,EAAGC,EAAGqB,EAAOC,EAAQ1C,EAAWm+B,GAGpD,MAAOriC,MAAKu3B,KAAKlpB,EAAQ,KAAM,KAAM,KAAM,KAAMhJ,EAAGC,EAAGqB,EAAOC,EAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM1C,EAAWm+B,IAiBzHsyC,UAAW,SAAU1+B,EAAO/xC,EAAWm+B,GAOnC,MALI4T,GAAMlnB,MAAQ,GAEdknB,EAAM1B,cAAcv0C,KAAKu3B,KAAMv3B,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAMkE,EAAWm+B,GAGjIriC,MA2BX40E,SAAU,SAAUhzE,EAAQsC,EAAWm+B,GAEnC,GAAIzgC,EAAO0+C,gBAAiB,GAA+B,IAAtB1+C,EAAOE,YAAqBF,EAAOs1B,eAAe,WAAat1B,EAAOyrC,UAAW,EAElH,MAAOrtC,KAGX,IAAI4B,EAAOgT,OAASsT,EAAOoK,OAAS1wB,EAAOgT,OAASsT,EAAOwK,SAAW9wB,EAAOgT,OAASsT,EAAOmK,WAEzF,GAAIzwB,EAAOgT,OAASsT,EAAOgK,SAC3B,CACI,GAAI1rB,GAAS5E,EAAOiE,WACpB7F,MAAKgxE,IAAItqD,OACT1mB,KAAKgxE,IAAIlmD,UAAUtkB,EAAOnB,EAAGmB,EAAOlB,GACpCrF,KAAK2mB,eAAeiuD,eAAejzE,EAAQ5B,KAAKgxE,KAChDhxE,KAAKgxE,IAAIjqD,cAIT/mB,MAAKu3B,KAAK31B,EAAQ,KAAM,KAAM,KAAM,KAAMA,EAAOK,cAAcoD,EAAGzD,EAAOK,cAAcqD,EAAG,KAAM,KAAM1D,EAAOO,cAAe,KAAM,KAAMP,EAAOM,WAAWmD,EAAGzD,EAAOM,WAAWoD,EAAG1D,EAAOE,WAAYoC,EAAWm+B,EAIxN,IAAIzgC,EAAOoB,SAEP,IAAK,GAAIC,GAAI,EAAGA,EAAIrB,EAAOoB,SAASE,OAAQD,IAExCjD,KAAK40E,SAAShzE,EAAOoB,SAASC,GAAIiB,EAAWm+B,EAIrD,OAAOriC,OAgBX80E,OAAQ,SAAU18D,EAAO28D,EAAM1vE,EAAGC,GAE9B,GAAI0rE,GAAMhxE,KAAKiN,OAED1D,UAAV6O,GAAiC,OAAVA,EAEvB44D,EAAIgE,YAAc,iBAIlBhE,EAAIgE,YAAc58D,EAClB44D,EAAIiE,WAAaF,GAAQ,EACzB/D,EAAIkE,cAAgB7vE,GAAK,GACzB2rE,EAAImE,cAAgB7vE,GAAK,KAejC8vE,UAAW,SAAU/mE,EAAQpD,EAAMoqE,EAAYC,GAoB3C,MAlBiB/rE,UAAb+rE,GAAuC,OAAbA,EAE1Bt1E,KAAKqyE,KAAKpnE,GAAMsqE,kBAIhBv1E,KAAKqyE,KAAKpnE,EAAMqqE,EAASjwE,EAAGiwE,EAAShwE,EAAGgwE,EAAS3uE,MAAO2uE,EAAS1uE,QAAQ2uE,kBAG1DhsE,SAAf8rE,GAA2C,OAAfA,EAE5Br1E,KAAKqyE,KAAKhkE,GAAQmnE,aAIlBx1E,KAAKqyE,KAAKhkE,EAAQgnE,EAAWhwE,EAAGgwE,EAAW/vE,EAAG+vE,EAAW1uE,MAAO0uE,EAAWzuE,QAAQ4uE,aAGhFx1E,MA0BXy1E,QAAS,SAAUC,EAAah7D,EAAGC,EAAGhW,EAAGD,EAAGmD,EAAQorE,EAAIC,EAAIp2C,GA2BxD,MAzBUvzB,UAAN7E,IAAmBA,EAAI,KACZ6E,SAAX1B,IAAwBA,GAAS,GAC1B0B,SAAP0pE,IAAoBA,EAAKv4D,GAClBnR,SAAP2pE,IAAoBA,EAAKv4D,GAClBpR,SAAPuzB,IAAoBA,EAAKn4B,GAEzBkD,GAEA6tE,EAAY7tE,OAAO7H,KAAK2G,MAAO3G,KAAK4G,QAGxC5G,KAAKuyE,gBACD,SAAUC,EAAOntE,EAAGC,GAMhB,MAJIktE,GAAM93D,IAAMA,GAAK83D,EAAM73D,IAAMA,GAAK63D,EAAM7tE,IAAMA,GAE9C+wE,EAAY9C,WAAWvtE,EAAGC,EAAG2tE,EAAIC,EAAIp2C,EAAIp4B,GAAG,IAEzC,GAEX1E,MAEJ01E,EAAYzoE,QAAQ0a,aAAa+tD,EAAYzE,UAAW,EAAG,GAC3DyE,EAAYjiE,OAAQ,EAEbiiE,GAeXxQ,KAAM,SAAU7/D,EAAGC,EAAGqB,EAAOC,EAAQsgB,GASjC,MAPyB,mBAAdA,KAEPlnB,KAAKiN,QAAQia,UAAYA,GAG7BlnB,KAAKiN,QAAQoa,SAAShiB,EAAGC,EAAGqB,EAAOC,GAE5B5G,MAkBXorE,KAAM,SAAUA,EAAM/lE,EAAGC,EAAG0mE,EAAM5zD,EAAO08D,GAE3BvrE,SAANlE,IAAmBA,EAAI,GACjBkE,SAANjE,IAAmBA,EAAI,GACdiE,SAATyiE,IAAsBA,EAAO,gBACnBziE,SAAV6O,IAAuBA,EAAQ,oBACpB7O,SAAXurE,IAAwBA,GAAS,EAErC,IAAI9D,GAAMhxE,KAAKiN,QACX0oE,EAAW3E,EAAIhF,IAEnBgF,GAAIhF,KAAOA,EAEP8I,IAEA9D,EAAI9pD,UAAY,aAChB8pD,EAAI4E,SAASxK,EAAM/lE,EAAI,EAAGC,EAAI,IAGlC0rE,EAAI9pD,UAAY9O,EAChB44D,EAAI4E,SAASxK,EAAM/lE,EAAGC,GAEtB0rE,EAAIhF,KAAO2J,GAcf95B,OAAQ,SAAUx2C,EAAGC,EAAGqzB,EAAQzR,GAE5B,GAAI8pD,GAAMhxE,KAAKiN,OAaf,OAXkB1D,UAAd2d,IAEA8pD,EAAI9pD,UAAYA,GAGpB8pD,EAAIxjD,YACJwjD,EAAI6E,IAAIxwE,EAAGC,EAAGqzB,EAAQ,EAAa,EAAV93B,KAAKC,IAAQ,GACtCkwE,EAAIrjD,YAEJqjD,EAAI3iD,OAEGruB,MAgBXo7B,KAAM,SAAU7uB,EAAIC,EAAIC,EAAIC,EAAI0L,EAAOzR,GAErB4C,SAAV6O,IAAuBA,EAAQ,QACrB7O,SAAV5C,IAAuBA,EAAQ,EAEnC,IAAIqqE,GAAMhxE,KAAKiN,OAaf,OAXA+jE,GAAIxjD,YAEJwjD,EAAIvjD,OAAOlhB,EAAIC,GACfwkE,EAAItjD,OAAOjhB,EAAIC,GAEfskE,EAAI8E,UAAYnvE,EAChBqqE,EAAIvgD,YAAcrY,EAClB44D,EAAI+E,SAEJ/E,EAAIrjD,YAEG3tB,MAaXg2E,YAAa,SAAU56C,EAAM5R,EAAOrT,GAIhC,GAFe5M,SAAX4M,IAAwBA,EAAS,YAEhB,gBAAVqT,KAEPA,EAAQxpB,KAAKE,KAAK4jC,MAAM7Y,SAASzB,IAFrC,CAUA,GAAI7iB,GAAQy0B,EAAKl4B,MAEF,eAAXiT,GAA0BxP,EAAQ6iB,EAAM7iB,QAExCA,EAAQ6iB,EAAM7iB,MAGlB,IAAIqqE,GAAMhxE,KAAKiN,OAgBf,OAdA+jE,GAAI9pD,UAAY8pD,EAAIlhD,cAActG,EAAOrT,GAEzCnW,KAAKiyE,QAAU,GAAI/pD,GAAOkQ,OAAOgD,EAAKlwB,MAAM7F,EAAG+1B,EAAKlwB,MAAM5F,EAAGkkB,EAAM5iB,QAEnE5G,KAAKiyE,QAAQ74C,mBAAmBgC,EAAK/B,MAAQ,oBAAoB,EAAOr5B,KAAKuxE,MAE7EP,EAAItqD,OACJsqD,EAAIlmD,UAAU9qB,KAAKuxE,KAAKlsE,EAAGrF,KAAKuxE,KAAKjsE,GACrC0rE,EAAI91C,OAAOE,EAAK/B,OAChB23C,EAAI3pD,SAAS,EAAG,EAAG1gB,EAAO6iB,EAAM5iB,QAChCoqE,EAAIjqD,UAEJ/mB,KAAKyT,OAAQ,EAENzT,OAYX8G,OAAQ,WAQJ,OANK9G,KAAKoxE,sBAAwBpxE,KAAKyT,QAEnCzT,KAAK2L,YAAY8H,QACjBzT,KAAKyT,OAAQ,GAGVzT,MASX+C,QAAS,WAEL9C,KAAKqQ,WAAWI,OAAO1Q,OAU3Bw1E,WAAY,WAGR,MADAx1E,MAAKy0E,GAAK,cACHz0E,MAUXi2E,gBAAiB,WAGb,MADAj2E,MAAKy0E,GAAK,cACHz0E,MAUXk2E,cAAe,WAGX,MADAl2E,MAAKy0E,GAAK,YACHz0E,MAUXm2E,eAAgB,WAGZ,MADAn2E,MAAKy0E,GAAK,aACHz0E,MAUXu1E,gBAAiB,WAGb,MADAv1E,MAAKy0E,GAAK,cACHz0E,MAUXo2E,qBAAsB,WAGlB,MADAp2E,MAAKy0E,GAAK,mBACHz0E,MAUXq2E,mBAAoB,WAGhB,MADAr2E,MAAKy0E,GAAK,iBACHz0E,MAUXs2E,oBAAqB,WAGjB,MADAt2E,MAAKy0E,GAAK,kBACHz0E,MAUXu2E,qBAAsB,WAGlB,MADAv2E,MAAKy0E,GAAK,mBACHz0E,MAUXw2E,SAAU,WAGN,MADAx2E,MAAKy0E,GAAK,MACHz0E,MAUXy2E,SAAU,WAGN,MADAz2E,MAAKy0E,GAAK,UACHz0E,MAUX02E,cAAe,WAGX,MADA12E,MAAKy0E,GAAK,WACHz0E,MAUX22E,YAAa,WAGT,MADA32E,MAAKy0E,GAAK,SACHz0E,MAUX42E,aAAc,WAGV,MADA52E,MAAKy0E,GAAK,UACHz0E,MAUX62E,YAAa,WAGT,MADA72E,MAAKy0E,GAAK,SACHz0E,MAUX82E,aAAc,WAGV,MADA92E,MAAKy0E,GAAK,UACHz0E,MAUX+2E,gBAAiB,WAGb,MADA/2E,MAAKy0E,GAAK,cACHz0E,MAUXg3E,eAAgB,WAGZ,MADAh3E,MAAKy0E,GAAK,aACHz0E,MAUXi3E,eAAgB,WAGZ,MADAj3E,MAAKy0E,GAAK,aACHz0E,MAUXk3E,eAAgB,WAGZ,MADAl3E,MAAKy0E,GAAK,aACHz0E,MAUXm3E,gBAAiB,WAGb,MADAn3E,MAAKy0E,GAAK,aACHz0E,MAUXo3E,eAAgB,WAGZ,MADAp3E,MAAKy0E,GAAK,YACHz0E,MAUXq3E,SAAU,WAGN,MADAr3E,MAAKy0E,GAAK,MACHz0E,MAUXs3E,gBAAiB,WAGb,MADAt3E,MAAKy0E,GAAK,aACHz0E,MAUXu3E,WAAY,WAGR,MADAv3E,MAAKy0E,GAAK,QACHz0E,MAUXw3E,gBAAiB,WAGb,MADAx3E,MAAKy0E,GAAK,aACHz0E,OAUfoD,OAAOC,eAAe6kB,EAAOohD,WAAWzmE,UAAW,YAE/CS,IAAK,WAED4kB,EAAOC,OAAOsvD,oBAAoBz3E,KAAKiN,UAI3CzJ,IAAK,SAAUC,GAEXykB,EAAOC,OAAOuvD,oBAAoB13E,KAAKiN,QAASxJ,MAUxDL,OAAOC,eAAe6kB,EAAOohD,WAAWzmE,UAAW,MAE/CS,IAAK,WAED,MAAOtD,MAAKiN,QAAQC,0BAIxB1J,IAAK,SAAUC,GAEXzD,KAAKiN,QAAQC,yBAA2BzJ,KAkBhDykB,EAAOohD,WAAWqO,aAAe,SAAUC,EAAYC,EAAY90D,EAAQE,EAAQ60D,EAAOC,GAStF,MAP0B,gBAAfH,KAA2BA,EAAa,GACzB,gBAAfC,KAA2BA,EAAa,GAC7B,gBAAX90D,KAAuBA,EAAS,GACrB,gBAAXE,KAAuBA,EAAS,GACtB,gBAAV60D,KAAsBA,EAAQ,GACpB,gBAAVC,KAAsBA,EAAQ,IAEhCz7C,GAAIvZ,EAAQwZ,GAAItZ,EAAQF,OAAQA,EAAQE,OAAQA,EAAQ60D,MAAOA,EAAOC,MAAOA,EAAOH,WAAYA,EAAYC,WAAYA,EAAY/yE,GAAI8yE,EAAY7yE,GAAI8yE,IAIrK3vD,EAAOohD,WAAWzmE,UAAUC,YAAcolB,EAAOohD,WAajDrpE,KAAKugD,SAAW,WAEZvgD,KAAKgI,uBAAuBvC,KAAK1F,MAEjCA,KAAK2B,YAAa,EAQlB3B,KAAKg4E,UAAY,EAQjBh4E,KAAK81E,UAAY,EASjB91E,KAAKi4E,UAAY,EASjBj4E,KAAKygD,gBASLzgD,KAAKuL,KAAO,SASZvL,KAAKkE,UAAYjE,KAAKkE,WAAWE,OASjCrE,KAAKk4E,YAAc,KASnBl4E,KAAKsd,UAQLtd,KAAK0D,QAAS,EAQd1D,KAAKm4E,cAAgB,EAErBn4E,KAAKo4E,aAAe,GAAIn4E,MAAKuC,UAAU,EAAE,EAAE,EAAE,GAS7CxC,KAAKyT,OAAQ,EASbzT,KAAKq4E,YAAa,EASlBr4E,KAAKs4E,mBAAoB,GAK7Br4E,KAAKugD,SAAS39C,UAAYO,OAAO8E,OAAQjI,KAAKgI,uBAAuBpF,WACrE5C,KAAKugD,SAAS39C,UAAUC,YAAc7C,KAAKugD,SAW3CvgD,KAAKugD,SAAS39C,UAAU01E,UAAY,SAASzC,EAAW19D,EAAO5W,GAsB3D,MApBAxB,MAAK81E,UAAYA,GAAa,EAC9B91E,KAAKi4E,UAAY7/D,GAAS,EAC1BpY,KAAKw4E,UAAuBjvE,SAAV/H,EAAuB,EAAIA,EAEzCxB,KAAKk4E,cAEDl4E,KAAKk4E,YAAYx3B,MAAM/xB,OAAOzrB,OAG9BlD,KAAKy4E,UAAU,GAAIx4E,MAAK0/B,QAAQ3/B,KAAKk4E,YAAYx3B,MAAM/xB,OAAOsF,MAAM,OAKpEj0B,KAAKk4E,YAAYpC,UAAY91E,KAAK81E,UAClC91E,KAAKk4E,YAAYD,UAAYj4E,KAAKi4E,UAClCj4E,KAAKk4E,YAAYM,UAAYx4E,KAAKw4E,YAInCx4E,MAWXC,KAAKugD,SAAS39C,UAAU4qB,OAAS,SAASpoB,EAAGC,GAIzC,MAFAtF,MAAKy4E,UAAU,GAAIx4E,MAAK0/B,SAASt6B,EAAGC,KAE7BtF,MAYXC,KAAKugD,SAAS39C,UAAU6qB,OAAS,SAASroB,EAAGC,GAUzC,MARKtF,MAAKk4E,aAENl4E,KAAKytB,OAAO,EAAG,GAGnBztB,KAAKk4E,YAAYx3B,MAAM/xB,OAAO5qB,KAAKsB,EAAGC,GACtCtF,KAAKyT,OAAQ,EAENzT,MAcXC,KAAKugD,SAAS39C,UAAU61E,iBAAmB,SAASC,EAAKC,EAAKC,EAAKC,GAE3D94E,KAAKk4E,YAEwC,IAAzCl4E,KAAKk4E,YAAYx3B,MAAM/xB,OAAOzrB,SAE9BlD,KAAKk4E,YAAYx3B,MAAM/xB,QAAU,EAAG,IAKxC3uB,KAAKytB,OAAO,EAAE,EAGlB,IAAIsrD,GACAC,EACAzqD,EAAI,GACJI,EAAS3uB,KAAKk4E,YAAYx3B,MAAM/xB,MAEd,KAAlBA,EAAOzrB,QAEPlD,KAAKytB,OAAO,EAAG,EAMnB,KAAK,GAHDwrD,GAAQtqD,EAAOA,EAAOzrB,OAAS,GAC/Bg2E,EAAQvqD,EAAOA,EAAOzrB,OAAS,GAC/BY,EAAI,EACCb,EAAI,EAAQsrB,GAALtrB,IAAUA,EAEtBa,EAAIb,EAAIsrB,EAERwqD,EAAKE,GAAWN,EAAMM,GAASn1E,EAC/Bk1E,EAAKE,GAAWN,EAAMM,GAASp1E,EAE/B6qB,EAAO5qB,KAAMg1E,GAASJ,GAASE,EAAMF,GAAO70E,EAAOi1E,GAAMj1E,EAC5Ck1E,GAASJ,GAASE,EAAMF,GAAO90E,EAAOk1E,GAAMl1E,EAK7D,OAFA9D,MAAKyT,OAAQ,EAENzT,MAeXC,KAAKugD,SAAS39C,UAAUs2E,cAAgB,SAASR,EAAKC,EAAKQ,EAAMC,EAAMR,EAAKC,GAEpE94E,KAAKk4E,YAEwC,IAAzCl4E,KAAKk4E,YAAYx3B,MAAM/xB,OAAOzrB,SAE9BlD,KAAKk4E,YAAYx3B,MAAM/xB,QAAU,EAAG,IAKxC3uB,KAAKytB,OAAO,EAAE,EAelB,KAAK,GAXD6rD,GACAC,EACAC,EACAC,EACAC,EALAnrD,EAAI,GAMJI,EAAS3uB,KAAKk4E,YAAYx3B,MAAM/xB,OAEhCsqD,EAAQtqD,EAAOA,EAAOzrB,OAAO,GAC7Bg2E,EAAQvqD,EAAOA,EAAOzrB,OAAO,GAC7BY,EAAI,EAECb,EAAI,EAAQsrB,GAALtrB,IAAUA,EAEtBa,EAAIb,EAAIsrB,EAER+qD,EAAM,EAAIx1E,EACVy1E,EAAMD,EAAKA,EACXE,EAAMD,EAAMD,EAEZG,EAAK31E,EAAIA,EACT41E,EAAKD,EAAK31E,EAEV6qB,EAAO5qB,KAAMy1E,EAAMP,EAAQ,EAAIM,EAAMz1E,EAAI60E,EAAM,EAAIW,EAAKG,EAAKL,EAAOM,EAAKb,EAC5DW,EAAMN,EAAQ,EAAIK,EAAMz1E,EAAI80E,EAAM,EAAIU,EAAKG,EAAKJ,EAAOK,EAAKZ,EAK7E,OAFA94E,MAAKyT,OAAQ,EAENzT,MAgBXC,KAAKugD,SAAS39C,UAAU82E,MAAQ,SAASptE,EAAIC,EAAIC,EAAIC,EAAIisB,GAEjD34B,KAAKk4E,YAEwC,IAAzCl4E,KAAKk4E,YAAYx3B,MAAM/xB,OAAOzrB,QAE9BlD,KAAKk4E,YAAYx3B,MAAM/xB,OAAO5qB,KAAKwI,EAAIC,GAK3CxM,KAAKytB,OAAOlhB,EAAIC,EAGpB,IAAImiB,GAAS3uB,KAAKk4E,YAAYx3B,MAAM/xB,OAChCsqD,EAAQtqD,EAAOA,EAAOzrB,OAAO,GAC7Bg2E,EAAQvqD,EAAOA,EAAOzrB,OAAO,GAC7By5B,EAAKu8C,EAAQ1sE,EACbqwB,EAAKo8C,EAAQ1sE,EACbqwB,EAAKlwB,EAAOF,EACZswB,EAAKrwB,EAAOF,EACZqtE,EAAK/4E,KAAKi5B,IAAI6C,EAAKG,EAAKD,EAAKD,EAEjC,IAAS,KAALg9C,GAA0B,IAAXjhD,GAEXhK,EAAOA,EAAOzrB,OAAO,KAAOqJ,GAAMoiB,EAAOA,EAAOzrB,OAAO,KAAOsJ,IAE9DmiB,EAAO5qB,KAAKwI,EAAIC,OAIxB,CACI,GAAIqtE,GAAKl9C,EAAKA,EAAKE,EAAKA,EACpBi9C,EAAKl9C,EAAKA,EAAKE,EAAKA,EACpBi9C,EAAKp9C,EAAKC,EAAKC,EAAKC,EACpBk9C,EAAKrhD,EAAS93B,KAAK0E,KAAKs0E,GAAMD,EAC9BK,EAAKthD,EAAS93B,KAAK0E,KAAKu0E,GAAMF,EAC9BM,EAAKF,EAAKD,EAAKF,EACfM,EAAKF,EAAKF,EAAKD,EACf3rE,EAAK6rE,EAAKl9C,EAAKm9C,EAAKp9C,EACpBzuB,EAAK4rE,EAAKp9C,EAAKq9C,EAAKt9C,EACpBrG,EAAKuG,GAAMo9C,EAAKC,GAChBxpB,EAAK/zB,GAAMs9C,EAAKC,GAChBE,EAAKt9C,GAAMk9C,EAAKG,GAChBE,EAAKz9C,GAAMo9C,EAAKG,GAChBG,EAAaz5E,KAAK2E,MAAMkrD,EAAKtiD,EAAIkoB,EAAKnoB,GACtCosE,EAAa15E,KAAK2E,MAAM60E,EAAKjsE,EAAIgsE,EAAKjsE,EAE1CnO,MAAK61E,IAAI1nE,EAAK5B,EAAI6B,EAAK5B,EAAImsB,EAAQ2hD,EAAYC,EAAU19C,EAAKD,EAAKE,EAAKH,GAK5E,MAFA38B,MAAKyT,OAAQ,EAENzT,MAeXC,KAAKugD,SAAS39C,UAAUgzE,IAAM,SAAS1nE,EAAIC,EAAIuqB,EAAQ2hD,EAAYC,EAAUC,GAGzE,GAAIF,IAAeC,EAEf,MAAOv6E,KAGWuJ,UAAlBixE,IAA+BA,GAAgB,IAE9CA,GAA6BF,GAAZC,EAElBA,GAAsB,EAAV15E,KAAKC,GAEZ05E,GAA+BD,GAAdD,IAEtBA,GAAwB,EAAVz5E,KAAKC,GAGvB,IAAI25E,GAAQD,EAA0C,IAAzBF,EAAaC,GAAkBA,EAAWD,EACnEI,EAAqD,GAA7C75E,KAAKgzB,KAAKhzB,KAAKi5B,IAAI2gD,IAAoB,EAAV55E,KAAKC,IAG9C,IAAc,IAAV25E,EAEA,MAAOz6E,KAGX,IAAI26E,GAASxsE,EAAKtN,KAAKuE,IAAIk1E,GAAc3hD,EACrCiiD,EAASxsE,EAAKvN,KAAKsE,IAAIm1E,GAAc3hD,CAErC6hD,IAAiBx6E,KAAK66E,QAEtB76E,KAAKytB,OAAOtf,EAAIC,GAIhBpO,KAAKytB,OAAOktD,EAAQC,EAgBxB,KAAK,GAZDjsD,GAAS3uB,KAAKk4E,YAAYx3B,MAAM/xB,OAEhCmsD,EAAQL,GAAgB,EAAPC,GACjBK,EAAiB,EAARD,EAETE,EAASn6E,KAAKuE,IAAI01E,GAClBG,EAASp6E,KAAKsE,IAAI21E,GAElBI,EAAWR,EAAO,EAElBS,EAAaD,EAAW,EAAKA,EAExBj4E,EAAI,EAAQi4E,GAALj4E,EAAeA,IAC/B,CACI,GAAIm4E,GAAQn4E,EAAIk4E,EAAYl4E,EAExBo2B,EAAS,EAAUihD,EAAcS,EAASK,EAE1Cx2E,EAAI/D,KAAKuE,IAAIi0B,GACb4F,GAAKp+B,KAAKsE,IAAIk0B,EAElB1K,GAAO5qB,MAAQi3E,EAAUp2E,EAAMq2E,EAASh8C,GAAOtG,EAASxqB,GACzC6sE,GAAU/7C,EAAMg8C,EAASr2E,GAAO+zB,EAASvqB,GAK5D,MAFApO,MAAKyT,OAAQ,EAENzT,MAYXC,KAAKugD,SAAS39C,UAAUw4E,UAAY,SAASjjE,EAAO5W,GAgBhD,MAdAxB,MAAK66E,SAAU,EACf76E,KAAKs7E,UAAYljE,GAAS,EAC1BpY,KAAKg4E,UAAuBzuE,SAAV/H,EAAuB,EAAIA,EAEzCxB,KAAKk4E,aAEDl4E,KAAKk4E,YAAYx3B,MAAM/xB,OAAOzrB,QAAU,IAExClD,KAAKk4E,YAAY7pD,KAAOruB,KAAK66E,QAC7B76E,KAAKk4E,YAAYoD,UAAYt7E,KAAKs7E,UAClCt7E,KAAKk4E,YAAYF,UAAYh4E,KAAKg4E,WAInCh4E,MASXC,KAAKugD,SAAS39C,UAAU04E,QAAU,WAM9B,MAJAv7E,MAAK66E,SAAU,EACf76E,KAAKs7E,UAAY,KACjBt7E,KAAKg4E,UAAY,EAEVh4E,MAYXC,KAAKugD,SAAS39C,UAAU24E,SAAW,SAASn2E,EAAGC,EAAGqB,EAAOC,GAIrD,MAFA5G,MAAKy4E,UAAU,GAAIx4E,MAAKuC,UAAU6C,EAAGC,EAAGqB,EAAOC,IAExC5G,MAWXC,KAAKugD,SAAS39C,UAAU44E,gBAAkB,SAASp2E,EAAGC,EAAGqB,EAAOC,EAAQ+xB,GAIpE,MAFA34B,MAAKy4E,UAAU,GAAIx4E,MAAKiiC,iBAAiB78B,EAAGC,EAAGqB,EAAOC,EAAQ+xB,IAEvD34B,MAYXC,KAAKugD,SAAS39C,UAAU64E,WAAa,SAASr2E,EAAGC,EAAG+yB,GAIhD,MAFAr4B,MAAKy4E,UAAU,GAAIx4E,MAAKm4B,OAAO/yB,EAAGC,EAAG+yB,IAE9Br4B,MAaXC,KAAKugD,SAAS39C,UAAU84E,YAAc,SAASt2E,EAAGC,EAAGqB,EAAOC,GAIxD,MAFA5G,MAAKy4E,UAAU,GAAIx4E,MAAKu6B,QAAQn1B,EAAGC,EAAGqB,EAAOC,IAEtC5G,MAUXC,KAAKugD,SAAS39C,UAAU+4E,YAAc,SAASC,IAEvCA,YAAgB3zD,GAAOyX,SAAWk8C,YAAgB57E,MAAK0/B,WAEvDk8C,EAAOA,EAAKltD,OAKhB,IAAIA,GAASktD,CAEb,KAAKl7E,MAAMoR,QAAQ4c,GACnB,CAGIA,EAAS,GAAIhuB,OAAM4zB,UAAUrxB,OAE7B,KAAK,GAAID,GAAI,EAAGA,EAAI0rB,EAAOzrB,SAAUD,EAEjC0rB,EAAO1rB,GAAKsxB,UAAUtxB,GAM9B,MAFAjD,MAAKy4E,UAAU,GAAIvwD,GAAOyX,QAAQhR,IAE3B3uB,MASXC,KAAKugD,SAAS39C,UAAU+X,MAAQ,WAS5B,MAPA5a,MAAK81E,UAAY,EACjB91E,KAAK66E,SAAU,EAEf76E,KAAKyT,OAAQ,EACbzT,KAAK87E,YAAa,EAClB97E,KAAKygD,gBAEEzgD,MAYXC,KAAKugD,SAAS39C,UAAUuD,gBAAkB,SAASC,EAAYC,GAE3DD,EAAaA,GAAc,CAE3B,IAAIG,GAASxG,KAAK6F,YAEd0pB,EAAe,GAAItvB,MAAKsmB,aAAa/f,EAAOG,MAAQN,EAAYG,EAAOI,OAASP,GAEhFuB,EAAU3H,KAAKoL,QAAQqe,WAAW6F,EAAalf,OAAQ/J,EAW3D,OAVAsB,GAAQ+D,YAAYtF,WAAaA,EAEjCkpB,EAAatiB,QAAQ5L,MAAMgF,EAAYA,GAEvCkpB,EAAatiB,QAAQ6d,WAAWtkB,EAAOnB,GAAImB,EAAOlB,GAIlDrF,KAAK2mB,eAAeiuD,eAAe70E,KAAMuvB,EAAatiB,SAE/CrF,GAUX3H,KAAKugD,SAAS39C,UAAU6E,aAAe,SAASJ,GAG5C,GAAItH,KAAKyB,WAAY,GAAwB,IAAfzB,KAAKwB,OAAexB,KAAK0D,UAAW,EAAlE,CAEA,GAAI1D,KAAK2C,eAiBL,OAfI3C,KAAKyT,OAASzT,KAAKs4E,qBAEnBt4E,KAAKsE,wBAGLtE,KAAK+7E,4BAEL/7E,KAAKs4E,mBAAoB,EACzBt4E,KAAKyT,OAAQ,GAGjBzT,KAAKuH,cAAczF,WAAa9B,KAAK8B,eAErC7B,MAAKwH,OAAO5E,UAAU6E,aAAahC,KAAK1F,KAAKuH,cAAeD,EAa5D,IAPAA,EAAcoD,YAAYI,OAC1BxD,EAAcmS,iBAAiBwB,aAAajb,KAAKkE,WAE7ClE,KAAK0C,OAAO4E,EAAcyD,YAAYC,SAAShL,KAAK0C,MAAO4E,GAC3DtH,KAAK2D,UAAU2D,EAAcsD,cAAcC,WAAW7K,KAAKgE,cAG3DhE,KAAKkE,YAAcoD,EAAcoD,YAAYsC,iBACjD,CACI1F,EAAcoD,YAAYsC,iBAAmBhN,KAAKkE,SAClD,IAAI+Y,GAAiBhd,KAAK0b,gBAAgBrU,EAAcoD,YAAYsC,iBACpE1F,GAAcoD,YAAYlD,GAAG0V,UAAUD,EAAe,GAAIA,EAAe,IAa7E,GATIjd,KAAKq4E,aAELr4E,KAAKyT,OAAQ,EACbzT,KAAKq4E,YAAa,GAGtBp4E,KAAKmd,cAAcy3D,eAAe70E,KAAMsH,GAGpCtH,KAAKgD,SAASE,OAClB,CACIoE,EAAcoD,YAAYQ,OAG1B,KAAK,GAAIjI,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAGyE,aAAaJ,EAGlCA,GAAcoD,YAAYI,OAG1B9K,KAAK2D,UAAU2D,EAAcsD,cAAcQ,YAC3CpL,KAAK0C,OAAO4E,EAAcyD,YAAYI,QAAQnL,KAAKiL,KAAM3D,GAE7DA,EAAcqS,YAEdrS,EAAcoD,YAAYQ,UAWlCjL,KAAKugD,SAAS39C,UAAU8E,cAAgB,SAASL,GAG7C,GAAItH,KAAKyB,WAAY,GAAwB,IAAfzB,KAAKwB,OAAexB,KAAK0D,UAAW,EAAlE,CAQA,GALI1D,KAAKg8E,YAAch8E,KAAKuL,OACxBvL,KAAKyT,OAAQ,EACbzT,KAAKg8E,UAAYh8E,KAAKuL,MAGtBvL,KAAK2C,eAiBL,OAfI3C,KAAKyT,OAASzT,KAAKs4E,qBAEnBt4E,KAAKsE,wBAGLtE,KAAK+7E,4BAEL/7E,KAAKs4E,mBAAoB,EACzBt4E,KAAKyT,OAAQ,GAGjBzT,KAAKuH,cAAc/F,MAAQxB,KAAKwB,UAEhCvB,MAAKwH,OAAO5E,UAAU8E,cAAcjC,KAAK1F,KAAKuH,cAAeD,EAM7D,IAAI2F,GAAU3F,EAAc2F,QACxBqC,EAAYtP,KAAK+B,cAEjB/B,MAAKkE,YAAcoD,EAAc0F,mBAEjC1F,EAAc0F,iBAAmBhN,KAAKkE,UACtC+I,EAAQC,yBAA2BjN,KAAKkN,iBAAiB7F,EAAc0F,mBAGvEhN,KAAK0C,OAEL4E,EAAcyD,YAAYC,SAAShL,KAAK0C,MAAO4E,EAGnD,IAAIjB,GAAaiB,EAAcjB,UAE/B4G,GAAQW,aAAa0B,EAAU5K,EAAI2B,EACdiJ,EAAU3K,EAAI0B,EACdiJ,EAAU1K,EAAIyB,EACdiJ,EAAUzK,EAAIwB,EACdiJ,EAAUxK,GAAKuB,EACfiJ,EAAUvK,GAAKsB,GAEpCpG,KAAK2mB,eAAeiuD,eAAe70E,KAAMiN,EAGzC,KAAK,GAAIhK,GAAI,EAAGA,EAAIjD,KAAKgD,SAASE,OAAQD,IAEtCjD,KAAKgD,SAASC,GAAG0E,cAAcL,EAG/BtH,MAAK0C,OAEL4E,EAAcyD,YAAYI,QAAQ7D,KAW9CrH,KAAKugD,SAAS39C,UAAUgD,UAAY,SAASC,GAEzC,IAAK9F,KAAKyC,eACV,CAEI,IAAKzC,KAAK2B,WAEN,MAAO1B,MAAK8F,cAGZ/F,MAAKyT,QAELzT,KAAKi8E,oBACLj8E,KAAKq4E,YAAa,EAClBr4E,KAAKs4E,mBAAoB,EACzBt4E,KAAKyT,OAAQ,EAGjB,IAAIjN,GAASxG,KAAKo4E,aAEdlsE,EAAK1F,EAAOnB,EACZ8G,EAAK3F,EAAOG,MAAQH,EAAOnB,EAE3B+G,EAAK5F,EAAOlB,EACZ+G,EAAK7F,EAAOI,OAASJ,EAAOlB,EAE5BvD,EAAiB+D,GAAU9F,KAAK+B,eAEhC2C,EAAI3C,EAAe2C,EACnBC,EAAI5C,EAAe4C,EACnBC,EAAI7C,EAAe6C,EACnBC,EAAI9C,EAAe8C,EACnBC,EAAK/C,EAAe+C,GACpBC,EAAKhD,EAAegD,GAEpBwH,EAAK7H,EAAIyH,EAAKvH,EAAIyH,EAAKvH,EACvB0H,EAAK3H,EAAIwH,EAAK1H,EAAIwH,EAAKpH,EAEvB0H,EAAK/H,EAAIwH,EAAKtH,EAAIyH,EAAKvH,EACvB4H,EAAK7H,EAAIwH,EAAK1H,EAAIuH,EAAKnH,EAEvB4H,EAAKjI,EAAIwH,EAAKtH,EAAIwH,EAAKtH,EACvB8H,EAAK/H,EAAIuH,EAAKzH,EAAIuH,EAAKnH,EAEvB8H,EAAMnI,EAAIyH,EAAKvH,EAAIwH,EAAKtH,EACxBgI,EAAMjI,EAAIuH,EAAKzH,EAAIwH,EAAKpH,EAExBuF,EAAOiC,EACPhC,EAAOiC,EAEPrC,EAAOoC,EACPlC,EAAOmC,CAEXrC,GAAYA,EAALsC,EAAYA,EAAKtC,EACxBA,EAAYA,EAALwC,EAAYA,EAAKxC,EACxBA,EAAYA,EAAL0C,EAAYA,EAAK1C,EAExBE,EAAYA,EAALqC,EAAYA,EAAKrC,EACxBA,EAAYA,EAALuC,EAAYA,EAAKvC,EACxBA,EAAYA,EAALyC,EAAYA,EAAKzC,EAExBC,EAAOmC,EAAKnC,EAAOmC,EAAKnC,EACxBA,EAAOqC,EAAKrC,EAAOqC,EAAKrC,EACxBA,EAAOuC,EAAKvC,EAAOuC,EAAKvC,EAExBC,EAAOmC,EAAKnC,EAAOmC,EAAKnC,EACxBA,EAAOqC,EAAKrC,EAAOqC,EAAKrC,EACxBA,EAAOuC,EAAKvC,EAAOuC,EAAKvC,EAExBvK,KAAKuC,QAAQ8C,EAAI8E,EACjBnK,KAAKuC,QAAQoE,MAAQ2D,EAAOH,EAE5BnK,KAAKuC,QAAQ+C,EAAI+E,EACjBrK,KAAKuC,QAAQqE,OAAS2D,EAAOF,EAE7BrK,KAAKyC,eAAiBzC,KAAKuC,QAG/B,MAAOvC,MAAKyC,gBAUhBxC,KAAKugD,SAAS39C,UAAUg/B,cAAgB,SAAUhT,GAE9C7uB,KAAK+B,eAAeqF,aAAaynB,EAAQqtD,UAIzC,KAAK,GAFDz7B,GAAezgD,KAAKygD,aAEfx9C,EAAI,EAAGA,EAAIw9C,EAAav9C,OAAQD,IACzC,CACI,GAAIwN,GAAOgwC,EAAax9C,EAExB,IAAKwN,EAAK4d,MAMN5d,EAAKiwC,OAEDjwC,EAAKiwC,MAAMvnB,SAAS+iD,UAAU72E,EAAG62E,UAAU52E,GAE3C,OAAO,EAKnB,OAAO,GASXrF,KAAKugD,SAAS39C,UAAUo5E,kBAAoB,WAExC,GAAI9xE,GAAOC,EAAAA,EACPE,IAAQF,EAAAA,GAERC,EAAOD,EAAAA,EACPG,IAAQH,EAAAA,EAEZ,IAAIpK,KAAKygD,aAAav9C,OAIlB,IAAK,GAFDw9C,GAAO/xB,EAAQtpB,EAAGC,EAAG8R,EAAGsL,EAEnBzf,EAAI,EAAGA,EAAIjD,KAAKygD,aAAav9C,OAAQD,IAC9C,CACI,GAAIwN,GAAOzQ,KAAKygD,aAAax9C,GACzB2R,EAAOnE,EAAKmE,KACZkhE,EAAYrlE,EAAKqlE,SAGrB,IAFAp1B,EAAQjwC,EAAKiwC,MAET9rC,IAAS3U,KAAKugD,SAAS27B,MAAQvnE,IAAS3U,KAAKugD,SAAS47B,KAEtD/2E,EAAIq7C,EAAMr7C,EAAIywE,EAAY,EAC1BxwE,EAAIo7C,EAAMp7C,EAAIwwE,EAAY,EAC1B1+D,EAAIspC,EAAM/5C,MAAQmvE,EAClBpzD,EAAIg+B,EAAM95C,OAASkvE,EAEnB3rE,EAAWA,EAAJ9E,EAAWA,EAAI8E,EACtBG,EAAOjF,EAAI+R,EAAI9M,EAAOjF,EAAI+R,EAAI9M,EAE9BD,EAAWA,EAAJ/E,EAAWA,EAAI+E,EACtBE,EAAOjF,EAAIod,EAAInY,EAAOjF,EAAIod,EAAInY,MAE7B,IAAIqK,IAAS3U,KAAKugD,SAAS67B,KAE5Bh3E,EAAIq7C,EAAMr7C,EACVC,EAAIo7C,EAAMp7C,EACV8R,EAAIspC,EAAM/nB,OAASm9C,EAAY,EAC/BpzD,EAAIg+B,EAAM/nB,OAASm9C,EAAY,EAE/B3rE,EAAeA,EAAR9E,EAAI+R,EAAW/R,EAAI+R,EAAIjN,EAC9BG,EAAOjF,EAAI+R,EAAI9M,EAAOjF,EAAI+R,EAAI9M,EAE9BD,EAAeA,EAAR/E,EAAIod,EAAWpd,EAAIod,EAAIrY,EAC9BE,EAAOjF,EAAIod,EAAInY,EAAOjF,EAAIod,EAAInY,MAE7B,IAAIqK,IAAS3U,KAAKugD,SAAS87B,KAE5Bj3E,EAAIq7C,EAAMr7C,EACVC,EAAIo7C,EAAMp7C,EACV8R,EAAIspC,EAAM/5C,MAAQmvE,EAAY,EAC9BpzD,EAAIg+B,EAAM95C,OAASkvE,EAAY,EAE/B3rE,EAAeA,EAAR9E,EAAI+R,EAAW/R,EAAI+R,EAAIjN,EAC9BG,EAAOjF,EAAI+R,EAAI9M,EAAOjF,EAAI+R,EAAI9M,EAE9BD,EAAeA,EAAR/E,EAAIod,EAAWpd,EAAIod,EAAIrY,EAC9BE,EAAOjF,EAAIod,EAAInY,EAAOjF,EAAIod,EAAInY,MAGlC,CAEIokB,EAAS+xB,EAAM/xB,MAEf,KAAK,GAAI7qB,GAAI,EAAGA,EAAI6qB,EAAOzrB,OAAQY,IAE3B6qB,EAAO7qB,YAAcokB,GAAO9mB,OAE5BiE,EAAIspB,EAAO7qB,GAAGuB,EACdC,EAAIqpB,EAAO7qB,GAAGwB,IAIdD,EAAIspB,EAAO7qB,GACXwB,EAAIqpB,EAAO7qB,EAAI,GAEXA,EAAI6qB,EAAOzrB,OAAS,GAEpBY,KAIRqG,EAAuBA,EAAhB9E,EAAIywE,EAAmBzwE,EAAIywE,EAAY3rE,EAC9CG,EAAOjF,EAAIywE,EAAYxrE,EAAOjF,EAAIywE,EAAYxrE,EAE9CD,EAAuBA,EAAhB/E,EAAIwwE,EAAmBxwE,EAAIwwE,EAAYzrE,EAC9CE,EAAOjF,EAAIwwE,EAAYvrE,EAAOjF,EAAIwwE,EAAYvrE,OAO1DJ,GAAO,EACPG,EAAO,EACPD,EAAO,EACPE,EAAO,CAGX,IAAIma,GAAU1kB,KAAKm4E,aAEnBn4E,MAAKo4E,aAAa/yE,EAAI8E,EAAOua,EAC7B1kB,KAAKo4E,aAAazxE,MAAS2D,EAAOH,EAAkB,EAAVua,EAE1C1kB,KAAKo4E,aAAa9yE,EAAI+E,EAAOqa,EAC7B1kB,KAAKo4E,aAAaxxE,OAAU2D,EAAOF,EAAkB,EAAVqa,GAS/CzkB,KAAKugD,SAAS39C,UAAUyB,sBAAwB,WAE5C,GAAIkC,GAASxG,KAAKgG,gBAElB,IAAKhG,KAAKuH,cAYNvH,KAAKuH,cAAcyT,OAAOnT,OAAOrB,EAAOG,MAAOH,EAAOI,YAX1D,CACI,GAAI2oB,GAAe,GAAItvB,MAAKsmB,aAAa/f,EAAOG,MAAOH,EAAOI,QAC1DgB,EAAU3H,KAAKoL,QAAQqe,WAAW6F,EAAalf,OAEnDrQ,MAAKuH,cAAgB,GAAItH,MAAKwH,OAAOG,GACrC5H,KAAKuH,cAAcyT,OAASuU,EAE5BvvB,KAAKuH,cAAcxF,eAAiB/B,KAAK+B,eAQ7C/B,KAAKuH,cAAcS,OAAO3C,IAAMmB,EAAOnB,EAAImB,EAAOG,OAClD3G,KAAKuH,cAAcS,OAAO1C,IAAMkB,EAAOlB,EAAIkB,EAAOI,QAGlD5G,KAAKuH,cAAcyT,OAAO/N,QAAQ6d,WAAWtkB,EAAOnB,GAAImB,EAAOlB,GAG/DtF,KAAK8B,WAAa,EAGlB7B,KAAK2mB,eAAeiuD,eAAe70E,KAAMA,KAAKuH,cAAcyT,OAAO/N,SACnEjN,KAAKuH,cAAc/F,MAAQxB,KAAKwB,OASpCvB,KAAKugD,SAAS39C,UAAUk5E,0BAA4B,WAEhD,GAAIQ,GAAev8E,KAAKuH,cACpBK,EAAU20E,EAAa30E,QACvByI,EAASksE,EAAavhE,OAAO3K,MAEjCzI,GAAQ+D,YAAYhF,MAAQ0J,EAAO1J,MACnCiB,EAAQ+D,YAAY/E,OAASyJ,EAAOzJ,OACpCgB,EAAQmF,KAAKpG,MAAQiB,EAAQkE,MAAMnF,MAAQ0J,EAAO1J,MAClDiB,EAAQmF,KAAKnG,OAASgB,EAAQkE,MAAMlF,OAASyJ,EAAOzJ,OAEpD21E,EAAap0E,OAASkI,EAAO1J,MAC7B41E,EAAan0E,QAAUiI,EAAOzJ,OAG9BgB,EAAQ+D,YAAY8H,SAQxBxT,KAAKugD,SAAS39C,UAAU25E,oBAAsB,WAE1Cx8E,KAAKuH,cAAcK,QAAQ7E,SAAQ,GACnC/C,KAAKuH,cAAgB,MAUzBtH,KAAKugD,SAAS39C,UAAU41E,UAAY,SAAS/3B,GAErC1gD,KAAKk4E,aAGDl4E,KAAKk4E,YAAYx3B,MAAM/xB,OAAOzrB,QAAU,GAExClD,KAAKygD,aAAa3gC,MAI1B9f,KAAKk4E,YAAc,KAGfx3B,YAAiBx4B,GAAOyX,UAExB+gB,EAAQA,EAAMjpB,QACdipB,EAAM1gB,UAGV,IAAIvvB,GAAO,GAAIxQ,MAAKw8E,aAAaz8E,KAAK81E,UAAW91E,KAAKi4E,UAAWj4E,KAAKw4E,UAAWx4E,KAAKs7E,UAAWt7E,KAAKg4E,UAAWh4E,KAAK66E,QAASn6B,EAY/H,OAVA1gD,MAAKygD,aAAa18C,KAAK0M,GAEnBA,EAAKmE,OAAS3U,KAAKugD,SAASk8B,OAE5BjsE,EAAKiwC,MAAM5gB,OAAS9/B,KAAK66E,QACzB76E,KAAKk4E,YAAcznE,GAGvBzQ,KAAKyT,OAAQ,EAENhD,GAcXrN,OAAOC,eAAepD,KAAKugD,SAAS39C,UAAW,iBAE3CS,IAAK,WACD,MAAQtD,MAAK2C,gBAGjBa,IAAK,SAASC,GAEVzD,KAAK2C,eAAiBc,EAElBzD,KAAK2C,eAEL3C,KAAKsE,yBAILtE,KAAKw8E,sBACLx8E,KAAKyT,OAAQ,MA0CzBxT,KAAKw8E,aAAe,SAAS3G,EAAWmC,EAAWO,EAAW8C,EAAWtD,EAAW3pD,EAAMqyB,GAKtF1gD,KAAK81E,UAAYA,EAKjB91E,KAAKi4E,UAAYA,EAKjBj4E,KAAKw4E,UAAYA,EAKjBx4E,KAAK28E,UAAY1E,EAKjBj4E,KAAKs7E,UAAYA,EAKjBt7E,KAAKg4E,UAAYA,EAKjBh4E,KAAK48E,UAAYtB,EAKjBt7E,KAAKquB,KAAOA,EAKZruB,KAAK0gD,MAAQA,EAKb1gD,KAAK4U,KAAO8rC,EAAM9rC,MAItB3U,KAAKw8E,aAAa55E,UAAUC,YAAc7C,KAAKw8E,aAO/Cx8E,KAAKw8E,aAAa55E,UAAU40B,MAAQ,WAEhC,MAAO,IAAIglD,cACPz8E,KAAK81E,UACL91E,KAAKi4E,UACLj4E,KAAKw4E,UACLx4E,KAAKs7E,UACLt7E,KAAKg4E,UACLh4E,KAAKquB,KACLruB,KAAK0gD,QA2CbzgD,KAAK48E,SAOL58E,KAAK48E,MAAMC,YAAc,SAASt4E,GAE9B,GAAIu4E,IAAO,EAEPxuD,EAAI/pB,EAAEtB,QAAU,CACpB,IAAO,EAAJqrB,EAAO,QAIV,KAAI,GAFAyuD,MACAC,KACIh6E,EAAI,EAAOsrB,EAAJtrB,EAAOA,IAAKg6E,EAAIl5E,KAAKd,EAEpCA,GAAI,CAEJ,KADA,GAAIi6E,GAAK3uD,EACH2uD,EAAK,GACX,CACI,GAAIC,GAAKF,GAAKh6E,EAAE,GAAGi6E,GACfE,EAAKH,GAAKh6E,EAAE,GAAGi6E,GACfG,EAAKJ,GAAKh6E,EAAE,GAAGi6E,GAEfI,EAAK94E,EAAE,EAAE24E,GAAMI,EAAK/4E,EAAE,EAAE24E,EAAG,GAC3BK,EAAKh5E,EAAE,EAAE44E,GAAMK,EAAKj5E,EAAE,EAAE44E,EAAG,GAC3BjvE,EAAK3J,EAAE,EAAE64E,GAAMjvE,EAAK5J,EAAE,EAAE64E,EAAG,GAE3BK,GAAW,CACf,IAAGz9E,KAAK48E,MAAMc,QAAQL,EAAIC,EAAIC,EAAIC,EAAItvE,EAAIC,EAAI2uE,GAC9C,CACIW,GAAW,CACX,KAAI,GAAI55E,GAAI,EAAOo5E,EAAJp5E,EAAQA,IACvB,CACI,GAAI85E,GAAKX,EAAIn5E,EACb,IAAG85E,IAAOT,GAAMS,IAAOR,GAAMQ,IAAOP,GAEjCp9E,KAAK48E,MAAMgB,iBAAiBr5E,EAAE,EAAEo5E,GAAKp5E,EAAE,EAAEo5E,EAAG,GAAIN,EAAIC,EAAIC,EAAIC,EAAItvE,EAAIC,GAAK,CACxEsvE,GAAW,CACX,SAKZ,GAAGA,EAECV,EAAIj5E,KAAKo5E,EAAIC,EAAIC,GACjBJ,EAAIv0E,QAAQzF,EAAE,GAAGi6E,EAAI,GACrBA,IACAj6E,EAAI,MAEH,IAAGA,IAAM,EAAEi6E,EAChB,CAGI,IAAGH,EAcC,MAAO,KAVP,KAFAC,KACAC,KACIh6E,EAAI,EAAOsrB,EAAJtrB,EAAOA,IAAKg6E,EAAIl5E,KAAKd,EAEhCA,GAAI,EACJi6E,EAAK3uD,EAELwuD,GAAO,GAWnB,MADAC,GAAIj5E,KAAKk5E,EAAI,GAAIA,EAAI,GAAIA,EAAI,IACtBD,GAkBX/8E,KAAK48E,MAAMgB,iBAAmB,SAASvnD,EAAIo6B,EAAI4sB,EAAIC,EAAIC,EAAIC,EAAItvE,EAAIC,GAE/D,GAAI0vE,GAAM3vE,EAAGmvE,EACTS,EAAM3vE,EAAGmvE,EACTS,EAAMR,EAAGF,EACTW,EAAMR,EAAGF,EACTW,EAAM5nD,EAAGgnD,EACTa,EAAMztB,EAAG6sB,EAETa,EAAQN,EAAIA,EAAIC,EAAIA,EACpBM,EAAQP,EAAIE,EAAID,EAAIE,EACpBK,EAAQR,EAAII,EAAIH,EAAII,EACpBI,EAAQP,EAAIA,EAAIC,EAAIA,EACpBO,EAAQR,EAAIE,EAAID,EAAIE,EAEpBM,EAAW,GAAKL,EAAQG,EAAQF,EAAQA,GACxC3lD,GAAK6lD,EAAQD,EAAQD,EAAQG,GAASC,EACtC9kC,GAAKykC,EAAQI,EAAQH,EAAQC,GAASG,CAG1C,OAAQ/lD,IAAK,GAAOihB,GAAK,GAAe,EAARjhB,EAAIihB,GAUxC15C,KAAK48E,MAAMc,QAAU,SAASL,EAAIC,EAAIC,EAAIC,EAAItvE,EAAIC,EAAI2uE,GAElD,OAASQ,EAAGE,IAAKtvE,EAAGqvE,IAAOA,EAAGF,IAAKlvE,EAAGqvE,IAAO,IAAOV,GAcxD98E,KAAKmd,cAAgB,aAarBnd,KAAKmd,cAAcy3D,eAAiB,SAASj3D,EAAUtW,GAEnD,GAIIuW,GAJArW,EAAKF,EAAcE,GACnByR,EAAa3R,EAAc2R,WAC3BC,EAAS5R,EAAc4R,OACvBxN,EAASpE,EAAc6H,cAAc0Q,eAGtCjC,GAASnK,OAERxT,KAAKmd,cAAcC,eAAeO,EAAUpW,EAOhD,KAAK,GAJDsyC,GAAQl8B,EAASN,OAAO9V,EAAGiO,IAItBxS,EAAI,EAAGA,EAAI62C,EAAMrpC,KAAKvN,OAAQD,IAET,IAAvB62C,EAAMrpC,KAAKxN,GAAGub,MAEbX,EAAYi8B,EAAMrpC,KAAKxN,GAEvBqE,EAAciS,eAAegE,YAAYK,EAAUC,EAAWvW,GAG9DE,EAAGiX,aAAajX,EAAGkX,aAAc,EAAGlX,EAAGoX,eAAmD,GAAjCf,EAAUc,QAAQzb,OAAS,IAEpFoE,EAAciS,eAAeiE,WAAWI,EAAUC,EAAWvW,KAI7DuW,EAAYi8B,EAAMrpC,KAAKxN,GAGvBqE,EAAc6H,cAAcC,UAAW1D,GACvCA,EAASpE,EAAc6H,cAAc0Q,gBACrCrY,EAAG2N,iBAAiBzJ,EAAOqM,mBAAmB,EAAO6F,EAAS7b,eAAeqd,SAAQ,IAErF5X,EAAG2X,UAAUzT,EAAO6K,MAAO,GAE3B/O,EAAG6X,UAAU3T,EAAOsI,iBAAkBiF,EAAW5T,GAAI4T,EAAW3T,GAChEkC,EAAG6X,UAAU3T,EAAOuI,cAAeiF,EAAO7T,GAAI6T,EAAO5T,GAErDkC,EAAG8X,WAAW5T,EAAOwM,UAAWjY,KAAKwP,QAAQmO,EAASrS,OAEtD/D,EAAG2X,UAAUzT,EAAOlK,MAAOoc,EAAS9b,YAGpC0F,EAAG+X,WAAW/X,EAAGgY,aAAc3B,EAAU7C,QAEzCxT,EAAGiY,oBAAoB/T,EAAOyI,gBAAiB,EAAG3M,EAAGkY,OAAO,EAAO,GAAO,GAC1ElY,EAAGiY,oBAAoB/T,EAAO4I,eAAgB,EAAG9M,EAAGkY,OAAO,EAAM,GAAO,GAGxElY,EAAG+X,WAAW/X,EAAGmY,qBAAsB9B,EAAU+B,aACjDpY,EAAGiX,aAAajX,EAAGwX,eAAiBnB,EAAUc,QAAQzb,OAAQsE,EAAGoX,eAAgB,KAc7F3e,KAAKmd,cAAcC,eAAiB,SAASO,EAAUpW,GAGnD,GAAIsyC,GAAQl8B,EAASN,OAAO9V,EAAGiO,GAE3BqkC,KAAMA,EAAQl8B,EAASN,OAAO9V,EAAGiO,KAAOipE,UAAU,EAAGjuE,QAASjJ,GAAGA,IAGrEoW,EAASnK,OAAQ,CAEjB,IAAIxQ,EAGJ,IAAG2a,EAASk+D,WACZ,CAII,IAHAl+D,EAASk+D,YAAa,EAGjB74E,EAAI,EAAGA,EAAI62C,EAAMrpC,KAAKvN,OAAQD,IACnC,CACI,GAAIw9C,GAAe3G,EAAMrpC,KAAKxN,EAC9Bw9C,GAAa/c,QACbzjC,KAAKmd,cAAcuhE,iBAAiB56E,KAAM08C,GAI9C3G,EAAMrpC,QACNqpC,EAAM4kC,UAAY,EAGtB,GAAI7gE,EAKJ,KAAK5a,EAAI62C,EAAM4kC,UAAWz7E,EAAI2a,EAAS6iC,aAAav9C,OAAQD,IAC5D,CACI,GAAIwN,GAAOmN,EAAS6iC,aAAax9C,EAEjC,IAAGwN,EAAKmE,OAAS3U,KAAKugD,SAASk8B,KAC/B,CAaI,GAXAjsE,EAAKke,OAASle,EAAKiwC,MAAM/xB,OAAOsF,QAC7BxjB,EAAKiwC,MAAM5gB,SAGPrvB,EAAKke,OAAO,KAAOle,EAAKke,OAAOle,EAAKke,OAAOzrB,OAAO,IAAMuN,EAAKke,OAAO,KAAOle,EAAKke,OAAOle,EAAKke,OAAOzrB,OAAO,KAEzGuN,EAAKke,OAAO5qB,KAAK0M,EAAKke,OAAO,GAAIle,EAAKke,OAAO,IAKlDle,EAAK4d,MAED5d,EAAKke,OAAOzrB,QAAU,EAErB,GAAGuN,EAAKke,OAAOzrB,OAAS,GACxB,CACI2a,EAAY5d,KAAKmd,cAAcwhE,WAAW9kC,EAAO,EAEjD,IAAI+kC,GAAqB5+E,KAAKmd,cAAc0hE,UAAUruE,EAAMoN,EAGxDghE,KAGAhhE,EAAY5d,KAAKmd,cAAcwhE,WAAW9kC,EAAO,GACjD75C,KAAKmd,cAAc2hE,iBAAiBtuE,EAAMoN,QAM9CA,GAAY5d,KAAKmd,cAAcwhE,WAAW9kC,EAAO,GACjD75C,KAAKmd,cAAc2hE,iBAAiBtuE,EAAMoN,EAKnDpN,GAAKqlE,UAAY,IAEhBj4D,EAAY5d,KAAKmd,cAAcwhE,WAAW9kC,EAAO,GACjD75C,KAAKmd,cAAc4hE,UAAUvuE,EAAMoN,QAMvCA,GAAY5d,KAAKmd,cAAcwhE,WAAW9kC,EAAO,GAE9CrpC,EAAKmE,OAAS3U,KAAKugD,SAAS27B,KAE3Bl8E,KAAKmd,cAAc6hE,eAAexuE,EAAMoN,GAEpCpN,EAAKmE,OAAS3U,KAAKugD,SAAS67B,MAAQ5rE,EAAKmE,OAAS3U,KAAKugD,SAAS87B,KAEpEr8E,KAAKmd,cAAc8hE,YAAYzuE,EAAMoN,GAEjCpN,EAAKmE,OAAS3U,KAAKugD,SAAS47B,MAEhCn8E,KAAKmd,cAAc+hE,sBAAsB1uE,EAAMoN,EAIvDi8B,GAAM4kC,YAIV,IAAKz7E,EAAI,EAAGA,EAAI62C,EAAMrpC,KAAKvN,OAAQD,IAE/B4a,EAAYi8B,EAAMrpC,KAAKxN,GACpB4a,EAAUpK,OAAMoK,EAAUuhE,UAWrCn/E,KAAKmd,cAAcwhE,WAAa,SAAS9kC,EAAOllC,GAE5C,GAAIiJ,EAsBJ,OApBIi8B,GAAMrpC,KAAKvN,QAQX2a,EAAYi8B,EAAMrpC,KAAKqpC,EAAMrpC,KAAKvN,OAAO,IAEtC2a,EAAUW,OAAS5J,GAAiB,IAATA,KAE1BiJ,EAAY5d,KAAKmd,cAAcuhE,iBAAiB7+D,OAAS,GAAI7f,MAAKo/E,kBAAkBvlC,EAAMtyC,IAC1FqW,EAAUW,KAAO5J,EACjBklC,EAAMrpC,KAAK1M,KAAK8Z,MAZpBA,EAAY5d,KAAKmd,cAAcuhE,iBAAiB7+D,OAAS,GAAI7f,MAAKo/E,kBAAkBvlC,EAAMtyC,IAC1FqW,EAAUW,KAAO5J,EACjBklC,EAAMrpC,KAAK1M,KAAK8Z,IAcpBA,EAAUpK,OAAQ,EAEXoK,GAYX5d,KAAKmd,cAAc6hE,eAAiB,SAASx+B,EAAc5iC,GAKvD,GAAIyhE,GAAW7+B,EAAaC,MACxBr7C,EAAIi6E,EAASj6E,EACbC,EAAIg6E,EAASh6E,EACbqB,EAAQ24E,EAAS34E,MACjBC,EAAS04E,EAAS14E,MAEtB,IAAG65C,EAAapyB,KAChB,CACI,GAAIjW,GAAQnY,KAAKwP,QAAQgxC,EAAa66B,WAClC95E,EAAQi/C,EAAau3B,UAErBt9D,EAAItC,EAAM,GAAK5W,EACfmZ,EAAIvC,EAAM,GAAK5W,EACfmD,EAAIyT,EAAM,GAAK5W,EAEf+9E,EAAQ1hE,EAAU8Q,OAClBhQ,EAAUd,EAAUc,QAEpB6gE,EAAUD,EAAMr8E,OAAO,CAG3Bq8E,GAAMx7E,KAAKsB,EAAGC,GACdi6E,EAAMx7E,KAAK2W,EAAGC,EAAGhW,EAAGnD,GAEpB+9E,EAAMx7E,KAAKsB,EAAIsB,EAAOrB,GACtBi6E,EAAMx7E,KAAK2W,EAAGC,EAAGhW,EAAGnD,GAEpB+9E,EAAMx7E,KAAKsB,EAAIC,EAAIsB,GACnB24E,EAAMx7E,KAAK2W,EAAGC,EAAGhW,EAAGnD,GAEpB+9E,EAAMx7E,KAAKsB,EAAIsB,EAAOrB,EAAIsB,GAC1B24E,EAAMx7E,KAAK2W,EAAGC,EAAGhW,EAAGnD,GAGpBmd,EAAQ5a,KAAKy7E,EAASA,EAASA,EAAQ,EAAGA,EAAQ,EAAGA,EAAQ,EAAGA,EAAQ,GAG5E,GAAG/+B,EAAaq1B,UAChB,CACI,GAAI2J,GAAah/B,EAAa9xB,MAE9B8xB,GAAa9xB,QAAUtpB,EAAGC,EAChBD,EAAIsB,EAAOrB,EACXD,EAAIsB,EAAOrB,EAAIsB,EACfvB,EAAGC,EAAIsB,EACPvB,EAAGC,GAGbrF,KAAKmd,cAAc4hE,UAAUv+B,EAAc5iC,GAE3C4iC,EAAa9xB,OAAS8wD,IAa9Bx/E,KAAKmd,cAAc+hE,sBAAwB,SAAS1+B,EAAc5iC,GAE9D,GAAI6hE,GAAYj/B,EAAaC,MACzBr7C,EAAIq6E,EAAUr6E,EACdC,EAAIo6E,EAAUp6E,EACdqB,EAAQ+4E,EAAU/4E,MAClBC,EAAS84E,EAAU94E,OAEnB+xB,EAAS+mD,EAAU/mD,OAEnBgnD,IAOJ,IANAA,EAAU57E,KAAKsB,EAAGC,EAAIqzB,GACtBgnD,EAAYA,EAAUrrD,OAAOr0B,KAAKmd,cAAcwiE,qBAAqBv6E,EAAGC,EAAIsB,EAAS+xB,EAAQtzB,EAAGC,EAAIsB,EAAQvB,EAAIszB,EAAQrzB,EAAIsB;AAC5H+4E,EAAYA,EAAUrrD,OAAOr0B,KAAKmd,cAAcwiE,qBAAqBv6E,EAAIsB,EAAQgyB,EAAQrzB,EAAIsB,EAAQvB,EAAIsB,EAAOrB,EAAIsB,EAAQvB,EAAIsB,EAAOrB,EAAIsB,EAAS+xB,IACpJgnD,EAAYA,EAAUrrD,OAAOr0B,KAAKmd,cAAcwiE,qBAAqBv6E,EAAIsB,EAAOrB,EAAIqzB,EAAQtzB,EAAIsB,EAAOrB,EAAGD,EAAIsB,EAAQgyB,EAAQrzB,IAC9Hq6E,EAAYA,EAAUrrD,OAAOr0B,KAAKmd,cAAcwiE,qBAAqBv6E,EAAIszB,EAAQrzB,EAAGD,EAAGC,EAAGD,EAAGC,EAAIqzB,IAE7F8nB,EAAapyB,KAAM,CACnB,GAAIjW,GAAQnY,KAAKwP,QAAQgxC,EAAa66B,WAClC95E,EAAQi/C,EAAau3B,UAErBt9D,EAAItC,EAAM,GAAK5W,EACfmZ,EAAIvC,EAAM,GAAK5W,EACfmD,EAAIyT,EAAM,GAAK5W,EAEf+9E,EAAQ1hE,EAAU8Q,OAClBhQ,EAAUd,EAAUc,QAEpBkhE,EAASN,EAAMr8E,OAAO,EAEtB48E,EAAY7/E,KAAK48E,MAAMC,YAAY6C,GAInC18E,EAAI,CACR,KAAKA,EAAI,EAAGA,EAAI68E,EAAU58E,OAAQD,GAAG,EAEjC0b,EAAQ5a,KAAK+7E,EAAU78E,GAAK48E,GAC5BlhE,EAAQ5a,KAAK+7E,EAAU78E,GAAK48E,GAC5BlhE,EAAQ5a,KAAK+7E,EAAU78E,EAAE,GAAK48E,GAC9BlhE,EAAQ5a,KAAK+7E,EAAU78E,EAAE,GAAK48E,GAC9BlhE,EAAQ5a,KAAK+7E,EAAU78E,EAAE,GAAK48E,EAIlC,KAAK58E,EAAI,EAAGA,EAAI08E,EAAUz8E,OAAQD,IAE9Bs8E,EAAMx7E,KAAK47E,EAAU18E,GAAI08E,IAAY18E,GAAIyX,EAAGC,EAAGhW,EAAGnD,GAI1D,GAAIi/C,EAAaq1B,UAAW,CACxB,GAAI2J,GAAah/B,EAAa9xB,MAE9B8xB,GAAa9xB,OAASgxD,EAEtB1/E,KAAKmd,cAAc4hE,UAAUv+B,EAAc5iC,GAE3C4iC,EAAa9xB,OAAS8wD,IAmB9Bx/E,KAAKmd,cAAcwiE,qBAAuB,SAAS3G,EAAOC,EAAOP,EAAKC,EAAKC,EAAKC,GAW5E,QAASiH,GAAMC,EAAKC,EAAIC,GACpB,GAAIC,GAAOF,EAAKD,CAEhB,OAAOA,GAAOG,EAAOD,EAIzB,IAAK,GAhBDnH,GACAC,EACAoH,EACAC,EACAh7E,EACAC,EACAipB,EAAI,GACJI,KAQA7qB,EAAI,EACCb,EAAI,EAAQsrB,GAALtrB,EAAQA,IAEpBa,EAAIb,EAAIsrB,EAGRwqD,EAAKgH,EAAO9G,EAAQN,EAAM70E,GAC1Bk1E,EAAK+G,EAAO7G,EAAQN,EAAM90E,GAC1Bs8E,EAAKL,EAAOpH,EAAME,EAAM/0E,GACxBu8E,EAAKN,EAAOnH,EAAME,EAAMh1E,GAGxBuB,EAAI06E,EAAOhH,EAAKqH,EAAKt8E,GACrBwB,EAAIy6E,EAAO/G,EAAKqH,EAAKv8E,GAErB6qB,EAAO5qB,KAAKsB,EAAGC,EAEnB,OAAOqpB,IAYX1uB,KAAKmd,cAAc8hE,YAAc,SAASz+B,EAAc5iC,GAGpD,GAGIlX,GACAC,EAJA05E,EAAa7/B,EAAaC,MAC1Br7C,EAAIi7E,EAAWj7E,EACfC,EAAIg7E,EAAWh7E,CAKhBm7C,GAAa7rC,OAAS3U,KAAKugD,SAAS67B,MAEnC11E,EAAQ25E,EAAW3nD,OACnB/xB,EAAS05E,EAAW3nD,SAIpBhyB,EAAQ25E,EAAW35E,MACnBC,EAAS05E,EAAW15E,OAGxB,IAAI25E,GAAY,GACZC,EAAiB,EAAV3/E,KAAKC,GAAUy/E,EAEtBt9E,EAAI,CAER,IAAGw9C,EAAapyB,KAChB,CACI,GAAIjW,GAAQnY,KAAKwP,QAAQgxC,EAAa66B,WAClC95E,EAAQi/C,EAAau3B,UAErBt9D,EAAItC,EAAM,GAAK5W,EACfmZ,EAAIvC,EAAM,GAAK5W,EACfmD,EAAIyT,EAAM,GAAK5W,EAEf+9E,EAAQ1hE,EAAU8Q,OAClBhQ,EAAUd,EAAUc,QAEpBkhE,EAASN,EAAMr8E,OAAO,CAI1B,KAFAyb,EAAQ5a,KAAK87E,GAER58E,EAAI,EAAOs9E,EAAY,EAAhBt9E,EAAoBA,IAE5Bs8E,EAAMx7E,KAAKsB,EAAEC,EAAGoV,EAAGC,EAAGhW,EAAGnD,GAEzB+9E,EAAMx7E,KAAKsB,EAAIxE,KAAKsE,IAAIq7E,EAAMv9E,GAAK0D,EACxBrB,EAAIzE,KAAKuE,IAAIo7E,EAAMv9E,GAAK2D,EACxB8T,EAAGC,EAAGhW,EAAGnD,GAEpBmd,EAAQ5a,KAAK87E,IAAUA,IAG3BlhE,GAAQ5a,KAAK87E,EAAO,GAGxB,GAAGp/B,EAAaq1B,UAChB,CACI,GAAI2J,GAAah/B,EAAa9xB,MAI9B,KAFA8xB,EAAa9xB,UAER1rB,EAAI,EAAOs9E,EAAY,EAAhBt9E,EAAmBA,IAE3Bw9C,EAAa9xB,OAAO5qB,KAAKsB,EAAIxE,KAAKsE,IAAIq7E,EAAMv9E,GAAK0D,EACxBrB,EAAIzE,KAAKuE,IAAIo7E,EAAMv9E,GAAK2D,EAGrD3G,MAAKmd,cAAc4hE,UAAUv+B,EAAc5iC,GAE3C4iC,EAAa9xB,OAAS8wD,IAa9Bx/E,KAAKmd,cAAc4hE,UAAY,SAASv+B,EAAc5iC,GAGlD,GAAI5a,GAAI,EACJ0rB,EAAS8xB,EAAa9xB,MAC1B,IAAqB,IAAlBA,EAAOzrB,OAAV,CAGA,GAAGu9C,EAAaq1B,UAAU,EAEtB,IAAK7yE,EAAI,EAAGA,EAAI0rB,EAAOzrB,OAAQD,IAC3B0rB,EAAO1rB,IAAM,EAKrB,IAAIw9E,GAAa,GAAIxgF,MAAKmB,MAAOutB,EAAO,GAAIA,EAAO,IAC/CC,EAAY,GAAI3uB,MAAKmB,MAAOutB,EAAOA,EAAOzrB,OAAS,GAAIyrB,EAAOA,EAAOzrB,OAAS,GAGlF,IAAGu9E,EAAWp7E,IAAMupB,EAAUvpB,GAAKo7E,EAAWn7E,IAAMspB,EAAUtpB,EAC9D,CAEIqpB,EAASA,EAAOsF,QAEhBtF,EAAO7O,MACP6O,EAAO7O,MAEP8O,EAAY,GAAI3uB,MAAKmB,MAAOutB,EAAOA,EAAOzrB,OAAS,GAAIyrB,EAAOA,EAAOzrB,OAAS,GAE9E,IAAIw9E,GAAY9xD,EAAUvpB,EAAkC,IAA7Bo7E,EAAWp7E,EAAIupB,EAAUvpB,GACpDs7E,EAAY/xD,EAAUtpB,EAAkC,IAA7Bm7E,EAAWn7E,EAAIspB,EAAUtpB,EAExDqpB,GAAOiyD,QAAQF,EAAWC,GAC1BhyD,EAAO5qB,KAAK28E,EAAWC,GAG3B,GAgBIrqD,GAAIo6B,EAAImwB,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EACjCC,EAAOC,EAAOC,EAAQC,EAAQC,EAAQC,EACtC7kD,EAAIE,EAAIE,EAAIH,EAAIE,EAAIE,EACpBC,EAAOwkD,EAAOl0D,EAnBdgyD,EAAQ1hE,EAAU8Q,OAClBhQ,EAAUd,EAAUc,QACpBzb,EAASyrB,EAAOzrB,OAAS,EACzBw+E,EAAa/yD,EAAOzrB,OACpBy+E,EAAapC,EAAMr8E,OAAO,EAG1ByD,EAAQ85C,EAAaq1B,UAAY,EAGjC19D,EAAQnY,KAAKwP,QAAQgxC,EAAaw3B,WAClCz2E,EAAQi/C,EAAa+3B,UACrB99D,EAAItC,EAAM,GAAK5W,EACfmZ,EAAIvC,EAAM,GAAK5W,EACfmD,EAAIyT,EAAM,GAAK5W,CA8BnB,KAvBAq/E,EAAMlyD,EAAO,GACbmyD,EAAMnyD,EAAO,GAEboyD,EAAMpyD,EAAO,GACbqyD,EAAMryD,EAAO,GAEbwyD,IAAUL,EAAME,GAChBI,EAASP,EAAME,EAEfxzD,EAAO1sB,KAAK0E,KAAK47E,EAAMA,EAAQC,EAAMA,GAErCD,GAAS5zD,EACT6zD,GAAS7zD,EACT4zD,GAASx6E,EACTy6E,GAASz6E,EAGT44E,EAAMx7E,KAAK88E,EAAMM,EAAQL,EAAMM,EACnB1mE,EAAGC,EAAGhW,EAAGnD,GAErB+9E,EAAMx7E,KAAK88E,EAAMM,EAAQL,EAAMM,EACnB1mE,EAAGC,EAAGhW,EAAGnD,GAEhByB,EAAI,EAAOC,EAAO,EAAXD,EAAcA,IAEtB49E,EAAMlyD,EAAa,GAAL1rB,EAAE,IAChB69E,EAAMnyD,EAAa,GAAL1rB,EAAE,GAAO,GAEvB89E,EAAMpyD,EAAW,EAAJ,GACbqyD,EAAMryD,EAAW,EAAJ,EAAQ,GAErBsyD,EAAMtyD,EAAa,GAAL1rB,EAAE,IAChBi+E,EAAMvyD,EAAa,GAAL1rB,EAAE,GAAO,GAEvBk+E,IAAUL,EAAME,GAChBI,EAAQP,EAAME,EAEdxzD,EAAO1sB,KAAK0E,KAAK47E,EAAMA,EAAQC,EAAMA,GACrCD,GAAS5zD,EACT6zD,GAAS7zD,EACT4zD,GAASx6E,EACTy6E,GAASz6E,EAET06E,IAAWL,EAAME,GACjBI,EAASP,EAAME,EAEf1zD,EAAO1sB,KAAK0E,KAAK87E,EAAOA,EAASC,EAAOA,GACxCD,GAAU9zD,EACV+zD,GAAU/zD,EACV8zD,GAAU16E,EACV26E,GAAU36E,EAEVg2B,GAAOykD,EAAQN,IAASM,EAAQJ,GAChCnkD,GAAOskD,EAAQJ,IAASI,EAAQN,GAChC9jD,IAAOokD,EAAQN,KAASO,EAAQJ,KAASG,EAAQJ,KAASK,EAAQN,GAClElkD,GAAO0kD,EAASJ,IAASI,EAASN,GAClClkD,GAAOukD,EAASN,IAASM,EAASJ,GAClCjkD,IAAOqkD,EAASJ,KAASK,EAASN,KAASK,EAASN,KAASO,EAASJ,GAEtEjkD,EAAQN,EAAGG,EAAKF,EAAGC,EAEhBh8B,KAAKi5B,IAAImD,GAAS,IAGjBA,GAAO,KACPsiD,EAAMx7E,KAAKg9E,EAAMI,EAAQH,EAAMI,EAC3B1mE,EAAGC,EAAGhW,EAAGnD,GAEb+9E,EAAMx7E,KAAKg9E,EAAMI,EAAQH,EAAMI,EAC3B1mE,EAAGC,EAAGhW,EAAGnD,KAKjB80B,GAAMuG,EAAGG,EAAKF,EAAGC,GAAIE,EACrByzB,GAAM9zB,EAAGG,EAAKJ,EAAGK,GAAIC,EAGrBwkD,GAASnrD,EAAIyqD,IAAQzqD,EAAIyqD,IAAQrwB,EAAIswB,IAAQtwB,EAAIswB,GAG9CS,EAAQ,OAEPF,EAASJ,EAAQE,EACjBG,EAASJ,EAAQE,EAEjB/zD,EAAO1sB,KAAK0E,KAAKg8E,EAAOA,EAASC,EAAOA,GACxCD,GAAUh0D,EACVi0D,GAAUj0D,EACVg0D,GAAU56E,EACV66E,GAAU76E,EAEV44E,EAAMx7E,KAAKg9E,EAAMQ,EAAQP,EAAKQ,GAC9BjC,EAAMx7E,KAAK2W,EAAGC,EAAGhW,EAAGnD,GAEpB+9E,EAAMx7E,KAAKg9E,EAAMQ,EAAQP,EAAKQ,GAC9BjC,EAAMx7E,KAAK2W,EAAGC,EAAGhW,EAAGnD,GAEpB+9E,EAAMx7E,KAAKg9E,EAAMQ,EAAQP,EAAKQ,GAC9BjC,EAAMx7E,KAAK2W,EAAGC,EAAGhW,EAAGnD,GAEpBkgF,MAKAnC,EAAMx7E,KAAKuyB,EAAKo6B,GAChB6uB,EAAMx7E,KAAK2W,EAAGC,EAAGhW,EAAGnD,GAEpB+9E,EAAMx7E,KAAKg9E,GAAOzqD,EAAGyqD,GAAMC,GAAOtwB,EAAKswB,IACvCzB,EAAMx7E,KAAK2W,EAAGC,EAAGhW,EAAGnD,IA2B5B,KAvBAq/E,EAAMlyD,EAAkB,GAAVzrB,EAAO,IACrB49E,EAAMnyD,EAAkB,GAAVzrB,EAAO,GAAO,GAE5B69E,EAAMpyD,EAAkB,GAAVzrB,EAAO,IACrB89E,EAAMryD,EAAkB,GAAVzrB,EAAO,GAAO,GAE5Bi+E,IAAUL,EAAME,GAChBI,EAAQP,EAAME,EAEdxzD,EAAO1sB,KAAK0E,KAAK47E,EAAMA,EAAQC,EAAMA,GACrCD,GAAS5zD,EACT6zD,GAAS7zD,EACT4zD,GAASx6E,EACTy6E,GAASz6E,EAET44E,EAAMx7E,KAAKg9E,EAAMI,EAAQH,EAAMI,GAC/B7B,EAAMx7E,KAAK2W,EAAGC,EAAGhW,EAAGnD,GAEpB+9E,EAAMx7E,KAAKg9E,EAAMI,EAAQH,EAAMI,GAC/B7B,EAAMx7E,KAAK2W,EAAGC,EAAGhW,EAAGnD,GAEpBmd,EAAQ5a,KAAK49E,GAER1+E,EAAI,EAAOy+E,EAAJz+E,EAAgBA,IAExB0b,EAAQ5a,KAAK49E,IAGjBhjE,GAAQ5a,KAAK49E,EAAW,KAY5B1hF,KAAKmd,cAAc2hE,iBAAmB,SAASt+B,EAAc5iC,GAGzD,GAAI8Q,GAAS8xB,EAAa9xB,OAAOsF,OACjC,MAAGtF,EAAOzrB,OAAS,GAAnB,CAGA,GAAIyb,GAAUd,EAAUc,OACxBd,GAAU8Q,OAASA,EACnB9Q,EAAUrc,MAAQi/C,EAAau3B,UAC/Bn6D,EAAUzF,MAAQnY,KAAKwP,QAAQgxC,EAAa66B,UAc5C,KAAK,GAHDj2E,GAAEC,EANF6E,EAAOC,EAAAA,EACPE,IAAQF,EAAAA,GAERC,EAAOD,EAAAA,EACPG,IAAQH,EAAAA,GAKHnH,EAAI,EAAGA,EAAI0rB,EAAOzrB,OAAQD,GAAG,EAElCoC,EAAIspB,EAAO1rB,GACXqC,EAAIqpB,EAAO1rB,EAAE,GAEbkH,EAAWA,EAAJ9E,EAAWA,EAAI8E,EACtBG,EAAOjF,EAAIiF,EAAOjF,EAAIiF,EAEtBD,EAAWA,EAAJ/E,EAAWA,EAAI+E,EACtBE,EAAOjF,EAAIiF,EAAOjF,EAAIiF,CAI1BokB,GAAO5qB,KAAKoG,EAAME,EACNC,EAAMD,EACNC,EAAMC,EACNJ,EAAMI,EAKlB,IAAIrH,GAASyrB,EAAOzrB,OAAS,CAC7B,KAAKD,EAAI,EAAOC,EAAJD,EAAYA,IAEpB0b,EAAQ5a,KAAMd,KActBhD,KAAKmd,cAAc0hE,UAAY,SAASr+B,EAAc5iC,GAElD,GAAI8Q,GAAS8xB,EAAa9xB,MAE1B,MAAGA,EAAOzrB,OAAS,GAAnB,CAEA,GAAIq8E,GAAQ1hE,EAAU8Q,OAClBhQ,EAAUd,EAAUc,QAEpBzb,EAASyrB,EAAOzrB,OAAS,EAGzBkV,EAAQnY,KAAKwP,QAAQgxC,EAAa66B,WAClC95E,EAAQi/C,EAAau3B,UACrBt9D,EAAItC,EAAM,GAAK5W,EACfmZ,EAAIvC,EAAM,GAAK5W,EACfmD,EAAIyT,EAAM,GAAK5W,EAEfs+E,EAAY7/E,KAAK48E,MAAMC,YAAYnuD,EAEvC,KAAImxD,EAAU,OAAO,CAErB,IAAIN,GAAUD,EAAMr8E,OAAS,EAEzBD,EAAI,CAER,KAAKA,EAAI,EAAGA,EAAI68E,EAAU58E,OAAQD,GAAG,EAEjC0b,EAAQ5a,KAAK+7E,EAAU78E,GAAKu8E,GAC5B7gE,EAAQ5a,KAAK+7E,EAAU78E,GAAKu8E,GAC5B7gE,EAAQ5a,KAAK+7E,EAAU78E,EAAE,GAAKu8E,GAC9B7gE,EAAQ5a,KAAK+7E,EAAU78E,EAAE,GAAIu8E,GAC7B7gE,EAAQ5a,KAAK+7E,EAAU78E,EAAE,GAAKu8E,EAGlC,KAAKv8E,EAAI,EAAOC,EAAJD,EAAYA,IAEpBs8E,EAAMx7E,KAAK4qB,EAAW,EAAJ1rB,GAAQ0rB,EAAW,EAAJ1rB,EAAQ,GAC9ByX,EAAGC,EAAGhW,EAAGnD,EAGxB,QAAO,IAGXvB,KAAKmd,cAAcuhE,oBAOnB1+E,KAAKo/E,kBAAoB,SAAS73E,GAE9BxH,KAAKwH,GAAKA,EAGVxH,KAAKoY,OAAS,EAAE,EAAE,GAClBpY,KAAK2uB,UACL3uB,KAAK2e,WACL3e,KAAKgb,OAASxT,EAAGoa,eACjB5hB,KAAK4f,YAAcpY,EAAGoa,eACtB5hB,KAAKwe,KAAO,EACZxe,KAAKwB,MAAQ,EACbxB,KAAKyT,OAAQ,GAMjBxT,KAAKo/E,kBAAkBx8E,UAAU6gC,MAAQ,WAErC1jC,KAAK2uB,UACL3uB,KAAK2e,YAMT1e,KAAKo/E,kBAAkBx8E,UAAUu8E,OAAS,WAEtC,GAAI53E,GAAKxH,KAAKwH,EAGdxH,MAAK4hF,SAAW,GAAI3hF,MAAKM,aAAaP,KAAK2uB,QAE3CnnB,EAAG+X,WAAW/X,EAAGgY,aAAcxf,KAAKgb,QACpCxT,EAAGqa,WAAWra,EAAGgY,aAAcxf,KAAK4hF,SAAUp6E,EAAGsa,aAEjD9hB,KAAK6hF,WAAa,GAAI5hF,MAAKO,YAAYR,KAAK2e,SAE5CnX,EAAG+X,WAAW/X,EAAGmY,qBAAsB3f,KAAK4f,aAC5CpY,EAAGqa,WAAWra,EAAGmY,qBAAsB3f,KAAK6hF,WAAYr6E,EAAGsa,aAE3D9hB,KAAKyT,OAAQ,GAcjBxT,KAAK2mB,eAAiB,aAYtB3mB,KAAK2mB,eAAeiuD,eAAiB,SAASj3D,EAAU3Q,GAEpD,GAAInL,GAAa8b,EAAS9b,UAEtB8b,GAASnK,QAETzT,KAAK8hF,mBAAmBlkE,GACxBA,EAASnK,OAAQ,EAGrB,KAAK,GAAIxQ,GAAI,EAAGA,EAAI2a,EAAS6iC,aAAav9C,OAAQD,IAClD,CACI,GAAIwN,GAAOmN,EAAS6iC,aAAax9C,GAC7By9C,EAAQjwC,EAAKiwC,MAEb46B,EAAY7qE,EAAKmsE,UACjB3E,EAAYxnE,EAAKksE,SAIrB,IAFA1vE,EAAQ6oE,UAAYrlE,EAAKqlE,UAErBrlE,EAAKmE,OAAS3U,KAAKugD,SAASk8B,KAChC,CACIzvE,EAAQugB,WAER,IAAImB,GAAS+xB,EAAM/xB,MAEnB1hB,GAAQwgB,OAAOkB,EAAO,GAAIA,EAAO,GAEjC,KAAK,GAAI7qB,GAAE,EAAGA,EAAI6qB,EAAOzrB,OAAO,EAAGY,IAE/BmJ,EAAQygB,OAAOiB,EAAW,EAAJ7qB,GAAQ6qB,EAAW,EAAJ7qB,EAAQ,GAG7C48C,GAAM5gB,QAEN7yB,EAAQygB,OAAOiB,EAAO,GAAIA,EAAO,IAIjCA,EAAO,KAAOA,EAAOA,EAAOzrB,OAAO,IAAMyrB,EAAO,KAAOA,EAAOA,EAAOzrB,OAAO,IAE5E+J,EAAQ0gB,YAGRld,EAAK4d,OAELphB,EAAQG,YAAcqD,EAAKunE,UAAYl2E,EACvCmL,EAAQia,UAAY,KAAO,SAAwB,EAAZo0D,GAAen0D,SAAS,KAAKC,OAAO,IAC3Ena,EAAQohB,QAGR5d,EAAKqlE,YAEL7oE,EAAQG,YAAcqD,EAAK+nE,UAAY12E,EACvCmL,EAAQwjB,YAAc,KAAO,SAAwB,EAAZwnD,GAAe9wD,SAAS,KAAKC,OAAO,IAC7Ena,EAAQ8oE,cAGX,IAAItlE,EAAKmE,OAAS3U,KAAKugD,SAAS27B,MAE7B1rE,EAAK6qE,WAAgC,IAAnB7qE,EAAK6qE,aAEvBruE,EAAQG,YAAcqD,EAAKunE,UAAYl2E,EACvCmL,EAAQia,UAAY,KAAO,SAAwB,EAAZo0D,GAAen0D,SAAS,KAAKC,OAAO,IAC3Ena,EAAQoa,SAASq5B,EAAMr7C,EAAGq7C,EAAMp7C,EAAGo7C,EAAM/5C,MAAO+5C,EAAM95C,SAGtD6J,EAAKqlE,YAEL7oE,EAAQG,YAAcqD,EAAK+nE,UAAY12E,EACvCmL,EAAQwjB,YAAc,KAAO,SAAwB,EAAZwnD,GAAe9wD,SAAS,KAAKC,OAAO,IAC7Ena,EAAQyjB,WAAWgwB,EAAMr7C,EAAGq7C,EAAMp7C,EAAGo7C,EAAM/5C,MAAO+5C,EAAM95C,aAG3D,IAAI6J,EAAKmE,OAAS3U,KAAKugD,SAAS67B,KAGjCpvE,EAAQugB,YACRvgB,EAAQ4oE,IAAIn1B,EAAMr7C,EAAGq7C,EAAMp7C,EAAGo7C,EAAM/nB,OAAO,EAAE,EAAE93B,KAAKC,IACpDmM,EAAQ0gB,YAEJld,EAAK4d,OAELphB,EAAQG,YAAcqD,EAAKunE,UAAYl2E,EACvCmL,EAAQia,UAAY,KAAO,SAAwB,EAAZo0D,GAAen0D,SAAS,KAAKC,OAAO,IAC3Ena,EAAQohB,QAGR5d,EAAKqlE,YAEL7oE,EAAQG,YAAcqD,EAAK+nE,UAAY12E,EACvCmL,EAAQwjB,YAAc,KAAO,SAAwB,EAAZwnD,GAAe9wD,SAAS,KAAKC,OAAO,IAC7Ena,EAAQ8oE,cAGX,IAAItlE,EAAKmE,OAAS3U,KAAKugD,SAAS87B,KACrC,CAGI,GAAIllE,GAAkB,EAAdspC,EAAM/5C,MACV+b,EAAmB,EAAfg+B,EAAM95C,OAEVvB,EAAIq7C,EAAMr7C,EAAI+R,EAAE,EAChB9R,EAAIo7C,EAAMp7C,EAAIod,EAAE,CAEpBzV,GAAQugB,WAER,IAAIu0D,GAAQ,SACRC,EAAM5qE,EAAI,EAAK2qE,EACfE,EAAMv/D,EAAI,EAAKq/D,EACfG,EAAK78E,EAAI+R,EACT+qE,EAAK78E,EAAIod,EACT0/D,EAAK/8E,EAAI+R,EAAI,EACbirE,EAAK/8E,EAAIod,EAAI,CAEjBzV,GAAQwgB,OAAOpoB,EAAGg9E,GAClBp1E,EAAQksE,cAAc9zE,EAAGg9E,EAAKJ,EAAIG,EAAKJ,EAAI18E,EAAG88E,EAAI98E,GAClD2H,EAAQksE,cAAciJ,EAAKJ,EAAI18E,EAAG48E,EAAIG,EAAKJ,EAAIC,EAAIG,GACnDp1E,EAAQksE,cAAc+I,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDl1E,EAAQksE,cAAciJ,EAAKJ,EAAIG,EAAI98E,EAAGg9E,EAAKJ,EAAI58E,EAAGg9E,GAElDp1E,EAAQ0gB,YAEJld,EAAK4d,OAELphB,EAAQG,YAAcqD,EAAKunE,UAAYl2E,EACvCmL,EAAQia,UAAY,KAAO,SAAwB,EAAZo0D,GAAen0D,SAAS,KAAKC,OAAO,IAC3Ena,EAAQohB,QAGR5d,EAAKqlE,YAEL7oE,EAAQG,YAAcqD,EAAK+nE,UAAY12E,EACvCmL,EAAQwjB,YAAc,KAAO,SAAwB,EAAZwnD,GAAe9wD,SAAS,KAAKC,OAAO,IAC7Ena,EAAQ8oE,cAGX,IAAItlE,EAAKmE,OAAS3U,KAAKugD,SAAS47B,KACrC,CACI,GAAI36C,GAAKif,EAAMr7C,EACXq8B,EAAKgf,EAAMp7C,EACXqB,EAAQ+5C,EAAM/5C,MACdC,EAAS85C,EAAM95C,OACf+xB,EAAS+nB,EAAM/nB,OAEf2pD,EAAYzhF,KAAKi7B,IAAIn1B,EAAOC,GAAU,EAAI,CAC9C+xB,GAASA,EAAS2pD,EAAYA,EAAY3pD,EAE1C1rB,EAAQugB,YACRvgB,EAAQwgB,OAAOgU,EAAIC,EAAK/I,GACxB1rB,EAAQygB,OAAO+T,EAAIC,EAAK96B,EAAS+xB,GACjC1rB,EAAQyrE,iBAAiBj3C,EAAIC,EAAK96B,EAAQ66B,EAAK9I,EAAQ+I,EAAK96B,GAC5DqG,EAAQygB,OAAO+T,EAAK96B,EAAQgyB,EAAQ+I,EAAK96B,GACzCqG,EAAQyrE,iBAAiBj3C,EAAK96B,EAAO+6B,EAAK96B,EAAQ66B,EAAK96B,EAAO+6B,EAAK96B,EAAS+xB,GAC5E1rB,EAAQygB,OAAO+T,EAAK96B,EAAO+6B,EAAK/I,GAChC1rB,EAAQyrE,iBAAiBj3C,EAAK96B,EAAO+6B,EAAID,EAAK96B,EAAQgyB,EAAQ+I,GAC9Dz0B,EAAQygB,OAAO+T,EAAK9I,EAAQ+I,GAC5Bz0B,EAAQyrE,iBAAiBj3C,EAAIC,EAAID,EAAIC,EAAK/I,GAC1C1rB,EAAQ0gB,aAEJld,EAAK6qE,WAAgC,IAAnB7qE,EAAK6qE,aAEvBruE,EAAQG,YAAcqD,EAAKunE,UAAYl2E,EACvCmL,EAAQia,UAAY,KAAO,SAAwB,EAAZo0D,GAAen0D,SAAS,KAAKC,OAAO,IAC3Ena,EAAQohB,QAGR5d,EAAKqlE,YAEL7oE,EAAQG,YAAcqD,EAAK+nE,UAAY12E,EACvCmL,EAAQwjB,YAAc,KAAO,SAAwB,EAAZwnD,GAAe9wD,SAAS,KAAKC,OAAO,IAC7Ena,EAAQ8oE,aAgBxB91E,KAAK2mB,eAAeC,mBAAqB,SAASjJ,EAAU3Q,GAExD,GAAI8nB,GAAMnX,EAAS6iC,aAAav9C,MAEhC,IAAY,IAAR6xB,EAAJ,CAKA9nB,EAAQugB,WAER,KAAK,GAAIvqB,GAAI,EAAO8xB,EAAJ9xB,EAASA,IACzB,CACI,GAAIwN,GAAOmN,EAAS6iC,aAAax9C,GAC7By9C,EAAQjwC,EAAKiwC,KAEjB,IAAIjwC,EAAKmE,OAAS3U,KAAKugD,SAASk8B,KAChC,CAEI,GAAI/tD,GAAS+xB,EAAM/xB,MAEnB1hB,GAAQwgB,OAAOkB,EAAO,GAAIA,EAAO,GAEjC,KAAK,GAAI7qB,GAAE,EAAGA,EAAI6qB,EAAOzrB,OAAO,EAAGY,IAE/BmJ,EAAQygB,OAAOiB,EAAW,EAAJ7qB,GAAQ6qB,EAAW,EAAJ7qB,EAAQ,GAI7C6qB,GAAO,KAAOA,EAAOA,EAAOzrB,OAAO,IAAMyrB,EAAO,KAAOA,EAAOA,EAAOzrB,OAAO,IAE5E+J,EAAQ0gB,gBAIX,IAAIld,EAAKmE,OAAS3U,KAAKugD,SAAS27B,KAEjClvE,EAAQi4D,KAAKxkB,EAAMr7C,EAAGq7C,EAAMp7C,EAAGo7C,EAAM/5C,MAAO+5C,EAAM95C,QAClDqG,EAAQ0gB,gBAEP,IAAIld,EAAKmE,OAAS3U,KAAKugD,SAAS67B,KAGjCpvE,EAAQ4oE,IAAIn1B,EAAMr7C,EAAGq7C,EAAMp7C,EAAGo7C,EAAM/nB,OAAQ,EAAG,EAAI93B,KAAKC,IACxDmM,EAAQ0gB,gBAEP,IAAIld,EAAKmE,OAAS3U,KAAKugD,SAAS87B,KACrC,CAII,GAAIllE,GAAkB,EAAdspC,EAAM/5C,MACV+b,EAAmB,EAAfg+B,EAAM95C,OAEVvB,EAAIq7C,EAAMr7C,EAAI+R,EAAE,EAChB9R,EAAIo7C,EAAMp7C,EAAIod,EAAE,EAEhBq/D,EAAQ,SACRC,EAAM5qE,EAAI,EAAK2qE,EACfE,EAAMv/D,EAAI,EAAKq/D,EACfG,EAAK78E,EAAI+R,EACT+qE,EAAK78E,EAAIod,EACT0/D,EAAK/8E,EAAI+R,EAAI,EACbirE,EAAK/8E,EAAIod,EAAI,CAEjBzV,GAAQwgB,OAAOpoB,EAAGg9E,GAClBp1E,EAAQksE,cAAc9zE,EAAGg9E,EAAKJ,EAAIG,EAAKJ,EAAI18E,EAAG88E,EAAI98E,GAClD2H,EAAQksE,cAAciJ,EAAKJ,EAAI18E,EAAG48E,EAAIG,EAAKJ,EAAIC,EAAIG,GACnDp1E,EAAQksE,cAAc+I,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACpDl1E,EAAQksE,cAAciJ,EAAKJ,EAAIG,EAAI98E,EAAGg9E,EAAKJ,EAAI58E,EAAGg9E,GAClDp1E,EAAQ0gB,gBAEP,IAAIld,EAAKmE,OAAS3U,KAAKugD,SAAS47B,KACrC,CAEI,GAAI36C,GAAKif,EAAMr7C,EACXq8B,EAAKgf,EAAMp7C,EACXqB,EAAQ+5C,EAAM/5C,MACdC,EAAS85C,EAAM95C,OACf+xB,EAAS+nB,EAAM/nB,OAEf2pD,EAAYzhF,KAAKi7B,IAAIn1B,EAAOC,GAAU,EAAI,CAC9C+xB,GAASA,EAAS2pD,EAAYA,EAAY3pD,EAE1C1rB,EAAQwgB,OAAOgU,EAAIC,EAAK/I,GACxB1rB,EAAQygB,OAAO+T,EAAIC,EAAK96B,EAAS+xB,GACjC1rB,EAAQyrE,iBAAiBj3C,EAAIC,EAAK96B,EAAQ66B,EAAK9I,EAAQ+I,EAAK96B,GAC5DqG,EAAQygB,OAAO+T,EAAK96B,EAAQgyB,EAAQ+I,EAAK96B,GACzCqG,EAAQyrE,iBAAiBj3C,EAAK96B,EAAO+6B,EAAK96B,EAAQ66B,EAAK96B,EAAO+6B,EAAK96B,EAAS+xB,GAC5E1rB,EAAQygB,OAAO+T,EAAK96B,EAAO+6B,EAAK/I,GAChC1rB,EAAQyrE,iBAAiBj3C,EAAK96B,EAAO+6B,EAAID,EAAK96B,EAAQgyB,EAAQ+I,GAC9Dz0B,EAAQygB,OAAO+T,EAAK9I,EAAQ+I,GAC5Bz0B,EAAQyrE,iBAAiBj3C,EAAIC,EAAID,EAAIC,EAAK/I,GAC1C1rB,EAAQ0gB,gBAKpB1tB,KAAK2mB,eAAek7D,mBAAqB,SAASlkE,GAE9C,GAAsB,WAAlBA,EAASrS,KASb,IAAK,GAJDg3E,IAAS3kE,EAASrS,MAAQ,GAAK,KAAQ,IACvCi3E,GAAS5kE,EAASrS,MAAQ,EAAI,KAAQ,IACtCk3E,GAAyB,IAAhB7kE,EAASrS,MAAc,IAE3BtI,EAAI,EAAGA,EAAI2a,EAAS6iC,aAAav9C,OAAQD,IAClD,CACI,GAAIwN,GAAOmN,EAAS6iC,aAAax9C,GAE7Bq4E,EAA6B,EAAjB7qE,EAAK6qE,UACjBrD,EAA6B,EAAjBxnE,EAAKwnE,SAErBxnE,GAAKmsE,YAAetB,GAAa,GAAK,KAAQ,IAAMiH,EAAM,KAAO,MAAQjH,GAAa,EAAI,KAAQ,IAAMkH,EAAM,KAAO,IAAmB,IAAZlH,GAAoB,IAAMmH,EAAM,IAC5JhyE,EAAKksE,YAAe1E,GAAa,GAAK,KAAQ,IAAMsK,EAAM,KAAO,MAAQtK,GAAa,EAAI,KAAQ,IAAMuK,EAAM,KAAO,IAAmB,IAAZvK,GAAoB,IAAMwK,EAAM,MAiCpKv6D,EAAOs4B,SAAW,SAAUtgD,EAAMmF,EAAGC,GAEvBiE,SAANlE,IAAmBA,EAAI,GACjBkE,SAANjE,IAAmBA,EAAI,GAM3BtF,KAAK4U,KAAOsT,EAAOgK,SAMnBlyB,KAAKgwC,YAAc9nB,EAAO6J,OAE1B9xB,KAAKugD,SAAS96C,KAAK1F,MAEnBkoB,EAAO+6C,UAAUe,KAAKrwD,KAAKjO,KAAK1F,KAAME,EAAMmF,EAAGC,EAAG,GAAI,OAI1D4iB,EAAOs4B,SAAS39C,UAAYO,OAAO8E,OAAOjI,KAAKugD,SAAS39C,WACxDqlB,EAAOs4B,SAAS39C,UAAUC,YAAcolB,EAAOs4B,SAE/Ct4B,EAAO+6C,UAAUe,KAAKC,QAAQv+D,KAAKwiB,EAAOs4B,SAAS39C,WAC/C,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJqlB,EAAOs4B,SAAS39C,UAAU2qE,iBAAmBtlD,EAAO+6C,UAAUoB,YAAYl+D,UAC1E+hB,EAAOs4B,SAAS39C,UAAU4qE,kBAAoBvlD,EAAO+6C,UAAU8F,SAAS5iE,UACxE+hB,EAAOs4B,SAAS39C,UAAU6qE,iBAAmBxlD,EAAO+6C,UAAUwF,QAAQtiE,UACtE+hB,EAAOs4B,SAAS39C,UAAU8qE,cAAgBzlD,EAAO+6C,UAAUe,KAAK79D,UAQhE+hB,EAAOs4B,SAAS39C,UAAUsD,UAAY,WAElC,MAAKnG,MAAKwtE,oBAAuBxtE,KAAKytE,qBAAwBztE,KAAK0tE,mBAK5D1tE,KAAK2tE,iBAHD,GAafzlD,EAAOs4B,SAAS39C,UAAUE,QAAU,SAASozC,GAEzCn2C,KAAK4a,QAELsN,EAAO+6C,UAAUqC,QAAQziE,UAAUE,QAAQ2C,KAAK1F,KAAMm2C,IAW1DjuB,EAAOs4B,SAAS39C,UAAU6/E,aAAe,SAAS/zD,EAAQg0D,GAEzCp5E,SAATo5E,IAAsBA,GAAO,EAEjC,IAAIC,GAAW,GAAI16D,GAAOyX,QAAQhR,EAElC,IAAIg0D,EACJ,CACI,GAAIE,GAAe,GAAI36D,GAAO9mB,MAAMpB,KAAKE,KAAK2jC,OAAOx+B,EAAIspB,EAAO,GAAGtpB,EAAGrF,KAAKE,KAAK2jC,OAAOv+B,EAAIqpB,EAAO,GAAGrpB,GACjGw9E,EAAK,GAAI56D,GAAO9mB,MAAMutB,EAAO,GAAGtpB,EAAIspB,EAAO,GAAGtpB,EAAGspB,EAAO,GAAGrpB,EAAIqpB,EAAO,GAAGrpB,GACzE+mD,EAAK,GAAInkC,GAAO9mB,MAAMutB,EAAO,GAAGtpB,EAAIspB,EAAO,GAAGtpB,EAAGspB,EAAO,GAAGrpB,EAAIqpB,EAAO,GAAGrpB,GACzEy9E,EAAa12B,EAAGztB,MAAMkkD,EAEtBD,GAAalkD,IAAIokD,GAAc,GAE/B/iF,KAAK47E,YAAYgH,OAKrB5iF,MAAK47E,YAAYgH,IAazB16D,EAAOs4B,SAAS39C,UAAUmgF,cAAgB,SAAShiE,EAAUrC,EAASgkE,GAErDp5E,SAATo5E,IAAsBA,GAAO,EAEjC,IAII1/E,GAJAggF,EAAS,GAAI/6D,GAAO9mB,MACpB8hF,EAAS,GAAIh7D,GAAO9mB,MACpB+hF,EAAS,GAAIj7D,GAAO9mB,MACpButB,IAGJ,IAAKhQ,EAyBD,GAAIqC,EAAS,YAAckH,GAAO9mB,MAE9B,IAAK6B,EAAI,EAAGA,EAAI0b,EAAQzb,OAAQ,EAAGD,IAE/B0rB,EAAO5qB,KAAKid,EAASrC,EAAY,EAAJ1b,KAC7B0rB,EAAO5qB,KAAKid,EAASrC,EAAY,EAAJ1b,EAAQ,KACrC0rB,EAAO5qB,KAAKid,EAASrC,EAAY,EAAJ1b,EAAQ,KAEf,IAAlB0rB,EAAOzrB,SAEPlD,KAAK0iF,aAAa/zD,EAAQg0D,GAC1Bh0D,UAMR,KAAK1rB,EAAI,EAAGA,EAAI0b,EAAQzb,OAAQD,IAE5BggF,EAAO59E,EAAI2b,EAAsB,EAAbrC,EAAQ1b,IAC5BggF,EAAO39E,EAAI0b,EAAsB,EAAbrC,EAAQ1b,GAAS,GACrC0rB,EAAO5qB,KAAKk/E,EAAOnqD,YAEG,IAAlBnK,EAAOzrB,SAEPlD,KAAK0iF,aAAa/zD,EAAQg0D,GAC1Bh0D,UAjDZ,IAAI3N,EAAS,YAAckH,GAAO9mB,MAE9B,IAAK6B,EAAI,EAAGA,EAAI+d,EAAS9d,OAAS,EAAGD,IAEjCjD,KAAK0iF,cAAc1hE,EAAa,EAAJ/d,GAAQ+d,EAAa,EAAJ/d,EAAQ,GAAI+d,EAAa,EAAJ/d,EAAQ,IAAK0/E,OAKnF,KAAK1/E,EAAI,EAAGA,EAAI+d,EAAS9d,OAAS,EAAGD,IAEjCggF,EAAO59E,EAAI2b,EAAa,EAAJ/d,EAAQ,GAC5BggF,EAAO39E,EAAI0b,EAAa,EAAJ/d,EAAQ,GAC5BigF,EAAO79E,EAAI2b,EAAa,EAAJ/d,EAAQ,GAC5BigF,EAAO59E,EAAI0b,EAAa,EAAJ/d,EAAQ,GAC5BkgF,EAAO99E,EAAI2b,EAAa,EAAJ/d,EAAQ,GAC5BkgF,EAAO79E,EAAI0b,EAAa,EAAJ/d,EAAQ,GAC5BjD,KAAK0iF,cAAcO,EAAQC,EAAQC,GAASR,IA4D5Dz6D,EAAOxhB,cAAgB,SAAUxG,EAAMyG,EAAOC,EAAQ2N,EAAKjO,EAAWD,GAEtDkD,SAARgL,IAAqBA,EAAM,IACbhL,SAAdjD,IAA2BA,EAAY4hB,EAAO5a,WAAWoY,SAC1Cnc,SAAflD,IAA4BA,EAAa,GAK7CrG,KAAKE,KAAOA,EAKZF,KAAKuU,IAAMA,EAKXvU,KAAK4U,KAAOsT,EAAOqK,cAMnBvyB,KAAK6G,YAAc,GAAI5G,MAAK+B,OAE5B/B,KAAKyG,cAAchB,KAAK1F,KAAM2G,EAAOC,EAAQ5G,KAAKE,KAAKqG,SAAUD,EAAWD,GAE5ErG,KAAK8G,OAASohB,EAAOxhB,cAAc7D,UAAUiE,QAIjDohB,EAAOxhB,cAAc7D,UAAYO,OAAO8E,OAAOjI,KAAKyG,cAAc7D,WAClEqlB,EAAOxhB,cAAc7D,UAAUC,YAAcolB,EAAOxhB,cAepDwhB,EAAOxhB,cAAc7D,UAAUugF,SAAW,SAAUroE,EAAe1V,EAAGC,EAAGsV,GAErEG,EAAcxW,kBAEdvE,KAAK6G,YAAYgyB,SAAS9d,EAAchZ,gBACxC/B,KAAK6G,YAAY/B,GAAKO,EACtBrF,KAAK6G,YAAY9B,GAAKO,EAElBtF,KAAKuG,SAASqO,OAAS3U,KAAKE,eAE5BH,KAAKyqB,YAAY1P,EAAe/a,KAAK6G,YAAa+T,GAIlD5a,KAAK0qB,aAAa3P,EAAe/a,KAAK6G,YAAa+T,IAkB3DsN,EAAOxhB,cAAc7D,UAAUwgF,YAAc,SAAUtoE,EAAe1V,EAAGC,EAAGsV,GAExE5a,KAAK6G,YAAYgkB,WAAWC,UAAUzlB,EAAGC,GAErCtF,KAAKuG,SAASqO,OAAS3U,KAAKE,eAE5BH,KAAKyqB,YAAY1P,EAAe/a,KAAK6G,YAAa+T,GAIlD5a,KAAK0qB,aAAa3P,EAAe/a,KAAK6G,YAAa+T,IAoB3DsN,EAAOxhB,cAAc7D,UAAUiE,OAAS,SAAUiU,EAAejV,EAAQ8U,GAEtDrR,SAAXzD,GAAmC,OAAXA,EAExB9F,KAAK6G,YAAYgyB,SAAS9d,EAAchZ,gBAIxC/B,KAAK6G,YAAYgyB,SAAS/yB,GAG1B9F,KAAKuG,SAASqO,OAAS3U,KAAKE,eAE5BH,KAAKyqB,YAAY1P,EAAe/a,KAAK6G,YAAa+T,GAIlD5a,KAAK0qB,aAAa3P,EAAe/a,KAAK6G,YAAa+T,IA2C3DsN,EAAOmjD,KAAO,SAAUnrE,EAAMmF,EAAGC,EAAG8lE,EAAMlwD,GAEtC7V,EAAIA,GAAK,EACTC,EAAIA,GAAK,EAIL8lE,EAFS7hE,SAAT6hE,GAA+B,OAATA,EAEf,GAIAA,EAAKjkD,WAGhBjM,EAAQA,MAMRlb,KAAK4U,KAAOsT,EAAOiK,KAMnBnyB,KAAKgwC,YAAc9nB,EAAO6J,OAO1B/xB,KAAK0kB,QAAU,GAAIwD,GAAO9mB,MAQ1BpB,KAAKsjF,WAAa,KAKlBtjF,KAAKqQ,OAASpQ,KAAKqQ,WAAWpI,OAAOlI,MAKrCA,KAAKiN,QAAUjN,KAAKqQ,OAAOE,WAAW,MAKtCvQ,KAAKkhB,UAKLlhB,KAAKujF,gBAKLvjF,KAAKwjF,cAKLxjF,KAAKyjF,eAQLzjF,KAAK0jF,WAAY,EAMjB1jF,KAAK2jF,KAAOzjF,EAAKqG,SAASF,WAM1BrG,KAAK4jF,MAAQxY,EAMbprE,KAAK6jF,gBAAkB,KAMvB7jF,KAAK8jF,aAAe,EAMpB9jF,KAAK+jF,WAAa,EAMlB/jF,KAAKmI,OAAS,EAMdnI,KAAKoI,QAAU,EAEf8f,EAAOzgB,OAAO/B,KAAK1F,KAAME,EAAMmF,EAAGC,EAAGrF,KAAKoL,QAAQqe,WAAW1pB,KAAKqQ,SAElErQ,KAAKgkF,SAAS9oE,GAED,KAATkwD,GAEAprE,KAAKikF,cAKb/7D,EAAOmjD,KAAKxoE,UAAYO,OAAO8E,OAAOggB,EAAOzgB,OAAO5E,WACpDqlB,EAAOmjD,KAAKxoE,UAAUC,YAAcolB,EAAOmjD,KAQ3CnjD,EAAOmjD,KAAKxoE,UAAUsD,UAAY,WAE9B,MAAKnG,MAAKwtE,oBAAuBxtE,KAAKytE,qBAAwBztE,KAAK0tE,mBAK5D1tE,KAAK2tE,iBAHD,GAafzlD,EAAOmjD,KAAKxoE,UAAUwgC,OAAS,aAU/Bnb,EAAOmjD,KAAKxoE,UAAUE,QAAU,SAAUozC,GAEtCn2C,KAAK4H,QAAQ7E,SAAQ,GAErB9C,KAAKqQ,WAAWI,OAAO1Q,MAEvBkoB,EAAO+6C,UAAUqC,QAAQziE,UAAUE,QAAQ2C,KAAK1F,KAAMm2C,IAmB1DjuB,EAAOmjD,KAAKxoE,UAAUqhF,UAAY,SAAU7+E,EAAGC,EAAG8S,EAAO28D,EAAMoP,EAAcC,GAiBzE,MAfU76E,UAANlE,IAAmBA,EAAI,GACjBkE,SAANjE,IAAmBA,EAAI,GACbiE,SAAV6O,IAAuBA,EAAQ,oBACtB7O,SAATwrE,IAAsBA,EAAO,GACZxrE,SAAjB46E,IAA8BA,GAAe,GAC9B56E,SAAf66E,IAA4BA,GAAa,GAE7CpkF,KAAKkb,MAAMg6D,cAAgB7vE,EAC3BrF,KAAKkb,MAAMi6D,cAAgB7vE,EAC3BtF,KAAKkb,MAAM85D,YAAc58D,EACzBpY,KAAKkb,MAAM+5D,WAAaF,EACxB/0E,KAAKkb,MAAMipE,aAAeA,EAC1BnkF,KAAKkb,MAAMkpE,WAAaA,EACxBpkF,KAAKyT,OAAQ,EAENzT,MA0BXkoB,EAAOmjD,KAAKxoE,UAAUmhF,SAAW,SAAU9oE,GAEvCA,EAAQA,MACRA,EAAM8wD,KAAO9wD,EAAM8wD,MAAQ,kBAC3B9wD,EAAMmpE,gBAAkBnpE,EAAMmpE,iBAAmB,KACjDnpE,EAAMmT,KAAOnT,EAAMmT,MAAQ,QAC3BnT,EAAMqyD,MAAQryD,EAAMqyD,OAAS,OAC7BryD,EAAMopE,aAAeppE,EAAMopE,cAAgB,OAC3CppE,EAAMqpE,aAAerpE,EAAMqpE,cAAgB,MAC3CrpE,EAAM66D,OAAS76D,EAAM66D,QAAU,QAC/B76D,EAAMspE,gBAAkBtpE,EAAMspE,iBAAmB,EACjDtpE,EAAMupE,SAAWvpE,EAAMupE,WAAY,EACnCvpE,EAAMwpE,cAAgBxpE,EAAMwpE,eAAiB,IAC7CxpE,EAAMg6D,cAAgBh6D,EAAMg6D,eAAiB,EAC7Ch6D,EAAMi6D,cAAgBj6D,EAAMi6D,eAAiB,EAC7Cj6D,EAAM85D,YAAc95D,EAAM85D,aAAe,gBACzC95D,EAAM+5D,WAAa/5D,EAAM+5D,YAAc,EACvC/5D,EAAMypE,KAAOzpE,EAAMypE,MAAQ,CAE3B,IAAIzgB,GAAalkE,KAAK4kF,iBAAiB1pE,EAAM8wD,KAiC7C,OA/BI9wD,GAAM2pE,YAEN3gB,EAAW2gB,UAAY3pE,EAAM2pE,WAG7B3pE,EAAM4pE,cAEN5gB,EAAW4gB,YAAc5pE,EAAM4pE,aAG/B5pE,EAAM6pE,aAEN7gB,EAAW6gB,WAAa7pE,EAAM6pE,YAG9B7pE,EAAM8pE,WAEwB,gBAAnB9pE,GAAM8pE,WAEb9pE,EAAM8pE,SAAW9pE,EAAM8pE,SAAW,MAGtC9gB,EAAW8gB,SAAW9pE,EAAM8pE,UAGhChlF,KAAK6jF,gBAAkB3f,EAEvBhpD,EAAM8wD,KAAOhsE,KAAKilF,iBAAiBjlF,KAAK6jF,iBACxC7jF,KAAKkb,MAAQA,EACblb,KAAKyT,OAAQ,EAENzT,MAUXkoB,EAAOmjD,KAAKxoE,UAAUohF,WAAa,WAE/BjkF,KAAK4H,QAAQ+D,YAAYtF,WAAarG,KAAK2jF,KAE3C3jF,KAAKiN,QAAQ++D,KAAOhsE,KAAKkb,MAAM8wD,IAE/B,IAAIkZ,GAAallF,KAAKorE,IAElBprE,MAAKkb,MAAMupE,WAEXS,EAAallF,KAAKmlF,YAAYnlF,KAAKorE,MAYvC,KAAK,GARDga,GAAQF,EAAW1vD,MAAM,kBAGzBmvD,EAAO3kF,KAAKkb,MAAMypE,KAClBU,KACAC,EAAe,EACfC,EAAiBvlF,KAAKwlF,wBAAwBxlF,KAAKkb,MAAM8wD,MAEpD/oE,EAAI,EAAGA,EAAImiF,EAAMliF,OAAQD,IAClC,CACI,GAAa,IAAT0hF,EACJ,CAEI,GAAI7O,GAAY91E,KAAKiN,QAAQw4E,YAAYL,EAAMniF,IAAI0D,MAAQ3G,KAAKkb,MAAMspE,gBAAkBxkF,KAAK0kB,QAAQrf,CAGjGrF,MAAKkb,MAAMupE,WAEX3O,GAAa91E,KAAKiN,QAAQw4E,YAAY,KAAK9+E,WAInD,CAEI,GAAIy0B,GAAOgqD,EAAMniF,GAAGuyB,MAAM,UACtBsgD,EAAY91E,KAAK0kB,QAAQrf,EAAIrF,KAAKkb,MAAMspE,eAE5C,IAAI7jF,MAAMoR,QAAQ4yE,GAId,IAAK,GAFDe,GAAM,EAED9gF,EAAI,EAAGA,EAAIw2B,EAAKl4B,OAAQ0B,IACjC,CACI,GAAI+gF,GAAU9kF,KAAKgzB,KAAK7zB,KAAKiN,QAAQw4E,YAAYrqD,EAAKx2B,IAAI+B,MAEtD/B,GAAI,IAEJ8gF,GAAOf,EAAK//E,EAAI,IAGpBkxE,EAAY4P,EAAMC,MAKtB,KAAK,GAAI/gF,GAAI,EAAGA,EAAIw2B,EAAKl4B,OAAQ0B,IACjC,CAEIkxE,GAAaj1E,KAAKgzB,KAAK7zB,KAAKiN,QAAQw4E,YAAYrqD,EAAKx2B,IAAI+B,MAEzD,IAAIw5E,GAAOngF,KAAKE,KAAK+jC,KAAK2hD,WAAW9P,EAAW6O,GAAQ7O,CAExDA,IAAaqK,GAKzBkF,EAAWpiF,GAAKpC,KAAKgzB,KAAKiiD,GAC1BwP,EAAezkF,KAAKm7B,IAAIspD,EAAcD,EAAWpiF,IAGrDjD,KAAKqQ,OAAO1J,MAAQ2+E,EAAetlF,KAAK2jF,IAGxC,IAAIkC,GAAaN,EAAeP,SAAWhlF,KAAKkb,MAAMspE,gBAAkBxkF,KAAK0kB,QAAQpf,EACjFsB,EAASi/E,EAAaT,EAAMliF,OAC5B4iF,EAAc9lF,KAAK8jF,YAQvB,IANkB,EAAdgC,GAAmBjlF,KAAKi5B,IAAIgsD,GAAeD,IAE3CC,GAAeD,GAIC,IAAhBC,EACJ,CACI,GAAI3F,GAAO2F,GAAeV,EAAMliF,OAAS,EACzC0D,IAAUu5E,EAGdngF,KAAKqQ,OAAOzJ,OAASA,EAAS5G,KAAK2jF,KAEnC3jF,KAAKiN,QAAQ5L,MAAMrB,KAAK2jF,KAAM3jF,KAAK2jF,MAE/Bt7D,UAAUC,YAEVtoB,KAAKiN,QAAQuZ,UAAU,EAAG,EAAGxmB,KAAKqQ,OAAO1J,MAAO3G,KAAKqQ,OAAOzJ,QAG5D5G,KAAKkb,MAAMmpE,kBAEXrkF,KAAKiN,QAAQia,UAAYlnB,KAAKkb,MAAMmpE,gBACpCrkF,KAAKiN,QAAQoa,SAAS,EAAG,EAAGrnB,KAAKqQ,OAAO1J,MAAO3G,KAAKqQ,OAAOzJ,SAG/D5G,KAAKiN,QAAQia,UAAYlnB,KAAKkb,MAAMmT,KACpCruB,KAAKiN,QAAQ++D,KAAOhsE,KAAKkb,MAAM8wD,KAC/BhsE,KAAKiN,QAAQwjB,YAAczwB,KAAKkb,MAAM66D,OACtC/1E,KAAKiN,QAAQ84E,aAAe,aAE5B/lF,KAAKiN,QAAQ6oE,UAAY91E,KAAKkb,MAAMspE,gBACpCxkF,KAAKiN,QAAQ+4E,QAAU,QACvBhmF,KAAKiN,QAAQg5E,SAAW,OAExB,IAAIC,GACAC,CAKJ,KAHAnmF,KAAK+jF,WAAa,EAGb9gF,EAAI,EAAGA,EAAImiF,EAAMliF,OAAQD,IAI1BijF,EAAgBlmF,KAAKkb,MAAMspE,gBAAkB,EAC7C2B,EAAiBnmF,KAAKkb,MAAMspE,gBAAkB,EAAIvhF,EAAI4iF,EAAcN,EAAea,OAE/EnjF,EAAI,IAEJkjF,GAAkBL,EAAc7iF,GAGX,UAArBjD,KAAKkb,MAAMqyD,MAEX2Y,GAAiBZ,EAAeD,EAAWpiF,GAEjB,WAArBjD,KAAKkb,MAAMqyD,QAEhB2Y,IAAkBZ,EAAeD,EAAWpiF,IAAM,GAGlDjD,KAAK0jF,YAELwC,EAAgBrlF,KAAKo4B,MAAMitD,GAC3BC,EAAgBtlF,KAAKo4B,MAAMktD,IAG3BnmF,KAAKkhB,OAAOhe,OAAS,GAAKlD,KAAKujF,aAAargF,OAAS,GAAKlD,KAAKyjF,YAAYvgF,OAAS,GAAKlD,KAAKwjF,WAAWtgF,OAAS,EAElHlD,KAAKqmF,WAAWjB,EAAMniF,GAAIijF,EAAeC,IAIrCnmF,KAAKkb,MAAM66D,QAAU/1E,KAAKkb,MAAMspE,kBAEhCxkF,KAAKsmF,aAAatmF,KAAKkb,MAAMipE,cAEhB,IAATQ,EAEA3kF,KAAKiN,QAAQs5E,WAAWnB,EAAMniF,GAAIijF,EAAeC,GAIjDnmF,KAAKwmF,cAAcpB,EAAMniF,GAAIijF,EAAeC,GAAe,IAI/DnmF,KAAKkb,MAAMmT,OAEXruB,KAAKsmF,aAAatmF,KAAKkb,MAAMkpE,YAEhB,IAATO,EAEA3kF,KAAKiN,QAAQ2oE,SAASwP,EAAMniF,GAAIijF,EAAeC,GAI/CnmF,KAAKwmF,cAAcpB,EAAMniF,GAAIijF,EAAeC,GAAe,IAM3EnmF,MAAKuX,iBAeT2Q,EAAOmjD,KAAKxoE,UAAU2jF,cAAgB,SAAUprD,EAAM/1B,EAAGC,EAAG+oB,GAExD,GAAI+8C,GAAOhwC,EAAK5F,MAAM,UAClBmvD,EAAO3kF,KAAKkb,MAAMypE,KAClB8B,EAAO,CAEX,IAAI9lF,MAAMoR,QAAQ4yE,GAId,IAAK,GAFDe,GAAM,EAED9gF,EAAI,EAAGA,EAAIwmE,EAAKloE,OAAQ0B,IAEzBA,EAAI,IAEJ8gF,GAAOf,EAAK//E,EAAI,IAGpB6hF,EAAOphF,EAAIqgF,EAEPr3D,EAEAruB,KAAKiN,QAAQ2oE,SAASxK,EAAKxmE,GAAI6hF,EAAMnhF,GAIrCtF,KAAKiN,QAAQs5E,WAAWnb,EAAKxmE,GAAI6hF,EAAMnhF,OAM/C,KAAK,GAAIV,GAAI,EAAGA,EAAIwmE,EAAKloE,OAAQ0B,IACjC,CACI,GAAI+gF,GAAU9kF,KAAKgzB,KAAK7zB,KAAKiN,QAAQw4E,YAAYra,EAAKxmE,IAAI+B,MAG1D8/E,GAAOzmF,KAAKE,KAAK+jC,KAAK2hD,WAAWvgF,EAAGs/E,GAEhCt2D,EAEAruB,KAAKiN,QAAQ2oE,SAASxK,EAAKxmE,GAAI6hF,EAAMnhF,GAIrCtF,KAAKiN,QAAQs5E,WAAWnb,EAAKxmE,GAAI6hF,EAAMnhF,GAG3CD,EAAIohF,EAAOd,IAavBz9D,EAAOmjD,KAAKxoE,UAAUyjF,aAAe,SAAU1/C,GAEvCA,GAEA5mC,KAAKiN,QAAQioE,cAAgBl1E,KAAKkb,MAAMg6D,cACxCl1E,KAAKiN,QAAQkoE,cAAgBn1E,KAAKkb,MAAMi6D,cACxCn1E,KAAKiN,QAAQ+nE,YAAch1E,KAAKkb,MAAM85D,YACtCh1E,KAAKiN,QAAQgoE,WAAaj1E,KAAKkb,MAAM+5D,aAIrCj1E,KAAKiN,QAAQioE,cAAgB,EAC7Bl1E,KAAKiN,QAAQkoE,cAAgB,EAC7Bn1E,KAAKiN,QAAQ+nE,YAAc,EAC3Bh1E,KAAKiN,QAAQgoE,WAAa,IAWlC/sD,EAAOmjD,KAAKxoE,UAAUwjF,WAAa,SAAUjrD,EAAM/1B,EAAGC,GAElD,IAAK,GAAIrC,GAAI,EAAGA,EAAIm4B,EAAKl4B,OAAQD,IACjC,CACI,GAAIyjF,GAAStrD,EAAKn4B,EAElB,IAAIjD,KAAKyjF,YAAYvgF,OAAS,GAAKlD,KAAKwjF,WAAWtgF,OAAS,EAC5D,CACI,GAAIghE,GAAalkE,KAAK4kF,iBAAiB5kF,KAAKiN,QAAQ++D,KAEhDhsE,MAAKwjF,WAAWxjF,KAAK+jF,cAErB7f,EAAW2gB,UAAY7kF,KAAKwjF,WAAWxjF,KAAK+jF,aAG5C/jF,KAAKyjF,YAAYzjF,KAAK+jF,cAEtB7f,EAAW6gB,WAAa/kF,KAAKyjF,YAAYzjF,KAAK+jF,aAGlD/jF,KAAKiN,QAAQ++D,KAAOhsE,KAAKilF,iBAAiB/gB,GAG1ClkE,KAAKkb,MAAM66D,QAAU/1E,KAAKkb,MAAMspE,kBAE5BxkF,KAAKujF,aAAavjF,KAAK+jF,cAEvB/jF,KAAKiN,QAAQwjB,YAAczwB,KAAKujF,aAAavjF,KAAK+jF,aAGtD/jF,KAAKsmF,aAAatmF,KAAKkb,MAAMipE,cAC7BnkF,KAAKiN,QAAQs5E,WAAWG,EAAQrhF,EAAGC,IAGnCtF,KAAKkb,MAAMmT,OAEPruB,KAAKkhB,OAAOlhB,KAAK+jF,cAEjB/jF,KAAKiN,QAAQia,UAAYlnB,KAAKkhB,OAAOlhB,KAAK+jF,aAG9C/jF,KAAKsmF,aAAatmF,KAAKkb,MAAMkpE,YAC7BpkF,KAAKiN,QAAQ2oE,SAAS8Q,EAAQrhF,EAAGC,IAGrCD,GAAKrF,KAAKiN,QAAQw4E,YAAYiB,GAAQ//E,MAEtC3G,KAAK+jF,eAWb77D,EAAOmjD,KAAKxoE,UAAU8jF,YAAc,WAMhC,MAJA3mF,MAAKkhB,UACLlhB,KAAKujF,gBACLvjF,KAAKyT,OAAQ,EAENzT,MAUXkoB,EAAOmjD,KAAKxoE,UAAU+jF,gBAAkB,WAMpC,MAJA5mF,MAAKwjF,cACLxjF,KAAKyjF,eACLzjF,KAAKyT,OAAQ,EAENzT,MAmBXkoB,EAAOmjD,KAAKxoE,UAAUgkF,SAAW,SAAUzuE,EAAOjX,GAK9C,MAHAnB,MAAKkhB,OAAO/f,GAAYiX,EACxBpY,KAAKyT,OAAQ,EAENzT,MAqBXkoB,EAAOmjD,KAAKxoE,UAAUikF,eAAiB,SAAU1uE,EAAOjX,GAKpD,MAHAnB,MAAKujF,aAAapiF,GAAYiX,EAC9BpY,KAAKyT,OAAQ,EAENzT,MAmBXkoB,EAAOmjD,KAAKxoE,UAAUkkF,aAAe,SAAU7rE,EAAO/Z,GAKlD,MAHAnB,MAAKwjF,WAAWriF,GAAY+Z,EAC5Blb,KAAKyT,OAAQ,EAENzT,MAmBXkoB,EAAOmjD,KAAKxoE,UAAUmkF,cAAgB,SAAUC,EAAQ9lF,GAKpD,MAHAnB,MAAKyjF,YAAYtiF,GAAY8lF,EAC7BjnF,KAAKyT,OAAQ,EAENzT,MAWXkoB,EAAOmjD,KAAKxoE,UAAUsiF,YAAc,SAAU/Z,GAK1C,IAAK,GAHDv6D,GAAS,GACTu0E,EAAQha,EAAK51C,MAAM,MAEdvyB,EAAI,EAAGA,EAAImiF,EAAMliF,OAAQD,IAClC,CAII,IAAK,GAHDikF,GAAYlnF,KAAKkb,MAAMwpE,cACvByC,EAAQ/B,EAAMniF,GAAGuyB,MAAM,KAElB1xB,EAAI,EAAGA,EAAIqjF,EAAMjkF,OAAQY,IAClC,CACI,GAAIsjF,GAAYpnF,KAAKiN,QAAQw4E,YAAY0B,EAAMrjF,IAAI6C,MAC/C0gF,EAAqBD,EAAYpnF,KAAKiN,QAAQw4E,YAAY,KAAK9+E,KAE/D0gF,GAAqBH,GAGjBpjF,EAAI,IAEJ+M,GAAU,MAEdA,GAAUs2E,EAAMrjF,GAAK,IACrBojF,EAAYlnF,KAAKkb,MAAMwpE,cAAgB0C,IAIvCF,GAAaG,EACbx2E,GAAUs2E,EAAMrjF,GAAK,KAIzBb,EAAImiF,EAAMliF,OAAO,IAEjB2N,GAAU,MAIlB,MAAOA,IAWXqX,EAAOmjD,KAAKxoE,UAAUykF,WAAa,SAAUpjB,GAEzC,GAAI8H,GAAOhsE,KAAKilF,iBAAiB/gB,EAE7BlkE,MAAKkb,MAAM8wD,OAASA,IAEpBhsE,KAAKkb,MAAM8wD,KAAOA,EAClBhsE,KAAKyT,OAAQ,EAETzT,KAAK4B,QAEL5B,KAAKuE,oBAajB2jB,EAAOmjD,KAAKxoE,UAAU+hF,iBAAmB,SAAU5Y,GAU/C,GAAIttC,GAAIstC,EAAKhJ,MAAM,uSAEnB,OAAItkC,IAGIstC,KAAMA,EACN6Y,UAAWnmD,EAAE,IAAM,SACnBomD,YAAapmD,EAAE,IAAM,SACrBqmD,WAAYrmD,EAAE,IAAM,SACpBsmD,SAAUtmD,EAAE,IAAM,SAClB6oD,WAAY7oD,EAAE,KAKlBnsB,QAAQ2iB,KAAK,sCAAwC82C,IAEjDA,KAAMA,KAalB9jD,EAAOmjD,KAAKxoE,UAAUoiF,iBAAmB,SAAU/gB,GAE/C,GACIvqB,GADApkB,IAwBJ,OArBAokB,GAAIuqB,EAAW2gB,UACXlrC,GAAW,WAANA,GAAkBpkB,EAAMxxB,KAAK41C,GAEtCA,EAAIuqB,EAAW4gB,YACXnrC,GAAW,WAANA,GAAkBpkB,EAAMxxB,KAAK41C,GAEtCA,EAAIuqB,EAAW6gB,WACXprC,GAAW,WAANA,GAAkBpkB,EAAMxxB,KAAK41C,GAEtCA,EAAIuqB,EAAW8gB,SACXrrC,GAAW,WAANA,GAAkBpkB,EAAMxxB,KAAK41C,GAEtCA,EAAIuqB,EAAWqjB,WACX5tC,GAAKpkB,EAAMxxB,KAAK41C,GAEfpkB,EAAMryB,QAGPqyB,EAAMxxB,KAAKmgE,EAAW8H,MAGnBz2C,EAAMvjB,KAAK,MAatBkW,EAAOmjD,KAAKxoE,UAAU2kF,QAAU,SAAUpc,GAKtC,MAHAprE,MAAKorE,KAAOA,EAAKjkD,YAAc,GAC/BnnB,KAAKyT,OAAQ,EAENzT,MAyBXkoB,EAAOmjD,KAAKxoE,UAAU4kF,UAAY,SAAUC,GAExC,IAAK/mF,MAAMoR,QAAQ21E,GAEf,MAAO1nF,KAMP,KAAK,GAFDi/B,GAAI,GAECh8B,EAAI,EAAGA,EAAIykF,EAAKxkF,OAAQD,IAEzBtC,MAAMoR,QAAQ21E,EAAKzkF,KAEnBg8B,GAAKyoD,EAAKzkF,GAAG+O,KAAK,KAEd/O,EAAIykF,EAAKxkF,OAAS,IAElB+7B,GAAK,QAKTA,GAAKyoD,EAAKzkF,GAENA,EAAIykF,EAAKxkF,OAAS,IAElB+7B,GAAK,KASrB,OAHAj/B,MAAKorE,KAAOnsC,EACZj/B,KAAKyT,OAAQ,EAENzT,MAmCXkoB,EAAOmjD,KAAKxoE,UAAU8kF,cAAgB,SAAUtiF,EAAGC,EAAGqB,EAAOC,GAyBzD,MAvBU2C,UAANlE,EAEArF,KAAKsjF,WAAa,MAIbtjF,KAAKsjF,WAMNtjF,KAAKsjF,WAAW1qD,MAAMvzB,EAAGC,EAAGqB,EAAOC,GAJnC5G,KAAKsjF,WAAa,GAAIp7D,GAAO1lB,UAAU6C,EAAGC,EAAGqB,EAAOC,GAOpD5G,KAAKkb,MAAMwpE,cAAgB/9E,IAE3B3G,KAAKkb,MAAMwpE,cAAgB/9E,IAInC3G,KAAKuX,gBAEEvX,MAUXkoB,EAAOmjD,KAAKxoE,UAAU0U,cAAgB,WAElC,GAAIoyD,GAAO3pE,KAAK4H,QAAQ+D,YACpBoB,EAAO/M,KAAK4H,QAAQmF,KACpBjB,EAAQ9L,KAAK4H,QAAQkE,MAErBsL,EAAIpX,KAAKqQ,OAAO1J,MAChB+b,EAAI1iB,KAAKqQ,OAAOzJ,MAiBpB,IAfA+iE,EAAKhjE,MAAQyQ,EACbuyD,EAAK/iE,OAAS8b,EAEd3V,EAAKpG,MAAQyQ,EACbrK,EAAKnG,OAAS8b,EAEd5W,EAAMnF,MAAQyQ,EACdtL,EAAMlF,OAAS8b,EAEf1iB,KAAK4H,QAAQjB,MAAQyQ,EACrBpX,KAAK4H,QAAQhB,OAAS8b,EAEtB1iB,KAAKmI,OAASiP,EACdpX,KAAKoI,QAAUsa,EAEX1iB,KAAKsjF,WACT,CACI,GAAIj+E,GAAIrF,KAAKsjF,WAAWj+E,EACpBC,EAAItF,KAAKsjF,WAAWh+E,CAGQ,WAA5BtF,KAAKkb,MAAMopE,aAEXj/E,GAAKrF,KAAKsjF,WAAW38E,MAAQ3G,KAAKqQ,OAAO1J,MAER,WAA5B3G,KAAKkb,MAAMopE,eAEhBj/E,GAAKrF,KAAKsjF,WAAWvpD,UAAa/5B,KAAKqQ,OAAO1J,MAAQ,GAG1B,WAA5B3G,KAAKkb,MAAMqpE,aAEXj/E,GAAKtF,KAAKsjF,WAAW18E,OAAS5G,KAAKqQ,OAAOzJ,OAET,WAA5B5G,KAAKkb,MAAMqpE,eAEhBj/E,GAAKtF,KAAKsjF,WAAWrpD,WAAcj6B,KAAKqQ,OAAOzJ,OAAS,GAG5D5G,KAAKsB,MAAM+D,GAAKA,EAChBrF,KAAKsB,MAAMgE,GAAKA,EAIpBtF,KAAK2B,WAAoB,IAANyV,GAAiB,IAANsL,EAE9B1iB,KAAK4H,QAAQmG,gBAAiB,EAE9B/N,KAAK4H,QAAQ+D,YAAY8H,SAW7ByU,EAAOmjD,KAAKxoE,UAAU6E,aAAe,SAAUJ,GAEvCtH,KAAKyT,QAELzT,KAAKikF,aACLjkF,KAAKyT,OAAQ,GAGjBxT,KAAKwH,OAAO5E,UAAU6E,aAAahC,KAAK1F,KAAMsH,IAWlD4gB,EAAOmjD,KAAKxoE,UAAU8E,cAAgB,SAAUL,GAExCtH,KAAKyT,QAELzT,KAAKikF,aACLjkF,KAAKyT,OAAQ,GAGjBxT,KAAKwH,OAAO5E,UAAU8E,cAAcjC,KAAK1F,KAAMsH,IAWnD4gB,EAAOmjD,KAAKxoE,UAAU2iF,wBAA0B,SAAUX,GAEtD,GAAI+C,GAAa1/D,EAAOmjD,KAAKwc,oBAAoBhD,EAEjD,KAAK+C,EACL,CACIA,IAEA,IAAIv3E,GAAS6X,EAAOmjD,KAAKyc,qBACrB76E,EAAUib,EAAOmjD,KAAK0c,qBAE1B96E,GAAQ++D,KAAO6Y,CAEf,IAAIl+E,GAAQ9F,KAAKgzB,KAAK5mB,EAAQw4E,YAAY,QAAQ9+E,OAC9CqhF,EAAWnnF,KAAKgzB,KAAK5mB,EAAQw4E,YAAY,QAAQ9+E,OACjDC,EAAS,EAAIohF,CAgBjB,IAdAA,EAAsB,IAAXA,EAAiB,EAE5B33E,EAAO1J,MAAQA,EACf0J,EAAOzJ,OAASA,EAEhBqG,EAAQia,UAAY,OACpBja,EAAQoa,SAAS,EAAG,EAAG1gB,EAAOC,GAE9BqG,EAAQ++D,KAAO6Y,EAEf53E,EAAQ84E,aAAe,aACvB94E,EAAQia,UAAY,OACpBja,EAAQ2oE,SAAS,OAAQ,EAAGoS,IAEvB/6E,EAAQuD,aAAa,EAAG,EAAG7J,EAAOC,GAQnC,MANAghF,GAAWxB,OAAS4B,EACpBJ,EAAWK,QAAUD,EAAW,EAChCJ,EAAW5C,SAAW4C,EAAWxB,OAASwB,EAAWK,QAErD//D,EAAOmjD,KAAKwc,oBAAoBhD,GAAa+C,EAEtCA,CAGX,IAII3kF,GAAGa,EAJHokF,EAAYj7E,EAAQuD,aAAa,EAAG,EAAG7J,EAAOC,GAAQ6J,KACtDgX,EAASygE,EAAUhlF,OACnBk4B,EAAe,EAARz0B,EAIPoK,EAAM,EACNjG,GAAO,CAGX,KAAK7H,EAAI,EAAO+kF,EAAJ/kF,EAAcA,IAC1B,CACI,IAAKa,EAAI,EAAOs3B,EAAJt3B,EAAUA,GAAK,EAEvB,GAA2B,MAAvBokF,EAAUn3E,EAAMjN,GACpB,CACIgH,GAAO,CACP,OAIR,GAAKA,EAMD,KAJAiG,IAAOqqB,EAcf,IANAwsD,EAAWxB,OAAS4B,EAAW/kF,EAE/B8N,EAAM0W,EAAS2T,EACftwB,GAAO,EAGF7H,EAAI2D,EAAQ3D,EAAI+kF,EAAU/kF,IAC/B,CACI,IAAKa,EAAI,EAAOs3B,EAAJt3B,EAAUA,GAAK,EAEvB,GAA2B,MAAvBokF,EAAUn3E,EAAMjN,GACpB,CACIgH,GAAO,CACP,OAIR,GAAKA,EAMD,KAJAiG,IAAOqqB,EAQfwsD,EAAWK,QAAUhlF,EAAI+kF,EAEzBJ,EAAWK,SAAW,EACtBL,EAAW5C,SAAW4C,EAAWxB,OAASwB,EAAWK,QAErD//D,EAAOmjD,KAAKwc,oBAAoBhD,GAAa+C,EAGjD,MAAOA,IAYX1/D,EAAOmjD,KAAKxoE,UAAUgD,UAAY,SAAUC,GAQxC,MANI9F,MAAKyT,QAELzT,KAAKikF,aACLjkF,KAAKyT,OAAQ,GAGVxT,KAAKwH,OAAO5E,UAAUgD,UAAUH,KAAK1F,KAAM8F,IAYtD1C,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,QAEzCS,IAAK,WACD,MAAOtD,MAAK4jF,OAGhBpgF,IAAK,SAASC,GAENA,IAAUzD,KAAK4jF,QAEf5jF,KAAK4jF,MAAQngF,EAAM0jB,YAAc,GACjCnnB,KAAKyT,OAAQ,EAETzT,KAAK4B,QAEL5B,KAAKuE,sBAmBrBnB,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,WAEzCS,IAAK,WACD,MAAOtD,MAAKilF,iBAAiBjlF,KAAK6jF,kBAGtCrgF,IAAK,SAAUC,GAEXA,EAAQA,GAAS,kBACjBzD,KAAK6jF,gBAAkB7jF,KAAK4kF,iBAAiBnhF,GAC7CzD,KAAKsnF,WAAWtnF,KAAK6jF,oBAgB7BzgF,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,QAEzCS,IAAK,WACD,MAAOtD,MAAK6jF,gBAAgB0D,YAGhC/jF,IAAK,SAASC,GAEVA,EAAQA,GAAS,QACjBA,EAAQA,EAAMgK,OAGT,2DAA2D06E,KAAK1kF,IAAW,QAAQ0kF,KAAK1kF,KAEzFA,EAAQ,IAAMA,EAAQ,KAG1BzD,KAAK6jF,gBAAgB0D,WAAa9jF,EAClCzD,KAAKsnF,WAAWtnF,KAAK6jF,oBAe7BzgF,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,YAEzCS,IAAK,WAED,GAAIud,GAAO7gB,KAAK6jF,gBAAgBmB,QAEhC,OAAInkE,IAAQ,cAAcsnE,KAAKtnE,GAEpB0V,SAAS1V,EAAM,IAIfA,GAKfrd,IAAK,SAASC,GAEVA,EAAQA,GAAS,IAEI,gBAAVA,KAEPA,GAAgB,MAGpBzD,KAAK6jF,gBAAgBmB,SAAWvhF,EAChCzD,KAAKsnF,WAAWtnF,KAAK6jF,oBAW7BzgF,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,cAEzCS,IAAK,WACD,MAAOtD,MAAK6jF,gBAAgBkB,YAAc,UAG9CvhF,IAAK,SAASC,GAEVA,EAAQA,GAAS,SACjBzD,KAAK6jF,gBAAgBkB,WAAathF,EAClCzD,KAAKsnF,WAAWtnF,KAAK6jF,oBAW7BzgF,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,aAEzCS,IAAK,WACD,MAAOtD,MAAK6jF,gBAAgBgB,WAAa,UAG7CrhF,IAAK,SAASC,GAEVA,EAAQA,GAAS,SACjBzD,KAAK6jF,gBAAgBgB,UAAYphF,EACjCzD,KAAKsnF,WAAWtnF,KAAK6jF,oBAW7BzgF,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,eAEzCS,IAAK,WACD,MAAOtD,MAAK6jF,gBAAgBiB,aAAe,UAG/CthF,IAAK,SAASC,GAEVA,EAAQA,GAAS,SACjBzD,KAAK6jF,gBAAgBiB,YAAcrhF,EACnCzD,KAAKsnF,WAAWtnF,KAAK6jF,oBAU7BzgF,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,QAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAMmT,MAGtB7qB,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAMmT,OAErBruB,KAAKkb,MAAMmT,KAAO5qB,EAClBzD,KAAKyT,OAAQ,MAczBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,SAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAMqyD,OAGtB/pE,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAMqyD,QAErBvtE,KAAKkb,MAAMqyD,MAAQ9pE,EACnBzD,KAAKyT,OAAQ,MAazBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,cAEzCS,IAAK,WACD,MAAOtD,MAAK2jF,MAGhBngF,IAAK,SAASC,GAENA,IAAUzD,KAAK2jF,OAEf3jF,KAAK2jF,KAAOlgF,EACZzD,KAAKyT,OAAQ,MAgBzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,QAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAMypE,MAGtBnhF,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAMypE,OAErB3kF,KAAKkb,MAAMypE,KAAOlhF,EAClBzD,KAAKyT,OAAQ,MAYzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,gBAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAMopE,cAGtB9gF,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAMopE,eAErBtkF,KAAKkb,MAAMopE,aAAe7gF,EAC1BzD,KAAKyT,OAAQ,MAYzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,gBAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAMqpE,cAGtB/gF,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAMqpE,eAErBvkF,KAAKkb,MAAMqpE,aAAe9gF,EAC1BzD,KAAKyT,OAAQ,MAWzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,UAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAM66D,QAGtBvyE,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAM66D,SAErB/1E,KAAKkb,MAAM66D,OAAStyE,EACpBzD,KAAKyT,OAAQ,MAWzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,mBAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAMspE,iBAGtBhhF,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAMspE,kBAErBxkF,KAAKkb,MAAMspE,gBAAkB/gF,EAC7BzD,KAAKyT,OAAQ,MAWzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,YAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAMupE,UAGtBjhF,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAMupE,WAErBzkF,KAAKkb,MAAMupE,SAAWhhF,EACtBzD,KAAKyT,OAAQ,MAWzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,iBAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAMwpE,eAGtBlhF,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAMwpE,gBAErB1kF,KAAKkb,MAAMwpE,cAAgBjhF,EAC3BzD,KAAKyT,OAAQ,MAWzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,eAEzCS,IAAK,WACD,MAAOtD,MAAK8jF,cAGhBtgF,IAAK,SAASC,GAENA,IAAUzD,KAAK8jF,eAEf9jF,KAAK8jF,aAAesE,WAAW3kF,GAC/BzD,KAAKyT,OAAQ,EAETzT,KAAK4B,QAEL5B,KAAKuE,sBAYrBnB,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,iBAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAMg6D,eAGtB1xE,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAMg6D,gBAErBl1E,KAAKkb,MAAMg6D,cAAgBzxE,EAC3BzD,KAAKyT,OAAQ,MAWzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,iBAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAMi6D,eAGtB3xE,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAMi6D,gBAErBn1E,KAAKkb,MAAMi6D,cAAgB1xE,EAC3BzD,KAAKyT,OAAQ,MAWzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,eAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAM85D,aAGtBxxE,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAM85D,cAErBh1E,KAAKkb,MAAM85D,YAAcvxE,EACzBzD,KAAKyT,OAAQ,MAWzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,cAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAM+5D,YAGtBzxE,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAM+5D,aAErBj1E,KAAKkb,MAAM+5D,WAAaxxE,EACxBzD,KAAKyT,OAAQ,MAWzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,gBAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAMipE,cAGtB3gF,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAMipE,eAErBnkF,KAAKkb,MAAMipE,aAAe1gF,EAC1BzD,KAAKyT,OAAQ,MAWzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,cAEzCS,IAAK,WACD,MAAOtD,MAAKkb,MAAMkpE,YAGtB5gF,IAAK,SAASC,GAENA,IAAUzD,KAAKkb,MAAMkpE,aAErBpkF,KAAKkb,MAAMkpE,WAAa3gF,EACxBzD,KAAKyT,OAAQ,MAWzBrQ,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,SAEzCS,IAAK,WAQD,MANItD,MAAKyT,QAELzT,KAAKikF,aACLjkF,KAAKyT,OAAQ,GAGVzT,KAAKqB,MAAMgE,EAAIrF,KAAK4H,QAAQkE,MAAMnF,OAG7CnD,IAAK,SAASC,GAEVzD,KAAKqB,MAAMgE,EAAI5B,EAAQzD,KAAK4H,QAAQkE,MAAMnF,MAC1C3G,KAAKmI,OAAS1E,KAStBL,OAAOC,eAAe6kB,EAAOmjD,KAAKxoE,UAAW,UAEzCS,IAAK,WAQD,MANItD,MAAKyT,QAELzT,KAAKikF,aACLjkF,KAAKyT,OAAQ,GAGVzT,KAAKqB,MAAMiE,EAAItF,KAAK4H,QAAQkE,MAAMlF,QAG7CpD,IAAK,SAASC,GAEVzD,KAAKqB,MAAMiE,EAAI7B,EAAQzD,KAAK4H,QAAQkE,MAAMlF,OAC1C5G,KAAKoI,QAAU3E,KAKvBykB,EAAOmjD,KAAKwc,uBAEZ3/D,EAAOmjD,KAAKyc,qBAAuB7nF,KAAKqQ,WAAWpI,OAAOggB,EAAOmjD,KAAKyc,sBACtE5/D,EAAOmjD,KAAK0c,sBAAwB7/D,EAAOmjD,KAAKyc,qBAAqBv3E,WAAW,MAuDhF2X,EAAOy9C,WAAa,SAAUzlE,EAAMmF,EAAGC,EAAG0mE,EAAMZ,EAAMvqD,EAAM0sD,GAExDloE,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACT0mE,EAAOA,GAAQ,GACfZ,EAAOA,GAAQ,GACfvqD,EAAOA,GAAQ,GACf0sD,EAAQA,GAAS,OAEjBttE,KAAKgI,uBAAuBvC,KAAK1F,MAMjCA,KAAK4U,KAAOsT,EAAOmK,WAMnBryB,KAAKgwC,YAAc9nB,EAAO6J,OAM1B/xB,KAAKqoF,UAAY,EAMjBroF,KAAKsoF,WAAa,EAKlBtoF,KAAKgI,OAAS,GAAIkgB,GAAO9mB,MAMzBpB,KAAKuoF,YAAc,GAAIrgE,GAAO9mB,MAM9BpB,KAAK4lE,WAML5lE,KAAKwoF,UAAY,EAMjBxoF,KAAK4jF,MAAQxY,EAMbprE,KAAKyoF,MAAQvoF,EAAK4jC,MAAM4kD,cAAc1c,GAMtChsE,KAAK2oF,MAAQ3c,EAMbhsE,KAAK4oF,UAAY/nE,EAMjB7gB,KAAK6oF,OAAStb,EAMdvtE,KAAK8oF,MAAQ,SAEb9oF,KAAKikF,aAKLjkF,KAAKyT,OAAQ,EAEbyU,EAAO+6C,UAAUe,KAAKrwD,KAAKjO,KAAK1F,KAAME,EAAMmF,EAAGC,EAAG,GAAI,OAI1D4iB,EAAOy9C,WAAW9iE,UAAYO,OAAO8E,OAAOjI,KAAKgI,uBAAuBpF,WACxEqlB,EAAOy9C,WAAW9iE,UAAUC,YAAcolB,EAAOy9C,WAEjDz9C,EAAO+6C,UAAUe,KAAKC,QAAQv+D,KAAKwiB,EAAOy9C,WAAW9iE,WACjD,QACA,WACA,SACA,UACA,gBACA,eACA,UACA,WACA,cACA,UAGJqlB,EAAOy9C,WAAW9iE,UAAU2qE,iBAAmBtlD,EAAO+6C,UAAUoB,YAAYl+D,UAC5E+hB,EAAOy9C,WAAW9iE,UAAU4qE,kBAAoBvlD,EAAO+6C,UAAU8F,SAAS5iE,UAC1E+hB,EAAOy9C,WAAW9iE,UAAU6qE,iBAAmBxlD,EAAO+6C,UAAUwF,QAAQtiE,UACxE+hB,EAAOy9C,WAAW9iE,UAAU8qE,cAAgBzlD,EAAO+6C,UAAUe,KAAK79D,UASlE+hB,EAAOy9C,WAAW9iE,UAAUsD,UAAY,WAEpC,MAAKnG,MAAKwtE,oBAAuBxtE,KAAKytE,qBAAwBztE,KAAK0tE,mBAK5D1tE,KAAK2tE,iBAHD,GAWfzlD,EAAOy9C,WAAW9iE,UAAUqqC,WAAa,WAErChlB,EAAO+6C,UAAUoB,YAAYn3B,WAAWxnC,KAAK1F,MAC7CkoB,EAAO+6C,UAAUuB,cAAct3B,WAAWxnC,KAAK1F,MAE3CA,KAAKoxC,MAAQpxC,KAAKoxC,KAAKx8B,OAASsT,EAAO4nB,QAAQC,SAE1C/vC,KAAKqoF,YAAcroF,KAAKoxC,KAAK23C,aAAiB/oF,KAAKsoF,aAAetoF,KAAKoxC,KAAK43C,eAE7EhpF,KAAKoxC,KAAK3N,QAAQzjC,KAAKqoF,UAAWroF,KAAKsoF,aAcnDpgE,EAAOy9C,WAAW9iE,UAAU2kF,QAAU,SAAUpc,GAE5CprE,KAAKorE,KAAOA,GAehBljD,EAAOy9C,WAAW9iE,UAAUomF,SAAW,SAAUx4E,EAAMpP,EAAO+pE,GAU1D,IAAK,GARD/lE,GAAI,EACJ+R,EAAI,EACJ8xE,EAAY,GACZC,EAAe,KACfC,EAAYppF,KAAKwoF,UAAY,EAAKxoF,KAAKwoF,UAAY,KACnDrc,KAGKlpE,EAAI,EAAGA,EAAImoE,EAAKloE,OAAQD,IACjC,CACI,GAAI2G,GAAO3G,IAAMmoE,EAAKloE,OAAS,GAAK,GAAO,CAE3C,IAAI,iBAAiBmmF,KAAKje,EAAKke,OAAOrmF,IAElC,OAAS0D,MAAOyQ,EAAGg0D,KAAMA,EAAKhkD,OAAO,EAAGnkB,GAAI2G,IAAKA,EAAKuiE,MAAOA,EAI7D,IAAIrP,GAAWsO,EAAKpO,WAAW/5D,GAC3BsmF,EAAW94E,EAAK07D,MAAMrP,GAEtBl4D,EAAI,CAER,IAAK2kF,EAAL,CAOA,GAAIC,GAAWL,GAAgBI,EAASC,QAAQL,GAAiBI,EAASC,QAAQL,GAAgB,CASlG,IANAD,EAAY,OAAOG,KAAKje,EAAKke,OAAOrmF,IAAMA,EAAIimF,EAG9CtkF,GAAK4kF,EAAUD,EAAS3hF,QAAQjB,MAAQ4iF,EAAShd,SAAWlrE,EAGxD+nF,GAAchyE,EAAIxS,GAAMwkF,GAAaF,EAAY,GAGjD,OAASviF,MAAOyQ,EAAGg0D,KAAMA,EAAKhkD,OAAO,EAAGnkB,GAAKA,EAAIimF,IAAat/E,IAAKA,EAAKuiE,MAAOA,EAI/E/0D,IAAKmyE,EAASE,SAAWpoF,EAEzB8qE,EAAMpoE,KAAKsB,EAAKkkF,EAAShd,QAAUlrE,GAEnCgE,GAAKkkF,EAASE,SAAWpoF,EAEzB8nF,EAAersB,GAK3B,OAASn2D,MAAOyQ,EAAGg0D,KAAMA,EAAMxhE,IAAKA,EAAKuiE,MAAOA,IAUpDjkD,EAAOy9C,WAAW9iE,UAAUohF,WAAa,WAErC,GAAIxzE,GAAOzQ,KAAKyoF,MAAMzc,IAEtB,IAAKv7D,EAAL,CAKA,GAAI26D,GAAOprE,KAAKorE,KACZ/pE,EAAQrB,KAAK4oF,UAAYn4E,EAAKoQ,KAC9BukE,KAEA9/E,EAAI,CAERtF,MAAKqoF,UAAY,CAEjB,GACA,CACI,GAAIjtD,GAAOp7B,KAAKipF,SAASx4E,EAAMpP,EAAO+pE,EAEtChwC,GAAK91B,EAAIA,EAET8/E,EAAMrhF,KAAKq3B,GAEPA,EAAKz0B,MAAQ3G,KAAKqoF,YAElBroF,KAAKqoF,UAAYjtD,EAAKz0B,OAG1BrB,GAAMmL,EAAKo1E,WAAaxkF,EAExB+pE,EAAOA,EAAKhkD,OAAOgU,EAAKgwC,KAAKloE,OAAS,SAEjCk4B,EAAKxxB,OAAQ,EAEtB5J,MAAKsoF,WAAahjF,CAOlB,KAAK,GALDwvB,GAAI,EACJy4C,EAAQ,EACR+P,EAAKt9E,KAAKqoF,UAAYroF,KAAKgI,OAAO3C,EAClCk4E,EAAKv9E,KAAKsoF,WAAatoF,KAAKgI,OAAO1C,EAE9BrC,EAAI,EAAGA,EAAImiF,EAAMliF,OAAQD,IAClC,CACI,GAAIm4B,GAAOgqD,EAAMniF,EAEG,WAAhBjD,KAAK6oF,OAELtb,EAAQvtE,KAAKqoF,UAAYjtD,EAAKz0B,MAET,WAAhB3G,KAAK6oF,SAEVtb,GAASvtE,KAAKqoF,UAAYjtD,EAAKz0B,OAAS,EAG5C,KAAK,GAAI/B,GAAI,EAAGA,EAAIw2B,EAAKgwC,KAAKloE,OAAQ0B,IACtC,CACI,GAAIk4D,GAAW1hC,EAAKgwC,KAAKpO,WAAWp4D,GAChC2kF,EAAW94E,EAAK07D,MAAMrP,GAEtBniD,EAAI3a,KAAK4lE,QAAQ9wC,EAEjBna,GAGAA,EAAE/S,QAAU2hF,EAAS3hF,SAKrB+S,EAAI,GAAI1a,MAAKwH,OAAO8hF,EAAS3hF,SAC7B+S,EAAE2c,KAAO8D,EAAKgwC,KAAKxmE,GACnB5E,KAAK4lE,QAAQ7hE,KAAK4W,IAGtBA,EAAExZ,SAASkE,EAAK+1B,EAAK+wC,MAAMvnE,GAAK2oE,EAAS+P,EACzC3iE,EAAExZ,SAASmE,EAAK81B,EAAK91B,EAAKikF,EAAS/c,QAAUnrE,EAAUk8E,EAEvD5iE,EAAEtZ,MAAMmC,IAAInC,GACZsZ,EAAEpP,KAAOvL,KAAKuL,KACdoP,EAAE/S,QAAQmG,gBAAiB,EAEtB4M,EAAE/Y,QAEH5B,KAAKqI,SAASsS,GAGlBma,KAMR,IAAK7xB,EAAI6xB,EAAG7xB,EAAIjD,KAAK4lE,QAAQ1iE,OAAQD,IAEjCjD,KAAKyI,YAAYzI,KAAK4lE,QAAQ3iE,MAkBtCilB,EAAOy9C,WAAW9iE,UAAU6mF,YAAc,WAKtC,IAAK,GAHD30D,GAAM/0B,KAAK4lE,QAAQ1iE,OACnBymF,KAEK1mF,EAAI,EAAGA,EAAIjD,KAAK4lE,QAAQ1iE,OAAQD,IAEjCjD,KAAK4lE,QAAQ3iE,GAAGrB,SAAW5B,KAE3BA,KAAK4lE,QAAQ3iE,GAAGF,UAIhB4mF,EAAK5lF,KAAK/D,KAAK4lE,QAAQ3iE,GAS/B,OALAjD,MAAK4lE,WACL5lE,KAAK4lE,QAAU+jB,EAEf3pF,KAAKikF,aAEElvD,EAAM40D,EAAKzmF,QAUtBglB,EAAOy9C,WAAW9iE,UAAU0B,gBAAkB,YAEtCvE,KAAKyT,QAAUzT,KAAKgI,OAAO0xB,OAAO15B,KAAKuoF,gBAEvCvoF,KAAKikF,aACLjkF,KAAKyT,OAAQ,EACbzT,KAAKuoF,YAAY1vD,SAAS74B,KAAKgI,SAGnC/H,KAAKgI,uBAAuBpF,UAAU0B,gBAAgBmB,KAAK1F,OAQ/DoD,OAAOC,eAAe6kB,EAAOy9C,WAAW9iE,UAAW,SAE/CS,IAAK,WACD,MAAOtD,MAAK6oF,QAGhBrlF,IAAK,SAASC,GAENA,IAAUzD,KAAK6oF,QAAqB,SAAVplF,GAA8B,WAAVA,GAAgC,UAAVA,IAEpEzD,KAAK6oF,OAASplF,EACdzD,KAAKikF,iBAWjB7gF,OAAOC,eAAe6kB,EAAOy9C,WAAW9iE,UAAW,QAE/CS,IAAK,WACD,MAAOtD,MAAK8oF,OAGhBtlF,IAAK,SAASC;AAENA,IAAUzD,KAAK8oF,QAEf9oF,KAAK8oF,MAAQrlF,EACbzD,KAAKikF,iBAWjB7gF,OAAOC,eAAe6kB,EAAOy9C,WAAW9iE,UAAW,QAE/CS,IAAK,WACD,MAAOtD,MAAK2oF,OAGhBnlF,IAAK,SAASC,GAENA,IAAUzD,KAAK2oF,QAEf3oF,KAAK2oF,MAAQllF,EAAMgK,OACnBzN,KAAKyoF,MAAQzoF,KAAKE,KAAK4jC,MAAM4kD,cAAc1oF,KAAK2oF,OAChD3oF,KAAKikF,iBAWjB7gF,OAAOC,eAAe6kB,EAAOy9C,WAAW9iE,UAAW,YAE/CS,IAAK,WACD,MAAOtD,MAAK4oF,WAGhBplF,IAAK,SAASC,GAEVA,EAAQ8yB,SAAS9yB,EAAO,IAEpBA,IAAUzD,KAAK4oF,WAAanlF,EAAQ,IAEpCzD,KAAK4oF,UAAYnlF,EACjBzD,KAAKikF,iBAWjB7gF,OAAOC,eAAe6kB,EAAOy9C,WAAW9iE,UAAW,QAE/CS,IAAK,WACD,MAAOtD,MAAK4jF,OAGhBpgF,IAAK,SAASC,GAENA,IAAUzD,KAAK4jF,QAEf5jF,KAAK4jF,MAAQngF,EAAM0jB,YAAc,GACjCnnB,KAAKikF,iBAoBjB7gF,OAAOC,eAAe6kB,EAAOy9C,WAAW9iE,UAAW,YAE/CS,IAAK,WAED,MAAOtD,MAAKwoF,WAIhBhlF,IAAK,SAASC,GAENA,IAAUzD,KAAKwoF,YAEfxoF,KAAKwoF,UAAY/kF,EACjBzD,KAAKikF,iBAiBjB7gF,OAAOC,eAAe6kB,EAAOy9C,WAAW9iE,UAAW,YAE/CS,IAAK,WAED,OAAQtD,KAAKyoF,MAAM9e,KAAKrjE,WAI5B9C,IAAK,SAASC,GAENA,EAEAzD,KAAKyoF,MAAM9e,KAAKrjE,UAAY,EAI5BtG,KAAKyoF,MAAM9e,KAAKrjE,UAAY,KA+BxC4hB,EAAOukD,UAAY,SAAUvsE,EAAMqU,EAAK03D,EAAgBC,EAAiBC,EAAOC,EAAaC,EAAUC,EAAUC,EAASC,GAEtH,IAAKtsE,EAAK4jC,MAAM8lD,cAAcr1E,GAE1B,OAAO,GAGShL,SAAhB6iE,GAA6C,OAAhBA,KAE7BA,EAAclsE,EAAK4jC,MAAM7Y,SAAS1W,GAAK5N,MAAQslE,GAMnDjsE,KAAKisE,eAAiBA,EAKtBjsE,KAAKksE,gBAAkBA,EAKvBlsE,KAAK6pF,kBAAoBxd,GAAY,EAKrCrsE,KAAK8pF,kBAAoBxd,GAAY,EAKrCtsE,KAAK+pF,gBAAkB3d,EAMvBpsE,KAAK6iB,QAAU0pD,GAAW,EAM1BvsE,KAAK8iB,QAAU0pD,GAAW,EAK1BxsE,KAAKutE,MAAQ,OAMbvtE,KAAKgqF,WAAY,EAMjBhqF,KAAKiqF,eAAgB,EAMrBjqF,KAAKkqF,eAAiB,EAMtBlqF,KAAKmqF,eAAiB,EAOtBnqF,KAAKoqF,WAAa,EAKlBpqF,KAAKqqF,QAAUnqF,EAAK4jC,MAAM7Y,SAAS1W,GAMnCvU,KAAK4jF,MAAQ,GAMb5jF,KAAKsqF,YAKLtqF,KAAK4pE,UAAY,GAAI1hD,GAAOqiE,SAO5B,KAAK,GAJDC,GAAWxqF,KAAK6iB,QAChB4nE,EAAWzqF,KAAK8iB,QAChBpI,EAAI,EAEC9V,EAAI,EAAGA,EAAIunE,EAAMjpE,OAAQ0B,IAClC,CACI,GAAIkH,GAAQ9L,KAAK4pE,UAAU8gB,SAAS,GAAIxiE,GAAOipD,MAAMvsE,EAAG4lF,EAAUC,EAAUzqF,KAAKisE,eAAgBjsE,KAAKksE,iBAEtGlsE,MAAKsqF,SAASne,EAAMnP,WAAWp4D,IAAMkH,EAAMtD,MAE3CkS,IAEIA,IAAM1a,KAAK+pF,iBAEXrvE,EAAI,EACJ8vE,EAAWxqF,KAAK6iB,QAChB4nE,GAAYzqF,KAAKksE,gBAAkBlsE,KAAK8pF,mBAIxCU,GAAYxqF,KAAKisE,eAAiBjsE,KAAK6pF,kBAI/C3pF,EAAK4jC,MAAM6mD,gBAAgBp2E,EAAKvU,KAAK4pE,WAMrC5pE,KAAK4qF,MAAQ,GAAI1iE,GAAOhY,MAAMhQ,EAAM,EAAG,EAAGqU,EAAK,GAE/C2T,EAAOxhB,cAAchB,KAAK1F,KAAME,EAAM,IAAK,IAAK,GAAIgoB,EAAO5a,WAAW+N,SAKtErb,KAAK4U,KAAOsT,EAAO+K,WAIvB/K,EAAOukD,UAAU5pE,UAAYO,OAAO8E,OAAOggB,EAAOxhB,cAAc7D,WAChEqlB,EAAOukD,UAAU5pE,UAAUC,YAAcolB,EAAOukD,UAOhDvkD,EAAOukD,UAAUoe,WAAa,OAO9B3iE,EAAOukD,UAAUqe,YAAc,QAO/B5iE,EAAOukD,UAAUse,aAAe,SAOhC7iE,EAAOukD,UAAUue,UAAY,oGAO7B9iE,EAAOukD,UAAUwe,UAAY,+DAO7B/iE,EAAOukD,UAAUye,UAAY,wCAO7BhjE,EAAOukD,UAAU0e,UAAY,wCAO7BjjE,EAAOukD,UAAU2e,UAAY,mDAO7BljE,EAAOukD,UAAU4e,UAAY,oDAO7BnjE,EAAOukD,UAAU6e,UAAY,oDAO7BpjE,EAAOukD,UAAU8e,UAAY,yCAO7BrjE,EAAOukD,UAAU+e,UAAY,kDAO7BtjE,EAAOukD,UAAUgf,WAAa,6BAO9BvjE,EAAOukD,UAAUif,WAAa,oDAW9BxjE,EAAOukD,UAAU5pE,UAAU8oF,cAAgB,SAAUhlF,EAAOilF,GAElCriF,SAAlBqiF,IAA+BA,EAAgB,QAEnD5rF,KAAKoqF,WAAazjF,EAClB3G,KAAKutE,MAAQqe,GAgBjB1jE,EAAOukD,UAAU5pE,UAAU2kF,QAAU,SAAUqE,EAAS7B,EAAW8B,EAAkBhG,EAAa8F,EAAeG,GAE7G/rF,KAAKgqF,UAAYA,IAAa,EAC9BhqF,KAAKkqF,eAAiB4B,GAAoB,EAC1C9rF,KAAKmqF,eAAiBrE,GAAe,EACrC9lF,KAAKutE,MAAQqe,GAAiB,OAE1BG,EAEA/rF,KAAKiqF,eAAgB,EAIrBjqF,KAAKiqF,eAAgB,EAGrB4B,EAAQ3oF,OAAS,IAEjBlD,KAAKorE,KAAOygB,IAWpB3jE,EAAOukD,UAAU5pE,UAAUmpF,mBAAqB,WAE5C,GAAI79E,GAAK,EACLC,EAAK,CAKT,IAFApO,KAAK4a,QAED5a,KAAKgqF,UACT,CACI,GAAI5E,GAAQplF,KAAK4jF,MAAMpuD,MAAM,KAEzBx1B,MAAKoqF,WAAa,EAElBpqF,KAAK6H,OAAO7H,KAAKoqF,WAAahF,EAAMliF,QAAUlD,KAAKksE,gBAAkBlsE,KAAKmqF,gBAAmBnqF,KAAKmqF,gBAAgB,GAIlHnqF,KAAK6H,OAAO7H,KAAKisF,kBAAoBjsF,KAAKisE,eAAiBjsE,KAAKkqF,gBAAkB9E,EAAMliF,QAAUlD,KAAKksE,gBAAkBlsE,KAAKmqF,gBAAmBnqF,KAAKmqF,gBAAgB,EAI1K,KAAK,GAAIlnF,GAAI,EAAGA,EAAImiF,EAAMliF,OAAQD,IAG9BkL,EAAK,EAGDnO,KAAKutE,QAAUrlD,EAAOukD,UAAUqe,YAEhC38E,EAAKnO,KAAK2G,MAASy+E,EAAMniF,GAAGC,QAAUlD,KAAKisE,eAAiBjsE,KAAKkqF,gBAE5DlqF,KAAKutE,QAAUrlD,EAAOukD,UAAUse,eAErC58E,EAAMnO,KAAK2G,MAAQ,EAAOy+E,EAAMniF,GAAGC,QAAUlD,KAAKisE,eAAiBjsE,KAAKkqF,gBAAmB,EAC3F/7E,GAAMnO,KAAKkqF,eAAiB,GAIvB,EAAL/7E,IAEAA,EAAK,GAGTnO,KAAKksF,UAAU9G,EAAMniF,GAAIkL,EAAIC,EAAIpO,KAAKkqF,gBAEtC97E,GAAMpO,KAAKksE,gBAAkBlsE,KAAKmqF,mBAKlCnqF,MAAKoqF,WAAa,EAElBpqF,KAAK6H,OAAO7H,KAAKoqF,WAAYpqF,KAAKksE,iBAAiB,GAInDlsE,KAAK6H,OAAO7H,KAAK4jF,MAAM1gF,QAAUlD,KAAKisE,eAAiBjsE,KAAKkqF,gBAAiBlqF,KAAKksE,iBAAiB,GAIvG/9D,EAAK,EAEDnO,KAAKutE,QAAUrlD,EAAOukD,UAAUqe,YAEhC38E,EAAKnO,KAAK2G,MAAS3G,KAAK4jF,MAAM1gF,QAAUlD,KAAKisE,eAAiBjsE,KAAKkqF,gBAE9DlqF,KAAKutE,QAAUrlD,EAAOukD,UAAUse,eAErC58E,EAAMnO,KAAK2G,MAAQ,EAAO3G,KAAK4jF,MAAM1gF,QAAUlD,KAAKisE,eAAiBjsE,KAAKkqF,gBAAmB,EAC7F/7E,GAAMnO,KAAKkqF,eAAiB,GAIvB,EAAL/7E,IAEAA,EAAK,GAGTnO,KAAKksF,UAAUlsF,KAAK4jF,MAAOz1E,EAAI,EAAGnO,KAAKkqF,eAG3ClqF,MAAK+N,gBAAiB,GAe1Bma,EAAOukD,UAAU5pE,UAAUqpF,UAAY,SAAU9wD,EAAM/1B,EAAGC,EAAG4kF,GAEzD,IAAK,GAAItlF,GAAI,EAAGA,EAAIw2B,EAAKl4B,OAAQ0B,IAG7B,GAAuB,MAAnBw2B,EAAKkuD,OAAO1kF,GAEZS,GAAKrF,KAAKisE,eAAiBie,MAK3B,IAAIlqF,KAAKsqF,SAASlvD,EAAK4hC,WAAWp4D,KAAO,IAErC5E,KAAK4qF,MAAM9+E,MAAQ9L,KAAKsqF,SAASlvD,EAAK4hC,WAAWp4D,IACjD5E,KAAKojF,SAASpjF,KAAK4qF,MAAOvlF,EAAGC,GAAG,GAEhCD,GAAKrF,KAAKisE,eAAiBie,EAEvB7kF,EAAIrF,KAAK2G,OAET,OAcpBuhB,EAAOukD,UAAU5pE,UAAUopF,eAAiB,WAExC,GAAIE,GAAc,CAElB,IAAInsF,KAAK4jF,MAAM1gF,OAAS,EAIpB,IAAK,GAFDkiF,GAAQplF,KAAK4jF,MAAMpuD,MAAM,MAEpBvyB,EAAI,EAAGA,EAAImiF,EAAMliF,OAAQD,IAE1BmiF,EAAMniF,GAAGC,OAASipF,IAElBA,EAAc/G,EAAMniF,GAAGC,OAKnC,OAAOipF,IAYXjkE,EAAOukD,UAAU5pE,UAAUupF,4BAA8B,SAAUC,GAI/D,IAAK,GAFDC,GAAY,GAEP1nF,EAAI,EAAGA,EAAI5E,KAAK4jF,MAAM1gF,OAAQ0B,IACvC,CACI,GAAI2nF,GAAQvsF,KAAK4jF,MAAMh/E,GACnB4nF,EAAOD,EAAMvvB,WAAW,IAExBh9D,KAAKsqF,SAASkC,IAAS,IAAOH,GAAqB,OAAVE,KAEzCD,EAAYA,EAAUh4D,OAAOi4D,IAIrC,MAAOD,IAcXpkE,EAAOukD,UAAU5pE,UAAU4pF,aAAe,SAAUpnF,EAAGC,GAEnD,GAAItF,KAAK6iB,UAAYxd,GAAKrF,KAAK8iB,UAAYxd,EAA3C,CAWA,IANA,GAAIonF,GAAQrnF,EAAIrF,KAAK6iB,QACjB8pE,EAAQrnF,EAAItF,KAAK8iB,QAEjB8pE,EAAS5sF,KAAKE,KAAK4jC,MAAM2lC,aAAazpE,KAAK4qF,MAAMr2E,KAAKs4E,YACtD5pF,EAAI2pF,EAAO1pF,OAERD,KAEH2pF,EAAO3pF,GAAGoC,GAAKqnF,EACfE,EAAO3pF,GAAGqC,GAAKqnF,CAGnB3sF,MAAKgsF,uBAQT5oF,OAAOC,eAAe6kB,EAAOukD,UAAU5pE,UAAW,QAE9CS,IAAK,WAED,MAAOtD,MAAK4jF,OAIhBpgF,IAAK,SAAUC,GAEX,GAAIqpF,EAIAA,GAFA9sF,KAAKiqF,cAEKxmF,EAAMspF,cAINtpF,EAGVqpF,IAAY9sF,KAAK4jF,QAEjB5jF,KAAK4jF,MAAQkJ,EAEb9sF,KAAKosF,4BAA4BpsF,KAAKgqF,WAEtChqF,KAAKgsF,yBAWjB5oF,OAAOC,eAAe6kB,EAAOukD,UAAU5pE,UAAW,YAE9CS,IAAK,WAED,MAAOtD,MAAK4qF,MAAM3wC,UAItBz2C,IAAK,SAAUC,GAEXzD,KAAK4qF,MAAM3wC,SAAWx2C,EACtBzD,KAAKgsF,wBA+Cb9jE,EAAOwG,KAAO,SAAUxuB,EAAMmF,EAAGC,EAAGiP,EAAKzI,EAAO6iB,GAE5C3uB,KAAK2uB,UACL3uB,KAAK2uB,OAASA,EACd3uB,KAAKgtF,qBAAsB,EAC3BhtF,KAAKitF,yBAA2B,KAChC5nF,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTiP,EAAMA,GAAO,KACbzI,EAAQA,GAAS,KAMjB9L,KAAK4U,KAAOsT,EAAOiL,KAEnBlzB,KAAKyuB,KAAKhpB,KAAK1F,KAAMC,KAAKuO,aAAwB,UAAGxO,KAAK2uB,QAE1DzG,EAAO+6C,UAAUe,KAAKrwD,KAAKjO,KAAK1F,KAAME,EAAMmF,EAAGC,EAAGiP,EAAKzI,IAI3Doc,EAAOwG,KAAK7rB,UAAYO,OAAO8E,OAAOjI,KAAKyuB,KAAK7rB,WAChDqlB,EAAOwG,KAAK7rB,UAAUC,YAAcolB,EAAOwG,KAE3CxG,EAAO+6C,UAAUe,KAAKC,QAAQv+D,KAAKwiB,EAAOwG,KAAK7rB,WAC3C,QACA,YACA,WACA,SACA,aACA,OACA,QACA,UACA,gBACA,UACA,WACA,cACA,UACA,cACA,QACA,cACA,aAGJqlB,EAAOwG,KAAK7rB,UAAU2qE,iBAAmBtlD,EAAO+6C,UAAUoB,YAAYl+D,UACtE+hB,EAAOwG,KAAK7rB,UAAU4qE,kBAAoBvlD,EAAO+6C,UAAU8F,SAAS5iE,UACpE+hB,EAAOwG,KAAK7rB,UAAU6qE,iBAAmBxlD,EAAO+6C,UAAUwF,QAAQtiE,UAClE+hB,EAAOwG,KAAK7rB,UAAU8qE,cAAgBzlD,EAAO+6C,UAAUe,KAAK79D,UAQ5D+hB,EAAOwG,KAAK7rB,UAAUsD,UAAY,WAE9B,MAAKnG,MAAKwtE,oBAAuBxtE,KAAKytE,qBAAwBztE,KAAK0tE,mBAK5D1tE,KAAK2tE,iBAHD,GAafzlD,EAAOwG,KAAK7rB,UAAUwgC,OAAS,WAEvBrjC,KAAKgtF,qBAELhtF,KAAKktF,gBAAgBxnF,KAAK1F,OAgBlCkoB,EAAOwG,KAAK7rB,UAAU6gC,MAAQ,SAASr+B,EAAGC,GAItC,MAFA4iB,GAAO+6C,UAAUgH,MAAMpnE,UAAU6gC,MAAMh+B,KAAK1F,KAAMqF,EAAGC,GAE9CtF,MAUXoD,OAAOC,eAAe6kB,EAAOwG,KAAK7rB,UAAW,mBAEzCS,IAAK,WAED,MAAOtD,MAAKmtF,kBAIhB3pF,IAAK,SAAUC,GAEPA,GAA0B,kBAAVA,IAEhBzD,KAAKgtF,qBAAsB,EAC3BhtF,KAAKmtF,iBAAmB1pF,IAIxBzD,KAAKgtF,qBAAsB,EAC3BhtF,KAAKmtF,iBAAmB,SAapC/pF,OAAOC,eAAe6kB,EAAOwG,KAAK7rB,UAAW,YAEzCS,IAAK,WAKD,IAAK,GAFDkF,GAAO+D,EAAIC,EAAIC,EAAIC,EAAI/F,EAAOC,EAAQs+D,EADtCkoB,KAGKnqF,EAAI,EAAGA,EAAIjD,KAAK2uB,OAAOzrB,OAAQD,IAEpCuF,EAAY,EAAJvF,EAERsJ,EAAKvM,KAAKghB,SAASxY,GAASxI,KAAKqB,MAAMgE,EACvCmH,EAAKxM,KAAKghB,SAASxY,EAAQ,GAAKxI,KAAKqB,MAAMiE,EAC3CmH,EAAKzM,KAAKghB,SAASxY,EAAQ,GAAKxI,KAAKqB,MAAMgE,EAC3CqH,EAAK1M,KAAKghB,SAASxY,EAAQ,GAAKxI,KAAKqB,MAAMiE,EAE3CqB,EAAQuhB,EAAOrnB,KAAKwsF,WAAW9gF,EAAIE,GACnC7F,EAASshB,EAAOrnB,KAAKwsF,WAAW7gF,EAAIE,GAEpCH,GAAMvM,KAAKyE,MAAMY,EACjBmH,GAAMxM,KAAKyE,MAAMa,EACjB4/D,EAAO,GAAIh9C,GAAO1lB,UAAU+J,EAAIC,EAAI7F,EAAOC,GAC3CwmF,EAASrpF,KAAKmhE,EAGlB,OAAOkoB,MA+DfllE,EAAOq4B,WAAa,SAAUrgD,EAAMmF,EAAGC,EAAGqB,EAAOC,EAAQ2N,EAAKzI,GAE1DzG,EAAIA,GAAK,EACTC,EAAIA,GAAK,EACTqB,EAAQA,GAAS,IACjBC,EAASA,GAAU,IACnB2N,EAAMA,GAAO,KACbzI,EAAQA,GAAS,KAMjB9L,KAAK4U,KAAOsT,EAAOkK,WAMnBpyB,KAAKgwC,YAAc9nB,EAAO6J,OAM1B/xB,KAAKstF,QAAU,GAAIplE,GAAO9mB,KAE1B,IAAImsF,GAAMrtF,EAAK4jC,MAAM7Y,SAAS,aAAa,EAE3ChrB,MAAKovB,aAAa3pB,KAAK1F,KAAM,GAAIC,MAAKoL,QAAQkiF,EAAI5jB,MAAOhjE,EAAOC,GAEhEshB,EAAO+6C,UAAUe,KAAKrwD,KAAKjO,KAAK1F,KAAME,EAAMmF,EAAGC,EAAGiP,EAAKzI,IAI3Doc,EAAOq4B,WAAW19C,UAAYO,OAAO8E,OAAOjI,KAAKovB,aAAaxsB,WAC9DqlB,EAAOq4B,WAAW19C,UAAUC,YAAcolB,EAAOq4B,WAEjDr4B,EAAO+6C,UAAUe,KAAKC,QAAQv+D,KAAKwiB,EAAOq4B,WAAW19C,WACjD,QACA,YACA,WACA,SACA,aACA,UACA,gBACA,SACA,WACA,eACA,UACA,WACA,cACA,UACA,cACA,QACA,aAGJqlB,EAAOq4B,WAAW19C,UAAU2qE,iBAAmBtlD,EAAO+6C,UAAUoB,YAAYl+D,UAC5E+hB,EAAOq4B,WAAW19C,UAAU4qE,kBAAoBvlD,EAAO+6C,UAAU8F,SAAS5iE,UAC1E+hB,EAAOq4B,WAAW19C,UAAU6qE,iBAAmBxlD,EAAO+6C,UAAUwF,QAAQtiE,UACxE+hB,EAAOq4B,WAAW19C,UAAU8qE,cAAgBzlD,EAAO+6C,UAAUe,KAAK79D,UAQlE+hB,EAAOq4B,WAAW19C,UAAUsD,UAAY,WAYpC,MAVuB,KAAnBnG,KAAKstF,QAAQjoF,IAEbrF,KAAK2iB,aAAatd,GAAKrF,KAAKstF,QAAQjoF,EAAIrF,KAAKE,KAAKikC,KAAKqpD,gBAGpC,IAAnBxtF,KAAKstF,QAAQhoF,IAEbtF,KAAK2iB,aAAard,GAAKtF,KAAKstF,QAAQhoF,EAAItF,KAAKE,KAAKikC,KAAKqpD,gBAGtDxtF,KAAKwtE,oBAAuBxtE,KAAKytE,qBAAwBztE,KAAK0tE,mBAK5D1tE,KAAK2tE,iBAHD,GAkBfzlD,EAAOq4B,WAAW19C,UAAU4qF,WAAa,SAASpoF,EAAGC,GAEjDtF,KAAKstF,QAAQ9pF,IAAI6B,EAAGC,IAUxB4iB,EAAOq4B,WAAW19C,UAAU6qF,WAAa,WAErC1tF,KAAKstF,QAAQ9pF,IAAI,EAAG,IAYxB0kB,EAAOq4B,WAAW19C,UAAUE,QAAU,SAASozC,GAE3CjuB,EAAO+6C,UAAUqC,QAAQziE,UAAUE,QAAQ2C,KAAK1F,KAAMm2C,GAEtDl2C,KAAKovB,aAAaxsB,UAAUE,QAAQ2C,KAAK1F,OAe7CkoB,EAAOq4B,WAAW19C,UAAU6gC,MAAQ,SAASr+B,EAAGC,GAO5C,MALA4iB,GAAO+6C,UAAUgH,MAAMpnE,UAAU6gC,MAAMh+B,KAAK1F,KAAMqF,EAAGC,GAErDtF,KAAK2iB,aAAatd,EAAI,EACtBrF,KAAK2iB,aAAard,EAAI,EAEftF,MAiCXkoB,EAAOgvB,OAAS,WAOZl3C,KAAK2tF,cAAgB,EAOrB3tF,KAAK4tF,aAAc,EAQnB5tF,KAAK6tF,SAAU,EAMf7tF,KAAKm7C,KAAM,EAMXn7C,KAAK8tF,WAAa,EAMlB9tF,KAAKg6C,UAAW,EAMhBh6C,KAAK6uC,aAAc,EAMnB7uC,KAAKk7C,SAAU,EAMfl7C,KAAK+tF,MAAO,EAMZ/tF,KAAKguF,YAAa,EAMlBhuF,KAAKiuF,UAAW,EAMhBjuF,KAAKkuF,QAAS,EAMdluF,KAAKmuF,WAAY,EAMjBnuF,KAAKsiD,SAAU,EAMftiD,KAAKouF,UAAW,EAMhBpuF,KAAKquF,OAAQ,EAMbruF,KAAKsuF,OAAQ,EAMbtuF,KAAKuuF,SAAU,EAMfvuF,KAAKwuF,cAAe,EAQpBxuF,KAAKqQ,QAAS,EAMdrQ,KAAKyuF,kBAAoB,KAMzBzuF,KAAK85C,OAAQ,EAMb95C,KAAK0uF,MAAO,EAMZ1uF,KAAK2uF,YAAa,EAMlB3uF,KAAK4uF,cAAe,EAMpB5uF,KAAK6uF,QAAS,EAMd7uF,KAAK8uF,OAAQ,EAMb9uF,KAAKshD,aAAc,EAMnBthD,KAAK+uF,YAAa,EAMlB/uF,KAAKgvF,WAAY,EAMjBhvF,KAAKivF,cAAe,EAMpBjvF,KAAKkvF,YAAa,EAQlBlvF,KAAKq9C,OAAQ,EAMbr9C,KAAKs9C,WAAY,EAOjBt9C,KAAK+iD,WAAa,KAQlB/iD,KAAKmvF,OAAQ,EAMbnvF,KAAK65C,QAAS,EAMd75C,KAAKovF,cAAgB,EAMrBpvF,KAAKqvF,UAAW,EAMhBrvF,KAAKsvF,SAAU,EAMftvF,KAAKuvF,eAAiB,EAMtBvvF,KAAKwvF,IAAK,EAMVxvF,KAAKyvF,UAAY,EAMjBzvF,KAAK0vF,SAAU,EAMf1vF,KAAK2vF,eAAiB,EAMtB3vF,KAAK4vF,cAAe,EAMpB5vF,KAAK6vF,QAAS,EAMd7vF,KAAK8vF,OAAQ,EAMb9vF,KAAK+vF,QAAS,EAMd/vF,KAAKgwF,QAAS,EAMdhwF,KAAKiwF,MAAO,EAQZjwF,KAAKkwF,WAAY,EAMjBlwF,KAAK45C,UAAW,EAMhB55C,KAAKmwF,KAAM,EAMXnwF,KAAKowF,MAAO,EAMZpwF,KAAKqwF,KAAM,EAMXrwF,KAAKswF,KAAM,EAOXtwF,KAAKuwF,KAAM,EAMXvwF,KAAKwwF,MAAO,EAQZxwF,KAAKywF,UAAW,EAMhBzwF,KAAK0wF,WAAY,EAMjB1wF,KAAK2wF,UAAW,EAMhB3wF,KAAK4wF,WAAY,EAMjB5wF,KAAK6wF,UAAW,EAMhB7wF,KAAK8wF,UAAW,EAQhB9wF,KAAK+wF,QAAS,EAMd/wF,KAAKgxF,SAAU,EAMfhxF,KAAKixF,MAAO,EAQZjxF,KAAKkxF,WAAa,EAMlBlxF,KAAKmxF,cAAe,EAMpBnxF,KAAK6zE,eAAgB,EAMrB7zE,KAAKoxF,cAAe,EAMpBpxF,KAAKqxF,YAAa,EAMlBrxF,KAAKsxF,kBAAoB,GAMzBtxF,KAAKuxF,iBAAmB,GAMxBvxF,KAAKwxF,oBAAqB,GAM9BtpE,EAAOgvB,OAAS,GAAIhvB,GAAOgvB,OAc3BhvB,EAAOgvB,OAAOu6C,cAAgB,GAAIvpE,GAAOud,OAgBzCvd,EAAOgvB,OAAOoB,UAAY,SAAU1E,EAAU3mC,EAASykF,GAEnD,GAAIC,GAAa3xF,KAAK4xF,WAEtB,IAAI5xF,KAAK2tF,gBAAkBgE,EAEvB/9C,EAASluC,KAAKuH,EAASjN,UAEtB,IAAI2xF,EAAWE,UAAYH,EAE5BC,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAO/tF,MAAM6vC,EAAU3mC,QAGtC,CACI0kF,EAAWE,SAAWF,EAAW39D,KAAKh0B,MACtC2xF,EAAWG,OAASH,EAAWG,WAC/BH,EAAWG,OAAO/tF,MAAM6vC,EAAU3mC,GAElC,IAAIiuC,GAAoC,mBAAnB5oC,QAAO4oC,QACxBlB,EAAW3xB,UAAsB,UAET,cAAxBvY,SAASiiF,YAAqD,gBAAxBjiF,SAASiiF,WAG/Cz/E,OAAO0/E,WAAWL,EAAWE,SAAU,GAElC32C,IAAYlB,EAIjBlqC,SAASy+B,iBAAiB,cAAeojD,EAAWE,UAAU,IAI9D/hF,SAASy+B,iBAAiB,mBAAoBojD,EAAWE,UAAU,GACnEv/E,OAAOi8B,iBAAiB,OAAQojD,EAAWE,UAAU,MAajE3pE,EAAOgvB,OAAO06C,YAAc,WAExB,GAAID,GAAa3xF,KAAK4xF,WAEtB,IAAK9hF,SAASshC,MAIT,IAAKpxC,KAAK2tF,cACf,CACI3tF,KAAK2tF,cAAgB1iD,KAAKoN,MAE1BvoC,SAAS2/B,oBAAoB,cAAekiD,EAAWE,UACvD/hF,SAAS2/B,oBAAoB,mBAAoBkiD,EAAWE,UAC5Dv/E,OAAOm9B,oBAAoB,OAAQkiD,EAAWE,UAE9C7xF,KAAKiyF,cACLjyF,KAAK4tF,aAAc,EAEnB5tF,KAAKyxF,cAAchqD,SAASznC,KAG5B,KADA,GAAIuD,GACIA,EAAOouF,EAAWG,OAAO7oC,SACjC,CACI,GAAIrV,GAAWrwC,EAAK,GAChB0J,EAAU1J,EAAK,EACnBqwC,GAASluC,KAAKuH,EAASjN,MAI3BA,KAAK4xF,YAAc,KACnB5xF,KAAKiyF,YAAc,KACnBjyF,KAAKyxF,cAAgB,UA1BrBn/E,QAAO0/E,WAAWL,EAAWE,SAAU,KAsC/C3pE,EAAOgvB,OAAO+6C,YAAc,WAOxB,QAASC,KAEL,GAAI/0D,GAAK9U,UAAUqqC,SAEf,oBAAmB22B,KAAKlsD,GAExByR,EAAOujD,MAAO,EAET,SAAS9I,KAAKlsD,IAAO,kBAAkBksD,KAAKlsD,IAAO,sBAAsBksD,KAAKlsD,GAEnFyR,EAAOwjD,QAAS,EAIX,UAAU/I,KAAKlsD,GAEpByR,EAAO0T,SAAU,EAEZ,OAAO+mC,KAAKlsD,GAEjByR,EAAOw/C,UAAW,EAEb,kBAAkB/E,KAAKlsD,IAE5ByR,EAAOuM,KAAM,EACZ9yB,UAAoB,WAAE26C,MAAM,YAC7Bp0B,EAAOk/C,WAAav3D,SAAS87D,OAAOC,GAAI,KAEnC,QAAQjJ,KAAKlsD,GAElByR,EAAOy/C,OAAQ,EAEV,SAAShF,KAAKlsD,GAEnByR,EAAO0/C,OAAQ,EAEV,UAAUjF,KAAKlsD,KAEpByR,EAAO2/C,SAAU,IAGjB,iBAAiBlF,KAAKlsD,IAAO,YAAYksD,KAAKlsD,MAE9CyR,EAAO0T,SAAU,EACjB1T,EAAOuM,KAAM,EACbvM,EAAO0/C,OAAQ,EACf1/C,EAAO2/C,SAAU,EACjB3/C,EAAO4/C,cAAe,EAG1B,IAAIyB,GAAO,OAAO5G,KAAKlsD,IAEnByR,EAAO2/C,SAAW3/C,EAAO0/C,OAAU1/C,EAAOy/C,QAAU4B,GAASrhD,EAAOw/C,YAEpEx/C,EAAOi/C,SAAU,IAIjBj/C,EAAO4/C,cAAkB,cAAcnF,KAAKlsD,IAAS,SAASksD,KAAKlsD,MAEnEyR,EAAOi/C,SAAU,GAQzB,QAAS0E,KAEL3jD,EAAOv+B,SAAWiC,OAAiC,0BAAKs8B,EAAOoL,QAE/D,KACIpL,EAAOggD,eAAiBA,aAAa4D,QACvC,MAAOC,GACL7jD,EAAOggD,cAAe,EAG1BhgD,EAAO8/C,QAASp8E,OAAa,MAAOA,OAAmB,YAAOA,OAAiB,UAAOA,OAAa,MACnGs8B,EAAO+/C,aAAer8E,OAA0B,kBAEhDs8B,EAAOkL,MAAQ,WAAgB,IAAM,GAAIzpC,GAASP,SAASoB,cAAe,SAAyE,OAA7Bb,GAAOkY,cAAe,IAAiBjW,OAAOogF,wBAA2BriF,EAAOE,WAAY,UAAaF,EAAOE,WAAY,uBAA4B,MAAO4mB,GAAM,OAAO,MAClSyX,EAAOkL,QAAUlL,EAAOkL,MAExBlL,EAAOigD,SAAWv8E,OAAe,OAEjCs8B,EAAO0S,YAAc,sBAAwBxxC,WAAY,yBAA2BA,WAAY,4BAA8BA,UAE9H8+B,EAAOsgD,WAAsC,eAAxBp/E,SAAS6iF,YAA+B,GAAQ,EAErEtqE,UAAU4mE,aAAe5mE,UAAU4mE,cAAgB5mE,UAAUuqE,oBAAsBvqE,UAAUwqE,iBAAmBxqE,UAAUyqE,gBAAkBzqE,UAAU0qE,cAEtJzgF,OAAO0gF,IAAM1gF,OAAO0gF,KAAO1gF,OAAO2gF,WAAa3gF,OAAO4gF,QAAU5gF,OAAO6gF,MAEvEvkD,EAAOqgD,aAAergD,EAAOqgD,gBAAkB5mE,UAAU4mE,gBAAkB38E,OAAO0gF,IAG9EpkD,EAAO0gD,SAAW1gD,EAAO2gD,eAAiB,KAE1C3gD,EAAOqgD,cAAe,IAOrBrgD,EAAOuM,MAAQvM,EAAO4gD,IAAM5gD,EAAO0gD,SAAW1gD,EAAOiL,UAEtDjL,EAAO6/C,mBAAoB,IAI3B7/C,EAAOmhD,QAAUnhD,EAAOghD,gBAExBhhD,EAAO6/C,mBAAoB,GAQnC,QAAS2E,MAED,gBAAkBtjF,UAASujF,iBAAoB/gF,OAAO+V,UAAUirE,gBAAkBhhF,OAAO+V,UAAUirE,gBAAkB,KAErH1kD,EAAOyO,OAAQ,IAGf/qC,OAAO+V,UAAUkrE,kBAAoBjhF,OAAO+V,UAAUmrE,kBAEtD5kD,EAAO0O,WAAY,GAGlB1O,EAAOoL,WAGJ,WAAa1nC,SAAWs8B,EAAO4gD,IAAM,cAAgBl9E,QAGrDs8B,EAAOmU,WAAa,QAEf,gBAAkBzwC,QAGvBs8B,EAAOmU,WAAa,aAEfnU,EAAO0gD,SAAW,oBAAsBh9E,UAG7Cs8B,EAAOmU,WAAa,mBAShC,QAAS0wC,KAeL,IAAK,GAbDC,IACA,oBACA,oBACA,0BACA,0BACA,sBACA,sBACA,uBACA,wBAGArwC,EAAUvzC,SAASoB,cAAc,OAE5BjO,EAAI,EAAGA,EAAIywF,EAAGxwF,OAAQD,IAE3B,GAAIogD,EAAQqwC,EAAGzwF,IACf,CACI2rC,EAAOyiD,YAAa,EACpBziD,EAAO0iD,kBAAoBoC,EAAGzwF,EAC9B,OAIR,GAAI0wF,IACA,mBACA,iBACA,yBACA,uBACA,qBACA,mBACA,sBACA,oBAGJ,IAAI/kD,EAAOyiD,WAEP,IAAK,GAAIpuF,GAAI,EAAGA,EAAI0wF,EAAIzwF,OAAQD,IAE5B,GAAI6M,SAAS6jF,EAAI1wF,IACjB,CACI2rC,EAAO2iD,iBAAmBoC,EAAI1wF,EAC9B,OAMRqP,OAAgB,SAAKshF,QAA8B,uBAEnDhlD,EAAO4iD,oBAAqB,GAQpC,QAASqC,KAEL,GAAI12D,GAAK9U,UAAUqqC,SAmFnB,IAjFI,QAAQ22B,KAAKlsD,GAEbyR,EAAOugD,OAAQ,EAEV,gBAAgB9F,KAAKlsD,KAAQyR,EAAO4/C,cAEzC5/C,EAAOiL,QAAS,EAChBjL,EAAOwgD,cAAgB74D,SAAS87D,OAAOC,GAAI,KAEtC,WAAWjJ,KAAKlsD,GAErByR,EAAOygD,UAAW,EAEb,kBAAkBhG,KAAKlsD,IAE5ByR,EAAO0gD,SAAU,EACjB1gD,EAAO2gD,eAAiBh5D,SAAS87D,OAAOC,GAAI,KAEvC,cAAcjJ,KAAKlsD,IAAOyR,EAAOuM,IAEtCvM,EAAOghD,cAAe,EAEjB,mBAAmBvG,KAAKlsD,IAE7ByR,EAAO4gD,IAAK,EACZ5gD,EAAO6gD,UAAYl5D,SAAS87D,OAAOC,GAAI,KAElC,SAASjJ,KAAKlsD,GAEnByR,EAAOihD,QAAS,EAEX,QAAQxG,KAAKlsD,GAElByR,EAAOkhD,OAAQ,EAEV,SAASzG,KAAKlsD,KAAQyR,EAAO4/C,aAElC5/C,EAAOmhD,QAAS,EAEX,uCAAuC1G,KAAKlsD,KAEjDyR,EAAO4gD,IAAK,EACZ5gD,EAAO8gD,SAAU,EACjB9gD,EAAO+gD,eAAiBp5D,SAAS87D,OAAOC,GAAI,IAC5C1jD,EAAO6gD,UAAYl5D,SAAS87D,OAAOyB,GAAI,KAIvC,OAAOzK,KAAKlsD,KAEZyR,EAAOqhD,MAAO,GAId5nE,UAAsB,aAEtBumB,EAAOohD,QAAS,GAGU,mBAAnB19E,QAAO4oC,UAEdtM,EAAOsM,SAAU,GAGE,mBAAZ64C,UAA8C,mBAAZC,WAEzCplD,EAAOm/C,MAAO,GAGdn/C,EAAOm/C,MAAoC,gBAArBgG,SAAQE,WAE9BrlD,EAAOo/C,aAAe+F,QAAQE,SAAS,eAEvCrlD,EAAOq/C,WAAa8F,QAAQE,SAAShG,UAGrC5lE,UAAsB,aAEtBumB,EAAOoL,UAAW,GAGlBpL,EAAOoL,SAEP,IACIpL,EAAOC,YAAmC,mBAAbC,UAEjC,MAAM2jD,GAEF7jD,EAAOC,aAAc,EAIA,mBAAlBv8B,QAAO47E,SAEdt/C,EAAOs/C,QAAS,GAGhB,YAAY7E,KAAKlsD,KAEjByR,EAAOu/C,WAAY,GAQ3B,QAAS+F,KAEL,GAAIC,GAAerkF,SAASoB,cAAc,SACtCL,GAAS,CAEb,MACQA,IAAWsjF,EAAaC,eAEpBD,EAAaC,YAAY,8BAA8Bv8D,QAAQ,OAAQ,MAEvE+W,EAAO6hD,UAAW,GAGlB0D,EAAaC,YAAY,mCAAmCv8D,QAAQ,OAAQ,MAG5E+W,EAAO8hD,WAAY,EACnB9hD,EAAO+hD,UAAW,GAGlBwD,EAAaC,YAAY,oCAAoCv8D,QAAQ,OAAQ,MAE7E+W,EAAOgiD,WAAY,GAGnBuD,EAAaC,YAAY,4BAA4Bv8D,QAAQ,OAAQ,MAErE+W,EAAOiiD,UAAW,GAGlBsD,EAAaC,YAAY,+CAA+Cv8D,QAAQ,OAAQ,MAExF+W,EAAOkiD,UAAW,IAG5B,MAAO35D,KAMb,QAASk9D,KAELzlD,EAAOshD,YAAe59E,OAAe,MACrCs8B,EAAOgL,YAActnC,OAAqB,eAAKA,OAA2B,mBAC1E,IAAIgiF,GAAexkF,SAASoB,cAAc,SACtCL,GAAS,CAEb,MACQA,IAAWyjF,EAAaF,eAEpBE,EAAaF,YAAY,8BAA8Bv8D,QAAQ,OAAQ,MAEvE+W,EAAOuhD,KAAM,IAGbmE,EAAaF,YAAY,4BAA4Bv8D,QAAQ,OAAQ,KAAOy8D,EAAaF,YAAY,eAAev8D,QAAQ,OAAQ,OAEpI+W,EAAOwhD,MAAO,GAGdkE,EAAaF,YAAY,eAAev8D,QAAQ,OAAQ,MAExD+W,EAAOyhD,KAAM,GAMbiE,EAAaF,YAAY,yBAAyBv8D,QAAQ,OAAQ,MAElE+W,EAAO0hD,KAAM,IAGbgE,EAAaF,YAAY,iBAAmBE,EAAaF,YAAY,cAAcv8D,QAAQ,OAAQ,OAEnG+W,EAAO2hD,KAAM,GAGb+D,EAAaF,YAAY,+BAA+Bv8D,QAAQ,OAAQ,MAExE+W,EAAO4hD,MAAO,IAGxB,MAAOr5D,KAQb,QAASo9D,KAEL3lD,EAAOsiD,WAAa5+E,OAAyB,kBAAK,EAClDs8B,EAAOmiD,OAAgE,IAAvD1oE,UAAUqqC,UAAU7J,cAAc5/C,QAAQ,UAC1D2lC,EAAOoiD,QAAgC,GAArBpiD,EAAOsiD,YAAmBtiD,EAAOmiD,OACnDniD,EAAOqiD,KAA4D,IAArD5oE,UAAUqqC,UAAU7J,cAAc5/C,QAAQ,QAE/B,mBAAdurF,WAEP5lD,EAAOmgD,YAAa,EAIpBngD,EAAOmgD,YAAa,EAGG,mBAAhBruF,cAAqD,mBAAf4qB,aAAqD,mBAAhB7qB,eAElFmuC,EAAOuiD,aAAesD,IACtB7lD,EAAOilC,cAAgBjlC,EAAOuiD,cAGlCviD,EAAOwiD,aAAuC,mBAAhB1wF,cAA4D,mBAAtBg0F,oBAA2D,mBAAfC,aAAsD,OAAxB/lD,EAAOuiD,cAAyByD,IAE9KvsE,UAAUwsE,QAAUxsE,UAAUwsE,SAAWxsE,UAAUysE,eAAiBzsE,UAAU0sE,YAAc1sE,UAAU2sE,UAElG3sE,UAAUwsE,UAEVjmD,EAAOogD,WAAY,GAU3B,QAASyF,KAEL,GAAI/vF,GAAI,GAAIhE,aAAY,GACpBiE,EAAI,GAAI2mB,YAAW5mB,GACnBE,EAAI,GAAInE,aAAYiE,EAOxB,OALAC,GAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IACPA,EAAE,GAAK,IAEK,YAARC,EAAE,IAEK,EAGC,YAARA,EAAE,IAEK,EAKA,KAUf,QAASgwF,KAEL,GAA0BrrF,SAAtBmrF,kBAEA,OAAO,CAGX,IAAIO,GAAOh1F,KAAKqQ,WAAWpI,OAAOlI,KAAM,EAAG,GACvCgxE,EAAMikB,EAAK1kF,WAAW,KAE1B,KAAKygE,EAED,OAAO,CAGX,IAAIxnD,GAAQwnD,EAAIkkB,gBAAgB,EAAG,EAInC,OAFAj1F,MAAKqQ,WAAWI,OAAO1Q,MAEhBwpB,EAAM/Y,eAAgBikF,mBAOjC,QAASS,KAEL,GACIC,GADAC,EAAKvlF,SAASoB,cAAc,KAE5BokF,GACAC,gBAAmB,oBACnBC,WAAc,eACdC,YAAe,gBACfC,aAAgB,iBAChBpmF,UAAa,YAIjBQ,UAASshC,KAAKukD,aAAaN,EAAI,KAE/B,KAAK,GAAIvgE,KAAKwgE,GAEU/rF,SAAhB8rF,EAAGn6E,MAAM4Z,KAETugE,EAAGn6E,MAAM4Z,GAAK,2BACdsgE,EAAQ9iF,OAAOsjF,iBAAiBP,GAAIQ,iBAAiBP,EAAWxgE,IAIxEhlB,UAASshC,KAAK3oC,YAAY4sF,GAC1BzmD,EAAOkgD,MAAmBvlF,SAAV6rF,GAAuBA,EAAMlyF,OAAS,GAAe,SAAVkyF,EApiB/D,GAAIxmD,GAAS5uC,IAyiBbkyF,KACAmC,IACAH,IACAL,IACAsB,IACAZ,IACAhC,IACAkB,IACAL,KAYJlrE,EAAOgvB,OAAO4+C,aAAe,SAAUlhF,GAEnC,MAAa,QAATA,GAAkB5U,KAAKqwF,KAEhB,EAEO,QAATz7E,IAAmB5U,KAAKmwF,KAAOnwF,KAAKowF,OAElC,EAEO,QAATx7E,GAAkB5U,KAAKuwF,KAErB,EAEO,SAAT37E,GAAmB5U,KAAKowF,MAEtB,EAEO,QAATx7E,GAAkB5U,KAAKswF,KAErB,EAEO,SAAT17E,GAAmB5U,KAAKwwF,MAEtB,GAGJ,GAYXtoE,EAAOgvB,OAAO6+C,aAAe,SAAUnhF,GAEnC,MAAa,SAATA,IAAoB5U,KAAK4wF,WAAa5wF,KAAK6wF,WAEpC,EAEO,QAATj8E,IAAmB5U,KAAK2wF,UAAY3wF,KAAK0wF,YAEvC,EAEQ,QAAT97E,GAA2B,QAATA,IAAmB5U,KAAKywF,SAIlC,SAAT77E,GAAmB5U,KAAK8wF,UAEtB,GAGJ,GAPI,GAmBf5oE,EAAOgvB,OAAO8+C,cAAgB,WAE1B,MAAI1jF,QAAOC,SAAWD,OAAOC,QAAiB,SAEnC,EAGPD,OAAOC,UAEPA,QAAQ0jF,UACR1jF,QAAQ2jF,aAEJ3jF,QAAQqI,OAERrI,QAAQqI,QAGRrI,QAAkB,UAEXA,QAAkB,SAAErP,OAAS,GAIrC,GAgBXglB,EAAOgvB,OAAOi/C,sBAAwB,WAElC,GAAIC,GAAU9jF,OAAO+V,UAAUqqC,UAAUsQ,MAAM,iCAC/C,OAAOozB,IAAWA,EAAQ,GAAK,KAiBnCluE,EAAOC,QAaHjgB,OAAQ,SAAUtG,EAAQ+E,EAAOC,EAAQ6O,EAAI4gF,GAKzC,GAHA1vF,EAAQA,GAAS,IACjBC,EAASA,GAAU,IAEF2C,SAAb8sF,EAEA,GAAIhmF,GAASpQ,KAAKqQ,WAAWpI,OAAOtG,EAAQ+E,EAAOC,OAInD,IAAIyJ,GAASP,SAASoB,cAAc,SAYxC,OATkB,gBAAPuE,IAA0B,KAAPA,IAE1BpF,EAAOoF,GAAKA,GAGhBpF,EAAO1J,MAAQA,EACf0J,EAAOzJ,OAASA,EAChByJ,EAAO6K,MAAMo7E,QAAU,QAEhBjmF,GAYXs9B,mBAAoB,SAAUt9B,EAAQ+H,GAMlC,MAJAA,GAAQA,GAAS,aAEjB/H,EAAO6K,MAAMmpE,gBAAkBjsE,EAExB/H,GAYX09B,eAAgB,SAAU19B,EAAQ5M,GAQ9B,MANAA,GAAQA,GAAS,OAEjB4M,EAAO6K,MAAMq7E,cAAgB9yF,EAC7B4M,EAAO6K,MAAM,mBAAqBzX,EAClC4M,EAAO6K,MAAM,gBAAkBzX,EAExB4M,GAYXy9B,cAAe,SAAUz9B,EAAQ5M,GAY7B,MAVAA,GAAQA,GAAS,OAEjB4M,EAAO6K,MAAM,yBAA2BzX,EACxC4M,EAAO6K,MAAM,uBAAyBzX,EACtC4M,EAAO6K,MAAM,sBAAwBzX,EACrC4M,EAAO6K,MAAM,oBAAsBzX,EACnC4M,EAAO6K,MAAM,mBAAqBzX,EAClC4M,EAAO6K,MAAM,eAAiBzX,EAC9B4M,EAAO6K,MAAM,+BAAiC,mBAEvC7K,GAcX6pC,SAAU,SAAU7pC,EAAQzO,EAAQ40F,GAEhC,GAAIvyF,EA+BJ,OA7BuBsF,UAAnBitF,IAAgCA,GAAiB,GAEjD50F,IAEsB,gBAAXA,GAGPqC,EAAS6L,SAAS2mF,eAAe70F,GAEV,gBAAXA,IAA2C,IAApBA,EAAOq1B,WAG1ChzB,EAASrC,IAKZqC,IAEDA,EAAS6L,SAASshC,MAGlBolD,GAAkBvyF,EAAOiX,QAEzBjX,EAAOiX,MAAMw7E,SAAW,UAG5BzyF,EAAO0yF,YAAYtmF,GAEZA,GAUX2qC,cAAe,SAAU3qC,GAEjBA,EAAOumF,YAEPvmF,EAAOumF,WAAWnuF,YAAY4H,IAkBtCzC,aAAc,SAAUX,EAAS2qE,EAAYC,EAAY90D,EAAQE,EAAQ60D,EAAOC,GAI5E,MAFA9qE,GAAQW,aAAamV,EAAQ+0D,EAAOC,EAAO90D,EAAQ20D,EAAYC,GAExD5qE,GAgBXyqE,oBAAqB,SAAUzqE,EAASxJ,GAEpC,GAAIw7B,GAAI/W,EAAOC,OAAOC,mBAAmBnb,EAOzC,OALIgyB,KAEAhyB,EAAQgyB,GAAKx7B,GAGVwJ,GAWXmb,mBAAoB,SAAUnb,GAE1B,GAAI4pF,IAAW,IAAK,UAAW,MAAO,OAAQ,KAE9C,KAAK,GAAIC,KAAUD,GACnB,CACI,GAAI53D,GAAI43D,EAAOC,GAAU,sBAEzB,IAAI73D,IAAKhyB,GAEL,MAAOgyB,GAIf,MAAO,OAWXw4C,oBAAqB,SAAUxqE,GAE3B,GAAIgyB,GAAI/W,EAAOC,OAAOC,mBAAmBnb,EAEzC,OAAIgyB,GAEOhyB,EAAQgyB,GAFnB,QAeJ83D,uBAAwB,SAAU1mF,GAI9B,IAAK,GAFD2mF,IAAU,gBAAiB,cAAe,mBAAoB,4BAA6B,oBAAqB,aAE3G/zF,EAAI,EAAGA,EAAI+zF,EAAM9zF,OAAQD,IAE9BoN,EAAO6K,MAAM,mBAAqB87E,EAAM/zF,EAK5C,OAFAoN,GAAO6K,MAAM+7E,oBAAsB,mBAE5B5mF,GAYX6mF,yBAA0B,SAAU7mF,GAKhC,MAHAA,GAAO6K,MAAM,mBAAqB,OAClC7K,EAAO6K,MAAM+7E,oBAAsB,UAE5B5mF,IAoBf6X,EAAOqxB,sBAAwB,SAASr5C,EAAMi3F,GAElB5tF,SAApB4tF,IAAiCA,GAAkB,GAKvDn3F,KAAKE,KAAOA,EAMZF,KAAK+2C,WAAY,EAKjB/2C,KAAKm3F,gBAAkBA,CASvB,KAAK,GAPDC,IACA,KACA,MACA,SACA,KAGK/xF,EAAI,EAAGA,EAAI+xF,EAAQl0F,SAAWoP,OAAO+kF,sBAAuBhyF,IAEjEiN,OAAO+kF,sBAAwB/kF,OAAO8kF,EAAQ/xF,GAAK,yBACnDiN,OAAOglF,qBAAuBhlF,OAAO8kF,EAAQ/xF,GAAK,uBAOtDrF,MAAKu3F,eAAgB,EAMrBv3F,KAAKw3F,QAAU,KAMfx3F,KAAKy3F,WAAa,MAItBvvE,EAAOqxB,sBAAsB12C,WAMzBqI,MAAO,WAEHlL,KAAK+2C,WAAY,CAEjB,IAAI3M,GAAQpqC,MAEPsS,OAAO+kF,uBAAyBr3F,KAAKm3F,iBAEtCn3F,KAAKu3F,eAAgB,EAErBv3F,KAAKw3F,QAAU,WACX,MAAOptD,GAAMstD,oBAGjB13F,KAAKy3F,WAAanlF,OAAO0/E,WAAWhyF,KAAKw3F,QAAS,KAIlDx3F,KAAKu3F,eAAgB,EAErBv3F,KAAKw3F,QAAU,SAAUrzD,GACrB,MAAOiG,GAAMutD,UAAUxzD,IAG3BnkC,KAAKy3F,WAAanlF,OAAO+kF,sBAAsBr3F,KAAKw3F,WAU5DG,UAAW,SAAUC,GAGjB53F,KAAKE,KAAKmjC,OAAOxiC,KAAKizB,MAAM8jE,IAE5B53F,KAAKy3F,WAAanlF,OAAO+kF,sBAAsBr3F,KAAKw3F,UAQxDE,iBAAkB,WAEd13F,KAAKE,KAAKmjC,OAAO4H,KAAKoN,OAEtBr4C,KAAKy3F,WAAanlF,OAAO0/E,WAAWhyF,KAAKw3F,QAASx3F,KAAKE,KAAKikC,KAAK0zD,aAQrE/sF,KAAM,WAEE9K,KAAKu3F,cAELO,aAAa93F,KAAKy3F,YAIlBnlF,OAAOglF,qBAAqBt3F,KAAKy3F,YAGrCz3F,KAAK+2C,WAAY,GASrBghD,aAAc,WACV,MAAO/3F,MAAKu3F,eAQhBS,MAAO,WACH,MAAQh4F,MAAKu3F,iBAAkB,IAKvCrvE,EAAOqxB,sBAAsB12C,UAAUC,YAAcolB,EAAOqxB,sBAkB5DrxB,EAAOrnB,MAOHo3F,IAAe,EAAVp3F,KAAKC,GAWVo3F,WAAY,SAAUxzF,EAAGC,EAAGwzF,GAIxB,MAFgB5uF,UAAZ4uF,IAAyBA,EAAU,MAEhCt3F,KAAKi5B,IAAIp1B,EAAIC,GAAKwzF,GAa7BC,cAAe,SAAU1zF,EAAGC,EAAGwzF,GAI3B,MAFgB5uF,UAAZ4uF,IAAyBA,EAAU,MAE5BxzF,EAAIwzF,EAARzzF,GAaX2zF,iBAAkB,SAAU3zF,EAAGC,EAAGwzF,GAI9B,MAFgB5uF,UAAZ4uF,IAAyBA,EAAU,MAEhCzzF,EAAIC,EAAIwzF,GAYnBG,UAAW,SAAUC,EAAKJ,GAItB,MAFgB5uF,UAAZ4uF,IAAyBA,EAAU,MAEhCt3F,KAAKgzB,KAAK0kE,EAAMJ,IAY3BK,WAAY,SAAUD,EAAKJ,GAIvB,MAFgB5uF,UAAZ4uF,IAAyBA,EAAU,MAEhCt3F,KAAKizB,MAAMykE,EAAMJ,IAW5BM,QAAS,WAKL,IAAK,GAHDC,GAAM,EACN3jE,EAAMR,UAAUrxB,OAEXD,EAAI,EAAO8xB,EAAJ9xB,EAASA,IAErBy1F,IAASnkE,UAAUtxB,EAGvB,OAAOy1F,GAAM3jE,GASjB4jE,MAAO,SAAUpqE,GACb,MAAOA,GAAI,GAcfqqE,OAAQ,SAAU70D,EAAO80D,EAAK3tF,GAI1B,MAFc3B,UAAV2B,IAAuBA,EAAQ,GAEvB,IAAR2tF,EACO90D,GAGXA,GAAS74B,EACT64B,EAAQ80D,EAAMh4F,KAAKo4B,MAAM8K,EAAQ80D,GAE1B3tF,EAAQ64B,IAgBnB+0D,YAAa,SAAU/0D,EAAO80D,EAAK3tF,GAI/B,MAFc3B,UAAV2B,IAAuBA,EAAQ,GAEvB,IAAR2tF,EACO90D,GAGXA,GAAS74B,EACT64B,EAAQ80D,EAAMh4F,KAAKizB,MAAMiQ,EAAQ80D,GAE1B3tF,EAAQ64B,IAgBnB6hD,WAAY,SAAU7hD,EAAO80D,EAAK3tF,GAI9B,MAFc3B,UAAV2B,IAAuBA,EAAQ,GAEvB,IAAR2tF,EACO90D,GAGXA,GAAS74B,EACT64B,EAAQ80D,EAAMh4F,KAAKgzB,KAAKkQ,EAAQ80D,GAEzB3tF,EAAQ64B,IAuCnBg1D,QAAS,SAAUt1F,EAAOu1F,EAAOrvB,GAEfpgE,SAAVyvF,IAAuBA,EAAQ,GACtBzvF,SAATogE,IAAsBA,EAAO,GAEjC,IAAInlE,GAAI3D,KAAKo4F,IAAItvB,GAAOqvB,EAExB,OAAOn4F,MAAKo4B,MAAMx1B,EAAQe,GAAKA,GAWnC00F,QAAS,SAAUz1F,EAAOu1F,EAAOrvB,GAEfpgE,SAAVyvF,IAAuBA,EAAQ,GACtBzvF,SAATogE,IAAsBA,EAAO,GAEjC,IAAInlE,GAAI3D,KAAKo4F,IAAItvB,GAAOqvB,EAExB,OAAOn4F,MAAKizB,MAAMrwB,EAAQe,GAAKA,GAWnC20F,OAAQ,SAAU11F,EAAOu1F,EAAOrvB,GAEdpgE,SAAVyvF,IAAuBA,EAAQ,GACtBzvF,SAATogE,IAAsBA,EAAO,GAEjC,IAAInlE,GAAI3D,KAAKo4F,IAAItvB,GAAOqvB,EAExB,OAAOn4F,MAAKgzB,KAAKpwB,EAAQe,GAAKA,GAalC40F,aAAc,SAAU7sF,EAAIC,EAAIC,EAAIC,GAChC,MAAO7L,MAAK2E,MAAMkH,EAAKF,EAAIC,EAAKF,IAepC8sF,cAAe,SAAU9sF,EAAIC,EAAIC,EAAIC,GACjC,MAAO7L,MAAK2E,MAAMiH,EAAKF,EAAIG,EAAKF,IAUpC8sF,mBAAoB,SAAUrW,EAAQC,GAClC,MAAOriF,MAAK2E,MAAM09E,EAAO59E,EAAI29E,EAAO39E,EAAG49E,EAAO79E,EAAI49E,EAAO59E,IAU7Dk0F,oBAAqB,SAAUtW,EAAQC,GACnC,MAAOriF,MAAK2E,MAAM09E,EAAO79E,EAAI49E,EAAO59E,EAAG69E,EAAO59E,EAAI29E,EAAO39E,IAS7Dk0F,aAAc,SAAUC,GACpB,MAAOz5F,MAAK05F,eAAeD,EAAW54F,KAAKC,IAAI,IASnD44F,eAAgB,SAAUD,GAGtB,MADAA,IAAuB,EAAI54F,KAAKC,GACzB24F,GAAY,EAAIA,EAAWA,EAAW,EAAI54F,KAAKC,IAa1D64F,OAAQ,SAAUl2F,EAAOqrB,EAAQkN,GAC7B,MAAOn7B,MAAKi7B,IAAIr4B,EAAQqrB,EAAQkN,IAYpC49D,OAAQ,SAAUn2F,EAAOqrB,EAAQgN,GAC7B,MAAOj7B,MAAKm7B,IAAIv4B,EAAQqrB,EAAQgN,IAcpCY,KAAM,SAAUj5B,EAAOq4B,EAAKE,GAExB,GAAInyB,GAAQmyB,EAAMF,CAElB,IAAa,GAATjyB,EAEA,MAAO,EAGX,IAAIgH,IAAUpN,EAAQq4B,GAAOjyB,CAO7B,OALa,GAATgH,IAEAA,GAAUhH,GAGPgH,EAASirB,GAepB+9D,UAAW,SAAUp2F,EAAOqrB,EAAQkN,GAEhC,GAAImkD,EAMJ,OALA18E,GAAQ5C,KAAKi5B,IAAIr2B,GACjBqrB,EAASjuB,KAAKi5B,IAAIhL,GAClBkN,EAAMn7B,KAAKi5B,IAAIkC,GACfmkD,GAAQ18E,EAAQqrB,GAAUkN,GAa9B89D,MAAO,SAAUvrE,GAEb,SAAc,EAAJA,IAUdwrE,OAAQ,SAAUxrE,GAEd,QAAa,EAAJA,IAYbuN,IAAK,WAED,GAAyB,IAArBvH,UAAUrxB,QAAwC,gBAAjBqxB,WAAU,GAE3C,GAAI9jB,GAAO8jB,UAAU,OAIrB,IAAI9jB,GAAO8jB,SAGf,KAAK,GAAItxB,GAAI,EAAG64B,EAAM,EAAG/G,EAAMtkB,EAAKvN,OAAY6xB,EAAJ9xB,EAASA,IAE7CwN,EAAKxN,GAAKwN,EAAKqrB,KAEfA,EAAM74B,EAId,OAAOwN,GAAKqrB,IAahBE,IAAK,WAED,GAAyB,IAArBzH,UAAUrxB,QAAwC,gBAAjBqxB,WAAU,GAE3C,GAAI9jB,GAAO8jB,UAAU,OAIrB,IAAI9jB,GAAO8jB,SAGf,KAAK,GAAItxB,GAAI,EAAG+4B,EAAM,EAAGjH,EAAMtkB,EAAKvN,OAAY6xB,EAAJ9xB,EAASA,IAE7CwN,EAAKxN,GAAKwN,EAAKurB,KAEfA,EAAM/4B,EAId,OAAOwN,GAAKurB,IAWhBg+D,YAAa,SAAUzmD,GAEnB,GAAyB,IAArBhf,UAAUrxB,QAAwC,gBAAjBqxB,WAAU,GAE3C,GAAI9jB,GAAO8jB,UAAU,OAIrB,IAAI9jB,GAAO8jB,UAAUN,MAAM,EAG/B,KAAK,GAAIhxB,GAAI,EAAG64B,EAAM,EAAG/G,EAAMtkB,EAAKvN,OAAY6xB,EAAJ9xB,EAASA,IAE7CwN,EAAKxN,GAAGswC,GAAY9iC,EAAKqrB,GAAKyX,KAE9BzX,EAAM74B,EAId,OAAOwN,GAAKqrB,GAAKyX,IAWrB0mD,YAAa,SAAU1mD,GAEnB,GAAyB,IAArBhf,UAAUrxB,QAAwC,gBAAjBqxB,WAAU,GAE3C,GAAI9jB,GAAO8jB,UAAU,OAIrB,IAAI9jB,GAAO8jB,UAAUN,MAAM,EAG/B,KAAK,GAAIhxB,GAAI,EAAG+4B,EAAM,EAAGjH,EAAMtkB,EAAKvN,OAAY6xB,EAAJ9xB,EAASA,IAE7CwN,EAAKxN,GAAGswC,GAAY9iC,EAAKurB,GAAKuX,KAE9BvX,EAAM/4B,EAId,OAAOwN,GAAKurB,GAAKuX,IAYrB4vB,UAAW,SAAU9pC,EAAO6gE,GAExB,MAAOA,GAAUl6F,KAAK08B,KAAKrD,GAAQx4B,KAAKC,GAAID,KAAKC,IAAMd,KAAK08B,KAAKrD,EAAO,KAAM,MAYlF8gE,oBAAqB,SAAUxgD,EAAGub,GAE9B,GAAIx2B,GAAIib,EAAEz2C,OAAS,EACfmzB,EAAIqI,EAAIw2B,EACRjyD,EAAIpC,KAAKizB,MAAMuC,EAEnB,OAAQ,GAAJ6+B,EAEOl1D,KAAKo6F,OAAOzgD,EAAE,GAAIA,EAAE,GAAItjB,GAG/B6+B,EAAI,EAEGl1D,KAAKo6F,OAAOzgD,EAAEjb,GAAIib,EAAEjb,EAAI,GAAIA,EAAIrI,GAGpCr2B,KAAKo6F,OAAOzgD,EAAE12C,GAAI02C,EAAE12C,EAAI,EAAIy7B,EAAIA,EAAIz7B,EAAI,GAAIozB,EAAIpzB,IAY3Do3F,oBAAqB,SAAU1gD,EAAGub,GAK9B,IAAK,GAHDvwD,GAAI,EACJ4pB,EAAIorB,EAAEz2C,OAAS,EAEVD,EAAI,EAAQsrB,GAALtrB,EAAQA,IAEpB0B,GAAK9D,KAAKo4F,IAAI,EAAI/jC,EAAG3mC,EAAItrB,GAAKpC,KAAKo4F,IAAI/jC,EAAGjyD,GAAK02C,EAAE12C,GAAKjD,KAAKs6F,UAAU/rE,EAAGtrB,EAG5E,OAAO0B,IAYX41F,wBAAyB,SAAU5gD,EAAGub,GAElC,GAAIx2B,GAAIib,EAAEz2C,OAAS,EACfmzB,EAAIqI,EAAIw2B,EACRjyD,EAAIpC,KAAKizB,MAAMuC,EAEnB,OAAIsjB,GAAE,KAAOA,EAAEjb,IAEH,EAAJw2B,IAEAjyD,EAAIpC,KAAKizB,MAAMuC,EAAIqI,GAAK,EAAIw2B,KAGzBl1D,KAAKw6F,WAAW7gD,GAAG12C,EAAI,EAAIy7B,GAAKA,GAAIib,EAAE12C,GAAI02C,GAAG12C,EAAI,GAAKy7B,GAAIib,GAAG12C,EAAI,GAAKy7B,GAAIrI,EAAIpzB,IAI7E,EAAJiyD,EAEOvb,EAAE,IAAM35C,KAAKw6F,WAAW7gD,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAAKtjB,GAAKsjB,EAAE,IAG/Dub,EAAI,EAEGvb,EAAEjb,IAAM1+B,KAAKw6F,WAAW7gD,EAAEjb,GAAIib,EAAEjb,GAAIib,EAAEjb,EAAI,GAAIib,EAAEjb,EAAI,GAAIrI,EAAIqI,GAAKib,EAAEjb,IAGvE1+B,KAAKw6F,WAAW7gD,EAAE12C,EAAIA,EAAI,EAAI,GAAI02C,EAAE12C,GAAI02C,EAAM12C,EAAI,EAARy7B,EAAYA,EAAIz7B,EAAI,GAAI02C,EAAM12C,EAAI,EAARy7B,EAAYA,EAAIz7B,EAAI,GAAIozB,EAAIpzB,IAc/Gm3F,OAAQ,SAAUK,EAAIh6D,EAAI3L,GACtB,OAAQ2L,EAAKg6D,GAAM3lE,EAAI2lE,GAU3BH,UAAW,SAAU/rE,EAAGtrB,GACpB,MAAOjD,MAAK06F,UAAUnsE,GAAKvuB,KAAK06F,UAAUz3F,GAAKjD,KAAK06F,UAAUnsE,EAAItrB,IAQtEy3F,UAAY,SAAUj3F,GAElB,GAAc,IAAVA,EAEA,MAAO,EAKX,KAFA,GAAIk3F,GAAMl3F,IAEFA,GAEJk3F,GAAOl3F,CAGX,OAAOk3F,IAgBXH,WAAY,SAAUC,EAAIh6D,EAAIC,EAAIk6D,EAAI9lE,GAElC,GAAIhI,GAAiB,IAAX4T,EAAK+5D,GAAW1tE,EAAiB,IAAX6tE,EAAKn6D,GAAWg5C,EAAK3kD,EAAIA,EAAG4kD,EAAK5kD,EAAI2kD,CAErE,QAAQ,EAAIh5C,EAAK,EAAIC,EAAK5T,EAAKC,GAAM2sD,GAAM,GAAKj5C,EAAK,EAAIC,EAAK,EAAI5T,EAAKC,GAAM0sD,EAAK3sD,EAAKgI,EAAI2L,GAY/F4sD,WAAY,SAAU3oF,EAAGC,GACrB,MAAO9D,MAAKi5B,IAAIp1B,EAAIC,IAUxBk2F,kBAAmB,SAAUp3F,GAGzB,MAAQA,GAAQ,EAAK5C,KAAKgzB,KAAKpwB,GAAS5C,KAAKizB,MAAMrwB,IAiBvDq3F,gBAAiB,SAAU53F,EAAQ63F,EAAcC,EAAcC,GAEtC1xF,SAAjBwxF,IAA8BA,EAAe,GAC5BxxF,SAAjByxF,IAA8BA,EAAe,GAC/BzxF,SAAd0xF,IAA2BA,EAAY,EAS3C,KAAK,GAPD91F,GAAM41F,EACN31F,EAAM41F,EACNE,EAAMD,EAAYp6F,KAAKC,GAAKoC,EAE5Bi4F,KACAC,KAEKx2F,EAAI,EAAO1B,EAAJ0B,EAAYA,IAExBQ,GAAOD,EAAM+1F,EACb/1F,GAAOC,EAAM81F,EAEbC,EAASv2F,GAAKQ,EACdg2F,EAASx2F,GAAKO,CAIlB,QAASA,IAAKi2F,EAAUh2F,IAAK+1F,EAAUj4F,OAAQA,IAcnD81B,SAAU,SAAUzsB,EAAIC,EAAIC,EAAIC,GAE5B,GAAIc,GAAKjB,EAAKE,EACViB,EAAKlB,EAAKE,CAEd,OAAO7L,MAAK0E,KAAKiI,EAAKA,EAAKE,EAAKA,IAepC2tF,WAAY,SAAU9uF,EAAIC,EAAIC,EAAIC,GAE9B,GAAIc,GAAKjB,EAAKE,EACViB,EAAKlB,EAAKE,CAEd,OAAOc,GAAKA,EAAKE,EAAKA,GAe1B4tF,YAAa,SAAU/uF,EAAIC,EAAIC,EAAIC,EAAIusF,GAInC,MAFY1vF,UAAR0vF,IAAqBA,EAAM,GAExBp4F,KAAK0E,KAAK1E,KAAKo4F,IAAIxsF,EAAKF,EAAI0sF,GAAOp4F,KAAKo4F,IAAIvsF,EAAKF,EAAIysF,KAahEh7D,MAAO,SAAU54B,EAAGX,EAAGC,GACnB,MAAaD,GAAJW,EAAUX,EAAQW,EAAIV,EAAMA,EAAIU,GAY7Ck2F,YAAa,SAAUl2F,EAAGX,GACtB,MAAWA,GAAJW,EAAQX,EAAIW,GAavBm2F,OAAQ,SAAU92F,EAAGC,EAAGu8B,GACpB,MAAQrgC,MAAKi5B,IAAIp1B,EAAIC,IAAMu8B,GAc/Bu6D,UAAW,SAAUp2F,EAAGs3B,EAAIC,EAAIC,EAAIC,GAChC,MAAOD,IAAOx3B,EAAIs3B,IAASG,EAAKD,IAASD,EAAKD,IAYlD++D,WAAY,SAAUr2F,EAAGy2B,EAAKE,GAE1B,MADA32B,GAAIxE,KAAKm7B,IAAI,EAAGn7B,KAAKi7B,IAAI,GAAIz2B,EAAIy2B,IAAQE,EAAMF,KACxCz2B,EAAIA,GAAK,EAAI,EAAIA,IAY5Bs2F,aAAc,SAAUt2F,EAAGy2B,EAAKE,GAE5B,MADA32B,GAAIxE,KAAKm7B,IAAI,EAAGn7B,KAAKi7B,IAAI,GAAIz2B,EAAIy2B,IAAQE,EAAMF,KACxCz2B,EAAIA,EAAIA,GAAKA,GAAS,EAAJA,EAAQ,IAAM,KAY3C03E,KAAM,SAAU13E,GACZ,MAAa,GAAJA,EAAU,GAASA,EAAI,EAAM,EAAI,GAY9Cu2F,QAAS,SAAUl3F,EAAGC,EAAGglE,GAIrB,MAFapgE,UAATogE,IAAsBA,EAAO,GAE7BjlE,EAAIC,GAAKglE,EAAOhlE,EAET,EAEEglE,EAAJjlE,GAAYilE,EAAOjlE,EAEjB,GAICA,EAAIilE,GAAQhlE,GAOhC,IAAIk3F,GAAwBh7F,KAAKC,GAAK,IAClCg7F,EAAwB,IAAMj7F,KAAKC,EAuv9BnC,OA9u9BJonB,GAAOrnB,KAAK+4B,SAAW,SAAmBmiE,GACtC,MAAOA,GAAUF,GAUrB3zE,EAAOrnB,KAAKs9B,SAAW,SAAmB+7D,GACtC,MAAOA,GAAU4B,GAyBrB5zE,EAAOkwB,oBAAsB,SAAU4jD,GAErBzyF,SAAVyyF,IAAuBA,MAM3Bh8F,KAAK4E,EAAI,EAMT5E,KAAKi8F,GAAK,EAMVj8F,KAAK6nB,GAAK,EAMV7nB,KAAK8nB,GAAK,EAEW,gBAAVk0E,GAEPh8F,KAAK4mC,MAAMo1D,GAIXh8F,KAAKk8F,IAAIF,IAKjB9zE,EAAOkwB,oBAAoBv1C,WASvB0hC,IAAK,WAED,GAAIzP,GAAI,QAAU90B,KAAKi8F,GAAc,uBAATj8F,KAAK4E,CAOjC,OALA5E,MAAK4E,EAAQ,EAAJkwB,EACT90B,KAAKi8F,GAAKj8F,KAAK6nB,GACf7nB,KAAK6nB,GAAK7nB,KAAK8nB,GACf9nB,KAAK8nB,GAAKgN,EAAI90B,KAAK4E,EAEZ5E,KAAK8nB,IAWhBo0E,IAAK,SAAUF,GAQX,GALAh8F,KAAKi8F,GAAKj8F,KAAK4wC,KAAK,KACpB5wC,KAAK6nB,GAAK7nB,KAAK4wC,KAAK5wC,KAAKi8F,IACzBj8F,KAAK8nB,GAAK9nB,KAAK4wC,KAAK5wC,KAAK6nB,IACzB7nB,KAAK4E,EAAI,EAEJo3F,EAML,IAAK,GAAI/4F,GAAI,EAAGA,EAAI+4F,EAAM94F,QAAuB,MAAZ84F,EAAM/4F,GAAaA,IACxD,CACI,GAAIs1C,GAAOyjD,EAAM/4F,EAEjBjD,MAAKi8F,IAAMj8F,KAAK4wC,KAAK2H,GACrBv4C,KAAKi8F,OAASj8F,KAAKi8F,GAAK,GACxBj8F,KAAK6nB,IAAM7nB,KAAK4wC,KAAK2H,GACrBv4C,KAAK6nB,OAAS7nB,KAAK6nB,GAAK,GACxB7nB,KAAK8nB,IAAM9nB,KAAK4wC,KAAK2H,GACrBv4C,KAAK8nB,OAAS9nB,KAAK8nB,GAAK,KAahC8oB,KAAM,SAAUngC,GAEZ,GAAIiS,GAAGzf,EAAGsrB,CAIV,KAHAA,EAAI,WACJ9d,EAAOA,EAAK0W,WAEPlkB,EAAI,EAAGA,EAAIwN,EAAKvN,OAAQD,IACzBsrB,GAAK9d,EAAKusD,WAAW/5D,GACrByf,EAAI,mBAAsB6L,EAC1BA,EAAI7L,IAAM,EACVA,GAAK6L,EACL7L,GAAK6L,EACLA,EAAI7L,IAAM,EACVA,GAAK6L,EACLA,GAAS,WAAJ7L,CAGT,OAAmB,yBAAX6L,IAAM,IAUlB4tE,QAAS,WAEL,MAA8B,YAAvBn8F,KAAKukC,IAAIt9B,MAAMjH,OAU1Bo8F,KAAM,WAEF,MAAOp8F,MAAKukC,IAAIt9B,MAAMjH,MAAgD,wBAAhB,QAAvBA,KAAKukC,IAAIt9B,MAAMjH,MAAmB,IAUrEo7E,KAAM,WAEF,MAAOp7E,MAAKm8F,UAAYn8F,KAAKo8F,QAYjCC,eAAgB,SAAUvgE,EAAKE,GAE3B,MAAOn7B,MAAKizB,MAAM9zB,KAAKs8F,YAAY,EAAGtgE,EAAMF,EAAM,GAAKA,IAa3D8a,QAAS,SAAU9a,EAAKE,GAEpB,MAAOh8B,MAAKq8F,eAAevgE,EAAKE,IAYpCsgE,YAAa,SAAUxgE,EAAKE,GAExB,MAAOh8B,MAAKo8F,QAAUpgE,EAAMF,GAAOA,GAUvCygE,OAAQ,WAEJ,MAAO,GAAI,EAAIv8F,KAAKo8F,QAUxBpvB,KAAM,WAEF,GAAItoE,GAAI,GACJC,EAAI,EAER,KAAKA,EAAID,EAAI,GAAIA,IAAM,GAAIC,IAAKD,EAAI,EAAQ,EAAJA,EAAM,GAAO,GAAFA,EAAO,EAAE1E,KAAKo8F,QAAY,GAAF13F,EAAO,GAAK,GAAK,GAAGyiB,SAAS,IAAM,KAI9G,MAAOxiB,IAWX63F,KAAM,SAAUC,GAEZ,MAAOA,GAAIz8F,KAAKq8F,eAAe,EAAGI,EAAIv5F,OAAS,KAWnDw5F,aAAc,SAAUD,GAEpB,MAAOA,MAAO57F,KAAKo4F,IAAIj5F,KAAKo8F,OAAQ,IAAMK,EAAIv5F,OAAS,GAAK,MAYhE+2D,UAAW,SAAUn+B,EAAKE,GAEtB,MAAOh8B,MAAKs8F,YAAYxgE,GAAO,UAAcE,GAAO,YAUxD3C,MAAO,WAEH,MAAOr5B,MAAKq8F,eAAe,KAAM,MAqBrCz1D,MAAO,SAAUA,GAYb,MAVqB,gBAAVA,IAAsBA,EAAMo8B,MAAM,WAEzCp8B,EAAQA,EAAMpR,MAAM,KAEpBx1B,KAAK4E,EAAIwjF,WAAWxhD,EAAM,IAC1B5mC,KAAKi8F,GAAK7T,WAAWxhD,EAAM,IAC3B5mC,KAAK6nB,GAAKugE,WAAWxhD,EAAM,IAC3B5mC,KAAK8nB,GAAKsgE,WAAWxhD,EAAM,MAGvB,OAAQ5mC,KAAK4E,EAAG5E,KAAKi8F,GAAIj8F,KAAK6nB,GAAI7nB,KAAK8nB,IAAI9V,KAAK,OAMhEkW,EAAOkwB,oBAAoBv1C,UAAUC,YAAcolB,EAAOkwB,oBAwB1DlwB,EAAOy0E,SAAW,SAASt3F,EAAGC,EAAGqB,EAAOC,EAAQg2F,EAAYC,EAAW5+E,GAMnEje,KAAK48F,WAAa,GAMlB58F,KAAK68F,UAAY,EAKjB78F,KAAKie,MAAQ,EAKbje,KAAKwG,UAKLxG,KAAK88F,WAKL98F,KAAK+8F,SAML/8F,KAAKg9F,UAELh9F,KAAK0jC,MAAMr+B,EAAGC,EAAGqB,EAAOC,EAAQg2F,EAAYC,EAAW5+E,IAI3DiK,EAAOy0E,SAAS95F,WAcZ6gC,MAAO,SAAUr+B,EAAGC,EAAGqB,EAAOC,EAAQg2F,EAAYC,EAAW5+E,GAEzDje,KAAK48F,WAAaA,GAAc,GAChC58F,KAAK68F,UAAYA,GAAa,EAC9B78F,KAAKie,MAAQA,GAAS,EAEtBje,KAAKwG,QACDnB,EAAGxE,KAAKo4B,MAAM5zB,GACdC,EAAGzE,KAAKo4B,MAAM3zB,GACdqB,MAAOA,EACPC,OAAQA,EACRq2F,SAAUp8F,KAAKizB,MAAMntB,EAAQ,GAC7Bu2F,UAAWr8F,KAAKizB,MAAMltB,EAAS,GAC/BkwB,MAAOj2B,KAAKo4B,MAAM5zB,GAAKxE,KAAKizB,MAAMntB,EAAQ,GAC1C8yB,OAAQ54B,KAAKo4B,MAAM3zB,GAAKzE,KAAKizB,MAAMltB,EAAS,IAGhD5G,KAAK88F,QAAQ55F,OAAS,EACtBlD,KAAK+8F,MAAM75F,OAAS,GAUxBi6F,SAAU,SAAUlnD,GAEhBA,EAAMrhB,QAAQ50B,KAAKo9F,gBAAiBp9F,MAAM,IAU9Co9F,gBAAiB,SAAUp7E,GAEnBA,EAAOovB,MAAQpvB,EAAOqrB,QAEtBrtC,KAAKq9F,OAAOr7E,EAAOovB,OAU3B5b,MAAO,WAGHx1B,KAAK+8F,MAAM,GAAK,GAAI70E,GAAOy0E,SAAS38F,KAAKwG,OAAOswB,MAAO92B,KAAKwG,OAAOlB,EAAGtF,KAAKwG,OAAOy2F,SAAUj9F,KAAKwG,OAAO02F,UAAWl9F,KAAK48F,WAAY58F,KAAK68F,UAAY78F,KAAKie,MAAQ,GAGlKje,KAAK+8F,MAAM,GAAK,GAAI70E,GAAOy0E,SAAS38F,KAAKwG,OAAOnB,EAAGrF,KAAKwG,OAAOlB,EAAGtF,KAAKwG,OAAOy2F,SAAUj9F,KAAKwG,OAAO02F,UAAWl9F,KAAK48F,WAAY58F,KAAK68F,UAAY78F,KAAKie,MAAQ,GAG9Jje,KAAK+8F,MAAM,GAAK,GAAI70E,GAAOy0E,SAAS38F,KAAKwG,OAAOnB,EAAGrF,KAAKwG,OAAOizB,OAAQz5B,KAAKwG,OAAOy2F,SAAUj9F,KAAKwG,OAAO02F,UAAWl9F,KAAK48F,WAAY58F,KAAK68F,UAAY78F,KAAKie,MAAQ,GAGnKje,KAAK+8F,MAAM,GAAK,GAAI70E,GAAOy0E,SAAS38F,KAAKwG,OAAOswB,MAAO92B,KAAKwG,OAAOizB,OAAQz5B,KAAKwG,OAAOy2F,SAAUj9F,KAAKwG,OAAO02F,UAAWl9F,KAAK48F,WAAY58F,KAAK68F,UAAY78F,KAAKie,MAAQ,IAU3Ko/E,OAAQ,SAAUjsD,GAEd,GACI5oC,GADAvF,EAAI,CAIR,IAAqB,MAAjBjD,KAAK+8F,MAAM,KAEXv0F,EAAQxI,KAAKsyC,SAASlB,GAER,KAAV5oC,GAGA,WADAxI,MAAK+8F,MAAMv0F,GAAO60F,OAAOjsD,EAOjC,IAFApxC,KAAK88F,QAAQ/4F,KAAKqtC,GAEdpxC,KAAK88F,QAAQ55F,OAASlD,KAAK48F,YAAc58F,KAAKie,MAAQje,KAAK68F,UAS3D,IANqB,MAAjB78F,KAAK+8F,MAAM,IAEX/8F,KAAKw1B,QAIFvyB,EAAIjD,KAAK88F,QAAQ55F,QAEpBsF,EAAQxI,KAAKsyC,SAAStyC,KAAK88F,QAAQ75F,IAErB,KAAVuF,EAGAxI,KAAK+8F,MAAMv0F,GAAO60F,OAAOr9F,KAAK88F,QAAQp0F,OAAOzF,EAAG,GAAG,IAInDA,KAchBqvC,SAAU,SAAU4yB,GAGhB,GAAI18D,GAAQ,EA8BZ,OA5BI08D,GAAK7/D,EAAIrF,KAAKwG,OAAOswB,OAASouC,EAAKpuC,MAAQ92B,KAAKwG,OAAOswB,MAEnDouC,EAAK5/D,EAAItF,KAAKwG,OAAOizB,QAAUyrC,EAAKzrC,OAASz5B,KAAKwG,OAAOizB,OAGzDjxB,EAAQ,EAEH08D,EAAK5/D,EAAItF,KAAKwG,OAAOizB,SAG1BjxB,EAAQ,GAGP08D,EAAK7/D,EAAIrF,KAAKwG,OAAOswB,QAGtBouC,EAAK5/D,EAAItF,KAAKwG,OAAOizB,QAAUyrC,EAAKzrC,OAASz5B,KAAKwG,OAAOizB,OAGzDjxB,EAAQ,EAEH08D,EAAK5/D,EAAItF,KAAKwG,OAAOizB,SAG1BjxB,EAAQ,IAITA,GAWX80F,SAAU,SAAUjvF,GAEhB,GAAIA,YAAkB6Z,GAAO1lB,UAEzB,GAAI+6F,GAAgBv9F,KAAK88F,QAErBt0F,EAAQxI,KAAKsyC,SAASjkC,OAG9B,CACI,IAAKA,EAAO+iC,KAER,MAAOpxC,MAAKg9F,MAGhB,IAAIO,GAAgBv9F,KAAK88F,QAErBt0F,EAAQxI,KAAKsyC,SAASjkC,EAAO+iC,MAoBrC,MAjBIpxC,MAAK+8F,MAAM,KAGG,KAAVv0F,EAEA+0F,EAAgBA,EAAcjpE,OAAOt0B,KAAK+8F,MAAMv0F,GAAO80F,SAASjvF,KAKhEkvF,EAAgBA,EAAcjpE,OAAOt0B,KAAK+8F,MAAM,GAAGO,SAASjvF,IAC5DkvF,EAAgBA,EAAcjpE,OAAOt0B,KAAK+8F,MAAM,GAAGO,SAASjvF,IAC5DkvF,EAAgBA,EAAcjpE,OAAOt0B,KAAK+8F,MAAM,GAAGO,SAASjvF,IAC5DkvF,EAAgBA,EAAcjpE,OAAOt0B,KAAK+8F,MAAM,GAAGO,SAASjvF,MAI7DkvF,GAQX3iF,MAAO,WAEH5a,KAAK88F,QAAQ55F,OAAS,CAItB,KAFA,GAAID,GAAIjD,KAAK+8F,MAAM75F,OAEZD,KAEHjD,KAAK+8F,MAAM95F,GAAG2X;AACd5a,KAAK+8F,MAAMr0F,OAAOzF,EAAG,EAGzBjD,MAAK+8F,MAAM75F,OAAS,IAK5BglB,EAAOy0E,SAAS95F,UAAUC,YAAcolB,EAAOy0E,SAmD/Cz0E,EAAOkxB,IAAM,SAAUl5C,GAEnBF,KAAKE,KAAOA,GAIhBgoB,EAAOkxB,IAAIv2C,WAQP26F,YAAa,WAET,MAAIlrF,QAAOmrF,UAAYnrF,OAAOmrF,SAASC,SAC5BprF,OAAOmrF,SAASC,SAGpB,MAcXC,gBAAiB,SAAUC,GACvB,MAAoD,KAA7CtrF,OAAOmrF,SAASC,SAASz0F,QAAQ20F,IAgB5CC,kBAAmB,SAAUtpF,EAAK9Q,EAAOq6F,EAAU3wB,GAE9B5jE,SAAbu0F,IAA0BA,GAAW,IAC7Bv0F,SAAR4jE,GAA6B,KAARA,KAAcA,EAAM76D,OAAOmrF,SAASM,KAE7D,IAAI7kE,GAAS,GACT8kE,EAAK,GAAI3L,QAAO,UAAY99E,EAAM,kBAAmB,KAEzD,IAAIypF,EAAG3U,KAAKlc,GAIJj0C,EAFiB,mBAAVz1B,IAAmC,OAAVA,EAEvB0pE,EAAIt1C,QAAQmmE,EAAI,KAAOzpF,EAAM,IAAM9Q,EAAQ,QAI3C0pE,EAAIt1C,QAAQmmE,EAAI,QAAQnmE,QAAQ,UAAW,QAKxD,IAAqB,mBAAVp0B,IAAmC,OAAVA,EACpC,CACI,GAAIw6F,GAAiC,KAArB9wB,EAAIlkE,QAAQ,KAAc,IAAM,IAC5C2nC,EAAOu8B,EAAI33C,MAAM,IACrB23C,GAAMv8B,EAAK,GAAKqtD,EAAY1pF,EAAM,IAAM9Q,EAEpCmtC,EAAK,KACLu8B,GAAO,IAAMv8B,EAAK,IAGtB1X,EAASi0C,MAKTj0C,GAASi0C,CAIjB,OAAI2wB,QAEAxrF,OAAOmrF,SAASM,KAAO7kE,GAIhBA,GAafglE,eAAgB,SAAUC,GAEJ50F,SAAd40F,IAA2BA,EAAY,GAE3C,IAAIjlE,MACAklE,EAAYX,SAASY,OAAOC,UAAU,GAAG9oE,MAAM,IAEnD,KAAK,GAAIvyB,KAAKm7F,GACd,CACI,GAAI7pF,GAAM6pF,EAAUn7F,GAAGuyB,MAAM,IAE7B,IAAIjhB,EAAIrR,OAAS,EACjB,CACI,GAAIi7F,GAAaA,GAAan+F,KAAKu+F,UAAUhqF,EAAI,IAE7C,MAAOvU,MAAKu+F,UAAUhqF,EAAI,GAI1B2kB,GAAOl5B,KAAKu+F,UAAUhqF,EAAI,KAAOvU,KAAKu+F,UAAUhqF,EAAI,KAKhE,MAAO2kB,IAYXqlE,UAAW,SAAU96F,GACjB,MAAO+6F,oBAAmB/6F,EAAMo0B,QAAQ,MAAO,QAKvD3P,EAAOkxB,IAAIv2C,UAAUC,YAAcolB,EAAOkxB,IAqB1ClxB,EAAO6wB,aAAe,SAAU74C,GAK5BF,KAAKE,KAAOA,EAaZF,KAAKy+F,YAAa,EAMlBz+F,KAAK0+F,WAML1+F,KAAK2+F,QAEL3+F,KAAK4+F,SAEDC,OAAU32E,EAAO42E,OAAOD,OACxBE,OAAU72E,EAAO42E,OAAOC,OACxBC,OAAU92E,EAAO42E,OAAOE,OACxBC,OAAU/2E,EAAO42E,OAAOG,OACxBC,OAAUh3E,EAAO42E,OAAOI,OAExBC,OAAUj3E,EAAO42E,OAAOK,OAAOC,KAC/BC,KAAQn3E,EAAO42E,OAAOQ,UAAUC,IAChCC,MAASt3E,EAAO42E,OAAOU,MAAMD,IAC7BE,MAASv3E,EAAO42E,OAAOY,QAAQH,IAC/BI,MAASz3E,EAAO42E,OAAOc,QAAQL,IAC/BM,KAAQ33E,EAAO42E,OAAOgB,WAAWP,IACjCQ,KAAQ73E,EAAO42E,OAAOkB,YAAYT,IAClCU,KAAQ/3E,EAAO42E,OAAOoB,SAASX,IAC/BY,QAAWj4E,EAAO42E,OAAOqB,QAAQZ,IACjCa,KAAQl4E,EAAO42E,OAAOsB,KAAKb,IAC3Bc,OAAUn4E,EAAO42E,OAAOuB,OAAOd,IAE/Be,cAAep4E,EAAO42E,OAAOQ,UAAUiB,GACvCC,eAAgBt4E,EAAO42E,OAAOU,MAAMe,GACpCE,eAAgBv4E,EAAO42E,OAAOY,QAAQa,GACtCG,eAAgBx4E,EAAO42E,OAAOc,QAAQW,GACtCI,cAAez4E,EAAO42E,OAAOgB,WAAWS,GACxCK,cAAe14E,EAAO42E,OAAOkB,YAAYO,GACzCM,cAAe34E,EAAO42E,OAAOoB,SAASK,GACtCO,iBAAkB54E,EAAO42E,OAAOqB,QAAQI,GACxCQ,cAAe74E,EAAO42E,OAAOsB,KAAKG,GAClCS,gBAAiB94E,EAAO42E,OAAOuB,OAAOE,GAEtCU,eAAgB/4E,EAAO42E,OAAOQ,UAAUC,IACxC2B,gBAAiBh5E,EAAO42E,OAAOU,MAAMD,IACrC4B,gBAAiBj5E,EAAO42E,OAAOY,QAAQH,IACvC6B,gBAAiBl5E,EAAO42E,OAAOc,QAAQL,IACvC8B,eAAgBn5E,EAAO42E,OAAOgB,WAAWP,IACzC+B,eAAgBp5E,EAAO42E,OAAOkB,YAAYT,IAC1CgC,eAAgBr5E,EAAO42E,OAAOoB,SAASX,IACvCiC,kBAAmBt5E,EAAO42E,OAAOqB,QAAQZ,IACzCkC,eAAgBv5E,EAAO42E,OAAOsB,KAAKb,IACnCmC,iBAAkBx5E,EAAO42E,OAAOuB,OAAOd,IAEvCoC,iBAAkBz5E,EAAO42E,OAAOQ,UAAUsC,MAC1CC,kBAAmB35E,EAAO42E,OAAOU,MAAMoC,MACvCE,kBAAmB55E,EAAO42E,OAAOY,QAAQkC,MACzCG,kBAAmB75E,EAAO42E,OAAOc,QAAQgC,MACzCI,iBAAkB95E,EAAO42E,OAAOgB,WAAW8B,MAC3CK,iBAAkB/5E,EAAO42E,OAAOkB,YAAY4B,MAC5CM,iBAAkBh6E,EAAO42E,OAAOoB,SAAS0B,MACzCO,oBAAqBj6E,EAAO42E,OAAOqB,QAAQyB,MAC3CQ,iBAAkBl6E,EAAO42E,OAAOsB,KAAKwB,MACrCS,mBAAoBn6E,EAAO42E,OAAOuB,OAAOuB,OAI7C5hG,KAAKE,KAAKsmC,QAAQ9K,IAAI17B,KAAKsiG,UAAWtiG,MACtCA,KAAKE,KAAKwmC,SAAShL,IAAI17B,KAAKuiG,WAAYviG,OAI5CkoB,EAAO6wB,aAAal2C,WAOhB2/F,OAAQ,WAEJ,MAAOxiG,MAAK0+F,SAQhB72D,UAAW,WAEP,IAAK,GAAI5kC,GAAI,EAAGA,EAAIjD,KAAK0+F,QAAQx7F,OAAQD,IAErCjD,KAAK0+F,QAAQz7F,GAAGw/F,eAAgB,CAGpCziG,MAAK2+F,SAWT+D,WAAY,SAAUrtE,EAAKryB,GAENuG,SAAbvG,IAA0BA,GAAW,EAEzC,IAAIC,GACA8xB,CAEJ,IAAIp0B,MAAMoR,QAAQsjB,GAEd,IAAKpyB,EAAI,EAAG8xB,EAAMM,EAAInyB,OAAY6xB,EAAJ9xB,EAASA,IAEnCjD,KAAK0iG,WAAWrtE,EAAIpyB,QAGvB,IAAIoyB,EAAIzgB,OAASsT,EAAOoK,OAAStvB,EAElC,IAAK,GAAIC,GAAI,EAAG8xB,EAAMM,EAAIryB,SAASE,OAAY6xB,EAAJ9xB,EAASA,IAEhDjD,KAAK0iG,WAAWrtE,EAAIryB,SAASC,QAIrC,CACI,IAAKA,EAAI,EAAG8xB,EAAM/0B,KAAK0+F,QAAQx7F,OAAY6xB,EAAJ9xB,EAASA,IAExCoyB,IAAQr1B,KAAK0+F,QAAQz7F,GAAGgB,QAExBjE,KAAK0Q,OAAO1Q,KAAK0+F,QAAQz7F,GAIjC,KAAKA,EAAI,EAAG8xB,EAAM/0B,KAAK2+F,KAAKz7F,OAAY6xB,EAAJ9xB,EAASA,IAErCoyB,IAAQr1B,KAAK2+F,KAAK17F,GAAGgB,QAErBjE,KAAK0Q,OAAO1Q,KAAK2+F,KAAK17F,MActCy4B,IAAK,SAAUmvC,GAEXA,EAAM83B,SAAW3iG,KACjBA,KAAK2+F,KAAK56F,KAAK8mE,IAWnB3iE,OAAQ,SAAUuiE,GAEd,MAAO,IAAIviD,GAAOolD,MAAM7C,EAAQzqE,KAAKE,KAAMF,OAU/C0Q,OAAQ,SAAUm6D,GAEd,GAAI5nE,GAAIjD,KAAK0+F,QAAQz1F,QAAQ4hE,EAEnB,MAAN5nE,EAEAjD,KAAK0+F,QAAQz7F,GAAGw/F,eAAgB,GAIhCx/F,EAAIjD,KAAK2+F,KAAK11F,QAAQ4hE,GAEZ,KAAN5nE,IAEAjD,KAAK2+F,KAAK17F,GAAGw/F,eAAgB,KAYzCp/D,OAAQ,WAEJ,GAAIu/D,GAAY5iG,KAAK2+F,KAAKz7F,OACtB2/F,EAAY7iG,KAAK0+F,QAAQx7F,MAE7B,IAAkB,IAAd2/F,GAAiC,IAAdD,EAEnB,OAAO,CAKX,KAFA,GAAI3/F,GAAI,EAEG4/F,EAAJ5/F,GAECjD,KAAK0+F,QAAQz7F,GAAGogC,OAAOrjC,KAAKE,KAAKikC,KAAKA,MAEtClhC,KAIAjD,KAAK0+F,QAAQh2F,OAAOzF,EAAG,GAEvB4/F,IAWR,OANID,GAAY,IAEZ5iG,KAAK0+F,QAAU1+F,KAAK0+F,QAAQpqE,OAAOt0B,KAAK2+F,MACxC3+F,KAAK2+F,KAAKz7F,OAAS,IAGhB,GAWX4/F,WAAY,SAASr4B,GAEjB,MAAOzqE,MAAK0+F,QAAQqE,KAAK,SAASl4B,GAC9B,MAAOA,GAAM5mE,SAAWwmE,KAWhC63B,UAAW,WAEP,IAAK,GAAIr/F,GAAIjD,KAAK0+F,QAAQx7F,OAAS,EAAGD,GAAK,EAAGA,IAE1CjD,KAAK0+F,QAAQz7F,GAAG+/F,UAWxBT,WAAY,WAER,IAAK,GAAIt/F,GAAIjD,KAAK0+F,QAAQx7F,OAAS,EAAGD,GAAK,EAAGA,IAE1CjD,KAAK0+F,QAAQz7F,GAAGggG,WAUxBC,SAAU,WAEN,IAAK,GAAIjgG,GAAIjD,KAAK0+F,QAAQx7F,OAAS,EAAGD,GAAK,EAAGA,IAE1CjD,KAAK0+F,QAAQz7F,GAAGwjC,SAUxB08D,UAAW,WAEP,IAAK,GAAIlgG,GAAIjD,KAAK0+F,QAAQx7F,OAAS,EAAGD,GAAK,EAAGA,IAE1CjD,KAAK0+F,QAAQz7F,GAAG0jC,QAAO,KAOnCze,EAAO6wB,aAAal2C,UAAUC,YAAcolB,EAAO6wB,aAqBnD7wB,EAAOolD,MAAQ,SAAUrpE,EAAQ/D,EAAMkjG,GAKnCpjG,KAAKE,KAAOA,EAKZF,KAAKiE,OAASA,EAKdjE,KAAKojG,QAAUA,EAKfpjG,KAAKqjG,YASLrjG,KAAK0d,SAAU,EASf1d,KAAKsjG,UAAY,EAKjBtjG,KAAKujG,cAAgB,EAOrBvjG,KAAKyiG,eAAgB,EAOrBziG,KAAKwjG,QAAU,GAAIt7E,GAAOud,OAO1BzlC,KAAKyjG,OAAS,GAAIv7E,GAAOud,OAOzBzlC,KAAK0jG,SAAW,GAAIx7E,GAAOud,OAQ3BzlC,KAAK2jG,gBAAkB,GAAIz7E,GAAOud,OAOlCzlC,KAAK4jG,WAAa,GAAI17E,GAAOud,OAM7BzlC,KAAK+2C,WAAY,EAOjB/2C,KAAK21B,QAAU,EAKf31B,KAAK4nF,cAKL5nF,KAAK6jG,aAAe,KAMpB7jG,KAAK8jG,UAAW,EAgBhB9jG,KAAKy+F,WAAa2E,EAAQ3E,WAO1Bz+F,KAAK+jG,kBAAoB,KAOzB/jG,KAAKgkG,yBAA2B,KAOhChkG,KAAKikG,YAAc,EAMnBjkG,KAAK03C,aAAc,EAMnB13C,KAAKkkG,aAAc,GAGvBh8E,EAAOolD,MAAMzqE,WAkBTm1B,GAAI,SAAU4vD,EAAYvhC,EAAU89C,EAAMt9D,EAAWmqB,EAAO76C,EAAQiuF,GAchE,OAZiB76F,SAAb88C,GAAsC,GAAZA,KAAiBA,EAAW,MAC7C98C,SAAT46F,GAA+B,OAATA,KAAiBA,EAAOj8E,EAAO42E,OAAOuF,SAC9C96F,SAAds9B,IAA2BA,GAAY,GAC7Bt9B,SAAVynD,IAAuBA,EAAQ,GACpBznD,SAAX4M,IAAwBA,EAAS,GACxB5M,SAAT66F,IAAsBA,GAAO,GAEb,gBAATD,IAAqBnkG,KAAKojG,QAAQxE,QAAQuF,KAEjDA,EAAOnkG,KAAKojG,QAAQxE,QAAQuF,IAG5BnkG,KAAK+2C,WAELxkC,QAAQ2iB,KAAK,sDACNl1B,OAGXA,KAAKqjG,SAASt/F,KAAK,GAAImkB,GAAOo8E,UAAUtkG,MAAMg4B,GAAG4vD,EAAYvhC,EAAU89C,EAAMnzC,EAAO76C,EAAQiuF,IAExFv9D,GAEA7mC,KAAKkL,QAGFlL,OAoBXmH,KAAM,SAAUygF,EAAYvhC,EAAU89C,EAAMt9D,EAAWmqB,EAAO76C,EAAQiuF,GAclE,MAZiB76F,UAAb88C,IAA0BA,EAAW,MAC5B98C,SAAT46F,GAA+B,OAATA,KAAiBA,EAAOj8E,EAAO42E,OAAOuF,SAC9C96F,SAAds9B,IAA2BA,GAAY,GAC7Bt9B,SAAVynD,IAAuBA,EAAQ,GACpBznD,SAAX4M,IAAwBA,EAAS,GACxB5M,SAAT66F,IAAsBA,GAAO,GAEb,gBAATD,IAAqBnkG,KAAKojG,QAAQxE,QAAQuF,KAEjDA,EAAOnkG,KAAKojG,QAAQxE,QAAQuF,IAG5BnkG,KAAK+2C,WAELxkC,QAAQ2iB,KAAK,wDACNl1B,OAGXA,KAAKqjG,SAASt/F,KAAK,GAAImkB,GAAOo8E,UAAUtkG,MAAMmH,KAAKygF,EAAYvhC,EAAU89C,EAAMnzC,EAAO76C,EAAQiuF,IAE1Fv9D,GAEA7mC,KAAKkL,QAGFlL,OAaXkL,MAAO,SAAU1C,GAIb,GAFce,SAAVf,IAAuBA,EAAQ,GAEjB,OAAdxI,KAAKE,MAAiC,OAAhBF,KAAKiE,QAA4C,IAAzBjE,KAAKqjG,SAASngG,QAAgBlD,KAAK+2C,UAEjF,MAAO/2C,KAIX,KAAK,GAAIiD,GAAI,EAAGA,EAAIjD,KAAKqjG,SAASngG,OAAQD,IAGtC,IAAK,GAAIswC,KAAYvzC,MAAKqjG,SAASpgG,GAAGshG,KAElCvkG,KAAK4nF,WAAWr0C,GAAYvzC,KAAKiE,OAAOsvC,IAAa,EAEhD5yC,MAAMoR,QAAQ/R,KAAK4nF,WAAWr0C,MAG/BvzC,KAAK4nF,WAAWr0C,IAAa,EAKzC,KAAK,GAAItwC,GAAI,EAAGA,EAAIjD,KAAKqjG,SAASngG,OAAQD,IAEtCjD,KAAKqjG,SAASpgG,GAAGuhG,YAgBrB,OAbAxkG,MAAKojG,QAAQ1nE,IAAI17B,MAEjBA,KAAK+2C,WAAY,GAEL,EAARvuC,GAAaA,EAAQxI,KAAKqjG,SAASngG,OAAS,KAE5CsF,EAAQ,GAGZxI,KAAK21B,QAAUntB,EAEfxI,KAAKqjG,SAASrjG,KAAK21B,SAASzqB,QAErBlL,MAaX8K,KAAM,SAAUge,GAqBZ,MAnBiBvf,UAAbuf,IAA0BA,GAAW,GAEzC9oB,KAAK+2C,WAAY,EAEjB/2C,KAAK+jG,kBAAoB,KACzB/jG,KAAKgkG,yBAA2B,KAE5Bl7E,IAEA9oB,KAAK4jG,WAAWn8D,SAASznC,KAAKiE,OAAQjE,MAElCA,KAAK6jG,cAEL7jG,KAAK6jG,aAAa34F,SAI1BlL,KAAKojG,QAAQ1yF,OAAO1Q,MAEbA,MAeXykG,gBAAiB,SAAUlxD,EAAU9vC,EAAO+E,GAExC,GAA6B,IAAzBxI,KAAKqjG,SAASngG,OAAgB,MAAOlD,KAIzC,IAFcuJ,SAAVf,IAAuBA,EAAQ,GAErB,KAAVA,EAEA,IAAK,GAAIvF,GAAI,EAAGA,EAAIjD,KAAKqjG,SAASngG,OAAQD,IAEtCjD,KAAKqjG,SAASpgG,GAAGswC,GAAY9vC,MAKjCzD,MAAKqjG,SAAS76F,GAAO+qC,GAAY9vC,CAGrC,OAAOzD,OAeXgxD,MAAO,SAAU3K,EAAU79C,GAEvB,MAAOxI,MAAKykG,gBAAgB,QAASp+C,EAAU79C,IAgBnD2N,OAAQ,SAAU4Y,EAAO21E,EAAal8F,GAMlC,MAJoBe,UAAhBm7F,IAA6BA,EAAc,GAE/C1kG,KAAKykG,gBAAgB,gBAAiB11E,EAAOvmB,GAEtCxI,KAAKykG,gBAAgB,cAAeC,EAAal8F,IAe5Dk8F,YAAa,SAAUr+C,EAAU79C,GAE7B,MAAOxI,MAAKykG,gBAAgB,cAAep+C,EAAU79C,IAiBzD47F,KAAM,SAASlqF,EAAQyqF,EAAWn8F,GAM9B,MAJkBe,UAAdo7F,IAA2BA,EAAY,GAE3C3kG,KAAKykG,gBAAgB,OAAQvqF,EAAQ1R,GAE9BxI,KAAKykG,gBAAgB,YAAaE,EAAWn8F,IAexDm8F,UAAW,SAAUt+C,EAAU79C,GAE3B,MAAOxI,MAAKykG,gBAAgB,YAAap+C,EAAU79C,IAevDo8F,OAAQ,SAAUT,EAAM37F,GAOpB,MALoB,gBAAT27F,IAAqBnkG,KAAKojG,QAAQxE,QAAQuF,KAEjDA,EAAOnkG,KAAKojG,QAAQxE,QAAQuF,IAGzBnkG,KAAKykG,gBAAgB,iBAAkBN,EAAM37F,IAgBxDq8F,cAAe,SAAUA,EAAe53F,EAASzE,GAM7C,MAJgBe,UAAZ0D,IAAyBA,EAAUib,EAAOrnB,MAE9Cb,KAAKykG,gBAAgB,wBAAyBI,EAAer8F,GAEtDxI,KAAKykG,gBAAgB,uBAAwBx3F,EAASzE,IAajEs8F,UAAW,SAAU/1E,GAMjB,MAJcxlB,UAAVwlB,IAAuBA,EAAQ,GAEnC/uB,KAAKujG,cAAgBx0E,EAEd/uB,MAkBX+kG,MAAO,WAIH,IAFA,GAAI9hG,GAAIsxB,UAAUrxB,OAEXD,KAECA,EAAI,EAEJsxB,UAAUtxB,EAAI,GAAG4gG,aAAetvE,UAAUtxB,GAI1CjD,KAAK6jG,aAAetvE,UAAUtxB,EAItC,OAAOjD,OAmBXujE,KAAM,SAAU9/D,GAaZ,MAXc8F,UAAV9F,IAAuBA,GAAQ,GAE/BA,EAEAzD,KAAK8kG,UAAU,IAIf9kG,KAAKujG,cAAgB,EAGlBvjG,MAYX6lC,iBAAkB,SAAU+N,EAAU5M,GAKlC,MAHAhnC,MAAK+jG,kBAAoBnwD,EACzB5zC,KAAKgkG,yBAA2Bh9D,EAEzBhnC,MASXymC,MAAO,WAEHzmC,KAAK8jG,UAAW,EAEhB9jG,KAAK03C,aAAc,EAEnB13C,KAAKikG,YAAcjkG,KAAKE,KAAKikC,KAAKA,MAUtC6+D,OAAQ,WAEChjG,KAAK03C,cAEN13C,KAAK8jG,UAAW,EAEhB9jG,KAAKikG,YAAcjkG,KAAKE,KAAKikC,KAAKA,OAU1CwC,OAAQ,WAEJ,GAAI3mC,KAAK8jG,SACT,CACI9jG,KAAK8jG,UAAW,EAEhB9jG,KAAK03C,aAAc,CAEnB,KAAK,GAAIz0C,GAAI,EAAGA,EAAIjD,KAAKqjG,SAASngG,OAAQD,IAEjCjD,KAAKqjG,SAASpgG,GAAG8zC,YAElB/2C,KAAKqjG,SAASpgG,GAAG+hG,WAAchlG,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAKikG,eAY1EhB,QAAS,WAEDjjG,KAAK03C,aAML13C,KAAK2mC,UAYbtD,OAAQ,SAAUc,GAEd,GAAInkC,KAAKyiG,cAEL,OAAO,CAGX,IAAIziG,KAAK8jG,SAEL,OAAO,CAGX,IAAImB,GAASjlG,KAAKqjG,SAASrjG,KAAK21B,SAAS0N,OAAOc,EAEhD,IAAI8gE,IAAW/8E,EAAOo8E,UAAUY,QAE5B,OAAO,CAEN,IAAID,IAAW/8E,EAAOo8E,UAAUa,QAcjC,MAZKnlG,MAAKkkG,cAENlkG,KAAKwjG,QAAQ/7D,SAASznC,KAAKiE,OAAQjE,MACnCA,KAAKkkG,aAAc,GAGQ,OAA3BlkG,KAAK+jG,mBAEL/jG,KAAK+jG,kBAAkBr+F,KAAK1F,KAAKgkG,yBAA0BhkG,KAAMA,KAAKqjG,SAASrjG,KAAK21B,SAASlyB,MAAOzD,KAAKqjG,SAASrjG,KAAK21B,UAIpH31B,KAAK+2C,SAEX,IAAIkuD,IAAW/8E,EAAOo8E,UAAUc,OAGjC,MADAplG,MAAKyjG,OAAOh8D,SAASznC,KAAKiE,OAAQjE,OAC3B,CAEN,IAAIilG,IAAW/8E,EAAOo8E,UAAUe,SACrC,CACI,GAAIv8E,IAAW,CAwBf,OArBI9oB,MAAK0d,SAEL1d,KAAK21B,UAED31B,KAAK21B,QAAU,IAEf31B,KAAK21B,QAAU31B,KAAKqjG,SAASngG,OAAS,EACtC4lB,GAAW,KAKf9oB,KAAK21B,UAED31B,KAAK21B,UAAY31B,KAAKqjG,SAASngG,SAE/BlD,KAAK21B,QAAU,EACf7M,GAAW,IAIfA,EAG2B,KAAvB9oB,KAAKujG,eAELvjG,KAAKqjG,SAASrjG,KAAK21B,SAASzqB,QAC5BlL,KAAK0jG,SAASj8D,SAASznC,KAAKiE,OAAQjE,OAC7B,GAEFA,KAAKujG,cAAgB,GAE1BvjG,KAAKujG,gBAELvjG,KAAKqjG,SAASrjG,KAAK21B,SAASzqB,QAC5BlL,KAAK0jG,SAASj8D,SAASznC,KAAKiE,OAAQjE,OAC7B,IAKPA,KAAK+2C,WAAY,EACjB/2C,KAAK4jG,WAAWn8D,SAASznC,KAAKiE,OAAQjE,MAElCA,KAAK6jG,cAEL7jG,KAAK6jG,aAAa34F,SAGf,IAMXlL,KAAK2jG,gBAAgBl8D,SAASznC,KAAKiE,OAAQjE,MAC3CA,KAAKqjG,SAASrjG,KAAK21B,SAASzqB,SACrB,KAiBnBo6F,aAAc,SAAUhiC,EAAW7yD,GAE/B,GAAkB,OAAdzQ,KAAKE,MAAiC,OAAhBF,KAAKiE,OAE3B,MAAO,KAGOsF,UAAd+5D,IACAA,EAAY,IAGH/5D,SAATkH,IACAA,KAIJ,KAAK,GAAIxN,GAAI,EAAGA,EAAIjD,KAAKqjG,SAASngG,OAAQD,IAGtC,IAAK,GAAIswC,KAAYvzC,MAAKqjG,SAASpgG,GAAGshG,KAElCvkG,KAAK4nF,WAAWr0C,GAAYvzC,KAAKiE,OAAOsvC,IAAa,EAEhD5yC,MAAMoR,QAAQ/R,KAAK4nF,WAAWr0C,MAG/BvzC,KAAK4nF,WAAWr0C,IAAa,EAKzC,KAAK,GAAItwC,GAAI,EAAGA,EAAIjD,KAAKqjG,SAASngG,OAAQD,IAEtCjD,KAAKqjG,SAASpgG,GAAGuhG,YAGrB,KAAK,GAAIvhG,GAAI,EAAGA,EAAIjD,KAAKqjG,SAASngG,OAAQD,IAEtCwN,EAAOA,EAAK6jB,OAAOt0B,KAAKqjG,SAASpgG,GAAGqiG,aAAahiC,GAGrD,OAAO7yD,KAUfrN,OAAOC,eAAe6kB,EAAOolD,MAAMzqE,UAAW,iBAE1CS,IAAK,WAID,IAAK,GAFDyrB,GAAQ,EAEH9rB,EAAI,EAAGA,EAAIjD,KAAKqjG,SAASngG,OAAQD,IAEtC8rB,GAAS/uB,KAAKqjG,SAASpgG,GAAGojD,QAG9B,OAAOt3B,MAMf7G,EAAOolD,MAAMzqE,UAAUC,YAAcolB,EAAOolD,MAiB5CplD,EAAOo8E,UAAY,SAAU1iG,GAKzB5B,KAAK4B,OAASA,EAKd5B,KAAKE,KAAO0B,EAAO1B,KAMnBF,KAAKulG,UAMLvlG,KAAKwlG,eAMLxlG,KAAKukG,QAMLvkG,KAAKylG,aAMLzlG,KAAKqmD,SAAW,IAMhBrmD,KAAK47F,QAAU,EAMf57F,KAAKyD,MAAQ,EAKbzD,KAAKujG,cAAgB,EAKrBvjG,KAAK0kG,YAAc,EAMnB1kG,KAAKk/B,aAAc,EAMnBl/B,KAAKokG,MAAO,EAKZpkG,KAAK2kG,UAAY,EAMjB3kG,KAAK0lG,WAAY,EAMjB1lG,KAAKgxD,MAAQ,EAKbhxD,KAAKs5E,GAAK,EAKVt5E,KAAKglG,UAAY,KAMjBhlG,KAAK2lG,eAAiBz9E,EAAO42E,OAAOuF,QAMpCrkG,KAAK4lG,sBAAwB19E,EAAOrnB,KAAKs5F,oBAMzCn6F,KAAK6lG,qBAAuB39E,EAAOrnB,KAMnCb,KAAK+2C,WAAY,EAMjB/2C,KAAK8lG,QAAS,GAQlB59E,EAAOo8E,UAAUY,QAAU,EAM3Bh9E,EAAOo8E,UAAUa,QAAU,EAM3Bj9E,EAAOo8E,UAAUc,OAAS,EAM1Bl9E,EAAOo8E,UAAUe,SAAW,EAE5Bn9E,EAAOo8E,UAAUzhG,WAebm1B,GAAI,SAAU4vD,EAAYvhC,EAAU89C,EAAMnzC,EAAO76C,EAAQiuF,GAWrD,MATApkG,MAAKukG,KAAO3c,EACZ5nF,KAAKqmD,SAAWA,EAChBrmD,KAAK2lG,eAAiBxB,EACtBnkG,KAAKgxD,MAAQA,EACbhxD,KAAKujG,cAAgBptF,EACrBnW,KAAKokG,KAAOA,EAEZpkG,KAAK8lG,QAAS,EAEP9lG,MAiBXmH,KAAM,SAAUygF,EAAYvhC,EAAU89C,EAAMnzC,EAAO76C,EAAQiuF,GAWvD,MATApkG,MAAKukG,KAAO3c,EACZ5nF,KAAKqmD,SAAWA,EAChBrmD,KAAK2lG,eAAiBxB,EACtBnkG,KAAKgxD,MAAQA,EACbhxD,KAAKujG,cAAgBptF,EACrBnW,KAAKokG,KAAOA,EAEZpkG,KAAK8lG,QAAS,EAEP9lG,MAUXkL,MAAO,WAsBH,GApBAlL,KAAKglG,UAAYhlG,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAKgxD,MAExChxD,KAAK4B,OAAO8b,QAEZ1d,KAAKs5E,GAAKt5E,KAAKqmD,SAIfrmD,KAAKs5E,GAAK,EAGVt5E,KAAKgxD,MAAQ,EAEbhxD,KAAK+2C,WAAY,EAIjB/2C,KAAK+2C,WAAY,EAGjB/2C,KAAK8lG,OAGL,IAAK,GAAIvyD,KAAYvzC,MAAKwlG,YAEtBxlG,KAAKulG,OAAOhyD,GAAYvzC,KAAKylG,UAAUlyD,GACvCvzC,KAAKukG,KAAKhxD,GAAYvzC,KAAKwlG,YAAYjyD,GACvCvzC,KAAK4B,OAAOqC,OAAOsvC,GAAYvzC,KAAKulG,OAAOhyD,EAOnD,OAHAvzC,MAAKyD,MAAQ,EACbzD,KAAK+lG,YAAc,EAEZ/lG,MAWXwkG,WAAY,WAER,IAAK,GAAIjxD,KAAYvzC,MAAK4B,OAAOgmF,WACjC,CAKI,GAHA5nF,KAAKulG,OAAOhyD,GAAYvzC,KAAK4B,OAAOgmF,WAAWr0C,GAG3C5yC,MAAMoR,QAAQ/R,KAAKukG,KAAKhxD,IAC5B,CACI,GAAmC,IAA/BvzC,KAAKukG,KAAKhxD,GAAUrwC,OAEpB,QAGiB,KAAjBlD,KAAK47F,UAIL57F,KAAKukG,KAAKhxD,IAAavzC,KAAKulG,OAAOhyD,IAAWjf,OAAOt0B,KAAKukG,KAAKhxD,KAIpC,mBAAxBvzC,MAAKukG,KAAKhxD,IAEkB,gBAAxBvzC,MAAKukG,KAAKhxD,KAGjBvzC,KAAKukG,KAAKhxD,GAAYvzC,KAAKulG,OAAOhyD,GAAY60C,WAAWpoF,KAAKukG,KAAKhxD,GAAW,KAGlFvzC,KAAK4B,OAAOgmF,WAAWr0C,GAAYvzC,KAAKukG,KAAKhxD,IAK7CvzC,KAAKukG,KAAKhxD,GAAYvzC,KAAKulG,OAAOhyD,GAGtCvzC,KAAKwlG,YAAYjyD,GAAYvzC,KAAKulG,OAAOhyD,GACzCvzC,KAAKylG,UAAUlyD,GAAYvzC,KAAKukG,KAAKhxD,GAGzC,MAAOvzC,OAYXqjC,OAAQ,SAAUc,GAEd,GAAKnkC,KAAK+2C,WAcN,GAAI5S,EAAOnkC,KAAKglG,UAEZ,MAAO98E,GAAOo8E,UAAUa,YAfhC,CACI,KAAIhhE,GAAQnkC,KAAKglG,WAMb,MAAO98E,GAAOo8E,UAAUY,OAJxBllG,MAAK+2C,WAAY,EAgBzB,GAAIivD,GAAMhmG,KAAK4B,OAAiB,WAAI5B,KAAKE,KAAKikC,KAAK8kC,iBAAmBjpE,KAAKE,KAAKikC,KAAK8hE,SAEjFjmG,MAAK4B,OAAO8b,SAEZ1d,KAAKs5E,IAAM0sB,EAAKhmG,KAAK4B,OAAO0hG,UAC5BtjG,KAAKs5E,GAAKz4E,KAAKm7B,IAAIh8B,KAAKs5E,GAAI,KAI5Bt5E,KAAKs5E,IAAM0sB,EAAKhmG,KAAK4B,OAAO0hG,UAC5BtjG,KAAKs5E,GAAKz4E,KAAKi7B,IAAI97B,KAAKs5E,GAAIt5E,KAAKqmD,WAGrCrmD,KAAK47F,QAAU57F,KAAKs5E,GAAKt5E,KAAKqmD,SAE9BrmD,KAAKyD,MAAQzD,KAAK2lG,eAAe3lG,KAAK47F,QAEtC,KAAK,GAAIroD,KAAYvzC,MAAKukG,KAC1B,CACI,GAAIr5F,GAAQlL,KAAKulG,OAAOhyD,GACpB3pC,EAAM5J,KAAKukG,KAAKhxD,EAEhB5yC,OAAMoR,QAAQnI,GAEd5J,KAAK4B,OAAOqC,OAAOsvC,GAAYvzC,KAAK4lG,sBAAsBlgG,KAAK1F,KAAK6lG,qBAAsBj8F,EAAK5J,KAAKyD,OAIpGzD,KAAK4B,OAAOqC,OAAOsvC,GAAYroC,GAAUtB,EAAMsB,GAASlL,KAAKyD,MAIrE,OAAMzD,KAAK4B,OAAO8b,SAA4B,IAAjB1d,KAAK47F,SAAmB57F,KAAK4B,OAAO8b,SAA4B,IAAjB1d,KAAK47F,QAEtE57F,KAAKmW,SAGT+R,EAAOo8E,UAAUa,SAa5BG,aAAc,SAAUhiC,GAEhBtjE,KAAK4B,OAAO8b,QAEZ1d,KAAKs5E,GAAKt5E,KAAKqmD,SAIfrmD,KAAKs5E,GAAK,CAGd,IAAI7oE,MACAqY,GAAW,EACXo9E,EAAO,EAAI5iC,EAAa,GAE5B,GACA,CACQtjE,KAAK4B,OAAO8b,SAEZ1d,KAAKs5E,IAAM4sB,EACXlmG,KAAKs5E,GAAKz4E,KAAKm7B,IAAIh8B,KAAKs5E,GAAI,KAI5Bt5E,KAAKs5E,IAAM4sB,EACXlmG,KAAKs5E,GAAKz4E,KAAKi7B,IAAI97B,KAAKs5E,GAAIt5E,KAAKqmD,WAGrCrmD,KAAK47F,QAAU57F,KAAKs5E,GAAKt5E,KAAKqmD,SAE9BrmD,KAAKyD,MAAQzD,KAAK2lG,eAAe3lG,KAAK47F,QAEtC,IAAIuK,KAEJ,KAAK,GAAI5yD,KAAYvzC,MAAKukG,KAC1B,CACI,GAAIr5F,GAAQlL,KAAKulG,OAAOhyD,GACpB3pC,EAAM5J,KAAKukG,KAAKhxD,EAEhB5yC,OAAMoR,QAAQnI,GAEdu8F,EAAK5yD,GAAYvzC,KAAK4lG,sBAAsBh8F,EAAK5J,KAAKyD,OAItD0iG,EAAK5yD,GAAYroC,GAAUtB,EAAMsB,GAASlL,KAAKyD,MAIvDgN,EAAK1M,KAAKoiG,KAEJnmG,KAAK4B,OAAO8b,SAA4B,IAAjB1d,KAAK47F,SAAmB57F,KAAK4B,OAAO8b,SAA4B,IAAjB1d,KAAK47F,WAE7E9yE,GAAW,UAGTA,EAEV,IAAI9oB,KAAKokG,KACT,CACI,GAAIgC,GAAW31F,EAAKwjB,OACpBmyE,GAAS1oF,UACTjN,EAAOA,EAAK6jB,OAAO8xE,GAGvB,MAAO31F,IAWX0F,OAAQ,WAGJ,GAAInW,KAAKokG,KACT,CAEI,GAAIpkG,KAAK0lG,WAAoC,IAAvB1lG,KAAKujG,cAEvB,MAAOr7E,GAAOo8E,UAAUe,QAG5BrlG,MAAK0lG,WAAa1lG,KAAK0lG,cAIvB,IAA2B,IAAvB1lG,KAAKujG,cAEL,MAAOr7E,GAAOo8E,UAAUe,QAIhC,IAAIrlG,KAAK0lG,UAGL,IAAK,GAAInyD,KAAYvzC,MAAKwlG,YAEtBxlG,KAAKulG,OAAOhyD,GAAYvzC,KAAKylG,UAAUlyD,GACvCvzC,KAAKukG,KAAKhxD,GAAYvzC,KAAKwlG,YAAYjyD,OAI/C,CAEI,IAAK,GAAIA,KAAYvzC,MAAKwlG,YAEtBxlG,KAAKulG,OAAOhyD,GAAYvzC,KAAKwlG,YAAYjyD,GACzCvzC,KAAKukG,KAAKhxD,GAAYvzC,KAAKylG,UAAUlyD,EAKrCvzC,MAAKujG,cAAgB,GAErBvjG,KAAKujG,gBAwBb,MApBAvjG,MAAKglG,UAAYhlG,KAAKE,KAAKikC,KAAKA,KAE5BnkC,KAAKokG,MAAQpkG,KAAK0lG,UAElB1lG,KAAKglG,WAAahlG,KAAK2kG,UAEjB3kG,KAAK0lG,YAEX1lG,KAAKglG,WAAahlG,KAAK0kG,aAGvB1kG,KAAK4B,OAAO8b,QAEZ1d,KAAKs5E,GAAKt5E,KAAKqmD,SAIfrmD,KAAKs5E,GAAK,EAGPpxD,EAAOo8E,UAAUc,SAMhCl9E,EAAOo8E,UAAUzhG,UAAUC,YAAcolB,EAAOo8E,UAehDp8E,EAAO42E,QAOHK,QASIC,KAAM,SAAWlqC,GAEb,MAAOA,KAWfoqC,WASIiB,GAAI,SAAWrrC,GAEX,MAAOA,GAAIA,GAWfqqC,IAAK,SAAWrqC,GAEZ,MAAOA,IAAM,EAAIA,IAWrB0sC,MAAO,SAAW1sC,GAEd,OAAOA,GAAK,GAAM,EAAW,GAAMA,EAAIA,GAC9B,MAAUA,GAAMA,EAAI,GAAM,KAW3CsqC,OASIe,GAAI,SAAWrrC,GAEX,MAAOA,GAAIA,EAAIA,GAWnBqqC,IAAK,SAAWrqC,GAEZ,QAASA,EAAIA,EAAIA,EAAI,GAWzB0sC,MAAO,SAAW1sC,GAEd,OAAOA,GAAK,GAAM,EAAW,GAAMA,EAAIA,EAAIA,EACpC,KAAUA,GAAK,GAAMA,EAAIA,EAAI,KAW5CwqC,SASIa,GAAI,SAAWrrC,GAEX,MAAOA,GAAIA,EAAIA,EAAIA,GAWvBqqC,IAAK,SAAWrqC,GAEZ,MAAO,MAAQA,EAAIA,EAAIA,EAAIA,GAW/B0sC,MAAO,SAAW1sC,GAEd,OAAOA,GAAK,GAAM,EAAU,GAAMA,EAAIA,EAAIA,EAAIA,GACrC,KAAUA,GAAK,GAAMA,EAAIA,EAAIA,EAAI,KAWlD0qC,SASIW,GAAI,SAAWrrC,GAEX,MAAOA,GAAIA,EAAIA,EAAIA,EAAIA,GAW3BqqC,IAAK,SAAWrqC,GAEZ,QAASA,EAAIA,EAAIA,EAAIA,EAAIA,EAAI,GAWjC0sC,MAAO,SAAW1sC,GAEd,OAAOA,GAAK,GAAM,EAAW,GAAMA,EAAIA,EAAIA,EAAIA,EAAIA,EAC5C,KAAUA,GAAK,GAAMA,EAAIA,EAAIA,EAAIA,EAAI,KAWpD4qC,YASIS,GAAI,SAAWrrC,GAEX,MAAU,KAANA,EAAgB,EACV,IAANA,EAAgB,EACb,EAAIr0D,KAAKuE,IAAK8vD,EAAIr0D,KAAKC,GAAK,IAWvCy+F,IAAK,SAAWrqC,GAEZ,MAAU,KAANA,EAAgB,EACV,IAANA,EAAgB,EACbr0D,KAAKsE,IAAK+vD,EAAIr0D,KAAKC,GAAK,IAWnC8gG,MAAO,SAAW1sC,GAEd,MAAU,KAANA,EAAgB,EACV,IAANA,EAAgB,EACb,IAAQ,EAAIr0D,KAAKuE,IAAKvE,KAAKC,GAAKo0D,MAW/C8qC,aASIO,GAAI,SAAWrrC,GAEX,MAAa,KAANA,EAAU,EAAIr0D,KAAKo4F,IAAK,KAAM/jC,EAAI,IAW7CqqC,IAAK,SAAWrqC,GAEZ,MAAa,KAANA,EAAU,EAAI,EAAIr0D,KAAKo4F,IAAK,EAAG,IAAO/jC,IAWjD0sC,MAAO,SAAW1sC,GAEd,MAAW,KAANA,EAAiB,EACX,IAANA,EAAiB,GACfA,GAAK,GAAM,EAAW,GAAMr0D,KAAKo4F,IAAK,KAAM/jC,EAAI,GAChD,KAAUr0D,KAAKo4F,IAAK,EAAG,KAAS/jC,EAAI,IAAQ,KAW3DgrC,UASIK,GAAI,SAAWrrC,GAEX,MAAO,GAAIr0D,KAAK0E,KAAM,EAAI2vD,EAAIA,IAWlCqqC,IAAK,SAAWrqC,GAEZ,MAAOr0D,MAAK0E,KAAM,KAAQ2vD,EAAIA,IAWlC0sC,MAAO,SAAW1sC,GAEd,OAAOA,GAAK,GAAM,GAAY,IAAQr0D,KAAK0E,KAAM,EAAI2vD,EAAIA,GAAK,GACvD,IAAQr0D,KAAK0E,KAAM,GAAM2vD,GAAK,GAAKA,GAAK,KAWvDirC,SASII,GAAI,SAAWrrC,GAEX,GAAIj2B,GAAGv6B,EAAI,GAAKF,EAAI,EACpB,OAAW,KAAN0wD,EAAiB,EACX,IAANA,EAAiB,IAChBxwD,GAAS,EAAJA,GAAUA,EAAI,EAAGu6B,EAAIz6B,EAAI,GAC/By6B,EAAIz6B,EAAI3D,KAAKwlG,KAAM,EAAI3hG,IAAQ,EAAI7D,KAAKC,MAClC4D,EAAI7D,KAAKo4F,IAAK,EAAG,IAAO/jC,GAAK,IAAQr0D,KAAKsE,KAAO+vD,EAAIj2B,IAAQ,EAAIp+B,KAAKC,IAAO0D,MAW5F+6F,IAAK,SAAWrqC,GAEZ,GAAIj2B,GAAGv6B,EAAI,GAAKF,EAAI,EACpB,OAAW,KAAN0wD,EAAiB,EACX,IAANA,EAAiB,IAChBxwD,GAAS,EAAJA,GAAUA,EAAI,EAAGu6B,EAAIz6B,EAAI,GAC/By6B,EAAIz6B,EAAI3D,KAAKwlG,KAAM,EAAI3hG,IAAQ,EAAI7D,KAAKC,IACpC4D,EAAI7D,KAAKo4F,IAAK,EAAG,IAAO/jC,GAAKr0D,KAAKsE,KAAO+vD,EAAIj2B,IAAQ,EAAIp+B,KAAKC,IAAO0D,GAAM,IAWxFo9F,MAAO,SAAW1sC,GAEd,GAAIj2B,GAAGv6B,EAAI,GAAKF,EAAI,EACpB,OAAW,KAAN0wD,EAAiB,EACX,IAANA,EAAiB,IAChBxwD,GAAS,EAAJA,GAAUA,EAAI,EAAGu6B,EAAIz6B,EAAI,GAC/By6B,EAAIz6B,EAAI3D,KAAKwlG,KAAM,EAAI3hG,IAAQ,EAAI7D,KAAKC,KACtCo0D,GAAK,GAAM,GAAa,IAAQxwD,EAAI7D,KAAKo4F,IAAK,EAAG,IAAO/jC,GAAK,IAAQr0D,KAAKsE,KAAO+vD,EAAIj2B,IAAQ,EAAIp+B,KAAKC,IAAO0D,IAC7GE,EAAI7D,KAAKo4F,IAAK,EAAG,KAAQ/jC,GAAK,IAAQr0D,KAAKsE,KAAO+vD,EAAIj2B,IAAQ,EAAIp+B,KAAKC,IAAO0D,GAAM,GAAM,KAWzG47F,MASIG,GAAI,SAAWrrC,GAEX,GAAIj2B,GAAI,OACR,OAAOi2B,GAAIA,IAAQj2B,EAAI,GAAMi2B,EAAIj2B,IAWrCsgE,IAAK,SAAWrqC,GAEZ,GAAIj2B,GAAI,OACR,SAASi2B,EAAIA,IAAQj2B,EAAI,GAAMi2B,EAAIj2B,GAAM,GAW7C2iE,MAAO,SAAW1sC,GAEd,GAAIj2B,GAAI,SACR,QAAOi2B,GAAK,GAAM,EAAW,IAAQA,EAAIA,IAAQj2B,EAAI,GAAMi2B,EAAIj2B,IACxD,KAAUi2B,GAAK,GAAMA,IAAQj2B,EAAI,GAAMi2B,EAAIj2B,GAAM,KAWhEohE,QASIE,GAAI,SAAWrrC,GAEX,MAAO,GAAIhtC,EAAO42E,OAAOuB,OAAOd,IAAK,EAAIrqC,IAW7CqqC,IAAK,SAAWrqC,GAEZ,MAAW,GAAI,KAAVA,EAEM,OAASA,EAAIA,EAEN,EAAI,KAAVA,EAED,QAAWA,GAAO,IAAM,MAAWA,EAAI,IAEhC,IAAM,KAAZA,EAED,QAAWA,GAAO,KAAO,MAAWA,EAAI,MAIxC,QAAWA,GAAO,MAAQ,MAAWA,EAAI,SAaxD0sC,MAAO,SAAW1sC,GAEd,MAAS,GAAJA,EAAoD,GAAnChtC,EAAO42E,OAAOuB,OAAOE,GAAQ,EAAJrrC,GACA,GAAxChtC,EAAO42E,OAAOuB,OAAOd,IAAS,EAAJrqC,EAAQ,GAAY,MAQjEhtC,EAAO42E,OAAOuF,QAAUn8E,EAAO42E,OAAOK,OAAOC,KAC7Cl3E,EAAO42E,OAAOD,OAAS32E,EAAO42E,OAAOK,OAAOC,KAC5Cl3E,EAAO42E,OAAOC,OAAS72E,EAAO42E,OAAOQ,UAAUC,IAC/Cr3E,EAAO42E,OAAOE,OAAS92E,EAAO42E,OAAOU,MAAMD,IAC3Cr3E,EAAO42E,OAAOG,OAAS/2E,EAAO42E,OAAOY,QAAQH,IAC7Cr3E,EAAO42E,OAAOI,OAASh3E,EAAO42E,OAAOc,QAAQL,IAuC7Cr3E,EAAO4wB,KAAO,SAAU54C,GAMpBF,KAAKE,KAAOA,EAOZF,KAAKmkC,KAAO,EAOZnkC,KAAKsmG,SAAW,EAchBtmG,KAAKq4C,IAAM,EAcXr4C,KAAK26C,QAAU,EAaf36C,KAAKimG,UAAY,EAajBjmG,KAAKwtF,eAAiB,EAAI,GAO1BxtF,KAAKipE,iBAAoB,EAAI,GAAM,IAOnCjpE,KAAKs6C,eAAiB,EAAM,GAW5Bt6C,KAAKumG,YAAc,GAYnBvmG,KAAKwmG,aAAexmG,KAAKy6C,WASzBz6C,KAAKw6C,WAAa,EAOlBx6C,KAAKymG,gBAAiB,EAStBzmG,KAAK4sF,OAAS,EASd5sF,KAAKkmG,IAAM,EASXlmG,KAAK0mG,OAAS,IASd1mG,KAAK2mG,OAAS,EAUd3mG,KAAK4mG,MAAQ,IASb5mG,KAAK6mG,MAAQ,EAOb7mG,KAAK8mG,cAAgB,EAMrB9mG,KAAK63F,WAAa,EAMlB73F,KAAK+mG,aAAe,EAMpB/mG,KAAKsxC,OAAS,GAAIppB,GAAO8+E,MAAMhnG,KAAKE,MAAM,GAM1CF,KAAKinG,YAAc,EAMnBjnG,KAAKknG,oBAAsB,EAM3BlnG,KAAKmnG,SAAW,EAMhBnnG,KAAKonG,gBAAkB,EAMvBpnG,KAAKqnG,cAAgB,EAMrBrnG,KAAKsnG,cAAe,EAMpBtnG,KAAKunG,YAITr/E,EAAO4wB,KAAKj2C,WAQR0jC,KAAM,WAEFvmC,KAAKmnG,SAAWl8D,KAAKoN,MACrBr4C,KAAKmkC,KAAO8G,KAAKoN,MACjBr4C,KAAKsxC,OAAOpmC,QACZlL,KAAK+mG,aAAe/mG,KAAKmkC,MAW7BzI,IAAK,SAAU8rE,GAIX,MAFAxnG,MAAKunG,QAAQxjG,KAAKyjG,GAEXA,GAWXt/F,OAAQ,SAAUu/F,GAEMl+F,SAAhBk+F,IAA6BA,GAAc,EAE/C,IAAID,GAAQ,GAAIt/E,GAAO8+E,MAAMhnG,KAAKE,KAAMunG,EAIxC,OAFAznG,MAAKunG,QAAQxjG,KAAKyjG,GAEXA,GASX3/D,UAAW,WAEP,IAAK,GAAI5kC,GAAI,EAAGA,EAAIjD,KAAKunG,QAAQrkG,OAAQD,IAErCjD,KAAKunG,QAAQtkG,GAAGF,SAGpB/C,MAAKunG,WAELvnG,KAAKsxC,OAAOzJ,aAShB5f,QAAS,WAGL,GAAIy/E,GAAkB1nG,KAAKmkC,IAG3BnkC,MAAKmkC,KAAO8G,KAAKoN,MAGjBr4C,KAAKimG,UAAYjmG,KAAKmkC,KAAOujE,GAWjCrkE,OAAQ,SAAUc,GAGd,GAAIujE,GAAkB1nG,KAAKmkC,IAG3BnkC,MAAKmkC,KAAO8G,KAAKoN,MAGjBr4C,KAAKimG,UAAYjmG,KAAKmkC,KAAOujE,EAG7B1nG,KAAKsmG,SAAWtmG,KAAKq4C,IAIrBr4C,KAAKq4C,IAAMlU,EAGXnkC,KAAK26C,QAAU36C,KAAKq4C,IAAMr4C,KAAKsmG,SAE3BtmG,KAAKE,KAAK82C,IAAIugD,gBAKdv3F,KAAK63F,WAAah3F,KAAKizB,MAAMjzB,KAAKm7B,IAAI,EAAI,IAASh8B,KAAKumG,aAAgBvmG,KAAK+mG,aAAe5iE,KAG5FnkC,KAAK+mG,aAAe5iE,EAAOnkC,KAAK63F,YAKhC73F,KAAKymG,gBAELzmG,KAAK2nG,uBAIJ3nG,KAAKE,KAAK0kC,SAGX5kC,KAAKsxC,OAAOjO,OAAOrjC,KAAKmkC,MAEpBnkC,KAAKunG,QAAQrkG,QAEblD,KAAK4nG,iBAajBA,aAAc,WAMV,IAHA,GAAI3kG,GAAI,EACJ8xB,EAAM/0B,KAAKunG,QAAQrkG,OAEZ6xB,EAAJ9xB,GAECjD,KAAKunG,QAAQtkG,GAAGogC,OAAOrjC,KAAKmkC,MAE5BlhC,KAKAjD,KAAKunG,QAAQ7+F,OAAOzF,EAAG,GACvB8xB,MAaZ4yE,qBAAsB,WAGlB3nG,KAAKinG,cACLjnG,KAAKknG,qBAAuBlnG,KAAK26C,QAG7B36C,KAAKinG,aAAkC,EAAnBjnG,KAAKumG,cAGzBvmG,KAAKwmG,aAAiF,EAAlE3lG,KAAKizB,MAAM,KAAO9zB,KAAKknG,oBAAsBlnG,KAAKinG,cACtEjnG,KAAKinG,YAAc,EACnBjnG,KAAKknG,oBAAsB,GAG/BlnG,KAAK4mG,MAAQ/lG,KAAKi7B,IAAI97B,KAAK4mG,MAAO5mG,KAAK26C,SACvC36C,KAAK6mG,MAAQhmG,KAAKm7B,IAAIh8B,KAAK6mG,MAAO7mG,KAAK26C,SAEvC36C,KAAK4sF,SAED5sF,KAAKq4C,IAAMr4C,KAAKonG,gBAAkB,MAElCpnG,KAAKkmG,IAAMrlG,KAAKo4B,MAAqB,IAAdj5B,KAAK4sF,QAAkB5sF,KAAKq4C,IAAMr4C,KAAKonG,kBAC9DpnG,KAAK0mG,OAAS7lG,KAAKi7B,IAAI97B,KAAK0mG,OAAQ1mG,KAAKkmG,KACzClmG,KAAK2mG,OAAS9lG,KAAKm7B,IAAIh8B,KAAK2mG,OAAQ3mG,KAAKkmG,KACzClmG,KAAKonG,gBAAkBpnG,KAAKq4C,IAC5Br4C,KAAK4sF,OAAS,IAWtBx9C,WAAY,WAERpvC,KAAKqnG,cAAgBp8D,KAAKoN,MAE1Br4C,KAAKsxC,OAAO7K,OAIZ,KAFA,GAAIxjC,GAAIjD,KAAKunG,QAAQrkG,OAEdD,KAEHjD,KAAKunG,QAAQtkG,GAAG+/F,UAWxB3zD,YAAa,WAGTrvC,KAAKmkC,KAAO8G,KAAKoN,MAEjBr4C,KAAK8mG,cAAgB9mG,KAAKmkC,KAAOnkC,KAAKqnG,cAEtCrnG,KAAKsxC,OAAO3K,QAIZ,KAFA,GAAI1jC,GAAIjD,KAAKunG,QAAQrkG,OAEdD,KAEHjD,KAAKunG,QAAQtkG,GAAGggG,WAWxB/2D,oBAAqB,WACjB,MAAqC,MAA7BlsC,KAAKmkC,KAAOnkC,KAAKmnG,WAU7BU,aAAc,SAAUC,GACpB,MAAO9nG,MAAKmkC,KAAO2jE,GAUvBC,oBAAqB,SAAUD,GAC3B,MAA6B,MAArB9nG,KAAKmkC,KAAO2jE,IAQxBpkE,MAAO,WAEH1jC,KAAKmnG,SAAWnnG,KAAKmkC,KACrBnkC,KAAK6nC,cAcbzkC,OAAOC,eAAe6kB,EAAO4wB,KAAKj2C,UAAW,cAEzCS,IAAK,WAED,MAAOtD,MAAKumG,aAIhB/iG,IAAK,SAAUC,GAEXzD,KAAKumG,YAAc9iG,EAInBzD,KAAKwtF,eAAiB,EAAI/pF,EAE1BzD,KAAKipE,iBAAyC,IAAtBjpE,KAAKwtF,eAE7BxtF,KAAKs6C,eAAiB,EAAM72C,KAMpCykB,EAAO4wB,KAAKj2C,UAAUC,YAAcolB,EAAO4wB,KAsB3C5wB,EAAO8+E,MAAQ,SAAU9mG,EAAMunG,GAEPl+F,SAAhBk+F,IAA6BA,GAAc,GAM/CznG,KAAKE,KAAOA,EAUZF,KAAKgoG,SAAU,EAMfhoG,KAAKynG,YAAcA,EAOnBznG,KAAKioG,SAAU,EAMfjoG,KAAK26C,QAAU,EAKf36C,KAAKsxC,UASLtxC,KAAK4jG,WAAa,GAAI17E,GAAOud,OAO7BzlC,KAAKkoG,SAAW,EAKhBloG,KAAKmoG,QAAU,IAOfnoG,KAAK4kC,QAAS,EAMd5kC,KAAK03C,aAAc,EAOnB13C,KAAKmnG,SAAW,EAMhBnnG,KAAKqnG,cAAgB,EAMrBrnG,KAAKooG,YAAc,EAMnBpoG,KAAKqoG,KAAOp9D,KAAKoN,MAMjBr4C,KAAK+sC,KAAO,EAMZ/sC,KAAKsoG,QAAU,EAMftoG,KAAKgtC,GAAK,EAMVhtC,KAAKuoG,MAAQ,EAMbvoG,KAAKwoG,SAAW,GASpBtgF,EAAO8+E,MAAMyB,OAAS,IAOtBvgF,EAAO8+E,MAAM0B,OAAS,IAOtBxgF,EAAO8+E,MAAM2B,KAAO,IAOpBzgF,EAAO8+E,MAAM4B,QAAU,IAEvB1gF,EAAO8+E,MAAMnkG,WAiBTqF,OAAQ,SAAU8oD,EAAOuS,EAAMslC,EAAaj1D,EAAU5M,EAAiB5S,GAEnE48B,EAAQnwD,KAAKo4B,MAAM+3B,EAEnB,IAAI83C,GAAO93C,CAIP83C,IAFc,IAAd9oG,KAAKqoG,KAEGroG,KAAKE,KAAKikC,KAAKA,KAIfnkC,KAAKqoG,IAGjB,IAAIh6D,GAAQ,GAAInmB,GAAO6gF,WAAW/oG,KAAMgxD,EAAO83C,EAAMD,EAAatlC,EAAM3vB,EAAU5M,EAAiB5S,EAQnG,OANAp0B,MAAKsxC,OAAOvtC,KAAKsqC,GAEjBruC,KAAK40C,QAEL50C,KAAKioG,SAAU,EAER55D,GAmBX3S,IAAK,SAAUs1B,EAAOpd,EAAU5M,GAE5B,MAAOhnC,MAAKkI,OAAO8oD,GAAO,EAAO,EAAGpd,EAAU5M,EAAiBrmC,MAAMkC,UAAUoxB,MAAMvuB,KAAK6uB,UAAW,KAqBzGpe,OAAQ,SAAU66C,EAAO63C,EAAaj1D,EAAU5M,GAE5C,MAAOhnC,MAAKkI,OAAO8oD,GAAO,EAAO63C,EAAaj1D,EAAU5M,EAAiBrmC,MAAMkC,UAAUoxB,MAAMvuB,KAAK6uB,UAAW,KAmBnHgvC,KAAM,SAAUvS,EAAOpd,EAAU5M,GAE7B,MAAOhnC,MAAKkI,OAAO8oD,GAAO,EAAM,EAAGpd,EAAU5M,EAAiBrmC,MAAMkC,UAAUoxB,MAAMvuB,KAAK6uB,UAAW,KASxGrpB,MAAO,SAAU8lD,GAEb,IAAIhxD,KAAKgoG,QAAT,CAKAhoG,KAAKmnG,SAAWnnG,KAAKE,KAAKikC,KAAKA,MAAQ6sB,GAAS,GAEhDhxD,KAAKgoG,SAAU,CAEf,KAAK,GAAI/kG,GAAI,EAAGA,EAAIjD,KAAKsxC,OAAOpuC,OAAQD,IAEpCjD,KAAKsxC,OAAOruC,GAAG6lG,KAAO9oG,KAAKsxC,OAAOruC,GAAG+tD,MAAQhxD,KAAKmnG,WAU1Dr8F,KAAM,SAAUk+F,GAEZhpG,KAAKgoG,SAAU,EAEKz+F,SAAhBy/F,IAA6BA,GAAc,GAE3CA,IAEAhpG,KAAKsxC,OAAOpuC,OAAS,IAU7BwN,OAAQ,SAAU29B,GAEd,IAAK,GAAIprC,GAAI,EAAGA,EAAIjD,KAAKsxC,OAAOpuC,OAAQD,IAEpC,GAAIjD,KAAKsxC,OAAOruC,KAAOorC,EAGnB,MADAruC,MAAKsxC,OAAOruC,GAAGw/F,eAAgB,GACxB,CAIf,QAAO,GAUX7tD,MAAO,WAEC50C,KAAKsxC,OAAOpuC,OAAS,IAGrBlD,KAAKsxC,OAAOqD,KAAK30C,KAAKg1C,aAEtBh1C,KAAKkoG,SAAWloG,KAAKsxC,OAAO,GAAGw3D,OAUvC9zD,YAAa,SAAUtwC,EAAGC,GAEtB,MAAID,GAAEokG,KAAOnkG,EAAEmkG,KAEJ,GAEFpkG,EAAEokG,KAAOnkG,EAAEmkG,KAET,EAGJ,GAUXG,mBAAoB,WAIhB,IAFAjpG,KAAKgtC,GAAKhtC,KAAKsxC,OAAOpuC,OAEflD,KAAKgtC,MAEJhtC,KAAKsxC,OAAOtxC,KAAKgtC,IAAIy1D,eAErBziG,KAAKsxC,OAAO5oC,OAAO1I,KAAKgtC,GAAI,EAIpChtC,MAAK+sC,KAAO/sC,KAAKsxC,OAAOpuC,OACxBlD,KAAKgtC,GAAK,GAYd3J,OAAQ,SAAUc,GAEd,GAAInkC,KAAK4kC,OAEL,OAAO,CAoBX,IAjBA5kC,KAAK26C,QAAUxW,EAAOnkC,KAAKqoG,KAC3BroG,KAAKqoG,KAAOlkE,EAGRnkC,KAAK26C,QAAU36C,KAAKmoG,SAKpBnoG,KAAKkpG,aAAa/kE,EAAOnkC,KAAK26C,SAGlC36C,KAAKsoG,QAAU,EAGftoG,KAAKipG,qBAEDjpG,KAAKgoG,SAAWhoG,KAAKqoG,MAAQroG,KAAKkoG,UAAYloG,KAAK+sC,KAAO,EAC9D,CACI,KAAO/sC,KAAKgtC,GAAKhtC,KAAK+sC,MAAQ/sC,KAAKgoG,SAE3BhoG,KAAKqoG,MAAQroG,KAAKsxC,OAAOtxC,KAAKgtC,IAAI87D,OAAS9oG,KAAKsxC,OAAOtxC,KAAKgtC,IAAIy1D,eAGhEziG,KAAKwoG,SAAYxoG,KAAKqoG,KAAOroG,KAAKsxC,OAAOtxC,KAAKgtC,IAAIgkB,OAAUhxD,KAAKqoG,KAAOroG,KAAKsxC,OAAOtxC,KAAKgtC,IAAI87D,MAEzF9oG,KAAKwoG,SAAW,IAEhBxoG,KAAKwoG,SAAWxoG,KAAKqoG,KAAOroG,KAAKsxC,OAAOtxC,KAAKgtC,IAAIgkB,OAGjDhxD,KAAKsxC,OAAOtxC,KAAKgtC,IAAIu2B,QAAS,GAE9BvjE,KAAKsxC,OAAOtxC,KAAKgtC,IAAI87D,KAAO9oG,KAAKwoG,SACjCxoG,KAAKsxC,OAAOtxC,KAAKgtC,IAAI4G,SAAS3sC,MAAMjH,KAAKsxC,OAAOtxC,KAAKgtC,IAAIhG,gBAAiBhnC,KAAKsxC,OAAOtxC,KAAKgtC,IAAI5Y,OAE1Fp0B,KAAKsxC,OAAOtxC,KAAKgtC,IAAI67D,YAAc,GAExC7oG,KAAKsxC,OAAOtxC,KAAKgtC,IAAI67D,cACrB7oG,KAAKsxC,OAAOtxC,KAAKgtC,IAAI87D,KAAO9oG,KAAKwoG,SACjCxoG,KAAKsxC,OAAOtxC,KAAKgtC,IAAI4G,SAAS3sC,MAAMjH,KAAKsxC,OAAOtxC,KAAKgtC,IAAIhG,gBAAiBhnC,KAAKsxC,OAAOtxC,KAAKgtC,IAAI5Y,QAI/Fp0B,KAAKsoG,UACLtoG,KAAKsxC,OAAOtxC,KAAKgtC,IAAIy1D,eAAgB,EACrCziG,KAAKsxC,OAAOtxC,KAAKgtC,IAAI4G,SAAS3sC,MAAMjH,KAAKsxC,OAAOtxC,KAAKgtC,IAAIhG,gBAAiBhnC,KAAKsxC,OAAOtxC,KAAKgtC,IAAI5Y,OAGnGp0B,KAAKgtC,IASThtC,MAAKsxC,OAAOpuC,OAASlD,KAAKsoG,QAE1BtoG,KAAK40C,SAIL50C,KAAKioG,SAAU,EACfjoG,KAAK4jG,WAAWn8D,SAASznC,OAIjC,MAAIA,MAAKioG,SAAWjoG,KAAKynG,aAEd,GAIA,GASfhhE,MAAO,WAEEzmC,KAAKgoG,UAKVhoG,KAAK03C,aAAc,EAEf13C,KAAK4kC,SAKT5kC,KAAKqnG,cAAgBrnG,KAAKE,KAAKikC,KAAKA,KAEpCnkC,KAAK4kC,QAAS,KASlBo+D,OAAQ,YAEAhjG,KAAK4kC,QAAW5kC,KAAKgoG,UAKzBhoG,KAAKqnG,cAAgBrnG,KAAKE,KAAKikC,KAAKA,KAEpCnkC,KAAK4kC,QAAS,IAUlBskE,aAAc,SAAUC,GAEpB,IAAK,GAAIlmG,GAAI,EAAGA,EAAIjD,KAAKsxC,OAAOpuC,OAAQD,IAEpC,IAAKjD,KAAKsxC,OAAOruC,GAAGw/F,cACpB,CAEI,GAAI3tE,GAAI90B,KAAKsxC,OAAOruC,GAAG6lG,KAAOK,CAEtB,GAAJr0E,IAEAA,EAAI,GAIR90B,KAAKsxC,OAAOruC,GAAG6lG,KAAO9oG,KAAKqoG,KAAOvzE,EAI1C,GAAIjwB,GAAI7E,KAAKkoG,SAAWiB,CAEhB,GAAJtkG,EAEA7E,KAAKkoG,SAAWloG,KAAKqoG,KAIrBroG,KAAKkoG,SAAWloG,KAAKqoG,KAAOxjG,GAUpC8hC,OAAQ,WAEJ,GAAK3mC,KAAK4kC,OAAV,CAKA,GAAIyT,GAAMr4C,KAAKE,KAAKikC,KAAKA,IACzBnkC,MAAKooG,aAAe/vD,EAAMr4C,KAAKqoG,KAC/BroG,KAAKqoG,KAAOhwD,EAEZr4C,KAAKkpG,aAAalpG,KAAKqnG,eAEvBrnG,KAAK4kC,QAAS,EACd5kC,KAAK03C,aAAc,IASvBurD,QAAS,WAEDjjG,KAAK03C,aAML13C,KAAK2mC,UAWbkB,UAAW,WAEP7nC,KAAK4jG,WAAW/7D,YAChB7nC,KAAKsxC,OAAOpuC,OAAS,EACrBlD,KAAK+sC,KAAO,EACZ/sC,KAAKgtC,GAAK,GAUdjqC,QAAS,WAEL/C,KAAK4jG,WAAW/7D,YAChB7nC,KAAKgoG,SAAU,EACfhoG,KAAKsxC,UACLtxC,KAAK+sC,KAAO,EACZ/sC,KAAKgtC,GAAK,IAWlB5pC,OAAOC,eAAe6kB,EAAO8+E,MAAMnkG,UAAW,QAE1CS,IAAK,WACD,MAAOtD,MAAKkoG,YAUpB9kG,OAAOC,eAAe6kB,EAAO8+E,MAAMnkG,UAAW,YAE1CS,IAAK,WAED,MAAItD,MAAKgoG,SAAWhoG,KAAKkoG,SAAWloG,KAAKqoG,KAE9BroG,KAAKkoG,SAAWloG,KAAKqoG,KAIrB,KAYnBjlG,OAAOC,eAAe6kB,EAAO8+E,MAAMnkG,UAAW,UAE1CS,IAAK,WACD,MAAOtD,MAAKsxC,OAAOpuC,UAU3BE,OAAOC,eAAe6kB,EAAO8+E,MAAMnkG,UAAW,MAE1CS,IAAK,WAED,MAAItD,MAAKgoG,QAEEhoG,KAAKqoG,KAAOroG,KAAKmnG,SAAWnnG,KAAKooG,YAIjC,KAYnBhlG,OAAOC,eAAe6kB,EAAO8+E,MAAMnkG,UAAW,WAE1CS,IAAK,WAED,MAAItD,MAAKgoG,QAEY,KAAVhoG,KAAKgmG,GAIL,KAOnB99E,EAAO8+E,MAAMnkG,UAAUC,YAAcolB,EAAO8+E,MA2B5C9+E,EAAO6gF,WAAa,SAAUvB,EAAOx2C,EAAO83C,EAAMD,EAAatlC,EAAM3vB,EAAU5M,EAAiB5S,GAO5Fp0B,KAAKwnG,MAAQA,EAKbxnG,KAAKgxD,MAAQA,EAKbhxD,KAAK8oG,KAAOA,EAKZ9oG,KAAK6oG,YAAcA,EAAc,EAKjC7oG,KAAKujE,KAAOA,EAKZvjE,KAAK4zC,SAAWA,EAKhB5zC,KAAKgnC,gBAAkBA,EAKvBhnC,KAAKo0B,KAAOA,EAMZp0B,KAAKyiG,eAAgB,GAIzBv6E,EAAO6gF,WAAWlmG,UAAUC,YAAcolB,EAAO6gF,WAgBjD7gF,EAAOo8C,iBAAmB,SAAUtiD,GAKhChiB,KAAKgiB,OAASA,EAKdhiB,KAAKE,KAAO8hB,EAAO9hB,KASnBF,KAAKopG,aAAe,KAMpBppG,KAAKqpG,YAAc,KAMnBrpG,KAAKspG,iBAAkB,EAMvBtpG,KAAKupG,UAAW,EAOhBvpG,KAAKwpG,WAAa,KAMlBxpG,KAAKypG,UAMLzpG,KAAK0pG,kBAITxhF,EAAOo8C,iBAAiBzhE,WAYpB2mE,cAAe,SAAUI,EAAW99D,GAEhC,GAAkBvC,SAAdqgE,EAEA,OAAO,CAGX,IAAI5pE,KAAKupG,SAGL,IAAK,GAAII,KAAQ3pG,MAAKypG,OAElBzpG,KAAKypG,OAAOE,GAAMhf,gBAAgB/gB,EAwB1C,OApBA5pE,MAAKwpG,WAAa5/B,EAEJrgE,SAAVuC,GAAiC,OAAVA,EAEvB9L,KAAK8L,MAAQ,EAIQ,gBAAVA,GAEP9L,KAAK6pE,UAAY/9D,EAIjB9L,KAAK8L,MAAQA,EAIrB9L,KAAKupG,UAAW,GAET,GAaXK,cAAe,SAAUhgC,EAAW99D,GAIhC,GAFA9L,KAAKwpG,WAAa5/B,EAAUnyC,QAExBz3B,KAAKupG,SAGL,IAAK,GAAII,KAAQ3pG,MAAKypG,OAElBzpG,KAAKypG,OAAOE,GAAMhf,gBAAgB3qF,KAAKwpG,WAsB/C,OAlBcjgG,UAAVuC,GAAiC,OAAVA,EAEvB9L,KAAK8L,MAAQ,EAIQ,gBAAVA,GAEP9L,KAAK6pE,UAAY/9D,EAIjB9L,KAAK8L,MAAQA,EAIrB9L,KAAKupG,UAAW,GAET,GAeX7tE,IAAK,SAAUpE,EAAMs1D,EAAQtpB,EAAWC,EAAMsmC,GAoC1C,MAlCAjd,GAASA,MACTtpB,EAAYA,GAAa,GAEZ/5D,SAATg6D,IAAsBA,GAAO,GAGTh6D,SAApBsgG,IAIIA,EAFAjd,GAA+B,gBAAdA,GAAO,IAEN,GAIA,GAI1B5sF,KAAK0pG,iBAEL1pG,KAAKwpG,WAAWM,gBAAgBld,EAAQid,EAAiB7pG,KAAK0pG,eAE9D1pG,KAAKypG,OAAOnyE,GAAQ,GAAIpP,GAAOk7C,UAAUpjE,KAAKE,KAAMF,KAAKgiB,OAAQsV,EAAMt3B,KAAKwpG,WAAYxpG,KAAK0pG,cAAepmC,EAAWC,GAEvHvjE,KAAKqpG,YAAcrpG,KAAKypG,OAAOnyE,GAK3Bt3B,KAAKgiB,OAAOQ,gBAEZxiB,KAAKgiB,OAAOyN,gBAAiB,GAG1BzvB,KAAKypG,OAAOnyE,IAYvByyE,eAAgB,SAAUnd,EAAQid,GAENtgG,SAApBsgG,IAAiCA,GAAkB,EAEvD,KAAK,GAAI5mG,GAAI,EAAGA,EAAI2pF,EAAO1pF,OAAQD,IAE/B,GAAI4mG,KAAoB,GAEpB,GAAIjd,EAAO3pF,GAAKjD,KAAKwpG,WAAWz6E,MAE5B,OAAO,MAKX,IAAI/uB,KAAKwpG,WAAWQ,eAAepd,EAAO3pF,OAAQ,EAE9C,OAAO,CAKnB,QAAO,GAiBXogE,KAAM,SAAU/rC,EAAMgsC,EAAWC,EAAMC,GAEnC,MAAIxjE,MAAKypG,OAAOnyE,GAERt3B,KAAKqpG,cAAgBrpG,KAAKypG,OAAOnyE,GAE7Bt3B,KAAKqpG,YAAYY,aAAc,GAE/BjqG,KAAKqpG,YAAYzkE,QAAS,EACnB5kC,KAAKqpG,YAAYhmC,KAAKC,EAAWC,EAAMC,IAG3CxjE,KAAKqpG,aAIRrpG,KAAKqpG,aAAerpG,KAAKqpG,YAAYY,WAErCjqG,KAAKqpG,YAAYv+F,OAGrB9K,KAAKqpG,YAAcrpG,KAAKypG,OAAOnyE,GAC/Bt3B,KAAKqpG,YAAYzkE,QAAS,EAC1B5kC,KAAKopG,aAAeppG,KAAKqpG,YAAYD,aAC9BppG,KAAKqpG,YAAYhmC,KAAKC,EAAWC,EAAMC,IAtBtD,QAoCJ14D,KAAM,SAAUwsB,EAAM8tC,GAEC77D,SAAf67D,IAA4BA,GAAa,GAEzB,gBAAT9tC,GAEHt3B,KAAKypG,OAAOnyE,KAEZt3B,KAAKqpG,YAAcrpG,KAAKypG,OAAOnyE,GAC/Bt3B,KAAKqpG,YAAYv+F,KAAKs6D,IAKtBplE,KAAKqpG,aAELrpG,KAAKqpG,YAAYv+F,KAAKs6D,IAalC/hC,OAAQ,WAEJ,MAAIrjC,MAAKspG,kBAAoBtpG,KAAKgiB,OAAOvgB,SAE9B,EAGPzB,KAAKqpG,aAAerpG,KAAKqpG,YAAYhmE,UAErCrjC,KAAKopG,aAAeppG,KAAKqpG,YAAYD,cAC9B,IAGJ,GAUXn3D,KAAM,SAAUF,GAER/xC,KAAKqpG,cAELrpG,KAAKqpG,YAAYp3D,KAAKF,GACtB/xC,KAAKopG,aAAeppG,KAAKqpG,YAAYD,eAW7Cl3D,SAAU,SAAUH,GAEZ/xC,KAAKqpG,cAELrpG,KAAKqpG,YAAYn3D,SAASH,GAC1B/xC,KAAKopG,aAAeppG,KAAKqpG,YAAYD,eAY7Cc,aAAc,SAAU5yE,GAEpB,MAAoB,gBAATA,IAEHt3B,KAAKypG,OAAOnyE,GAELt3B,KAAKypG,OAAOnyE,GAIpB,MASX6yE,aAAc,WAGVnqG,KAAKgiB,OAAOjW,WAAW9L,KAAKuO,aAAaxO,KAAKopG,aAAap8B,QAU/DjqE,QAAS,WAEL,GAAI4mG,GAAO,IAEX,KAAK,GAAIA,KAAQ3pG,MAAKypG,OAEdzpG,KAAKypG,OAAOvyE,eAAeyyE,IAE3B3pG,KAAKypG,OAAOE,GAAM5mG,SAI1B/C,MAAKypG,UACLzpG,KAAK0pG,iBACL1pG,KAAKwpG,WAAa,KAClBxpG,KAAKqpG,YAAc,KACnBrpG,KAAKopG,aAAe,KACpBppG,KAAKgiB,OAAS,KACdhiB,KAAKE,KAAO,OAMpBgoB,EAAOo8C,iBAAiBzhE,UAAUC,YAAcolB,EAAOo8C,iBAOvDlhE,OAAOC,eAAe6kB,EAAOo8C,iBAAiBzhE,UAAW,aAErDS,IAAK,WACD,MAAOtD,MAAKwpG,cAUpBpmG,OAAOC,eAAe6kB,EAAOo8C,iBAAiBzhE,UAAW,cAErDS,IAAK,WAED,MAAOtD,MAAKwpG,WAAWz6E,SAS/B3rB,OAAOC,eAAe6kB,EAAOo8C,iBAAiBzhE,UAAW,UAErDS,IAAK,WAED,MAAOtD,MAAKqpG,YAAYvF,UAI5BtgG,IAAK,SAAUC,GAEXzD,KAAKqpG,YAAYzkE,OAASnhC,KAUlCL,OAAOC,eAAe6kB,EAAOo8C,iBAAiBzhE,UAAW,QAErDS,IAAK,WAED,MAAItD,MAAKqpG,YAEErpG,KAAKqpG,YAAY/xE,KAF5B,UAaRl0B,OAAOC,eAAe6kB,EAAOo8C,iBAAiBzhE,UAAW,SAErDS,IAAK,WAED,MAAItD,MAAKopG,aAEEppG,KAAKopG,aAAa5gG,MAF7B,QAOJhF,IAAK,SAAUC,GAEU,gBAAVA,IAAsBzD,KAAKwpG,YAAkD,OAApCxpG,KAAKwpG,WAAWY,SAAS3mG,KAEzEzD,KAAKopG,aAAeppG,KAAKwpG,WAAWY,SAAS3mG,GAEzCzD,KAAKopG,cAELppG,KAAKgiB,OAAOiI,SAASjqB,KAAKopG,kBAY1ChmG,OAAOC,eAAe6kB,EAAOo8C,iBAAiBzhE,UAAW,aAErDS,IAAK,WAED,MAAItD,MAAKopG,aAEEppG,KAAKopG,aAAa9xE,KAF7B,QAOJ9zB,IAAK,SAAUC,GAEU,gBAAVA,IAAsBzD,KAAKwpG,YAAwD,OAA1CxpG,KAAKwpG,WAAWa,eAAe5mG,IAE/EzD,KAAKopG,aAAeppG,KAAKwpG,WAAWa,eAAe5mG,GAE/CzD,KAAKopG,eAELppG,KAAKsqG,YAActqG,KAAKopG,aAAa5gG,MAErCxI,KAAKgiB,OAAOiI,SAASjqB,KAAKopG,gBAK9B72F,QAAQ2iB,KAAK,yBAA2BzxB,MA4BpDykB,EAAOk7C,UAAY,SAAUljE,EAAM0B,EAAQ01B,EAAMsyC,EAAWgjB,EAAQtpB,EAAWC,GAE9Dh6D,SAATg6D,IAAsBA,GAAO,GAKjCvjE,KAAKE,KAAOA,EAMZF,KAAK6lE,QAAUjkE,EAMf5B,KAAKwpG,WAAa5/B,EAKlB5pE,KAAKs3B,KAAOA,EAMZt3B,KAAKuqG,WACLvqG,KAAKuqG,QAAUvqG,KAAKuqG,QAAQj2E,OAAOs4D,GAKnC5sF,KAAKgxD,MAAQ,IAAOsS,EAKpBtjE,KAAKujE,KAAOA,EAKZvjE,KAAKwqG,UAAY,EAMjBxqG,KAAKwjE,gBAAiB,EAMtBxjE,KAAKyqG,YAAa,EAMlBzqG,KAAKiqG,WAAY,EAMjBjqG,KAAK8jG,UAAW,EAOhB9jG,KAAK0qG,gBAAkB,EAOvB1qG,KAAKsqG,YAAc,EAOnBtqG,KAAK2qG,WAAa,EAOlB3qG,KAAK4qG,WAAa,EAKlB5qG,KAAKopG,aAAeppG,KAAKwpG,WAAWY,SAASpqG,KAAKuqG,QAAQvqG,KAAKsqG,cAK/DtqG,KAAKwjG,QAAU,GAAIt7E,GAAOud,OAQ1BzlC,KAAK6qG,SAAW,KAKhB7qG,KAAK4jG,WAAa,GAAI17E,GAAOud,OAK7BzlC,KAAKyjG,OAAS,GAAIv7E,GAAOud,OAGzBzlC,KAAKE,KAAKsmC,QAAQ9K,IAAI17B,KAAKwmC,QAASxmC,MACpCA,KAAKE,KAAKwmC,SAAShL,IAAI17B,KAAK0mC,SAAU1mC,OAI1CkoB,EAAOk7C,UAAUvgE,WAWbwgE,KAAM,SAAUC,EAAWC,EAAMC,GAsC7B,MApCyB,gBAAdF,KAGPtjE,KAAKgxD,MAAQ,IAAOsS,GAGJ,iBAATC,KAGPvjE,KAAKujE,KAAOA,GAGc,mBAAnBC,KAGPxjE,KAAKwjE,eAAiBA,GAG1BxjE,KAAKiqG,WAAY,EACjBjqG,KAAKyqG,YAAa,EAClBzqG,KAAK4kC,QAAS,EACd5kC,KAAKwqG,UAAY,EAEjBxqG,KAAK8qG,eAAiB9qG,KAAKE,KAAKikC,KAAKA,KACrCnkC,KAAK+qG,eAAiB/qG,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAKgxD,MAEjDhxD,KAAKsqG,YAAc,EACnBtqG,KAAKgrG,oBAAmB,GAAO,GAE/BhrG,KAAK6lE,QAAQv0B,OAAO25D,0BAA0BjrG,KAAK6lE,QAAS7lE,MAE5DA,KAAKwjG,QAAQ/7D,SAASznC,KAAK6lE,QAAS7lE,MAEpCA,KAAK6lE,QAAQpC,WAAW4lC,YAAcrpG,KACtCA,KAAK6lE,QAAQpC,WAAW2lC,aAAeppG,KAAKopG,aAErCppG,MASXonC,QAAS,WAELpnC,KAAKiqG,WAAY,EACjBjqG,KAAKyqG,YAAa,EAClBzqG,KAAK4kC,QAAS,EACd5kC,KAAKwqG,UAAY,EAEjBxqG,KAAK8qG,eAAiB9qG,KAAKE,KAAKikC,KAAKA,KACrCnkC,KAAK+qG,eAAiB/qG,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAKgxD,MAEjDhxD,KAAKsqG,YAAc,EAEnBtqG,KAAKopG,aAAeppG,KAAKwpG,WAAWY,SAASpqG,KAAKuqG,QAAQvqG,KAAKsqG,cAE/DtqG,KAAK6lE,QAAQ57C,SAASjqB,KAAKopG,cAE3BppG,KAAK6lE,QAAQpC,WAAW4lC,YAAcrpG,KACtCA,KAAK6lE,QAAQpC,WAAW2lC,aAAeppG,KAAKopG,aAE5CppG,KAAKwjG,QAAQ/7D,SAASznC,KAAK6lE,QAAS7lE,OAWxCiqB,SAAU,SAAS1b,EAAS28F,GAExB,GAAIC,EAQJ,IAN2B5hG,SAAvB2hG,IAEAA,GAAqB,GAIF,gBAAZ38F,GAEP,IAAK,GAAItL,GAAI,EAAGA,EAAIjD,KAAKuqG,QAAQrnG,OAAQD,IAEjCjD,KAAKwpG,WAAWY,SAASpqG,KAAKuqG,QAAQtnG,IAAIq0B,OAAS/oB,IAEnD48F,EAAaloG,OAIpB,IAAuB,gBAAZsL,GAEZ,GAAI28F,EAEAC,EAAa58F,MAIb,KAAK,GAAItL,GAAI,EAAGA,EAAIjD,KAAKuqG,QAAQrnG,OAAQD,IAEjCjD,KAAKuqG,QAAQtnG,KAAOkoG,IAEpBA,EAAaloG,EAMzBkoG,KAGAnrG,KAAKsqG,YAAca,EAAa,EAGhCnrG,KAAK+qG,eAAiB/qG,KAAKE,KAAKikC,KAAKA,KAErCnkC,KAAKqjC,WAabv4B,KAAM,SAAUs6D,EAAYgmC,GAEL7hG,SAAf67D,IAA4BA,GAAa,GACpB77D,SAArB6hG,IAAkCA,GAAmB,GAEzDprG,KAAKiqG,WAAY,EACjBjqG,KAAKyqG,YAAa,EAClBzqG,KAAK4kC,QAAS,EAEVwgC,IAEAplE,KAAKopG,aAAeppG,KAAKwpG,WAAWY,SAASpqG,KAAKuqG,QAAQ,IAC1DvqG,KAAK6lE,QAAQ57C,SAASjqB,KAAKopG,eAG3BgC,IAEAprG,KAAK6lE,QAAQv0B,OAAO+5D,6BAA6BrrG,KAAK6lE,QAAS7lE,MAC/DA,KAAK4jG,WAAWn8D,SAASznC,KAAK6lE,QAAS7lE,QAU/CwmC,QAAS,WAEDxmC,KAAKiqG,YAELjqG,KAAK2qG,WAAa3qG,KAAK+qG,eAAiB/qG,KAAKE,KAAKikC,KAAKA,OAU/DuC,SAAU,WAEF1mC,KAAKiqG,YAELjqG,KAAK+qG,eAAiB/qG,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAK2qG,aAUzDtnE,OAAQ,WAEJ,MAAIrjC,MAAK8jG,UAEE,EAGP9jG,KAAKiqG,WAAajqG,KAAKE,KAAKikC,KAAKA,MAAQnkC,KAAK+qG,gBAE9C/qG,KAAK4qG,WAAa,EAGlB5qG,KAAK2qG,WAAa3qG,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAK+qG,eAE7C/qG,KAAK8qG,eAAiB9qG,KAAKE,KAAKikC,KAAKA,KAEjCnkC,KAAK2qG,WAAa3qG,KAAKgxD,QAGvBhxD,KAAK4qG,WAAa/pG,KAAKizB,MAAM9zB,KAAK2qG,WAAa3qG,KAAKgxD,OACpDhxD,KAAK2qG,YAAe3qG,KAAK4qG,WAAa5qG,KAAKgxD,OAI/ChxD,KAAK+qG,eAAiB/qG,KAAKE,KAAKikC,KAAKA,MAAQnkC,KAAKgxD,MAAQhxD,KAAK2qG,YAE/D3qG,KAAKsqG,aAAetqG,KAAK4qG,WAErB5qG,KAAKsqG,aAAetqG,KAAKuqG,QAAQrnG,OAE7BlD,KAAKujE,MAGLvjE,KAAKsqG,aAAetqG,KAAKuqG,QAAQrnG,OACjClD,KAAKopG,aAAeppG,KAAKwpG,WAAWY,SAASpqG,KAAKuqG,QAAQvqG,KAAKsqG,cAG3DtqG,KAAKopG,cAELppG,KAAK6lE,QAAQ57C,SAASjqB,KAAKopG,cAG/BppG,KAAKwqG,YACLxqG,KAAK6lE,QAAQv0B,OAAOg6D,yBAAyBtrG,KAAK6lE,QAAS7lE,MAC3DA,KAAKyjG,OAAOh8D,SAASznC,KAAK6lE,QAAS7lE,MAE/BA,KAAK6qG,UAEL7qG,KAAK6qG,SAASpjE,SAASznC,KAAMA,KAAKopG,gBAGzBppG,KAAKwpG,aAIP,IAKXxpG,KAAK8oB,YACE,GAKJ9oB,KAAKgrG,oBAAmB,KAIhC,GAgBXA,mBAAoB,SAAUO,EAAcC,GAIxC,GAFiBjiG,SAAbiiG,IAA0BA,GAAW,IAEpCxrG,KAAKwpG,WAGN,OAAO;AAIX,GAAIz4F,GAAM/Q,KAAKopG,aAAa5gG,KAS5B,OAPAxI,MAAKopG,aAAeppG,KAAKwpG,WAAWY,SAASpqG,KAAKuqG,QAAQvqG,KAAKsqG,cAE3DtqG,KAAKopG,eAAiBoC,IAAcA,GAAYz6F,IAAQ/Q,KAAKopG,aAAa5gG,QAE1ExI,KAAK6lE,QAAQ57C,SAASjqB,KAAKopG,cAG3BppG,KAAK6qG,UAAYU,GAEjBvrG,KAAK6qG,SAASpjE,SAASznC,KAAMA,KAAKopG,gBAGzBppG,KAAKwpG,aAIP,GAWfv3D,KAAM,SAAUF,GAEKxoC,SAAbwoC,IAA0BA,EAAW,EAEzC,IAAIjmC,GAAQ9L,KAAKsqG,YAAcv4D,CAE3BjmC,IAAS9L,KAAKuqG,QAAQrnG,SAElBlD,KAAKujE,KAELz3D,GAAS9L,KAAKuqG,QAAQrnG,OAItB4I,EAAQ9L,KAAKuqG,QAAQrnG,OAAS,GAIlC4I,IAAU9L,KAAKsqG,cAEftqG,KAAKsqG,YAAcx+F,EACnB9L,KAAKgrG,oBAAmB,KAWhC94D,SAAU,SAAUH,GAECxoC,SAAbwoC,IAA0BA,EAAW,EAEzC,IAAIjmC,GAAQ9L,KAAKsqG,YAAcv4D,CAEnB,GAARjmC,IAEI9L,KAAKujE,KAELz3D,EAAQ9L,KAAKuqG,QAAQrnG,OAAS4I,EAI9BA,KAIJA,IAAU9L,KAAKsqG,cAEftqG,KAAKsqG,YAAcx+F,EACnB9L,KAAKgrG,oBAAmB,KAWhCrgB,gBAAiB,SAAU/gB,GAEvB5pE,KAAKwpG,WAAa5/B,EAClB5pE,KAAKopG,aAAeppG,KAAKwpG,WAAaxpG,KAAKwpG,WAAWY,SAASpqG,KAAKuqG,QAAQvqG,KAAKsqG,YAActqG,KAAKuqG,QAAQrnG,SAAW,MAS3HH,QAAS,WAEA/C,KAAKwpG,aAMVxpG,KAAKE,KAAKsmC,QAAQ91B,OAAO1Q,KAAKwmC,QAASxmC,MACvCA,KAAKE,KAAKwmC,SAASh2B,OAAO1Q,KAAK0mC,SAAU1mC,MAEzCA,KAAKE,KAAO,KACZF,KAAK6lE,QAAU,KACf7lE,KAAKuqG,QAAU,KACfvqG,KAAKwpG,WAAa,KAClBxpG,KAAKopG,aAAe,KACpBppG,KAAKiqG,WAAY,EAEjBjqG,KAAKwjG,QAAQr5D,UACbnqC,KAAKyjG,OAAOt5D,UACZnqC,KAAK4jG,WAAWz5D,UAEZnqC,KAAK6qG,UAEL7qG,KAAK6qG,SAAS1gE,YAWtBrhB,SAAU,WAEN9oB,KAAKsqG,YAActqG,KAAKuqG,QAAQrnG,OAAS,EACzClD,KAAKopG,aAAeppG,KAAKwpG,WAAWY,SAASpqG,KAAKuqG,QAAQvqG,KAAKsqG,cAE/DtqG,KAAKiqG,WAAY,EACjBjqG,KAAKyqG,YAAa,EAClBzqG,KAAK4kC,QAAS,EAEd5kC,KAAK6lE,QAAQv0B,OAAO+5D,6BAA6BrrG,KAAK6lE,QAAS7lE,MAE/DA,KAAK4jG,WAAWn8D,SAASznC,KAAK6lE,QAAS7lE,MAEnCA,KAAKwjE,gBAELxjE,KAAK6lE,QAAQuC,SAOzBlgD,EAAOk7C,UAAUvgE,UAAUC,YAAcolB,EAAOk7C,UAMhDhgE,OAAOC,eAAe6kB,EAAOk7C,UAAUvgE,UAAW,UAE9CS,IAAK,WAED,MAAOtD,MAAK8jG,UAIhBtgG,IAAK,SAAUC,GAEXzD,KAAK8jG,SAAWrgG,EAEZA,EAGAzD,KAAK0qG,gBAAkB1qG,KAAKE,KAAKikC,KAAKA,KAKlCnkC,KAAKiqG,YAELjqG,KAAK+qG,eAAiB/qG,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAKgxD,UAajE5tD,OAAOC,eAAe6kB,EAAOk7C,UAAUvgE,UAAW,cAE9CS,IAAK,WACD,MAAOtD,MAAKuqG,QAAQrnG,UAS5BE,OAAOC,eAAe6kB,EAAOk7C,UAAUvgE,UAAW,SAE9CS,IAAK,WAED,MAA0B,QAAtBtD,KAAKopG,aAEEppG,KAAKopG,aAAa5gG,MAIlBxI,KAAKsqG,aAKpB9mG,IAAK,SAAUC,GAEXzD,KAAKopG,aAAeppG,KAAKwpG,WAAWY,SAASpqG,KAAKuqG,QAAQ9mG,IAEhC,OAAtBzD,KAAKopG,eAELppG,KAAKsqG,YAAc7mG,EACnBzD,KAAK6lE,QAAQ57C,SAASjqB,KAAKopG,cAEvBppG,KAAK6qG,UAEL7qG,KAAK6qG,SAASpjE,SAASznC,KAAMA,KAAKopG,kBAYlDhmG,OAAOC,eAAe6kB,EAAOk7C,UAAUvgE,UAAW,SAE9CS,IAAK,WAED,MAAOzC,MAAKo4B,MAAM,IAAOj5B,KAAKgxD,QAIlCxtD,IAAK,SAAUC,GAEPA,GAAS,IAETzD,KAAKgxD,MAAQ,IAAOvtD,MAWhCL,OAAOC,eAAe6kB,EAAOk7C,UAAUvgE,UAAW,gBAE9CS,IAAK,WAED,MAA0B,QAAlBtD,KAAK6qG,UAIjBrnG,IAAK,SAAUC,GAEPA,GAA2B,OAAlBzD,KAAK6qG,SAEd7qG,KAAK6qG,SAAW,GAAI3iF,GAAOud,OAErBhiC,GAA2B,OAAlBzD,KAAK6qG,WAEpB7qG,KAAK6qG,SAAS1gE,UACdnqC,KAAK6qG,SAAW,SAqB5B3iF,EAAOk7C,UAAUqoC,mBAAqB,SAAU3U,EAAQ5rF,EAAOJ,EAAM4gG,EAAQC,GAE1DpiG,SAAXmiG,IAAwBA,EAAS,GAErC,IAAIxyE,MACAptB,EAAQ,EAEZ,IAAYhB,EAARI,EAEA,IAAK,GAAIjI,GAAIiI,EAAYJ,GAAL7H,EAAWA,IAKvB6I,EAHmB,gBAAZ6/F,GAGCzjF,EAAOiN,MAAMuB,IAAIzzB,EAAEkkB,WAAYwkF,EAAS,IAAK,GAI7C1oG,EAAEkkB,WAGdrb,EAAQgrF,EAAShrF,EAAQ4/F,EAEzBxyE,EAAOn1B,KAAK+H,OAKhB,KAAK,GAAI7I,GAAIiI,EAAOjI,GAAK6H,EAAM7H,IAKvB6I,EAHmB,gBAAZ6/F,GAGCzjF,EAAOiN,MAAMuB,IAAIzzB,EAAEkkB,WAAYwkF,EAAS,IAAK,GAI7C1oG,EAAEkkB,WAGdrb,EAAQgrF,EAAShrF,EAAQ4/F,EAEzBxyE,EAAOn1B,KAAK+H,EAIpB,OAAOotB,IAsBXhR,EAAOipD,MAAQ,SAAU3oE,EAAOnD,EAAGC,EAAGqB,EAAOC,EAAQ0wB,GAKjDt3B,KAAKwI,MAAQA,EAKbxI,KAAKqF,EAAIA,EAKTrF,KAAKsF,EAAIA,EAKTtF,KAAK2G,MAAQA,EAKb3G,KAAK4G,OAASA,EAKd5G,KAAKs3B,KAAOA,EAKZt3B,KAAKmtB,QAAUtsB,KAAKizB,MAAMntB,EAAQ,GAKlC3G,KAAKotB,QAAUvsB,KAAKizB,MAAMltB,EAAS,GAKnC5G,KAAKg5B,SAAW9Q,EAAOrnB,KAAKm4B,SAAS,EAAG,EAAGryB,EAAOC,GAMlD5G,KAAK4rG,SAAU,EAMf5rG,KAAK6rG,kBAAoB,KAMzB7rG,KAAKswB,SAAU,EAKftwB,KAAKmwB,YAAcxpB,EAKnB3G,KAAKqwB,YAAczpB,EAMnB5G,KAAKuwB,kBAAoB,EAMzBvwB,KAAKwwB,kBAAoB,EAMzBxwB,KAAK8rG,kBAAoB,EAMzB9rG,KAAK+rG,kBAAoB,EAKzB/rG,KAAK82B,MAAQ92B,KAAKqF,EAAIrF,KAAK2G,MAK3B3G,KAAKy5B,OAASz5B,KAAKsF,EAAItF,KAAK4G,QAIhCshB,EAAOipD,MAAMtuE,WASTgF,OAAQ,SAAUlB,EAAOC,GAErB5G,KAAK2G,MAAQA,EACb3G,KAAK4G,OAASA,EACd5G,KAAKmtB,QAAUtsB,KAAKizB,MAAMntB,EAAQ,GAClC3G,KAAKotB,QAAUvsB,KAAKizB,MAAMltB,EAAS,GACnC5G,KAAKg5B,SAAW9Q,EAAOrnB,KAAKm4B,SAAS,EAAG,EAAGryB,EAAOC,GAClD5G,KAAKmwB,YAAcxpB,EACnB3G,KAAKqwB,YAAczpB,EACnB5G,KAAK82B,MAAQ92B,KAAKqF,EAAIsB,EACtB3G,KAAKy5B,OAASz5B,KAAKsF,EAAIsB,GAgB3BolG,QAAS,SAAU17E,EAAS27E,EAAaC,EAAcC,EAAOC,EAAOC,EAAWC,GAE5EtsG,KAAKswB,QAAUA,EAEXA,IAEAtwB,KAAKmwB,YAAc87E,EACnBjsG,KAAKqwB,YAAc67E,EACnBlsG,KAAKmtB,QAAUtsB,KAAKizB,MAAMm4E,EAAc,GACxCjsG,KAAKotB,QAAUvsB,KAAKizB,MAAMo4E,EAAe,GACzClsG,KAAKuwB,kBAAoB47E,EACzBnsG,KAAKwwB,kBAAoB47E,EACzBpsG,KAAK8rG,kBAAoBO,EACzBrsG,KAAK+rG,kBAAoBO,IAYjC70E,MAAO,WAEH,GAAIyB,GAAS,GAAIhR,GAAOipD,MAAMnxE,KAAKwI,MAAOxI,KAAKqF,EAAGrF,KAAKsF,EAAGtF,KAAK2G,MAAO3G,KAAK4G,OAAQ5G,KAAKs3B,KAExF,KAAK,GAAIhC,KAAQt1B,MAETA,KAAKk3B,eAAe5B,KAEpB4D,EAAO5D,GAAQt1B,KAAKs1B,GAI5B,OAAO4D,IAWXqzE,QAAS,SAAU9zE,GAWf,MATYlvB,UAARkvB,EAEAA,EAAM,GAAIvQ,GAAO1lB,UAAUxC,KAAKqF,EAAGrF,KAAKsF,EAAGtF,KAAK2G,MAAO3G,KAAK4G,QAI5D6xB,EAAIG,MAAM54B,KAAKqF,EAAGrF,KAAKsF,EAAGtF,KAAK2G,MAAO3G,KAAK4G,QAGxC6xB,IAMfvQ,EAAOipD,MAAMtuE,UAAUC,YAAcolB,EAAOipD,MAc5CjpD,EAAOqiE,UAAY,WAMfvqF,KAAKuqG,WAMLvqG,KAAKwsG,gBAITtkF,EAAOqiE,UAAU1nF,WASb6nF,SAAU,SAAU5+E,GAWhB,MATAA,GAAMtD,MAAQxI,KAAKuqG,QAAQrnG,OAE3BlD,KAAKuqG,QAAQxmG,KAAK+H,GAEC,KAAfA,EAAMwrB,OAENt3B,KAAKwsG,YAAY1gG,EAAMwrB,MAAQxrB,EAAMtD,OAGlCsD,GAWXs+F,SAAU,SAAU5hG,GAOhB,MALIA,IAASxI,KAAKuqG,QAAQrnG,SAEtBsF,EAAQ,GAGLxI,KAAKuqG,QAAQ/hG,IAWxB6hG,eAAgB,SAAU/yE,GAEtB,MAAsC,gBAA3Bt3B,MAAKwsG,YAAYl1E,GAEjBt3B,KAAKuqG,QAAQvqG,KAAKwsG,YAAYl1E,IAGlC,MAWX0yE,eAAgB,SAAU1yE,GAEtB,MAA8B,OAA1Bt3B,KAAKwsG,YAAYl1E,IAEV,GAGJ,GAUXG,MAAO,WAKH,IAAK,GAHDyB,GAAS,GAAIhR,GAAOqiE,UAGftnF,EAAI,EAAGA,EAAIjD,KAAKuqG,QAAQrnG,OAAQD,IAErCi2B,EAAOqxE,QAAQxmG,KAAK/D,KAAKuqG,QAAQtnG,GAAGw0B,QAGxC,KAAK,GAAIjzB,KAAKxE,MAAKwsG,YAEXxsG,KAAKwsG,YAAYt1E,eAAe1yB,IAEhC00B,EAAOszE,YAAYzoG,KAAK/D,KAAKwsG,YAAYhoG,GAIjD,OAAO00B,IAaXuzE,cAAe,SAAUvhG,EAAOtB,EAAKsvB,GAElB3vB,SAAX2vB,IAAwBA,KAE5B,KAAK,GAAIj2B,GAAIiI,EAAYtB,GAAL3G,EAAUA,IAE1Bi2B,EAAOn1B,KAAK/D,KAAKuqG,QAAQtnG,GAG7B,OAAOi2B,IAcX2zD,UAAW,SAAUD,EAAQid,EAAiB3wE,GAK1C,GAHwB3vB,SAApBsgG,IAAiCA,GAAkB,GACxCtgG,SAAX2vB,IAAwBA,MAEb3vB,SAAXqjF,GAA0C,IAAlBA,EAAO1pF,OAG/B,IAAK,GAAID,GAAI,EAAGA,EAAIjD,KAAKuqG,QAAQrnG,OAAQD,IAGrCi2B,EAAOn1B,KAAK/D,KAAKuqG,QAAQtnG,QAM7B,KAAK,GAAIA,GAAI,EAAGA,EAAI2pF,EAAO1pF,OAAQD,IAG3B4mG,EAGA3wE,EAAOn1B,KAAK/D,KAAKoqG,SAASxd,EAAO3pF,KAKjCi2B,EAAOn1B,KAAK/D,KAAKqqG,eAAezd,EAAO3pF,IAKnD,OAAOi2B,IAcX4wE,gBAAiB,SAAUld,EAAQid,EAAiB3wE,GAKhD,GAHwB3vB,SAApBsgG,IAAiCA,GAAkB,GACxCtgG,SAAX2vB,IAAwBA,MAEb3vB,SAAXqjF,GAA0C,IAAlBA,EAAO1pF,OAG/B,IAAK,GAAID,GAAI,EAAGA,EAAIjD,KAAKuqG,QAAQrnG,OAAQD,IAErCi2B,EAAOn1B,KAAK/D,KAAKuqG,QAAQtnG,GAAGuF,WAMhC,KAAK,GAAIvF,GAAI,EAAGA,EAAI2pF,EAAO1pF,OAAQD,IAG3B4mG,EAEA3wE,EAAOn1B,KAAK/D,KAAKuqG,QAAQ3d,EAAO3pF,IAAIuF,OAIhCxI,KAAKqqG,eAAezd,EAAO3pF,KAE3Bi2B,EAAOn1B,KAAK/D,KAAKqqG,eAAezd,EAAO3pF,IAAIuF,MAM3D,OAAO0wB,KAMfhR,EAAOqiE,UAAU1nF,UAAUC,YAAcolB,EAAOqiE,UAOhDnnF,OAAOC,eAAe6kB,EAAOqiE,UAAU1nF,UAAW,SAE9CS,IAAK,WACD,MAAOtD,MAAKuqG,QAAQrnG,UAiB5BglB,EAAOwkF,iBAeHC,YAAa,SAAUzsG,EAAMqU,EAAKmb,EAAYC,EAAai9E,EAAUC,EAAQC,GAEzE,GAAIpjC,GAAMn1D,CAOV,IALmB,gBAARA,KAEPm1D,EAAMxpE,EAAK4jC,MAAM7Y,SAAS1W,IAGlB,OAARm1D,EAEA,MAAO,KAGX,IAAI/iE,GAAQ+iE,EAAI/iE,MACZC,EAAS8iE,EAAI9iE,MAEC,IAAd8oB,IAEAA,EAAa7uB,KAAKizB,OAAOntB,EAAQ9F,KAAKi7B,IAAI,GAAIpM,KAG/B,GAAfC,IAEAA,EAAc9uB,KAAKizB,OAAOltB,EAAS/F,KAAKi7B,IAAI,GAAInM,IAGpD,IAAIo9E,GAAMlsG,KAAKizB,OAAOntB,EAAQkmG,IAAWn9E,EAAao9E,IAClDE,EAASnsG,KAAKizB,OAAOltB,EAASimG,IAAWl9E,EAAcm9E,IACvD/9E,EAAQg+E,EAAMC,CAQlB,IANiB,KAAbJ,IAEA79E,EAAQ69E,GAIE,IAAVjmG,GAA0B,IAAXC,GAAwB8oB,EAAR/oB,GAA+BgpB,EAAT/oB,GAAkC,IAAVmoB,EAG7E,MADAxc,SAAQ2iB,KAAK,wCAA0C3gB,EAAM,uEACtD,IAQX,KAAK,GAJD9D,GAAO,GAAIyX,GAAOqiE,UAClBllF,EAAIwnG,EACJvnG,EAAIunG,EAEC5pG,EAAI,EAAO8rB,EAAJ9rB,EAAWA,IAEvBwN,EAAKi6E,SAAS,GAAIxiE,GAAOipD,MAAMluE,EAAGoC,EAAGC,EAAGoqB,EAAYC,EAAa,KAEjEtqB,GAAKqqB,EAAao9E,EAEdznG,EAAIqqB,EAAa/oB,IAEjBtB,EAAIwnG,EACJvnG,GAAKqqB,EAAcm9E,EAI3B,OAAOr8F,IAYXw8F,SAAU,SAAU/sG,EAAMgtG,GAGtB,IAAKA,EAAa,OAId,MAFA36F,SAAQ2iB,KAAK,iGACb3iB,SAAQC,IAAI06F,EAWhB,KAAK,GAFDC,GAJA18F,EAAO,GAAIyX,GAAOqiE,UAGlBqC,EAASsgB,EAAa,OAGjBjqG,EAAI,EAAGA,EAAI2pF,EAAO1pF,OAAQD,IAE/BkqG,EAAW18F,EAAKi6E,SAAS,GAAIxiE,GAAOipD,MAChCluE,EACA2pF,EAAO3pF,GAAG6I,MAAMzG,EAChBunF,EAAO3pF,GAAG6I,MAAMxG,EAChBsnF,EAAO3pF,GAAG6I,MAAMsL,EAChBw1E,EAAO3pF,GAAG6I,MAAM4W,EAChBkqE,EAAO3pF,GAAGmqG,WAGVxgB,EAAO3pF,GAAGqtB,SAEV68E,EAASnB,QACLpf,EAAO3pF,GAAGqtB,QACVs8D,EAAO3pF,GAAGoqG,WAAWj2F,EACrBw1E,EAAO3pF,GAAGoqG,WAAW3qF,EACrBkqE,EAAO3pF,GAAGqqG,iBAAiBjoG,EAC3BunF,EAAO3pF,GAAGqqG,iBAAiBhoG,EAC3BsnF,EAAO3pF,GAAGqqG,iBAAiBl2F,EAC3Bw1E,EAAO3pF,GAAGqqG,iBAAiB5qF,EAKvC,OAAOjS,IAYX88F,cAAe,SAAUrtG,EAAMgtG,GAG3B,GAAIM,IAAa,SAAU,YAAY,aAAa,YAAa,YAYjE,IAVAA,EAAU54E,QAAS,SAASrgB,GACxB,MAAK24F,GAAK34F,GAAV,QAEIhC,QAAQ2iB,KAAK,oFAAsF3gB,EAAM,cACzGhC,SAAQC,IAAI06F,MAMQ,GAAzBA,EAAa,OAAEhqG,OAGd,MAFAqP,SAAQ2iB,KAAK,uGACb3iB,SAAQC,IAAI06F,EAYhB,KAAK,GAFDC,GANA18F,EAAO,GAAIyX,GAAOqiE,UAElBkjB,EAAaP,EAAiB,WAC9BQ,EAAYR,EAAgB,UAE5BtgB,EAASsgB,EAAa,OAAE,GAAU,MAG7BjqG,EAAI,EAAGA,EAAI2pF,EAAO1pF,OAAQD,IAE/BkqG,EAAW18F,EAAKi6E,SAAS,GAAIxiE,GAAOipD,MAChCluE,EACA2pF,EAAO3pF,GAAGoC,EACVunF,EAAO3pF,GAAGqC,EACVooG,EACAD,EACA,SAAWxqG,IAIfkqG,EAASnB,SAAQ,EAGrB,OAAOv7F,IAYXk9F,aAAc,SAAUztG,EAAMgtG,GAG1B,IAAKA,EAAa,OAId,MAFA36F,SAAQ2iB,KAAK,sGACb3iB,SAAQC,IAAI06F,EAKhB,IAIIC,GAJA18F,EAAO,GAAIyX,GAAOqiE,UAGlBqC,EAASsgB,EAAa,OAEtBjqG,EAAI,CAER,KAAK,GAAIsR,KAAOq4E,GAEZugB,EAAW18F,EAAKi6E,SAAS,GAAIxiE,GAAOipD,MAChCluE,EACA2pF,EAAOr4E,GAAKzI,MAAMzG,EAClBunF,EAAOr4E,GAAKzI,MAAMxG,EAClBsnF,EAAOr4E,GAAKzI,MAAMsL,EAClBw1E,EAAOr4E,GAAKzI,MAAM4W,EAClBnO,IAGAq4E,EAAOr4E,GAAK+b,SAEZ68E,EAASnB,QACLpf,EAAOr4E,GAAK+b,QACZs8D,EAAOr4E,GAAK84F,WAAWj2F,EACvBw1E,EAAOr4E,GAAK84F,WAAW3qF,EACvBkqE,EAAOr4E,GAAK+4F,iBAAiBjoG,EAC7BunF,EAAOr4E,GAAK+4F,iBAAiBhoG,EAC7BsnF,EAAOr4E,GAAK+4F,iBAAiBl2F,EAC7Bw1E,EAAOr4E,GAAK+4F,iBAAiB5qF,GAIrCzf,GAGJ,OAAOwN,IAYXm9F,QAAS,SAAU1tG,EAAM2tG,GAGrB,IAAKA,EAAIC,qBAAqB,gBAG1B,WADAv7F,SAAQ2iB,KAAK,8FAoBjB,KAAK,GAbDi4E,GAEA71E,EACAxrB,EACAzG,EACAC,EACAqB,EACAC,EACAmnG,EACAC,EACAt+E,EACAC,EAbAlf,EAAO,GAAIyX,GAAOqiE,UAClBqC,EAASihB,EAAIC,qBAAqB,cAc7B7qG,EAAI,EAAGA,EAAI2pF,EAAO1pF,OAAQD,IAE/B6I,EAAQ8gF,EAAO3pF,GAAGyQ,WAElB4jB,EAAOxrB,EAAMwrB,KAAK7zB,MAClB4B,EAAIkxB,SAASzqB,EAAMzG,EAAE5B,MAAO,IAC5B6B,EAAIixB,SAASzqB,EAAMxG,EAAE7B,MAAO,IAC5BkD,EAAQ4vB,SAASzqB,EAAMnF,MAAMlD,MAAO,IACpCmD,EAAS2vB,SAASzqB,EAAMlF,OAAOnD,MAAO,IAEtCsqG,EAAS,KACTC,EAAS,KAELliG,EAAMiiG,SAENA,EAASltG,KAAKi5B,IAAIvD,SAASzqB,EAAMiiG,OAAOtqG,MAAO,KAC/CuqG,EAASntG,KAAKi5B,IAAIvD,SAASzqB,EAAMkiG,OAAOvqG,MAAO,KAC/CisB,EAAa6G,SAASzqB,EAAM4jB,WAAWjsB,MAAO,IAC9CksB,EAAc4G,SAASzqB,EAAM6jB,YAAYlsB,MAAO,KAGpD0pG,EAAW18F,EAAKi6E,SAAS,GAAIxiE,GAAOipD,MAAMluE,EAAGoC,EAAGC,EAAGqB,EAAOC,EAAQ0wB,KAGnD,OAAXy2E,GAA8B,OAAXC,IAEnBb,EAASnB,SAAQ,EAAMrlG,EAAOC,EAAQmnG,EAAQC,EAAQt+E,EAAYC,EAI1E,OAAOlf,KAuCfyX,EAAO0wB,MAAQ,SAAU14C,GAKrBF,KAAKE,KAAOA,EAMZF,KAAKiuG,gBAAiB,EAOtBjuG,KAAKkuG,QACD79F,UACAmZ,SACA5hB,WACAs8B,SACAgpC,SACA9B,QACA8hC,QACAW,OACAvpE,WACAqoC,WACAwhC,UACA/gC,cACAghC,cACA1iG,UACAjF,kBAOJzG,KAAKquG,WAMLruG,KAAKsuG,aAAe,GAAIp+F,OAMxBlQ,KAAKuuG,SAAW,KAKhBvuG,KAAKwuG,cAAgB,GAAItmF,GAAOud,OAMhCzlC,KAAKyuG,aAELzuG,KAAKyuG,UAAUvmF,EAAO0wB,MAAMrnB,QAAUvxB,KAAKkuG,OAAO79F,OAClDrQ,KAAKyuG,UAAUvmF,EAAO0wB,MAAM3mB,OAASjyB,KAAKkuG,OAAO1kF,MACjDxpB,KAAKyuG,UAAUvmF,EAAO0wB,MAAM81D,SAAW1uG,KAAKkuG,OAAOtmG,QACnD5H,KAAKyuG,UAAUvmF,EAAO0wB,MAAM+1D,OAAS3uG,KAAKkuG,OAAOhqE,MACjDlkC,KAAKyuG,UAAUvmF,EAAO0wB,MAAMzmB,MAAQnyB,KAAKkuG,OAAO9iC,KAChDprE,KAAKyuG,UAAUvmF,EAAO0wB,MAAMg2D,SAAW5uG,KAAKkuG,OAAO5pE,QACnDtkC,KAAKyuG,UAAUvmF,EAAO0wB,MAAMpmB,SAAWxyB,KAAKkuG,OAAOvhC,QACnD3sE,KAAKyuG,UAAUvmF,EAAO0wB,MAAMi2D,QAAU7uG,KAAKkuG,OAAOC,OAClDnuG,KAAKyuG,UAAUvmF,EAAO0wB,MAAMhmB,YAAc5yB,KAAKkuG,OAAO9gC,WACtDptE,KAAKyuG,UAAUvmF,EAAO0wB,MAAMk2D,YAAc9uG,KAAKkuG,OAAOE,WACtDpuG,KAAKyuG,UAAUvmF,EAAO0wB,MAAMm2D,MAAQ/uG,KAAKkuG,OAAOhB,KAChDltG,KAAKyuG,UAAUvmF,EAAO0wB,MAAMo2D,KAAOhvG,KAAKkuG,OAAOL,IAC/C7tG,KAAKyuG,UAAUvmF,EAAO0wB,MAAMjlB,OAAS3zB,KAAKkuG,OAAOhhC,MACjDltE,KAAKyuG,UAAUvmF,EAAO0wB,MAAMq2D,QAAUjvG,KAAKkuG,OAAOxiG,OAClD1L,KAAKyuG,UAAUvmF,EAAO0wB,MAAMs2D,gBAAkBlvG,KAAKkuG,OAAOznG,cAE1DzG,KAAKmvG,kBACLnvG,KAAKovG,mBAQTlnF,EAAO0wB,MAAMrnB,OAAS,EAMtBrJ,EAAO0wB,MAAM3mB,MAAQ,EAMrB/J,EAAO0wB,MAAM81D,QAAU,EAMvBxmF,EAAO0wB,MAAM+1D,MAAQ,EAMrBzmF,EAAO0wB,MAAMzmB,KAAO,EAMpBjK,EAAO0wB,MAAMg2D,QAAU,EAMvB1mF,EAAO0wB,MAAMpmB,QAAU,EAMvBtK,EAAO0wB,MAAMi2D,OAAS,EAMtB3mF,EAAO0wB,MAAMhmB,WAAa,EAM1B1K,EAAO0wB,MAAMk2D,WAAa,GAM1B5mF,EAAO0wB,MAAMm2D,KAAO,GAMpB7mF,EAAO0wB,MAAMo2D,IAAM,GAMnB9mF,EAAO0wB,MAAMjlB,MAAQ,GAMrBzL,EAAO0wB,MAAMq2D,OAAS,GAMtB/mF,EAAO0wB,MAAMs2D,eAAiB,GAE9BhnF,EAAO0wB,MAAM/1C,WAcTwsG,UAAW,SAAU96F,EAAKlE,EAAQpD,GAEd1D,SAAZ0D,IAAyBA,EAAUoD,EAAOE,WAAW,OAEzDvQ,KAAKkuG,OAAO79F,OAAOkE,IAASlE,OAAQA,EAAQpD,QAASA,IAczDqlE,SAAU,SAAU/9D,EAAK44D,EAAK18D,GAEtBzQ,KAAK4pF,cAAcr1E,IAEnBvU,KAAKsvG,YAAY/6F,EAGrB,IAAIm1D,IACAn1D,IAAKA,EACL44D,IAAKA,EACL18D,KAAMA,EACNk5D,KAAM,GAAI1pE,MAAK4oB,YAAYpY,GAC3B3E,MAAO,GAAIoc,GAAOipD,MAAM,EAAG,EAAG,EAAG1gE,EAAK9J,MAAO8J,EAAK7J,OAAQ2N,GAC1Dq1D,UAAW,GAAI1hD,GAAOqiE,UAS1B,OANA7gB,GAAIE,UAAU8gB,SAAS,GAAIxiE,GAAOipD,MAAM,EAAG,EAAG,EAAG1gE,EAAK9J,MAAO8J,EAAK7J,OAAQumE,IAE1EntE,KAAKkuG,OAAO1kF,MAAMjV,GAAOm1D,EAEzB1pE,KAAKuvG,YAAYpiC,EAAKzD,GAEfA,GAaXylC,gBAAiB,WAEb,GAAIzlC,GAAM,GAAIx5D,MAEdw5D,GAAIv5D,IAAM,wKAEV,IAAIklB,GAAMr1B,KAAKsyE,SAAS,YAAa,KAAM5I,EAG3Cr0C,GAAIs0C,KAAK/lD,YAAa,EAEtB3jB,KAAKuO,aAAwB,UAAI,GAAIvO,MAAKoL,QAAQgqB,EAAIs0C,OAa1DylC,gBAAiB,WAEb,GAAI1lC,GAAM,GAAIx5D,MAEdw5D,GAAIv5D,IAAM,4WAEV,IAAIklB,GAAMr1B,KAAKsyE,SAAS,YAAa,KAAM5I,EAE3CzpE,MAAKuO,aAAwB,UAAI,GAAIvO,MAAKoL,QAAQgqB,EAAIs0C,OAc1D6lC,SAAU,SAAUj7F,EAAK44D,EAAK18D,EAAMmpC,EAAU61D,GAEzBlmG,SAAbqwC,IAA0BA,GAAW,EAAM61D,GAAW,GACzClmG,SAAbkmG,IAA0B71D,GAAW,EAAO61D,GAAW,EAE3D,IAAIC,IAAU,CAEVD,KAEAC,GAAU,GAGd1vG,KAAKkuG,OAAOhqE,MAAM3vB,IACd44D,IAAKA,EACL18D,KAAMA,EACNk/F,YAAY,EACZD,QAASA,EACT91D,SAAUA,EACV61D,SAAUA,EACVruD,OAAQphD,KAAKE,KAAKgkC,MAAM0rE,aAG5B5vG,KAAKuvG,YAAYpiC,EAAKntE,KAAKkuG,OAAOhqE,MAAM3vB,KAY5Cs7F,QAAS,SAAUt7F,EAAK44D,EAAK18D,GAEzBzQ,KAAKkuG,OAAO9iC,KAAK72D,IAAS44D,IAAKA,EAAK18D,KAAMA,GAE1CzQ,KAAKuvG,YAAYpiC,EAAKntE,KAAKkuG,OAAO9iC,KAAK72D,KAa3Cu7F,eAAgB,SAAUv7F,EAAK44D,EAAK8/B,EAAUj3F,GAE1ChW,KAAKkuG,OAAO5pE,QAAQ/vB,IAAS44D,IAAKA,EAAK18D,KAAMw8F,EAAUj3F,OAAQA,GAE/DhW,KAAKuvG,YAAYpiC,EAAKntE,KAAKkuG,OAAO5pE,QAAQ/vB,KAa9Cw7F,WAAY,SAAUx7F,EAAK44D,EAAK6iC,EAASh6F,GAErChW,KAAKkuG,OAAOvhC,QAAQp4D,IAAS44D,IAAKA,EAAK18D,KAAMu/F,EAASh6F,OAAQA,GAE9DhW,KAAKuvG,YAAYpiC,EAAKntE,KAAKkuG,OAAOvhC,QAAQp4D,KAW9C07F,UAAW,SAAU17F,EAAK27F,GAEtBlwG,KAAKkuG,OAAOC,OAAO55F,GAAO27F,GAa9B7iC,cAAe,SAAU94D,EAAK64D,EAAYxD,GAYtC,MAVAwD,GAAW74D,IAAMA,EAEChL,SAAdqgE,IAEAA,EAAY,GAAI1hD,GAAOqiE,UACvB3gB,EAAU8gB,SAAStd,EAAW8D,eAGlClxE,KAAKkuG,OAAO9gC,WAAW74D,IAAS9D,KAAM28D,EAAYxD,UAAWA,GAEtDwD,GAgBX+iC,cAAe,SAAU57F,EAAK44D,EAAK18D,EAAM2/F,EAAWC,EAAWhkC,EAAUC,GAErE,GAAIj3C,IACA83C,IAAKA,EACL18D,KAAMA,EACNu7D,KAAM,KACNrC,KAAM,GAAI1pE,MAAK4oB,YAAYpY,GAGdlH,UAAb8iE,IAA0BA,EAAW,GACxB9iE,SAAb+iE,IAA0BA,EAAW,GAEvB,SAAd+jC,EAEAh7E,EAAI22C,KAAO9jD,EAAOooF,aAAaC,eAAeH,EAAW/6E,EAAIs0C,KAAM0C,EAAUC,GAI7Ej3C,EAAI22C,KAAO9jD,EAAOooF,aAAaE,cAAcJ,EAAW/6E,EAAIs0C,KAAM0C,EAAUC,GAGhFtsE,KAAKkuG,OAAOE,WAAW75F,GAAO8gB,EAE9Br1B,KAAKuvG,YAAYpiC,EAAK93C,IAY1Bo7E,QAAS,SAAUl8F,EAAK44D,EAAK18D,GAEzBzQ,KAAKkuG,OAAOhB,KAAK34F,IAAS44D,IAAKA,EAAK18D,KAAMA,GAE1CzQ,KAAKuvG,YAAYpiC,EAAKntE,KAAKkuG,OAAOhB,KAAK34F,KAY3Cm8F,OAAQ,SAAUn8F,EAAK44D,EAAK18D,GAExBzQ,KAAKkuG,OAAOL,IAAIt5F,IAAS44D,IAAKA,EAAK18D,KAAMA,GAEzCzQ,KAAKuvG,YAAYpiC,EAAKntE,KAAKkuG,OAAOL,IAAIt5F,KAa1Co8F,SAAU,SAAUp8F,EAAK44D,EAAK18D,EAAMmgG,GAEhC5wG,KAAKkuG,OAAOhhC,MAAM34D,IAAS44D,IAAKA,EAAK18D,KAAMA,EAAMmgG,OAAQA,EAAQxvD,QAAQ,GAEzEphD,KAAKuvG,YAAYpiC,EAAKntE,KAAKkuG,OAAOhhC,MAAM34D,KAY5Cs8F,UAAW,SAAUt8F,EAAK44D,EAAK18D,GAE3BzQ,KAAKkuG,OAAOxiG,OAAO6I,IAAS44D,IAAKA,EAAK18D,KAAMA,GAE5CzQ,KAAKuvG,YAAYpiC,EAAKntE,KAAKkuG,OAAOxiG,OAAO6I,KAW7C04D,iBAAkB,SAAU14D,EAAK3M,GAE7B5H,KAAKkuG,OAAOznG,cAAc8N,IAAS3M,QAASA,EAASkE,MAAO,GAAIoc,GAAOipD,MAAM,EAAG,EAAG,EAAGvpE,EAAQjB,MAAOiB,EAAQhB,OAAQ,GAAI,MAiB7HkqG,eAAgB,SAAUv8F,EAAK44D,EAAK18D,EAAMif,EAAYC,EAAai9E,EAAUC,EAAQC,GAEhEvjG,SAAbqjG,IAA0BA,EAAW,IAC1BrjG,SAAXsjG,IAAwBA,EAAS,GACrBtjG,SAAZujG,IAAyBA,EAAU,EAEvC,IAAIz3E,IACA9gB,IAAKA,EACL44D,IAAKA,EACL18D,KAAMA,EACNif,WAAYA,EACZC,YAAaA,EACbk9E,OAAQA,EACRC,QAASA,EACTnjC,KAAM,GAAI1pE,MAAK4oB,YAAYpY,GAC3Bm5D,UAAW1hD,EAAOwkF,gBAAgBC,YAAY3sG,KAAKE,KAAMuQ,EAAMif,EAAYC,EAAai9E,EAAUC,EAAQC,GAG9G9sG,MAAKkuG,OAAO1kF,MAAMjV,GAAO8gB,EAEzBr1B,KAAKuvG,YAAYpiC,EAAK93C,IAc1B07E,gBAAiB,SAAUx8F,EAAK44D,EAAK18D,EAAM2/F,EAAWp6F,GAElD,GAAIqf,IACA9gB,IAAKA,EACL44D,IAAKA,EACL18D,KAAMA,EACNk5D,KAAM,GAAI1pE,MAAK4oB,YAAYpY,GAG3BuF,KAAWkS,EAAO2wB,OAAOm4D,2BAEzB37E,EAAIu0C,UAAY1hD,EAAOwkF,gBAAgBkB,QAAQ5tG,KAAKE,KAAMkwG,EAAW77F,GAEhEyB,IAAWkS,EAAO2wB,OAAOo4D,yBAE9B57E,EAAIu0C,UAAY1hD,EAAOwkF,gBAAgBa,cAAcvtG,KAAKE,KAAMkwG,EAAW77F,GAKvE5T,MAAMoR,QAAQq+F,EAAUxjB,QAExBv3D,EAAIu0C,UAAY1hD,EAAOwkF,gBAAgBO,SAASjtG,KAAKE,KAAMkwG,EAAW77F,GAItE8gB,EAAIu0C,UAAY1hD,EAAOwkF,gBAAgBiB,aAAa3tG,KAAKE,KAAMkwG,EAAW77F,GAIlFvU,KAAKkuG,OAAO1kF,MAAMjV,GAAO8gB,EAEzBr1B,KAAKuvG,YAAYpiC,EAAK93C,IAc1B67E,YAAa,SAAU38F,GAEnB,GAAI61B,GAAQpqC,KAERkkC,EAAQlkC,KAAKmxG,SAAS58F,EAEtB2vB,KAEAA,EAAMzzB,KAAKN,IAAM+zB,EAAMipC,IAEvBjpC,EAAMzzB,KAAK89B,iBAAiB,iBAAkB,WAC1C,MAAOnE,GAAMgnE,oBAAoB78F,KAClC,GAEH2vB,EAAMzzB,KAAKuzB,SAWnBotE,oBAAqB,SAAU78F,GAE3B,GAAI2vB,GAAQlkC,KAAKmxG,SAAS58F,EAEtB2vB,KAEAA,EAAMkd,QAAS,EACfphD,KAAKwuG,cAAc/mE,SAASlzB,KAWpC88F,YAAa,SAAU98F,EAAKg/B,EAAU9vC,GAElC,GAAIygC,GAAQlkC,KAAKmxG,SAAS58F,EAEtB2vB,KAEAA,EAAMqP,GAAY9vC,IAY1B6tG,aAAc,SAAU/8F,EAAK9D,GAEzB,GAAIyzB,GAAQlkC,KAAKmxG,SAAS58F,EAE1B2vB,GAAMzzB,KAAOA,EACbyzB,EAAMwrE,SAAU,EAChBxrE,EAAMyrE,YAAa,GAWvB4B,eAAgB,SAAUh9F,GAEtB,GAAI2vB,GAAQlkC,KAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAM+1D,MAAO,iBAElD,OAAIzqE,GAEOA,EAAMwrE,QAFjB,QAeJ8B,aAAc,SAAUj9F,GAEpB,GAAI2vB,GAAQlkC,KAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAM+1D,MAAO,iBAElD,OAAIzqE,GAEQA,EAAMwrE,UAAY1vG,KAAKE,KAAKgkC,MAAM0rE,YAF9C,QAmBJ6B,SAAU,SAAU3tE,EAAOvvB,GAEvB,MAAIvU,MAAKyuG,UAAU3qE,GAAOvvB,IAEf,GAGJ,GAcXm9F,SAAU,SAAUvkC,GAEhB,MAAIntE,MAAKquG,QAAQruG,KAAKuvG,YAAYpiC,KAEvB,GAGJ,GAWXwkC,eAAgB,SAAUp9F,GAEtB,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAMrnB,OAAQhd,IAW9Cq1E,cAAe,SAAUr1E,GAErB,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAM3mB,MAAO1d,IAW7Cq9F,gBAAiB,SAAUr9F,GAEvB,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAM81D,QAASn6F,IAW/Cs9F,cAAe,SAAUt9F,GAErB,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAM+1D,MAAOp6F,IAW7Cu9F,aAAc,SAAUv9F,GAEpB,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAMzmB,KAAM5d,IAW5Cw9F,gBAAiB,SAAUx9F,GAEvB,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAMg2D,QAASr6F,IAW/Cy9F,gBAAiB,SAAUz9F,GAEvB,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAMpmB,QAASje,IAW/C09F,eAAgB,SAAU19F,GAEtB,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAMi2D,OAAQt6F,IAW9C29F,mBAAoB,SAAU39F,GAE1B,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAMhmB,WAAYre,IAWlD49F,mBAAoB,SAAU59F,GAE1B,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAMk2D,WAAYv6F,IAWlD69F,aAAc,SAAU79F,GAEpB,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAMm2D,KAAMx6F,IAW5C89F,YAAa,SAAU99F,GAEnB,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAMo2D,IAAKz6F,IAW3C+9F,cAAe,SAAU/9F,GAErB,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAMjlB,MAAOpf,IAW7Cg+F,eAAgB,SAAUh+F,GAEtB,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAMq2D,OAAQ16F,IAW9Ci+F,sBAAuB,SAAUj+F,GAE7B,MAAOvU,MAAKyxG,SAASvpF,EAAO0wB,MAAMs2D,eAAgB36F,IAqBtDi+E,QAAS,SAAUj+E,EAAKuvB,EAAOkQ,EAAQT,GAEnC,MAAKvzC,MAAKyxG,SAAS3tE,EAAOvvB,GASLhL,SAAbgqC,EAEOvzC,KAAKyuG,UAAU3qE,GAAOvvB,GAItBvU,KAAKyuG,UAAU3qE,GAAOvvB,GAAKg/B,IAblCS,GAEAzhC,QAAQ2iB,KAAK,gBAAkB8e,EAAS,UAAYz/B,EAAM,yBAe3D,OAeX4W,UAAW,SAAU5W,GAEjB,MAAOvU,MAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAMrnB,OAAQ,YAAa,WAoB/DtG,SAAU,SAAU1W,EAAKk+F,IAETlpG,SAARgL,GAA6B,OAARA,KAErBA,EAAM,aAGGhL,SAATkpG,IAAsBA,GAAO,EAEjC,IAAI/oC,GAAM1pE,KAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAM3mB,MAAO,WAOhD,OALY,QAARy3C,IAEAA,EAAM1pE,KAAKwyF,QAAQ,YAAatqE,EAAO0wB,MAAM3mB,MAAO,aAGpDwgF,EAEO/oC,EAIAA,EAAIj5D,MAcnBiiG,gBAAiB,SAAUn+F,GAEvB,MAAOvU,MAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAM81D,QAAS,kBAAmB,UAetEyC,SAAU,SAAU58F,GAEhB,MAAOvU,MAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAM+1D,MAAO,aAejDgE,aAAc,SAAUp+F,GAEpB,MAAOvU,MAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAM+1D,MAAO,eAAgB,SAejEiE,QAAS,SAAUr+F,GAEf,MAAOvU,MAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAMzmB,KAAM,UAAW,SAmB3D0gF,eAAgB,SAAUt+F,EAAKk2D,EAAQqoC,GAEnC,GAAIriG,GAAOzQ,KAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAMg2D,QAAS,iBAAkB,OAErE,IAAa,OAATn+F,GAA4BlH,SAAXkhE,GAAmC,OAAXA,EAEzC,MAAOh6D,EAIP,IAAIA,EAAKg6D,GACT,CACI,GAAIsoC,GAAWtiG,EAAKg6D,EAGpB,KAAIsoC,IAAYD,EAmBZ,MAAOC,EAjBP,KAAK,GAAIC,KAAWD,GAMhB,GAHAC,EAAUD,EAASC,GAGfA,EAAQF,aAAeA,EAEvB,MAAOE,EAKfzgG,SAAQ2iB,KAAK,kEAAoE49E,EAAa,OAASv+F,EAAM,SASjHhC,SAAQ2iB,KAAK,qDAAuD3gB,EAAM,MAAQk2D,EAAS,IAInG,OAAO,OAeXwoC,eAAgB,SAAU1+F,GAEtB,MAAOvU,MAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAMpmB,QAAS,mBAenD0gF,UAAW,SAAU3+F,GAEjB,MAAOvU,MAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAMi2D,OAAQ,cAelDsE,cAAe,SAAU5+F,GAErB,MAAOvU,MAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAMhmB,WAAY,gBAAiB,SAevE81D,cAAe,SAAUn0E,GAErB,MAAOvU,MAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAMk2D,WAAY,kBAmBtDsE,QAAS,SAAU7+F,EAAKkjB,GAEpB,GAAIhnB,GAAOzQ,KAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAMm2D,KAAM,UAAW,OAE3D,OAAIt+F,GAEIgnB,EAEOvP,EAAOiN,MAAMiC,QAAO,EAAM3mB,GAI1BA,EAKJ,MAgBf4iG,OAAQ,SAAU9+F,GAEd,MAAOvU,MAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAMo2D,IAAK,SAAU,SAezDsE,SAAU,SAAU/+F,GAEhB,MAAOvU,MAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAMjlB,MAAO,aAejD4/E,UAAW,SAAUh/F,GAEjB,MAAOvU,MAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAMq2D,OAAQ,YAAa,SAe/DuE,iBAAkB,SAAUj/F,GAExB,MAAOvU,MAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAMs2D,eAAgB,qBAgB1DuE,eAAgB,SAAUl/F,EAAKuvB,GAI3B,MAFcv6B,UAAVu6B,IAAuBA,EAAQ5b,EAAO0wB,MAAM3mB,OAEzCjyB,KAAKwyF,QAAQj+E,EAAKuvB,EAAO,iBAAkB,SAYtDsmE,SAAU,SAAU71F,EAAKuvB,GAIrB,MAFcv6B,UAAVu6B,IAAuBA,EAAQ5b,EAAO0wB,MAAM3mB,OAEzCjyB,KAAKwyF,QAAQj+E,EAAKuvB,EAAO,WAAY,UAYhD4vE,cAAe,SAAUn/F,EAAKuvB,GAE1B,GAAIrzB,GAAOzQ,KAAKypE,aAAal1D,EAAKuvB,EAElC,OAAIrzB,GAEOA,EAAKse,MAIL,GAiBf06C,aAAc,SAAUl1D,EAAKuvB,GAIzB,MAFcv6B,UAAVu6B,IAAuBA,EAAQ5b,EAAO0wB,MAAM3mB,OAEzCjyB,KAAKwyF,QAAQj+E,EAAKuvB,EAAO,eAAgB,cAYpDylC,aAAc,SAAUh1D,EAAKuvB,GAIzB,MAFcv6B,UAAVu6B,IAAuBA,EAAQ5b,EAAO0wB,MAAM3mB,OAEM,OAA9CjyB,KAAKwyF,QAAQj+E,EAAKuvB,EAAO,GAAI,cAYzC6mD,gBAAiB,SAAUp2E,EAAKq1D,EAAW9lC,GAEzBv6B,SAAVu6B,IAAuBA,EAAQ5b,EAAO0wB,MAAM3mB,OAE5CjyB,KAAKyuG,UAAU3qE,GAAOvvB,KAEtBvU,KAAKyuG,UAAU3qE,GAAOvvB,GAAKq1D,UAAYA,IAc/C+pC,gBAAiB,SAAUp/F,EAAK/L,EAAOs7B,GAEnC,GAAIrzB,GAAOzQ,KAAKypE,aAAal1D,EAAKuvB,EAElC,OAAIrzB,GAEOA,EAAK25F,SAAS5hG,GAId,MAcf6hG,eAAgB,SAAU91F,EAAK+iB,EAAMwM,GAEjC,GAAIrzB,GAAOzQ,KAAKypE,aAAal1D,EAAKuvB,EAElC,OAAIrzB,GAEOA,EAAK45F,eAAe/yE,GAIpB,MAgBfs8E,eAAgB,SAAUr/F,GAEtB,GAAItU,KAAKuO,aAAa+F,GAElB,MAAOtU,MAAKuO,aAAa+F,EAIzB,IAAIo1D,GAAO3pE,KAAK6zG,mBAAmBt/F,EAEnC,OAAIo1D,GAEO,GAAI1pE,MAAKoL,QAAQs+D,GAIjB,MAgBnBkqC,mBAAoB,SAAUt/F,GAE1B,GAAItU,KAAK0oB,iBAAiBpU,GAEtB,MAAOtU,MAAK0oB,iBAAiBpU,EAI7B,IAAIm1D,GAAM1pE,KAAKwyF,QAAQj+E,EAAK2T,EAAO0wB,MAAM3mB,MAAO,qBAEhD,OAAY,QAARy3C,EAEOA,EAAIC,KAIJ,MAenBmqC,OAAQ,SAAU3mC,GAEd,GAAIA,GAAMntE,KAAKuvG,YAAYpiC,EAE3B,OAAIA,GAEOntE,KAAKquG,QAAQlhC,IAIpB56D,QAAQ2iB,KAAK,sCAAwCi4C,EAAO,uCACrD,OAYf4mC,QAAS,SAAUjwE,GAEDv6B,SAAVu6B,IAAuBA,EAAQ5b,EAAO0wB,MAAM3mB,MAEhD,IAAIwG,KAEJ,IAAIz4B,KAAKyuG,UAAU3qE,GAEf,IAAK,GAAIvvB,KAAOvU,MAAKyuG,UAAU3qE,GAEf,cAARvvB,GAA+B,cAARA,GAEvBkkB,EAAI10B,KAAKwQ,EAKrB,OAAOkkB,IAiBXu7E,aAAc,SAAUz/F,SAEbvU,MAAKkuG,OAAO79F,OAAOkE,IAgB9B+6F,YAAa,SAAU/6F,EAAK0/F,GAED1qG,SAAnB0qG,IAAgCA,GAAiB,EAErD,IAAIvqC,GAAM1pE,KAAKirB,SAAS1W,GAAK,EAEzB0/F,IAAkBvqC,EAAIC,MAEtBD,EAAIC,KAAK5mE,gBAGN/C,MAAKkuG,OAAO1kF,MAAMjV,IAiB7B2/F,YAAa,SAAU3/F,SAEZvU,MAAKkuG,OAAOhqE,MAAM3vB,IAa7B4/F,WAAY,SAAU5/F,SAEXvU,MAAKkuG,OAAO9iC,KAAK72D,IAa5B6/F,cAAe,SAAU7/F,SAEdvU,MAAKkuG,OAAO5pE,QAAQ/vB,IAa/B8/F,cAAe,SAAU9/F,SAEdvU,MAAKkuG,OAAOvhC,QAAQp4D,IAa/B+/F,aAAc,SAAU//F,SAEbvU,MAAKkuG,OAAOC,OAAO55F,IAa9BggG,iBAAkB,SAAUhgG,SAEjBvU,MAAKkuG,OAAO9gC,WAAW74D,IAalCigG,iBAAkB,SAAUjgG,SAEjBvU,MAAKkuG,OAAOE,WAAW75F,IAalCkgG,WAAY,SAAUlgG,SAEXvU,MAAKkuG,OAAOhB,KAAK34F,IAa5BmgG,UAAW,SAAUngG,SAEVvU,MAAKkuG,OAAOL,IAAIt5F,IAa3BogG,YAAa,SAAUpgG,SAEZvU,MAAKkuG,OAAOhhC,MAAM34D,IAa7BqgG,aAAc,SAAUrgG,SAEbvU,MAAKkuG,OAAOxiG,OAAO6I,IAa9BsgG,oBAAqB,SAAUtgG,SAEpBvU,MAAKkuG,OAAOznG,cAAc8N,IAarCugG,kBAAmB,SAAUvgG,SAElBvU,MAAKkuG,OAAOvB,YAAYp4F,IAanCwgG,mBAAoB,SAAUxgG,SAEnBvU,MAAKkuG,OAAO8G,MAAMzgG,IAW7B6lC,gBAAiB,WAEb,IAAK,GAAI7lC,KAAOvU,MAAK8jC,MAAMta,MAEvBxpB,KAAK8jC,MAAMta,MAAMjV,GAAKo1D,KAAKn0D,gBAenC+5F,YAAa,SAAUpiC,EAAK18D,GAExB,MAAKzQ,MAAKiuG,gBAKVjuG,KAAKsuG,aAAan+F,IAAMnQ,KAAKE,KAAK8jC,KAAKixE,QAAU9nC,EAEjDntE,KAAKuuG,SAAWvuG,KAAKsuG,aAAan+F,IAGlCnQ,KAAKsuG,aAAan+F,IAAM,GAGpBM,IAEAzQ,KAAKquG,QAAQruG,KAAKuuG,UAAY99F,GAG3BzQ,KAAKuuG,UAhBD,MA0BfxrG,QAAS,WAEL,IAAK,GAAIE,GAAI,EAAGA,EAAIjD,KAAKyuG,UAAUvrG,OAAQD,IAC3C,CACI,GAAI6gC,GAAQ9jC,KAAKyuG,UAAUxrG,EAE3B,KAAK,GAAIsR,KAAOuvB,GAEA,cAARvvB,GAA+B,cAARA,IAEnBuvB,EAAMvvB,GAAc,SAEpBuvB,EAAMvvB,GAAKxR,gBAGR+gC,GAAMvvB,IAKzBvU,KAAKquG,QAAU,KACfruG,KAAKsuG,aAAe,KACpBtuG,KAAKuuG,SAAW,OAMxBrmF,EAAO0wB,MAAM/1C,UAAUC,YAAcolB,EAAO0wB,MAuB5C1wB,EAAO2wB,OAAS,SAAU34C,GAOtBF,KAAKE,KAAOA,EAOZF,KAAK8jC,MAAQ5jC,EAAK4jC,MAOlB9jC,KAAKw9C,aAAc,EAOnBx9C,KAAKk1G,WAAY,EAOjBl1G,KAAK4L,WAAY,EAUjB5L,KAAKm1G,cAAgB,KAOrBn1G,KAAKypB,aAAc,EASnBzpB,KAAKi1G,QAAU,GAoBfj1G,KAAK67E,KAAO,GAQZ77E,KAAKo1G,YAAc,GAAIltF,GAAOud,OAO9BzlC,KAAKq1G,eAAiB,GAAIntF,GAAOud,OAWjCzlC,KAAKs1G,eAAiB,GAAIptF,GAAOud,OAUjCzlC,KAAKu1G,YAAc,GAAIrtF,GAAOud,OAa9BzlC,KAAKw1G,eAAiB,GAAIttF,GAAOud,OAWjCzlC,KAAKy1G,YAAc,GAAIvtF,GAAOud,OAU9BzlC,KAAK01G,mBAAoB,EAMzB11G,KAAK21G,4BAA6B,EASlC31G,KAAK41G,gBAAiB,EAUtB51G,KAAK61G,qBAAuB,EAM5B71G,KAAK81G,oBAAsB,EAU3B91G,KAAK+1G,aAcL/1G,KAAKg2G,gBAQLh2G,KAAKi2G,gBAAkB,EASvBj2G,KAAKk2G,kBAAmB,EAOxBl2G,KAAKm2G,gBAAkB,EAOvBn2G,KAAKo2G,gBAAkB,EAOvBp2G,KAAKq2G,iBAAmB,EAOxBr2G,KAAKs2G,iBAAmB,GAQ5BpuF,EAAO2wB,OAAO09D,yBAA2B,EAMzCruF,EAAO2wB,OAAO29D,wBAA0B,EAMxCtuF,EAAO2wB,OAAOm4D,2BAA6B,EAM3C9oF,EAAO2wB,OAAO49D,yBAA2B,EAMzCvuF,EAAO2wB,OAAO69D,oBAAsB,EAMpCxuF,EAAO2wB,OAAOo4D,yBAA2B,EAEzC/oF,EAAO2wB,OAAOh2C,WAcV8zG,iBAAkB,SAAU30F,EAAQqyD,GAEhCA,EAAYA,GAAa,EAEzBr0E,KAAKm1G,eAAkBnzF,OAAQA,EAAQqyD,UAAWA,EAAW1tE,MAAOqb,EAAOrb,MAAOC,OAAQob,EAAOpb,OAAQs+D,KAAM,MAE7F,IAAdmP,EAGAr0E,KAAKm1G,cAAcjwC,KAAO,GAAIh9C,GAAO1lB,UAAU,EAAG,EAAG,EAAGwf,EAAOpb,QAK/D5G,KAAKm1G,cAAcjwC,KAAO,GAAIh9C,GAAO1lB,UAAU,EAAG,EAAGwf,EAAOrb,MAAO,GAGvEqb,EAAOjV,KAAK/M,KAAKm1G,cAAcjwC,MAE/BljD,EAAOvgB,SAAU,GAYrBoG,OAAQ,WAEA7H,KAAKm1G,eAAiBn1G,KAAKm1G,cAAcvuG,SAAW5G,KAAKm1G,cAAcnzF,OAAOpb,SAE9E5G,KAAKm1G,cAAcjwC,KAAKt+D,OAAS5G,KAAKm1G,cAAcnzF,OAAOpb,SAenEgwG,eAAgB,SAAUhiG,EAAML,GAE5B,MAAOvU,MAAK62G,cAAcjiG,EAAML,GAAO,IAe3CsiG,cAAe,SAAUjiG,EAAML,GAI3B,IAAK,GAFDuiG,GAAY,GAEP7zG,EAAI,EAAGA,EAAIjD,KAAK+1G,UAAU7yG,OAAQD,IAC3C,CACI,GAAIyrF,GAAO1uF,KAAK+1G,UAAU9yG,EAE1B,IAAIyrF,EAAK95E,OAASA,GAAQ85E,EAAKn6E,MAAQA,IAEnCuiG,EAAY7zG,GAGPyrF,EAAKqoB,SAAWroB,EAAKsoB,SAEtB,MAKZ,MAAOF,IAeXG,SAAU,SAAUriG,EAAML,GAEtB,GAAI2iG,GAAYl3G,KAAK62G,cAAcjiG,EAAML,EAEzC,OAAI2iG,GAAY,IAEH1uG,MAAO0uG,EAAWxoB,KAAM1uF,KAAK+1G,UAAUmB,KAG7C,GAgBXxzE,MAAO,SAAU2b,EAAM2pD,GAECz/F,SAAhBy/F,IAA6BA,GAAc,GAE3ChpG,KAAKw9C,cAKL6B,IAEAr/C,KAAKm1G,cAAgB,MAGzBn1G,KAAKk1G,WAAY,EAEjBl1G,KAAKi2G,gBAAkB,EACvBj2G,KAAK+1G,UAAU7yG,OAAS,EACxBlD,KAAKg2G,aAAa9yG,OAAS,EAE3BlD,KAAKk2G,kBAAmB,EACxBl2G,KAAKo2G,gBAAkB,EACvBp2G,KAAKm2G,gBAAkB,EACvBn2G,KAAKq2G,iBAAmB,EACxBr2G,KAAKs2G,iBAAmB,EAEpBtN,IAEAhpG,KAAKo1G,YAAYvtE,YACjB7nC,KAAKq1G,eAAextE,YACpB7nC,KAAKs1G,eAAeztE,YACpB7nC,KAAKu1G,YAAY1tE,YACjB7nC,KAAKw1G,eAAe3tE,YACpB7nC,KAAKy1G,YAAY5tE,eAkBzBsvE,cAAe,SAAUviG,EAAML,EAAK44D,EAAKya,EAAYwvB,EAAWC,GAI5D,GAFkB9tG,SAAd6tG,IAA2BA,GAAY,GAE/B7tG,SAARgL,GAA6B,KAARA,EAGrB,MADAhC,SAAQ2iB,KAAK,kDAAoDtgB,GAC1D5U,IAGX,IAAYuJ,SAAR4jE,GAA6B,OAARA,EACzB,CACI,IAAIkqC,EAOA,MADA9kG,SAAQ2iB,KAAK,8CAAgDtgB,EAAO,SAAWL,GACxEvU,IALPmtE,GAAM54D,EAAM8iG,EASpB,GAAI3oB,IACA95E,KAAMA,EACNL,IAAKA,EACLsnE,KAAM77E,KAAK67E,KACX1O,IAAKA,EACLmqC,UAAWt3G,KAAK81G,oBAAsB,EACtCrlG,KAAM,KACNumG,SAAS,EACTD,QAAQ,EACRtkB,OAAO,EAGX,IAAI7K,EAEA,IAAK,GAAItyD,KAAQsyD,GAEb8G,EAAKp5D,GAAQsyD,EAAWtyD,EAIhC,IAAI4hF,GAAYl3G,KAAK62G,cAAcjiG,EAAML,EAEzC,IAAI6iG,GAAaF,EAAY,GAC7B,CACI,GAAIK,GAAcv3G,KAAK+1G,UAAUmB,EAE5BK,GAAYP,SAAYO,EAAYR,QAMrC/2G,KAAK+1G,UAAUhyG,KAAK2qF,GACpB1uF,KAAKo2G,mBALLp2G,KAAK+1G,UAAUmB,GAAaxoB,MAQb,KAAdwoB,IAELl3G,KAAK+1G,UAAUhyG,KAAK2qF,GACpB1uF,KAAKo2G,kBAGT,OAAOp2G,OAcXw3G,kBAAmB,SAAU5iG,EAAML,EAAK44D,EAAKya,GAEzC,MAAO5nF,MAAKm3G,cAAcviG,EAAML,EAAK44D,EAAKya,GAAY,IA0B1D6vB,KAAM,SAAUljG,EAAK44D,EAAK18D,EAAMu2B,GAM5B,GAJYz9B,SAAR4jE,IAAqBA,EAAM,MAClB5jE,SAATkH,IAAsBA,EAAO,MACTlH,SAApBy9B,IAAiCA,EAAkB,OAElDmmC,IAAQ18D,EAIT,MAFA8B,SAAQ2iB,KAAK,qEAENl1B,IAGX,IAAIy3G,IACA7iG,KAAM,WACNL,IAAKA,EACL44D,IAAKA,EACL0O,KAAM77E,KAAK67E,KACXy7B,WAAW,EACX7mG,KAAM,KACNumG,SAAS,EACTD,QAAQ,EACRtkB,OAAO,EACPzrD,gBAAiBA,EAIjBv2B,KAEoB,gBAATA,KAEPA,EAAOs+F,KAAKvvE,MAAM/uB,IAGtBgnG,EAAKhnG,KAAOA,MAGZgnG,EAAKV,QAAS,EAKlB,KAAK,GAAI9zG,GAAI,EAAGA,EAAIjD,KAAK+1G,UAAU7yG,OAAS,EAAGD,IAC/C,CACI,GAAIyrF,GAAO1uF,KAAK+1G,UAAU9yG,EAE1B,KAAKyrF,IAAUA,EAAKqoB,SAAWroB,EAAKsoB,SAAyB,aAAdtoB,EAAK95E,KACpD,CACI5U,KAAK+1G,UAAUrtG,OAAOzF,EAAG,EAAGw0G,GAC5Bz3G,KAAKm2G,iBACL,QAIR,MAAOn2G,OA2BXwpB,MAAO,SAAUjV,EAAK44D,EAAKiqC,GAEvB,MAAOp3G,MAAKm3G,cAAc,QAAS5iG,EAAK44D,EAAK5jE,OAAW6tG,EAAW,SA4BvEM,OAAQ,SAAU3/E,EAAM4/E,GAEpB,GAAIh3G,MAAMoR,QAAQ4lG,GAEd,IAAK,GAAI10G,GAAI,EAAGA,EAAI80B,EAAK70B,OAAQD,IAE7BjD,KAAKwpB,MAAMuO,EAAK90B,GAAI00G,EAAK10G,QAK7B,KAAK,GAAIA,GAAI,EAAGA,EAAI80B,EAAK70B,OAAQD,IAE7BjD,KAAKwpB,MAAMuO,EAAK90B,GAIxB,OAAOjD,OAyBXorE,KAAM,SAAU72D,EAAK44D,EAAKiqC,GAEtB,MAAOp3G,MAAKm3G,cAAc,OAAQ5iG,EAAK44D,EAAK5jE,OAAW6tG,EAAW,SA0BtElK,KAAM,SAAU34F,EAAK44D,EAAKiqC,GAEtB,MAAOp3G,MAAKm3G,cAAc,OAAQ5iG,EAAK44D,EAAK5jE,OAAW6tG,EAAW,UAyBtE1rG,OAAQ,SAAU6I,EAAK44D,EAAKiqC,GAExB,MAAOp3G,MAAKm3G,cAAc,SAAU5iG,EAAK44D,EAAK5jE,OAAW6tG,EAAW,UAyBxEvJ,IAAK,SAAUt5F,EAAK44D,EAAKiqC,GAErB,MAAOp3G,MAAKm3G,cAAc,MAAO5iG,EAAK44D,EAAK5jE,OAAW6tG,EAAW,SA6BrEQ,OAAQ,SAAUrjG,EAAK44D,EAAKv5B,EAAU5M,GAMlC,MAJiBz9B,UAAbqqC,IAA0BA,GAAW,GAErCA,KAAa,GAA6BrqC,SAApBy9B,IAAiCA,EAAkBhnC,MAEtEA,KAAKm3G,cAAc,SAAU5iG,EAAK44D,GAAOmqC,WAAW,EAAM1jE,SAAUA,EAAU5M,gBAAiBA,IAAmB,EAAO,QA+BpImnE,OAAQ,SAAU55F,EAAK44D,EAAKv5B,EAAU5M,GAOlC,MALiBz9B,UAAbqqC,IAA0BA,GAAW,GAGrCA,KAAa,GAA6BrqC,SAApBy9B,IAAiCA,EAAkB4M,GAEtE5zC,KAAKm3G,cAAc,SAAU5iG,EAAK44D,GAAOv5B,SAAUA,EAAU5M,gBAAiBA,IAAmB,EAAO,SAoCnH6wE,YAAa,SAAUtjG,EAAK44D,EAAKz9C,EAAYC,EAAai9E,EAAUC,EAAQC,GAMxE,MAJiBvjG,UAAbqjG,IAA0BA,EAAW,IAC1BrjG,SAAXsjG,IAAwBA,EAAS,GACrBtjG,SAAZujG,IAAyBA,EAAU,GAEhC9sG,KAAKm3G,cAAc,cAAe5iG,EAAK44D,GAAOz9C,WAAYA,EAAYC,YAAaA,EAAai9E,SAAUA,EAAUC,OAAQA,EAAQC,QAASA,IAAW,EAAO,SA6B1K/hC,MAAO,SAAUx2D,EAAKojG,EAAMG,GAExB,MAAI93G,MAAKE,KAAKgkC,MAAM6zE,QAET/3G,MAGQuJ,SAAfuuG,IAA4BA,GAAa,GAEzB,gBAATH,KAEPA,GAAQA,IAGL33G,KAAKm3G,cAAc,QAAS5iG,EAAKojG,GAAQ38F,OAAQ,KAAM88F,WAAYA,MA4B9EE,YAAa,SAASzjG,EAAKojG,EAAMM,EAASC,EAAUJ,GAEhD,MAAI93G,MAAKE,KAAKgkC,MAAM6zE,QAET/3G,MAGKuJ,SAAZ0uG,IAAyBA,EAAU,MACtB1uG,SAAb2uG,IAA0BA,EAAW,MACtB3uG,SAAfuuG,IAA4BA,GAAa,GAE7C93G,KAAK+qE,MAAMx2D,EAAKojG,EAAMG,GAElBG,EAEAj4G,KAAKktG,KAAK34F,EAAM,cAAe0jG,GAE1BC,GAEmB,gBAAbA,KAEPA,EAAWnJ,KAAKvvE,MAAM04E,IAG1Bl4G,KAAK8jC,MAAM2sE,QAAQl8F,EAAM,cAAe,GAAI2jG,IAI5C3lG,QAAQ2iB,KAAK,8FAGVl1B,OAkCXktE,MAAO,SAAU34D,EAAKojG,EAAMQ,EAAWC,GAqBnC,MAnBkB7uG,UAAd4uG,IAIIA,EAFAn4G,KAAKE,KAAK0uC,OAAO0gD,QAEL,aAIA,kBAIL/lF,SAAX6uG,IAAwBA,GAAS,GAEjB,gBAATT,KAEPA,GAAQA,IAGL33G,KAAKm3G,cAAc,QAAS5iG,EAAKojG,GAAQ38F,OAAQ,KAAMo9F,OAAQA,EAAQD,UAAWA,KAiC7FxrC,QAAS,SAAUp4D,EAAK44D,EAAK18D,EAAMuF,GAmB/B,GAjBYzM,SAAR4jE,IAAqBA,EAAM,MAClB5jE,SAATkH,IAAsBA,EAAO,MAClBlH,SAAXyM,IAAwBA,EAASkS,EAAO4kD,QAAQurC,KAE/ClrC,GAAQ18D,IAIL08D,EAFAn3D,IAAWkS,EAAO4kD,QAAQurC,IAEpB9jG,EAAM,OAINA,EAAM,SAKhB9D,EACJ,CACI,OAAQuF,GAGJ,IAAKkS,GAAO4kD,QAAQurC,IAChB,KAGJ,KAAKnwF,GAAO4kD,QAAQwrC,WAEI,gBAAT7nG,KAEPA,EAAOs+F,KAAKvvE,MAAM/uB,IAK9BzQ,KAAK8jC,MAAMisE,WAAWx7F,EAAK,KAAM9D,EAAMuF,OAIvChW,MAAKm3G,cAAc,UAAW5iG,EAAK44D,GAAOn3D,OAAQA,GAGtD,OAAOhW,OAmCXskC,QAAS,SAAU/vB,EAAK44D,EAAK18D,EAAMuF,GA0B/B,MAxBYzM,UAAR4jE,IAAqBA,EAAM,MAClB5jE,SAATkH,IAAsBA,EAAO,MAClBlH,SAAXyM,IAAwBA,EAASkS,EAAO4nB,QAAQyoE,kBAE/CprC,GAAQ18D,IAET08D,EAAM54D,EAAM,SAIZ9D,GAEoB,gBAATA,KAEPA,EAAOs+F,KAAKvvE,MAAM/uB,IAGtBzQ,KAAK8jC,MAAMgsE,eAAev7F,EAAK,KAAM9D,EAAMuF,IAI3ChW,KAAKm3G,cAAc,UAAW5iG,EAAK44D,GAAOn3D,OAAQA,IAG/ChW,MA0CXouG,WAAY,SAAU75F,EAAKikG,EAAYC,EAAUrI,EAAW/jC,EAAUC,GAmBlE,IAjBmB/iE,SAAfivG,GAA2C,OAAfA,KAE5BA,EAAajkG,EAAM,QAGNhL,SAAbkvG,IAA0BA,EAAW,MACvBlvG,SAAd6mG,IAA2BA,EAAY,MAE1B,OAAbqI,GAAmC,OAAdrI,IAErBqI,EAAWlkG,EAAM,QAGJhL,SAAb8iE,IAA0BA,EAAW,GACxB9iE,SAAb+iE,IAA0BA,EAAW,GAGrCmsC,EAEAz4G,KAAKm3G,cAAc,aAAc5iG,EAAKikG,GAAcC,SAAUA,EAAUpsC,SAAUA,EAAUC,SAAUA,QAKtG,IAAyB,gBAAd8jC,GACX,CACI,GAAIlD,GAAMW,CAEV,KAEIX,EAAO6B,KAAKvvE,MAAM4wE,GAEtB,MAAQj5E,GAEJ02E,EAAM7tG,KAAK04G,SAAStI,GAGxB,IAAKvC,IAAQX,EAET,KAAM,IAAIvkG,OAAM,iDAGpB3I,MAAKm3G,cAAc,aAAc5iG,EAAKikG,GAAcC,SAAU,KAAMrI,UAAWlD,GAAQW,EACnFwC,UAAcnD,EAAO,OAAS,MAAQ7gC,SAAUA,EAAUC,SAAUA,IAIhF,MAAOtsE,OA4CX24G,eAAgB,SAAUpkG,EAAKikG,EAAYC,EAAUrI,GAEjD,MAAOpwG,MAAKg1G,MAAMzgG,EAAKikG,EAAYC,EAAUrI,EAAWloF,EAAO2wB,OAAO09D,2BA4C1EqC,cAAe,SAAUrkG,EAAKikG,EAAYC,EAAUrI,GAEhD,MAAOpwG,MAAKg1G,MAAMzgG,EAAKikG,EAAYC,EAAUrI,EAAWloF,EAAO2wB,OAAO29D,0BA4C1EqC,SAAU,SAAUtkG,EAAKikG,EAAYC,EAAUrI,GAU3C,MARiB7mG,UAAbkvG,IAA0BA,EAAW,MACvBlvG,SAAd6mG,IAA2BA,EAAY,MAEtCqI,GAAarI,IAEdqI,EAAWlkG,EAAM,QAGdvU,KAAKg1G,MAAMzgG,EAAKikG,EAAYC,EAAUrI,EAAWloF,EAAO2wB,OAAOm4D,6BA2C1EgE,MAAO,SAAUzgG,EAAKikG,EAAYC,EAAUrI,EAAWp6F,GAwBnD,IAtBmBzM,SAAfivG,GAA2C,OAAfA,KAE5BA,EAAajkG,EAAM,QAGNhL,SAAbkvG,IAA0BA,EAAW,MACvBlvG,SAAd6mG,IAA2BA,EAAY,MAC5B7mG,SAAXyM,IAAwBA,EAASkS,EAAO2wB,OAAO09D,0BAE9CkC,GAAarI,IAIVqI,EAFAziG,IAAWkS,EAAO2wB,OAAOm4D,2BAEdz8F,EAAM,OAINA,EAAM,SAKrBkkG,EAEAz4G,KAAKm3G,cAAc,eAAgB5iG,EAAKikG,GAAcC,SAAUA,EAAUziG,OAAQA,QAGtF,CACI,OAAQA,GAGJ,IAAKkS,GAAO2wB,OAAO09D,yBAEU,gBAAdnG,KAEPA,EAAYrB,KAAKvvE,MAAM4wE,GAE3B,MAGJ,KAAKloF,GAAO2wB,OAAOm4D,2BAEf,GAAyB,gBAAdZ,GACX,CACI,GAAIvC,GAAM7tG,KAAK04G,SAAStI,EAExB,KAAKvC,EAED,KAAM,IAAIllG,OAAM,iDAGpBynG,GAAYvC,GAKxB7tG,KAAKm3G,cAAc,eAAgB5iG,EAAKikG,GAAcC,SAAU,KAAMrI,UAAWA,EAAWp6F,OAAQA,IAIxG,MAAOhW,OAiBX84G,cAAe,SAAUllE,EAAU5M,GAE/BhnC,KAAK81G,qBAEL,KACIliE,EAASluC,KAAKshC,GAAmBhnC,KAAMA,MACzC,QACEA,KAAK81G,sBAGT,MAAO91G,OAcX+4G,aAAc,SAAUnkG,EAAML,GAE1B,GAAIykG,GAAQh5G,KAAKi3G,SAASriG,EAAML,EAOhC,OALIykG,KAEAA,EAAMtqB,KAAK4oB,WAAY,GAGpBt3G,MAaXi5G,WAAY,SAAUrkG,EAAML,GAExB,GAAIykG,GAAQh5G,KAAKi3G,SAASriG,EAAML,EAE5BykG,KAEKA,EAAMjC,QAAWiC,EAAMhC,SAExBh3G,KAAK+1G,UAAUrtG,OAAOswG,EAAMxwG,MAAO,KAY/Cq/B,UAAW,WAEP7nC,KAAK+1G,UAAU7yG,OAAS,EACxBlD,KAAKg2G,aAAa9yG,OAAS,GAS/BgI,MAAO,WAEClL,KAAKk1G,YAKTl1G,KAAK4L,WAAY,EACjB5L,KAAKk1G,WAAY,EAEjBl1G,KAAKk5G,iBAELl5G,KAAKm5G,qBAiBTA,iBAAkB,WAEd,IAAKn5G,KAAKk1G,UAIN,MAFA3iG,SAAQ2iB,KAAK,uDACbl1B,MAAKo5G,iBAAgB,EAKzB,KAAK,GAAIn2G,GAAI,EAAGA,EAAIjD,KAAKg2G,aAAa9yG,OAAQD,IAC9C,CACI,GAAIyrF,GAAO1uF,KAAKg2G,aAAa/yG,IAEzByrF,EAAKqoB,QAAUroB,EAAK+D,SAEpBzyF,KAAKg2G,aAAattG,OAAOzF,EAAG,GAC5BA,IAEAyrF,EAAKsoB,SAAU,EACftoB,EAAK2qB,WAAa,KAClB3qB,EAAK4qB,cAAgB,KAEjB5qB,EAAK+D,OAELzyF,KAAKy1G,YAAYhuE,SAASinD,EAAKn6E,IAAKm6E,GAGtB,aAAdA,EAAK95E,MAEL5U,KAAKs2G,mBACLt2G,KAAKw1G,eAAe/tE,SAASznC,KAAKu5G,SAAU7qB,EAAKn6E,KAAMm6E,EAAK+D,MAAOzyF,KAAKs2G,iBAAkBt2G,KAAKo2G,kBAE5E,aAAd1nB,EAAK95E,MAAuB85E,EAAK+D,QAGtCzyF,KAAKq2G,mBACLr2G,KAAKs1G,eAAe7tE,SAASinD,EAAKn6E,KAAMm6E,EAAK+D,MAAOzyF,KAAKq2G,iBAAkBr2G,KAAKm2G,mBAW5F,IAAK,GAJDqD,IAAY,EAEZC,EAAgBz5G,KAAK41G,eAAiB1tF,EAAOrnB,KAAKo9B,MAAMj+B,KAAK61G,qBAAsB,EAAG,IAAM,EAEvF5yG,EAAIjD,KAAKi2G,gBAAiBhzG,EAAIjD,KAAK+1G,UAAU7yG,OAAQD,IAC9D,CACI,GAAIyrF,GAAO1uF,KAAK+1G,UAAU9yG,EAuD1B,IApDkB,aAAdyrF,EAAK95E,OAAwB85E,EAAK+D,OAAS/D,EAAKqoB,QAAU9zG,IAAMjD,KAAKi2G,kBAGrEj2G,KAAK05G,YAAYhrB,GAEjB1uF,KAAKq2G,mBACLr2G,KAAKs1G,eAAe7tE,SAASinD,EAAKn6E,KAAMm6E,EAAK+D,MAAOzyF,KAAKq2G,iBAAkBr2G,KAAKm2G,kBAGhFznB,EAAKqoB,QAAUroB,EAAK+D,MAGhBxvF,IAAMjD,KAAKi2G,kBAEXj2G,KAAKi2G,gBAAkBhzG,EAAI,IAGzByrF,EAAKsoB,SAAWh3G,KAAKg2G,aAAa9yG,OAASu2G,IAG/B,aAAd/qB,EAAK95E,MAAwB85E,EAAKj+E,KAS5B+oG,IAEDx5G,KAAKk2G,mBAENl2G,KAAKk2G,kBAAmB,EACxBl2G,KAAKo1G,YAAY3tE,YAGrBznC,KAAKg2G,aAAajyG,KAAK2qF,GACvBA,EAAKsoB,SAAU,EACfh3G,KAAKu1G,YAAY9tE,SAASznC,KAAKu5G,SAAU7qB,EAAKn6E,IAAKm6E,EAAKvhB,KAExDntE,KAAK25G,SAASjrB,KAjBd1uF,KAAKg2G,aAAajyG,KAAK2qF,GACvBA,EAAKsoB,SAAU,EAEfh3G,KAAK25G,SAASjrB,MAkBjBA,EAAKqoB,QAAUroB,EAAK4oB,YAErBkC,GAAY,GAKZx5G,KAAKg2G,aAAa9yG,QAAUu2G,GAC3BD,GAAax5G,KAAKq2G,mBAAqBr2G,KAAKm2G,gBAE7C,MAQR,GAJAn2G,KAAKk5G,iBAIDl5G,KAAKi2G,iBAAmBj2G,KAAK+1G,UAAU7yG,OAEvClD,KAAKo5G,sBAEJ,KAAKp5G,KAAKg2G,aAAa9yG,OAC5B,CAGIqP,QAAQ2iB,KAAK,6EAEb,IAAIkV,GAAQpqC,IAEZgyF,YAAW,WACP5nD,EAAMgvE,iBAAgB,IACvB,OAYXA,gBAAiB,SAAUQ,GAEnB55G,KAAK4L,YAKT5L,KAAK4L,WAAY,EACjB5L,KAAKk1G,WAAY,EAGZ0E,GAAa55G,KAAKk2G,mBAEnBl2G,KAAKk2G,kBAAmB,EACxBl2G,KAAKo1G,YAAY3tE,YAGrBznC,KAAKq1G,eAAe5tE,WAEpBznC,KAAK0jC,QAEL1jC,KAAKE,KAAK0mC,MAAMgB,iBAapBiyE,cAAe,SAAUnrB,EAAMorB,GAENvwG,SAAjBuwG,IAA8BA,EAAe,IAEjDprB,EAAKqoB,QAAS,EACdroB,EAAK+D,QAAUqnB,EAEXA,IAEAprB,EAAKorB,aAAeA,EAEpBvnG,QAAQ2iB,KAAK,mBAAqBw5D,EAAK95E,KAAO,IAAM85E,EAAKn6E,IAAM,MAAaulG,IAIhF95G,KAAKm5G,oBAWTO,YAAa,SAAUjC,GAEnB,GAAIsC,GAAWtC,EAAKhnG,KAAKgnG,EAAKljG,IAE9B,KAAKwlG,EAGD,WADAxnG,SAAQ2iB,KAAK,mBAAqBuiF,EAAKljG,IAAM,wCAIjD,KAAK,GAAItR,GAAI,EAAGA,EAAI82G,EAAS72G,OAAQD,IACrC,CACI,GAAIyrF,GAAOqrB,EAAS92G,EAEpB,QAAQyrF,EAAK95E,MAET,IAAK,QACD5U,KAAKwpB,MAAMklE,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAK0oB,UACpC,MAEJ,KAAK,OACDp3G,KAAKorE,KAAKsjB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAK0oB,UACnC,MAEJ,KAAK,OACDp3G,KAAKktG,KAAKxe,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAK0oB,UACnC,MAEJ,KAAK,MACDp3G,KAAK6tG,IAAInf,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAK0oB,UAClC,MAEJ,KAAK,SACDp3G,KAAK43G,OAAOlpB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAK96C,SAAU6jE,EAAKzwE,iBAAmBhnC,KACvE,MAEJ,KAAK,SACDA,KAAKmuG,OAAOzf,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAK96C,SAAU6jE,EAAKzwE,iBAAmBhnC,KACvE,MAEJ,KAAK,cACDA,KAAK63G,YAAYnpB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKh/D,WAAYg/D,EAAK/+D,YAAa++D,EAAKke,SAAUle,EAAKme,OAAQne,EAAKoe,QACzG,MAEJ,KAAK,QACD9sG,KAAKktE,MAAMwhB,EAAKn6E,IAAKm6E,EAAKipB,KAC1B,MAEJ,KAAK,QACD33G,KAAK+qE,MAAM2jB,EAAKn6E,IAAKm6E,EAAKipB,KAAMjpB,EAAKopB,WACrC,MAEJ,KAAK,cACD93G,KAAKg4G,YAAYtpB,EAAKn6E,IAAKm6E,EAAKipB,KAAMjpB,EAAKupB,QAASvpB,EAAKwpB,SAAUxpB,EAAKopB,WACxE,MAEJ,KAAK,UACD93G,KAAK2sE,QAAQ+hB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,KAAMyX,EAAO4kD,QAAQ4hB,EAAK14E,QAChE,MAEJ,KAAK,UACDhW,KAAKskC,QAAQoqD,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,KAAMyX,EAAO2wB,OAAO61C,EAAK14E,QAC/D,MAEJ,KAAK,aACDhW,KAAKouG,WAAW1f,EAAKn6E,IAAKm6E,EAAK8pB,WAAY9pB,EAAK+pB,SAAU/pB,EAAK0hB,UAAW1hB,EAAKriB,SAAUqiB,EAAKpiB;AAC9F,KAEJ,KAAK,iBACDtsE,KAAK24G,eAAejqB,EAAKn6E,IAAKm6E,EAAK8pB,WAAY9pB,EAAK+pB,SAAU/pB,EAAK0hB,UACnE,MAEJ,KAAK,gBACDpwG,KAAK44G,cAAclqB,EAAKn6E,IAAKm6E,EAAK8pB,WAAY9pB,EAAK+pB,SAAU/pB,EAAK0hB,UAClE,MAEJ,KAAK,WACDpwG,KAAK64G,SAASnqB,EAAKn6E,IAAKm6E,EAAK8pB,WAAY9pB,EAAK+pB,SAAU/pB,EAAK0hB,UAC7D,MAEJ,KAAK,QACDpwG,KAAKg1G,MAAMtmB,EAAKn6E,IAAKm6E,EAAK8pB,WAAY9pB,EAAK+pB,SAAU/pB,EAAK0hB,UAAWloF,EAAO2wB,OAAO61C,EAAK14E,QACxF,MAEJ,KAAK,SACDhW,KAAK0L,OAAOgjF,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAK0oB,cAkBrD4C,aAAc,SAAU7sC,EAAKuhB,GAEzB,MAAKvhB,GAKDA,EAAInK,MAAM,8CAEHmK,EAIAntE,KAAKi1G,QAAUvmB,EAAK7S,KAAO1O,GAT3B,GAuBfwsC,SAAU,SAAUjrB,GAGhB,OAAQA,EAAK95E,MAET,IAAK,WACD5U,KAAKi6G,QAAQvrB,EAAM1uF,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GAAO,OAAQ1uF,KAAKk6G,aACnE,MAEJ,KAAK,QACL,IAAK,cACL,IAAK,eACL,IAAK,aACDl6G,KAAKm6G,aAAazrB,EAClB,MAEJ,KAAK,QACDA,EAAKvhB,IAAMntE,KAAKo6G,YAAY1rB,EAAKvhB,KAE7BuhB,EAAKvhB,IAGDntE,KAAKE,KAAKgkC,MAAMm2E,cAEhBr6G,KAAKi6G,QAAQvrB,EAAM1uF,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GAAO,cAAe1uF,KAAKk6G,cAErEl6G,KAAKE,KAAKgkC,MAAMo2E,eAErBt6G,KAAKu6G,aAAa7rB,GAKtB1uF,KAAKw6G,UAAU9rB,EAAM,KAAM,kFAE/B,MAEJ,KAAK,QACDA,EAAKvhB,IAAMntE,KAAKy6G,YAAY/rB,EAAKvhB,KAE7BuhB,EAAKvhB,IAEDuhB,EAAK0pB,OAELp4G,KAAKi6G,QAAQvrB,EAAM1uF,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GAAO,cAAe1uF,KAAKk6G,cAI1El6G,KAAK06G,aAAahsB,GAKtB1uF,KAAKw6G,UAAU9rB,EAAM,KAAM,kFAE/B,MAEJ,KAAK,OAED1uF,KAAKi6G,QAAQvrB,EAAM1uF,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GAAO,OAAQ1uF,KAAK26G,iBACnE,MAEJ,KAAK,MAED36G,KAAKi6G,QAAQvrB,EAAM1uF,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GAAO,OAAQ1uF,KAAK46G,gBACnE,MAEJ,KAAK,UAEGlsB,EAAK14E,SAAWkS,EAAO4kD,QAAQwrC,WAE/Bt4G,KAAKi6G,QAAQvrB,EAAM1uF,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GAAO,OAAQ1uF,KAAK26G,kBAE9DjsB,EAAK14E,SAAWkS,EAAO4kD,QAAQurC,IAEpCr4G,KAAKi6G,QAAQvrB,EAAM1uF,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GAAO,OAAQ1uF,KAAK66G,iBAInE76G,KAAK65G,cAAcnrB,EAAM,2BAA6BA,EAAK14E,OAE/D,MAEJ,KAAK,OACL,IAAK,SACL,IAAK,SACL,IAAK,UACDhW,KAAKi6G,QAAQvrB,EAAM1uF,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GAAO,OAAQ1uF,KAAKk6G,aACnE,MAEJ,KAAK,SACDl6G,KAAKi6G,QAAQvrB,EAAM1uF,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GAAO,cAAe1uF,KAAKk6G,gBAUtFC,aAAc,SAAUzrB,GAEpB,GAAItkD,GAAQpqC,IAEZ0uF,GAAKj+E,KAAO,GAAIP,OAChBw+E,EAAKj+E,KAAK6mB,KAAOo3D,EAAKn6E,IAElBvU,KAAKypB,cAELilE,EAAKj+E,KAAKgZ,YAAczpB,KAAKypB,aAGjCilE,EAAKj+E,KAAKqqG,OAAS,WACXpsB,EAAKj+E,KAAKqqG,SAEVpsB,EAAKj+E,KAAKqqG,OAAS,KACnBpsB,EAAKj+E,KAAKsqG,QAAU,KACpB3wE,EAAM8vE,aAAaxrB,KAI3BA,EAAKj+E,KAAKsqG,QAAU,WACZrsB,EAAKj+E,KAAKqqG,SAEVpsB,EAAKj+E,KAAKqqG,OAAS,KACnBpsB,EAAKj+E,KAAKsqG,QAAU,KACpB3wE,EAAMowE,UAAU9rB,KAIxBA,EAAKj+E,KAAKN,IAAMnQ,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GAGxCA,EAAKj+E,KAAKqY,UAAY4lE,EAAKj+E,KAAK9J,OAAS+nF,EAAKj+E,KAAK7J,SAEnD8nF,EAAKj+E,KAAKqqG,OAAS,KACnBpsB,EAAKj+E,KAAKsqG,QAAU,KACpB/6G,KAAKk6G,aAAaxrB,KAS1BgsB,aAAc,SAAUhsB,GAEpB,GAAItkD,GAAQpqC,IAEZ0uF,GAAKj+E,KAAOX,SAASoB,cAAc,SACnCw9E,EAAKj+E,KAAK6mB,KAAOo3D,EAAKn6E,IACtBm6E,EAAKj+E,KAAKuqG,UAAW,EACrBtsB,EAAKj+E,KAAKwqG,UAAW,CAErB,IAAIC,GAAiB,WAEjBxsB,EAAKj+E,KAAKg/B,oBAAoBi/C,EAAKypB,UAAW+C,GAAgB,GAC9DxsB,EAAKj+E,KAAKsqG,QAAU,KACpBrsB,EAAKj+E,KAAK0qG,SAAU,EACpBjzF,EAAOmJ,MAAM+Y,EAAMlqC,KAAKuV,IAAIuuB,KAAKk2E,aAAaxrB,GAIlDA,GAAKj+E,KAAKsqG,QAAU,WAChBrsB,EAAKj+E,KAAKg/B,oBAAoBi/C,EAAKypB,UAAW+C,GAAgB,GAC9DxsB,EAAKj+E,KAAKsqG,QAAU,KACpBrsB,EAAKj+E,KAAK0qG,SAAU,EACpB/wE,EAAMowE,UAAU9rB,IAGpBA,EAAKj+E,KAAK89B,iBAAiBmgD,EAAKypB,UAAW+C,GAAgB,GAE3DxsB,EAAKj+E,KAAKN,IAAMnQ,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GAC5CA,EAAKj+E,KAAKuzB,QAQdu2E,aAAc,SAAU7rB,GAEpB,GAAItkD,GAAQpqC,IAEZ,IAAIA,KAAKE,KAAKgkC,MAAM0rE,YAGhBlhB,EAAKj+E,KAAO,GAAI2qG,OAChB1sB,EAAKj+E,KAAK6mB,KAAOo3D,EAAKn6E,IACtBm6E,EAAKj+E,KAAK+zB,QAAU,OACpBkqD,EAAKj+E,KAAKN,IAAMnQ,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GAE5C1uF,KAAKk6G,aAAaxrB,OAGtB,CACIA,EAAKj+E,KAAO,GAAI2qG,OAChB1sB,EAAKj+E,KAAK6mB,KAAOo3D,EAAKn6E,GAEtB,IAAI8mG,GAAmB,WACnB3sB,EAAKj+E,KAAKg/B,oBAAoB,iBAAkB4rE,GAAkB,GAClE3sB,EAAKj+E,KAAKsqG,QAAU,KAEpB7yF,EAAOmJ,MAAM+Y,EAAMlqC,KAAKuV,IAAIuuB,KAAKk2E,aAAaxrB,GAElDA,GAAKj+E,KAAKsqG,QAAU,WAChBrsB,EAAKj+E,KAAKg/B,oBAAoB,iBAAkB4rE,GAAkB,GAClE3sB,EAAKj+E,KAAKsqG,QAAU,KACpB3wE,EAAMowE,UAAU9rB,IAGpBA,EAAKj+E,KAAK+zB,QAAU,OACpBkqD,EAAKj+E,KAAKN,IAAMnQ,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GAC5CA,EAAKj+E,KAAK89B,iBAAiB,iBAAkB8sE,GAAkB,GAC/D3sB,EAAKj+E,KAAKuzB,SAkBlBi2E,QAAS,SAAUvrB,EAAMvhB,EAAKv4D,EAAMkmG,EAAQC,GAExC,GAAI/6G,KAAK01G,mBAAqBpjG,OAAOgpG,eAGjC,WADAt7G,MAAKu7G,eAAe7sB,EAAMvhB,EAAKv4D,EAAMkmG,EAAQC,EAIjD,IAAIS,GAAM,GAAIC,eACdD,GAAIE,KAAK,MAAOvuC,GAAK,GACrBquC,EAAIG,aAAe/mG,EAEnBmmG,EAAUA,GAAW/6G,KAAKw6G,SAE1B,IAAIpwE,GAAQpqC,IAEZw7G,GAAIV,OAAS,WAET,IAEI,MAAOA,GAAOp1G,KAAK0kC,EAAOskD,EAAM8sB,GAElC,MAAOrkF,GAKAiT,EAAMx+B,UAMH0G,OAAgB,SAEhBC,QAAQkgF,MAAMt7D,GANlBiT,EAAMyvE,cAAcnrB,EAAMv3D,EAAEykF,SAAW,eAYnDJ,EAAIT,QAAU,WAEV,IAEI,MAAOA,GAAQr1G,KAAK0kC,EAAOskD,EAAM8sB,GAEnC,MAAOrkF,GAEAiT,EAAMx+B,UAMH0G,OAAgB,SAEhBC,QAAQkgF,MAAMt7D,GANlBiT,EAAMyvE,cAAcnrB,EAAMv3D,EAAEykF,SAAW,eAanDltB,EAAK4qB,cAAgBkC,EACrB9sB,EAAK2qB,WAAalsC,EAElBquC,EAAIK,QAmBRN,eAAgB,SAAU7sB,EAAMvhB,EAAKv4D,EAAMkmG,EAAQC,GAG1C/6G,KAAK21G,4BACJ31G,KAAKE,KAAK0uC,OAAO4gD,MAAMxvF,KAAKE,KAAK0uC,OAAO6gD,WAAa,MAEvDzvF,KAAK21G,4BAA6B,EAClCpjG,QAAQ2iB,KAAK,wDAIjB,IAAIsmF,GAAM,GAAIlpG,QAAOgpG,cACrBE,GAAIE,KAAK,MAAOvuC,GAAK,GACrBquC,EAAIG,aAAe/mG,EAKnB4mG,EAAIM,QAAU,IAEdf,EAAUA,GAAW/6G,KAAKw6G,SAE1B,IAAIpwE,GAAQpqC,IAEZw7G,GAAIT,QAAU,WACV,IACI,MAAOA,GAAQr1G,KAAK0kC,EAAOskD,EAAM8sB,GACnC,MAAOrkF,GACLiT,EAAMyvE,cAAcnrB,EAAMv3D,EAAEykF,SAAW,eAI/CJ,EAAIO,UAAY,WACZ,IACI,MAAOhB,GAAQr1G,KAAK0kC,EAAOskD,EAAM8sB,GACnC,MAAOrkF,GACLiT,EAAMyvE,cAAcnrB,EAAMv3D,EAAEykF,SAAW,eAI/CJ,EAAIQ,WAAa,aAEjBR,EAAIV,OAAS,WACT,IACI,MAAOA,GAAOp1G,KAAK0kC,EAAOskD,EAAM8sB,GAClC,MAAOrkF,GACLiT,EAAMyvE,cAAcnrB,EAAMv3D,EAAEykF,SAAW,eAI/CltB,EAAK4qB,cAAgBkC,EACrB9sB,EAAK2qB,WAAalsC,EAIlB6kB,WAAW,WACPwpB,EAAIK,QACL,IAcPpB,YAAa,SAAU9C,GAEnB,IAAK,GAAI10G,GAAI,EAAGA,EAAI00G,EAAKz0G,OAAQD,IACjC,CACI,GACIg5G,GADA9uC,EAAMwqC,EAAK10G,EAGf,IAAIkqE,EAAI+uC,IAEJ/uC,EAAMA,EAAI+uC,IACVD,EAAY9uC,EAAIv4D,SAGpB,CAEI,GAA6B,IAAzBu4D,EAAIlkE,QAAQ,UAA2C,IAAzBkkE,EAAIlkE,QAAQ,SAE1C,MAAOkkE,EAGPA,GAAIlkE,QAAQ,MAAQ,IAEpBkkE,EAAMA,EAAI/lD,OAAO,EAAG+lD,EAAIlkE,QAAQ,MAGpC,IAAIouG,GAAYlqC,EAAI/lD,QAAQvmB,KAAKm7B,IAAI,EAAGmxC,EAAIgvC,YAAY,OAAS/xG,EAAAA,GAAY,EAE7E6xG,GAAY5E,EAAUxuD,cAG1B,GAAI7oD,KAAKE,KAAK0uC,OAAOmnD,aAAakmB,GAE9B,MAAOtE,GAAK10G,GAIpB,MAAO,OAcXm3G,YAAa,SAAUzC,GAEnB,GAAI33G,KAAKE,KAAKgkC,MAAM6zE,QAEhB,MAAO,KAGX,KAAK,GAAI90G,GAAI,EAAGA,EAAI00G,EAAKz0G,OAAQD,IACjC,CACI,GACIm5G,GADAjvC,EAAMwqC,EAAK10G,EAGf,IAAIkqE,EAAI+uC,IAEJ/uC,EAAMA,EAAI+uC,IACVE,EAAYjvC,EAAIv4D,SAGpB,CAEI,GAA6B,IAAzBu4D,EAAIlkE,QAAQ,UAA2C,IAAzBkkE,EAAIlkE,QAAQ,SAE1C,MAAOkkE,EAGPA,GAAIlkE,QAAQ,MAAQ,IAEpBkkE,EAAMA,EAAI/lD,OAAO,EAAG+lD,EAAIlkE,QAAQ,MAGpC,IAAIouG,GAAYlqC,EAAI/lD,QAAQvmB,KAAKm7B,IAAI,EAAGmxC,EAAIgvC,YAAY,OAAS/xG,EAAAA,GAAY,EAE7EgyG,GAAY/E,EAAUxuD,cAG1B,GAAI7oD,KAAKE,KAAK0uC,OAAOknD,aAAasmB,GAE9B,MAAOzE,GAAK10G,GAIpB,MAAO,OAaXu3G,UAAW,SAAU9rB,EAAM8sB,EAAKa,GAE5B,GAAIlvC,GAAMuhB,EAAK2qB,YAAcr5G,KAAKg6G,aAAatrB,EAAKvhB,IAAKuhB,GACrDktB,EAAU,gCAAkCzuC,GAE3CkvC,GAAUb,IAEXa,EAASb,EAAIvW,QAGboX,IAEAT,EAAUA,EAAU,KAAOS,EAAS,KAGxCr8G,KAAK65G,cAAcnrB,EAAMktB,IAY7B1B,aAAc,SAAUxrB,EAAM8sB,GAE1B,GAAIc,IAAW,CAEf,QAAQ5tB,EAAK95E,MAET,IAAK,WAGD,GAAInE,GAAOs+F,KAAKvvE,MAAMg8E,EAAIe,aAC1B7tB,GAAKj+E,KAAOA,KACZ,MAEJ,KAAK,QAEDzQ,KAAK8jC,MAAMwuC,SAASoc,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,KAC7C,MAEJ,KAAK,cAEDzQ,KAAK8jC,MAAMgtE,eAAepiB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,KAAMi+E,EAAKh/D,WAAYg/D,EAAK/+D,YAAa++D,EAAKke,SAAUle,EAAKme,OAAQne,EAAKoe,QAC7H,MAEJ,KAAK,eAED,GAAqB,MAAjBpe,EAAK+pB,SAELz4G,KAAK8jC,MAAMitE,gBAAgBriB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,KAAMi+E,EAAK0hB,UAAW1hB,EAAK14E,YAO/E,IAFAsmG,GAAW,EAEP5tB,EAAK14E,QAAUkS,EAAO2wB,OAAO09D,0BAA4B7nB,EAAK14E,QAAUkS,EAAO2wB,OAAO29D,yBAA2B9nB,EAAK14E,QAAUkS,EAAO2wB,OAAOo4D,yBAE9IjxG,KAAKi6G,QAAQvrB,EAAM1uF,KAAKg6G,aAAatrB,EAAK+pB,SAAU/pB,GAAO,OAAQ1uF,KAAK26G,sBAEvE,CAAA,GAAIjsB,EAAK14E,QAAUkS,EAAO2wB,OAAOm4D,2BAMlC,KAAM,IAAIroG,OAAM,gDAAkD+lF,EAAK14E,OAJvEhW,MAAKi6G,QAAQvrB,EAAM1uF,KAAKg6G,aAAatrB,EAAK+pB,SAAU/pB,GAAO,OAAQ1uF,KAAK46G,iBAOhF,KAEJ,KAAK,aAEIlsB,EAAK+pB,UAON6D,GAAW,EACXt8G,KAAKi6G,QAAQvrB,EAAM1uF,KAAKg6G,aAAatrB,EAAK+pB,SAAU/pB,GAAO,OAAQ,SAAUA,EAAM8sB,GAC/E,GAAItO,EAEJ,KAGIA,EAAO6B,KAAKvvE,MAAMg8E,EAAIe,cAE1B,MAAOplF,IAED+1E,GAEFxe,EAAK2hB,UAAY,OACjBrwG,KAAK26G,iBAAiBjsB,EAAM8sB,KAI5B9sB,EAAK2hB,UAAY,MACjBrwG,KAAK46G,gBAAgBlsB,EAAM8sB,OAxBnCx7G,KAAK8jC,MAAMqsE,cAAczhB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,KAAMi+E,EAAK0hB,UAAW1hB,EAAK2hB,UAAW3hB,EAAKriB,SAAUqiB,EAAKpiB,SA4BhH,MAEJ,KAAK,QAED,GAAIoiB,EAAK0pB,OAEL,IAEI1pB,EAAKj+E,KAAO,GAAI+rG,OAAM,GAAIlxF,YAAWkwF,EAAIiB,YAE7C,MAAOtlF,GAEH,KAAM,IAAIxuB,OAAM,sDAAwD+lF,EAAKn6E,KAIrFvU,KAAK8jC,MAAM6sE,SAASjiB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,KAAMi+E,EAAK0pB,OACxD,MAEJ,KAAK,QAEGp4G,KAAKE,KAAKgkC,MAAMm2E,eAEhB3rB,EAAKj+E,KAAO+qG,EAAIiB,SAEhBz8G,KAAK8jC,MAAM0rE,SAAS9gB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,MAAM,GAAM,GAErDi+E,EAAKopB,YAEL93G,KAAKE,KAAKgkC,MAAMw4E,OAAOhuB,EAAKn6E,MAKhCvU,KAAK8jC,MAAM0rE,SAAS9gB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,MAAM,GAAO,EAE9D,MAEJ,KAAK,OACDi+E,EAAKj+E,KAAO+qG,EAAIe,aAChBv8G,KAAK8jC,MAAM+rE,QAAQnhB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,KAC5C,MAEJ,KAAK,SACDi+E,EAAKj+E,KAAO+qG,EAAIe,aAChBv8G,KAAK8jC,MAAM+sE,UAAUniB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,KAC9C,MAEJ,KAAK,UACD,GAAIA,GAAOs+F,KAAKvvE,MAAMg8E,EAAIe,aAC1Bv8G,MAAK8jC,MAAMgsE,eAAephB,EAAKn6E,IAAKm6E,EAAKvhB,IAAK18D,EAAMi+E,EAAK14E,OACzD,MAEJ,KAAK,SACD04E,EAAKj+E,KAAOX,SAASoB,cAAc,UACnCw9E,EAAKj+E,KAAKksG,SAAW,aACrBjuB,EAAKj+E,KAAKmE,KAAO,kBACjB85E,EAAKj+E,KAAKmsG,OAAQ,EAClBluB,EAAKj+E,KAAK26D,KAAOowC,EAAIe,aACrBzsG,SAAS+sG,KAAKlmB,YAAYjI,EAAKj+E,MAC3Bi+E,EAAK96C,WAEL86C,EAAKj+E,KAAOi+E,EAAK96C,SAASluC,KAAKgpF,EAAK1nD,gBAAiB0nD,EAAKn6E,IAAKinG,EAAIe,cAEvE,MAEJ,KAAK,SACG7tB,EAAK96C,SAEL86C,EAAKj+E,KAAOi+E,EAAK96C,SAASluC,KAAKgpF,EAAK1nD,gBAAiB0nD,EAAKn6E,IAAKinG,EAAIiB,UAInE/tB,EAAKj+E,KAAO+qG,EAAIiB,SAGpBz8G,KAAK8jC,MAAMmsE,UAAUvhB,EAAKn6E,IAAKm6E,EAAKj+E,MAKxC6rG,GAEAt8G,KAAK65G,cAAcnrB,IAa3BisB,iBAAkB,SAAUjsB,EAAM8sB,GAE9B,GAAI/qG,GAAOs+F,KAAKvvE,MAAMg8E,EAAIe,aAER,aAAd7tB,EAAK95E,KAEL5U,KAAK8jC,MAAMisE,WAAWrhB,EAAKn6E,IAAKm6E,EAAKvhB,IAAK18D,EAAMi+E,EAAK14E,QAElC,eAAd04E,EAAK95E,KAEV5U,KAAK8jC,MAAMqsE,cAAczhB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,KAAMA,EAAMi+E,EAAK2hB,UAAW3hB,EAAKriB,SAAUqiB,EAAKpiB,UAE/E,SAAdoiB,EAAK95E,KAEV5U,KAAK8jC,MAAM2sE,QAAQ/hB,EAAKn6E,IAAKm6E,EAAKvhB,IAAK18D,GAIvCzQ,KAAK8jC,MAAMitE,gBAAgBriB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,KAAMA,EAAMi+E,EAAK14E,QAGzEhW,KAAK65G,cAAcnrB,IAWvBmsB,gBAAiB,SAAUnsB,EAAM8sB,GAE7B,GAAI/qG,GAAO+qG,EAAIe,YAEfv8G,MAAK8jC,MAAMisE,WAAWrhB,EAAKn6E,IAAKm6E,EAAKvhB,IAAK18D,EAAMi+E,EAAK14E,QAErDhW,KAAK65G,cAAcnrB,IAYvBksB,gBAAiB,SAAUlsB,EAAM8sB,GAG7B,GAAI/qG,GAAO+qG,EAAIe,aACX1O,EAAM7tG,KAAK04G,SAASjoG,EAExB,KAAKo9F,EACL,CACI,GAAI8N,GAAeH,EAAIG,cAAgBH,EAAIsB,WAG3C,OAFAvqG,SAAQ2iB,KAAK,mBAAqBw5D,EAAKn6E,IAAM,kBAAoBonG,EAAe,SAChF37G,MAAK65G,cAAcnrB,EAAM,eAIX,eAAdA,EAAK95E,KAEL5U,KAAK8jC,MAAMqsE,cAAczhB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,KAAMo9F,EAAKnf,EAAK2hB,UAAW3hB,EAAKriB,SAAUqiB,EAAKpiB,UAE9E,iBAAdoiB,EAAK95E,KAEV5U,KAAK8jC,MAAMitE,gBAAgBriB,EAAKn6E,IAAKm6E,EAAKvhB,IAAKuhB,EAAKj+E,KAAMo9F,EAAKnf,EAAK14E,QAEjD,QAAd04E,EAAK95E,MAEV5U,KAAK8jC,MAAM4sE,OAAOhiB,EAAKn6E,IAAKm6E,EAAKvhB,IAAK0gC,GAG1C7tG,KAAK65G,cAAcnrB,IAYvBgqB,SAAU,SAAUjoG,GAEhB,GAAIo9F,EAEJ,KAEI,GAAIv7F,OAAkB,UACtB,CACI,GAAIyqG,GAAY,GAAIC,UACpBnP,GAAMkP,EAAUE,gBAAgBxsG,EAAM,gBAItCo9F,GAAM,GAAIqP,eAAc,oBAExBrP,EAAIsP,MAAQ,QACZtP,EAAIuP,QAAQ3sG,GAGpB,MAAO0mB,GAEH02E,EAAM,KAGV,MAAKA,IAAQA,EAAIxa,kBAAmBwa,EAAIC,qBAAqB,eAAe5qG,OAMjE2qG,EAJA,MAiBfqL,eAAgB,WAERl5G,KAAKm1G,gBAEgC,IAAjCn1G,KAAKm1G,cAAc9gC,UAEnBr0E,KAAKm1G,cAAcjwC,KAAKv+D,MAAQ9F,KAAKizB,MAAO9zB,KAAKm1G,cAAcxuG,MAAQ,IAAO3G,KAAKu5G,UAInFv5G,KAAKm1G,cAAcjwC,KAAKt+D,OAAS/F,KAAKizB,MAAO9zB,KAAKm1G,cAAcvuG,OAAS,IAAO5G,KAAKu5G,UAGrFv5G,KAAKm1G,cAAcnzF,OAEnBhiB,KAAKm1G,cAAcnzF,OAAOmjD,aAK1BnlE,KAAKm1G,cAAgB,OAajCkI,iBAAkB,WAEd,MAAOr9G,MAAKs2G,kBAWhB5uE,iBAAkB,WAEd,MAAO1nC,MAAKo2G,gBAAkBp2G,KAAKs2G,kBAWvCgH,iBAAkB,WAEd,MAAOt9G,MAAKm2G,iBAWhBxuE,iBAAkB,WAEd,MAAO3nC,MAAKm2G,gBAAkBn2G,KAAKq2G,mBAe3CjzG,OAAOC,eAAe6kB,EAAO2wB,OAAOh2C,UAAW,iBAE3CS,IAAK,WACD,GAAIi2G,GAAYv5G,KAAKs2G,iBAAmBt2G,KAAKo2G,gBAAmB,GAChE,OAAOluF,GAAOrnB,KAAKo9B,MAAMs7E,GAAY,EAAG,EAAG,QAWnDn2G,OAAOC,eAAe6kB,EAAO2wB,OAAOh2C,UAAW,YAE3CS,IAAK,WACD,MAAOzC,MAAKo4B,MAAMj5B,KAAKu9G,kBAK/Br1F,EAAO2wB,OAAOh2C,UAAUC,YAAcolB,EAAO2wB,OAa7C3wB,EAAOooF,cAYHlC,WAAY,SAAUP,EAAKliG,EAAa0gE,EAAUC,GAE9C,MAAOtsE,MAAKwwG,cAAc3C,EAAKliG,EAAa0gE,EAAUC,IAc1DkkC,cAAe,SAAU3C,EAAKliG,EAAa0gE,EAAUC,GAEjD,GAAI77D,MACA+sG,EAAO3P,EAAIC,qBAAqB,QAAQ,GACxC2P,EAAS5P,EAAIC,qBAAqB,UAAU,EAEhDr9F,GAAKu7D,KAAOwxC,EAAKE,aAAa,QAC9BjtG,EAAKoQ,KAAO0V,SAASinF,EAAKE,aAAa,QAAS,IAChDjtG,EAAKo1E,WAAatvD,SAASknF,EAAOC,aAAa,cAAe,IAAMpxC,EACpE77D,EAAK07D,QAIL,KAAK,GAFDwxC,GAAU9P,EAAIC,qBAAqB,QAE9B7qG,EAAI,EAAGA,EAAI06G,EAAQz6G,OAAQD,IACpC,CACI,GAAI65D,GAAWvmC,SAASonF,EAAQ16G,GAAGy6G,aAAa,MAAO,GAEvDjtG,GAAK07D,MAAMrP,IACPz3D,EAAGkxB,SAASonF,EAAQ16G,GAAGy6G,aAAa,KAAM,IAC1Cp4G,EAAGixB,SAASonF,EAAQ16G,GAAGy6G,aAAa,KAAM,IAC1C/2G,MAAO4vB,SAASonF,EAAQ16G,GAAGy6G,aAAa,SAAU,IAClD92G,OAAQ2vB,SAASonF,EAAQ16G,GAAGy6G,aAAa,UAAW,IACpDnxC,QAASh2C,SAASonF,EAAQ16G,GAAGy6G,aAAa,WAAY,IACtDlxC,QAASj2C,SAASonF,EAAQ16G,GAAGy6G,aAAa,WAAY,IACtDj0B,SAAUlzD,SAASonF,EAAQ16G,GAAGy6G,aAAa,YAAa,IAAMrxC,EAC9Dmd,YAIR,GAAIo0B,GAAW/P,EAAIC,qBAAqB,UAExC,KAAK7qG,EAAI,EAAGA,EAAI26G,EAAS16G,OAAQD,IACjC,CACI,GAAI4mD,GAAQtzB,SAASqnF,EAAS36G,GAAGy6G,aAAa,SAAU,IACpDG,EAAStnF,SAASqnF,EAAS36G,GAAGy6G,aAAa,UAAW,IACtD5uF,EAASyH,SAASqnF,EAAS36G,GAAGy6G,aAAa,UAAW,GAE1DjtG,GAAK07D,MAAM0xC,GAAQr0B,QAAQ3/B,GAAS/6B,EAGxC,MAAO9uB,MAAK89G,mBAAmBnyG,EAAa8E,IAchD8/F,eAAgB,SAAUrD,EAAMvhG,EAAa0gE,EAAUC,GAEnD,GAAI77D,IACAu7D,KAAMkhC,EAAKlhC,KAAKwxC,KAAKO,MACrBl9F,KAAM0V,SAAS22E,EAAKlhC,KAAKwxC,KAAKhsC,MAAO,IACrCqU,WAAYtvD,SAAS22E,EAAKlhC,KAAKyxC,OAAOO,YAAa,IAAM1xC,EACzDH,SAqCJ,OAlCA+gC,GAAKlhC,KAAKG,MAAM,QAAQv3C,QAEpB,SAAmB8xD,GAEf,GAAI5pB,GAAWvmC,SAASmwD,EAAOu3B,IAAK,GAEpCxtG,GAAK07D,MAAMrP,IACPz3D,EAAGkxB,SAASmwD,EAAOxoC,GAAI,IACvB54C,EAAGixB,SAASmwD,EAAOvoC,GAAI,IACvBx3C,MAAO4vB,SAASmwD,EAAOv+E,OAAQ,IAC/BvB,OAAQ2vB,SAASmwD,EAAOt+E,QAAS,IACjCmkE,QAASh2C,SAASmwD,EAAOw3B,SAAU,IACnC1xC,QAASj2C,SAASmwD,EAAOy3B,SAAU,IACnC10B,SAAUlzD,SAASmwD,EAAO03B,UAAW,IAAM/xC,EAC3Cmd,cAMR0jB,EAAKlhC,KAAK4xC,UAAY1Q,EAAKlhC,KAAK4xC,SAASp0B,SAEzC0jB,EAAKlhC,KAAK4xC,SAASp0B,QAAQ50D,QAEvB,SAAsB40D,GAElB/4E,EAAK07D,MAAMqd,EAAQ60B,SAAS70B,QAAQA,EAAQ80B,QAAU/nF,SAASizD,EAAQ+0B,QAAS,MAQrFv+G,KAAK89G,mBAAmBnyG,EAAa8E,IAahDqtG,mBAAoB,SAAUnyG,EAAa6yG,GAcvC,MAZAp7G,QAAO20B,KAAKymF,EAAeryC,OAAOv3C,QAE9B,SAAoBkoC,GAEhB,GAAI4pB,GAAS83B,EAAeryC,MAAMrP,EAElC4pB,GAAO9+E,QAAU,GAAI3H,MAAKoL,QAAQM,EAAa,GAAIuc,GAAO1lB,UAAUkkF,EAAOrhF,EAAGqhF,EAAOphF,EAAGohF,EAAO//E,MAAO+/E,EAAO9/E,WAM9G43G,IAqBft2F,EAAO8nD,YAAc,SAAU9vE,EAAMqU,GAMjCvU,KAAKE,KAAOA,EAMZF,KAAKuU,IAAMA,EAMXvU,KAAKytC,OAASztC,KAAKE,KAAK4jC,MAAMsvE,QAAQ7+F,EAAM,eAM5CvU,KAAKy+G,YAAc,KAOnBz+G,KAAKi7G,UAAW,EAMhBj7G,KAAK0+G,SAEL,KAAK,GAAIxpD,KAAKl1D,MAAKytC,OAAOkxE,UAC1B,CACI,GAAI/uC,GAAS5vE,KAAKytC,OAAOkxE,UAAUzpD,GAC/BhxB,EAAQlkC,KAAKE,KAAKw7B,IAAIwI,MAAMlkC,KAAKuU,IAErC2vB,GAAM06E,UAAU1pD,EAAG0a,EAAO1kE,MAAQ0kE,EAAOhmE,IAAMgmE,EAAO1kE,MAAQ,KAAM0kE,EAAOrM,MAE3EvjE,KAAK0+G,OAAOxpD,GAAKhxB,EAGjBlkC,KAAKytC,OAAOwtE,WAEZj7G,KAAKy+G,YAAcz+G,KAAKytC,OAAOwtE,SAC/Bj7G,KAAKqjE,KAAKrjE,KAAKy+G,aACfz+G,KAAKi7G,SAAWj7G,KAAK0+G,OAAO1+G,KAAKy+G,eAKzCv2F,EAAO8nD,YAAYntE,WAUfwgE,KAAM,SAAUuM,EAAQ9tC,GAIpB,MAFev4B,UAAXu4B,IAAwBA,EAAS,GAE9B9hC,KAAK0+G,OAAO9uC,GAAQvM,KAAKuM,EAAQ,KAAM9tC,IAUlDh3B,KAAM,SAAU8kE,GAEZ,GAAKA,EASD5vE,KAAK0+G,OAAO9uC,GAAQ9kE,WAPpB,KAAK,GAAIyJ,KAAOvU,MAAK0+G,OAEjB1+G,KAAK0+G,OAAOnqG,GAAKzJ,QAiB7BxH,IAAK,SAASssE,GAEV,MAAO5vE,MAAK0+G,OAAO9uC,KAM3B1nD,EAAO8nD,YAAYntE,UAAUC,YAAcolB,EAAO8nD,YAkBlD9nD,EAAO6nD,MAAQ,SAAU7vE,EAAMqU,EAAKutB,EAAQyhC,EAAMrP,GAE/B3qD,SAAXu4B,IAAwBA,EAAS,GACxBv4B,SAATg6D,IAAsBA,GAAO,GACjBh6D,SAAZ2qD,IAAyBA,EAAUh0D,EAAKgkC,MAAM26E,iBAMlD7+G,KAAKE,KAAOA,EAKZF,KAAKs3B,KAAO/iB,EAKZvU,KAAKuU,IAAMA,EAKXvU,KAAKujE,KAAOA,EAKZvjE,KAAK8hC,OAASA,EAKd9hC,KAAK8+G,WAKL9+G,KAAKiN,QAAU,KAKfjN,KAAKi7G,UAAW,EAKhBj7G,KAAK++G,cAAgB,EAMrB/+G,KAAKglG,UAAY,EAKjBhlG,KAAKg/G,YAAc,EAKnBh/G,KAAKqmD,SAAW,EAKhBrmD,KAAKi/G,WAAa,EAKlBj/G,KAAKmB,SAAW,EAKhBnB,KAAKk/G,SAAW,EAMhBl/G,KAAK4kC,QAAS,EAKd5kC,KAAKm/G,eAAiB,EAKtBn/G,KAAKo/G,WAAa,EAMlBp/G,KAAKiqG,WAAY,EAMjBjqG,KAAKq/G,cAAgB,GAKrBr/G,KAAKs/G,UAAY,KAMjBt/G,KAAKu/G,iBAAkB,EAMvBv/G,KAAKw/G,UAAW,EAMhBx/G,KAAKy/G,eAAgB,EAMrBz/G,KAAKq6G,cAAgBr6G,KAAKE,KAAKgkC,MAAMm2E,cAKrCr6G,KAAKs6G,cAAgBt6G,KAAKE,KAAKgkC,MAAMo2E,cAKrCt6G,KAAK0/G,aAAe,KAKpB1/G,KAAK2/G,eAAiB,KAKtB3/G,KAAK4/G,SAAW,KAMhB5/G,KAAK6/G,OAAS,KAEV7/G,KAAKq6G,eAELr6G,KAAKiN,QAAUjN,KAAKE,KAAKgkC,MAAMj3B,QAC/BjN,KAAK2/G,eAAiB3/G,KAAKE,KAAKgkC,MAAM47E,WAENv2G,SAA5BvJ,KAAKiN,QAAQ8yG,WAEb//G,KAAK4/G,SAAW5/G,KAAKiN,QAAQ+yG,iBAI7BhgH,KAAK4/G,SAAW5/G,KAAKiN,QAAQ8yG,aAGjC//G,KAAK4/G,SAASK,KAAKx8G,MAAQq+B,EAAS9hC,KAAKE,KAAKgkC,MAAMpC,OAEhDoyB,GAEAl0D,KAAK4/G,SAAS1rD,QAAQl0D,KAAK2/G,iBAG1B3/G,KAAKs6G,gBAENt6G,KAAKE,KAAK4jC,MAAMqtE,SAAS58F,IAAQvU,KAAKE,KAAK4jC,MAAM0tE,aAAaj9F,IAE9DvU,KAAK6/G,OAAS7/G,KAAKE,KAAK4jC,MAAM6uE,aAAap+F,GAC3CvU,KAAK++G,cAAgB,EAEjB/+G,KAAK6/G,OAAOx5D,WAEZrmD,KAAK++G,cAAgB/+G,KAAK6/G,OAAOx5D,WAKrCrmD,KAAKE,KAAK4jC,MAAM0qE,cAAc9yE,IAAI17B,KAAKkgH,iBAAkBlgH,OAOjEA,KAAKmgH,UAAY,GAAIj4F,GAAOud,OAK5BzlC,KAAKogH,OAAS,GAAIl4F,GAAOud,OAKzBzlC,KAAKwmC,QAAU,GAAIte,GAAOud,OAK1BzlC,KAAK0mC,SAAW,GAAIxe,GAAOud,OAK3BzlC,KAAKyjG,OAAS,GAAIv7E,GAAOud,OAKzBzlC,KAAKqgH,OAAS,GAAIn4F,GAAOud,OAKzBzlC,KAAKsgH,OAAS,GAAIp4F,GAAOud,OAKzBzlC,KAAKugH,iBAAmB,GAAIr4F,GAAOud,OAKnCzlC,KAAKwgH,eAAiB,GAAIt4F,GAAOud,OAMjCzlC,KAAKygH,QAAU3+E,EAMf9hC,KAAK0gH,QAAU,KAMf1gH,KAAK2gH,QAAS,EAMd3gH,KAAK4gH,YAAc,EAMnB5gH,KAAK6gH,cAAgB,EAMrB7gH,KAAK8gH,YAAc,EAMnB9gH,KAAK+gH,YAAc,EAMnB/gH,KAAKghH,UAAY,EAMjBhhH,KAAKy3C,SAAU,EAMfz3C,KAAKihH,2BAA4B,GAIrC/4F,EAAO6nD,MAAMltE,WAQTq9G,iBAAkB,SAAU3rG,GAEpBA,IAAQvU,KAAKuU,MAEbvU,KAAK6/G,OAAS7/G,KAAKE,KAAK4jC,MAAM6uE,aAAa3yG,KAAKuU,KAChDvU,KAAK++G,cAAgB/+G,KAAK6/G,OAAOx5D,WAgBzCu4D,UAAW,SAAUtnF,EAAMpsB,EAAOm7C,EAAUvkB,EAAQyhC,IAEjCh6D,SAAXu4B,GAAmC,OAAXA,KAAmBA,EAAS,GAC3Cv4B,SAATg6D,IAAsBA,GAAO,GAEjCvjE,KAAK8+G,QAAQxnF,IACTA,KAAMA,EACNpsB,MAAOA,EACPJ,KAAMI,EAAQm7C,EACdvkB,OAAQA,EACRukB,SAAUA,EACV44D,WAAuB,IAAX54D,EACZkd,KAAMA,IAUd29C,aAAc,SAAU5pF,SAEbt3B,MAAK8+G,QAAQxnF,IAWxB6pF,eAAgB,WAEZnhH,KAAK6/G,OAAOuB,QAAU,KACtBphH,KAAKiqG,WAAY,EACjBjqG,KAAK8K,QASTu4B,OAAQ,WAEJ,MAAKrjC,MAAKE,KAAK4jC,MAAM+tE,cAAc7xG,KAAKuU,MAMpCvU,KAAKqhH,YAAcrhH,KAAKihH,4BAExBjhH,KAAKmgH,UAAU14E,SAASznC,MACxBA,KAAKihH,2BAA4B,GAGjCjhH,KAAKu/G,iBAAmBv/G,KAAKE,KAAK4jC,MAAM0tE,aAAaxxG,KAAKuU,OAE1DvU,KAAKu/G,iBAAkB,EACvBv/G,KAAKqjE,KAAKrjE,KAAK4gH,YAAa5gH,KAAK6gH,cAAe7gH,KAAK8gH,YAAa9gH,KAAKghH,iBAGvEhhH,KAAKiqG,YAELjqG,KAAKg/G,YAAch/G,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAKglG,UAE1ChlG,KAAKg/G,aAAeh/G,KAAKi/G,aAErBj/G,KAAKq6G,cAEDr6G,KAAKujE,MAGLvjE,KAAKyjG,OAAOh8D,SAASznC,MAEM,KAAvBA,KAAKq/G,eAELr/G,KAAKg/G,YAAc,EACnBh/G,KAAKglG,UAAYhlG,KAAKE,KAAKikC,KAAKA,OAIhCnkC,KAAKugH,iBAAiB94E,SAASznC,KAAKq/G,cAAer/G,MACnDA,KAAKqjE,KAAKrjE,KAAKq/G,cAAe,EAAGr/G,KAAK8hC,QAAQ,GAAM,KAM7B,KAAvB9hC,KAAKq/G,eAELr/G,KAAK8K,OAMT9K,KAAKujE,MAELvjE,KAAKyjG,OAAOh8D,SAASznC,MACrBA,KAAKqjE,KAAKrjE,KAAKq/G,cAAe,EAAGr/G,KAAK8hC,QAAQ,GAAM,IAIpD9hC,KAAK8K,eA1DjB9K,MAAK+C,WAwEbu+G,SAAU,SAAUx/E,GAEhB9hC,KAAKqjE,KAAK,KAAM,EAAGvhC,GAAQ,IAe/BuhC,KAAM,SAAUuM,EAAQzuE,EAAU2gC,EAAQyhC,EAAMg+C,GAK5C,IAHeh4G,SAAXqmE,GAAwBA,KAAW,GAAoB,OAAXA,KAAmBA,EAAS,IACvDrmE,SAAjBg4G,IAA8BA,GAAe,GAE7CvhH,KAAKiqG,YAAcjqG,KAAKy/G,gBAAkB8B,IAAiBvhH,KAAKw/G,SAGhE,MAAOx/G,KAGX,IAAIA,KAAK6/G,QAAU7/G,KAAKiqG,YAAcjqG,KAAKy/G,gBAAkBz/G,KAAKw/G,UAAY+B,GAE1E,GAAIvhH,KAAKq6G,cAWL,GATIr6G,KAAK0/G,aAEL1/G,KAAK6/G,OAAOzrD,WAAWp0D,KAAK0/G,cAI5B1/G,KAAK6/G,OAAOzrD,WAAWp0D,KAAK4/G,UAGPr2G,SAArBvJ,KAAK6/G,OAAO/0G,KAEZ9K,KAAK6/G,OAAO2B,QAAQ,OAIpB,KACIxhH,KAAK6/G,OAAO/0G,KAAK,GAErB,MAAOqsB,QAINn3B,MAAKs6G,gBAEVt6G,KAAK6/G,OAAOp5E,QACZzmC,KAAK6/G,OAAOb,YAAc,EAIlC,IAAe,KAAXpvC,GAAiBxsE,OAAO20B,KAAK/3B,KAAK8+G,SAAS57G,OAAS,EAIpD,MAAOlD,KAGX,IAAe,KAAX4vE,EACJ,CAGI,GAFA5vE,KAAKq/G,cAAgBzvC,GAEjB5vE,KAAK8+G,QAAQlvC,GA2Bb,MAAO5vE,KAxBPA,MAAKmB,SAAWnB,KAAK8+G,QAAQlvC,GAAQ1kE,MACrClL,KAAK8hC,OAAS9hC,KAAK8+G,QAAQlvC,GAAQ9tC,OACnC9hC,KAAKujE,KAAOvjE,KAAK8+G,QAAQlvC,GAAQrM,KACjCvjE,KAAKqmD,SAAWrmD,KAAK8+G,QAAQlvC,GAAQvpB,SACrCrmD,KAAKi/G,WAAaj/G,KAAK8+G,QAAQlvC,GAAQqvC,WAEjB,mBAAXn9E,KAEP9hC,KAAK8hC,OAASA,GAGE,mBAATyhC,KAEPvjE,KAAKujE,KAAOA,GAGhBvjE,KAAK4gH,YAAchxC,EACnB5vE,KAAK6gH,cAAgB7gH,KAAKmB,SAC1BnB,KAAK8gH,YAAc9gH,KAAK8hC,OACxB9hC,KAAKghH,UAAYhhH,KAAKujE,SAU1BpiE,GAAWA,GAAY,EAERoI,SAAXu4B,IAAwBA,EAAS9hC,KAAKygH,SAC7Bl3G,SAATg6D,IAAsBA,EAAOvjE,KAAKujE,MAEtCvjE,KAAKmB,SAAWA,EAChBnB,KAAK8hC,OAASA,EACd9hC,KAAKujE,KAAOA,EACZvjE,KAAKqmD,SAAW,EAChBrmD,KAAKi/G,WAAa,EAElBj/G,KAAK4gH,YAAchxC,EACnB5vE,KAAK6gH,cAAgB1/G,EACrBnB,KAAK8gH,YAAch/E,EACnB9hC,KAAKghH,UAAYz9C,CAuHrB,OApHIvjE,MAAKq6G,cAGDr6G,KAAKE,KAAK4jC,MAAMytE,eAAevxG,KAAKuU,MAEpCvU,KAAK6/G,OAAS7/G,KAAKiN,QAAQw0G,qBAEvBzhH,KAAK0/G,aAEL1/G,KAAK6/G,OAAO3rD,QAAQl0D,KAAK0/G,cAIzB1/G,KAAK6/G,OAAO3rD,QAAQl0D,KAAK4/G,UAG7B5/G,KAAK0gH,QAAU1gH,KAAKE,KAAK4jC,MAAM6uE,aAAa3yG,KAAKuU,KACjDvU,KAAK6/G,OAAO7kG,OAAShb,KAAK0gH,QAEtB1gH,KAAKujE,MAAmB,KAAXqM,IAEb5vE,KAAK6/G,OAAOt8C,MAAO,GAGlBvjE,KAAKujE,MAAmB,KAAXqM,IAEd5vE,KAAK6/G,OAAOuB,QAAUphH,KAAKmhH,eAAentF,KAAKh0B,OAGnDA,KAAK++G,cAAgB/+G,KAAK6/G,OAAO7kG,OAAOqrC,SAElB,IAAlBrmD,KAAKqmD,WAELrmD,KAAKqmD,SAAWrmD,KAAK++G,cACrB/+G,KAAKi/G,WAAap+G,KAAKgzB,KAA0B,IAArB7zB,KAAK++G,gBAIXx1G,SAAtBvJ,KAAK6/G,OAAO30G,MAEZlL,KAAK6/G,OAAO6B,YAAY,EAAG1hH,KAAKmB,SAAUnB,KAAKqmD,UAI3CrmD,KAAKujE,MAAmB,KAAXqM,EAEb5vE,KAAK6/G,OAAO30G,MAAM,EAAG,GAIrBlL,KAAK6/G,OAAO30G,MAAM,EAAGlL,KAAKmB,SAAUnB,KAAKqmD,UAIjDrmD,KAAKiqG,WAAY,EACjBjqG,KAAKglG,UAAYhlG,KAAKE,KAAKikC,KAAKA,KAChCnkC,KAAKg/G,YAAc,EACnBh/G,KAAKk/G,SAAWl/G,KAAKglG,UAAYhlG,KAAKi/G,WACtCj/G,KAAKogH,OAAO34E,SAASznC,QAIrBA,KAAKu/G,iBAAkB,EAEnBv/G,KAAKE,KAAK4jC,MAAMqtE,SAASnxG,KAAKuU,MAAQvU,KAAKE,KAAK4jC,MAAMqtE,SAASnxG,KAAKuU,KAAKo7F,cAAe,GAExF3vG,KAAKE,KAAKgkC,MAAMw4E,OAAO18G,KAAKuU,IAAKvU,OAMrCA,KAAKE,KAAK4jC,MAAMqtE,SAASnxG,KAAKuU,MAAQvU,KAAKE,KAAK4jC,MAAMqtE,SAASnxG,KAAKuU,KAAK6sC,QAEzEphD,KAAKE,KAAK4jC,MAAMotE,YAAYlxG,KAAKuU,KACjCvU,KAAKu/G,iBAAkB,GAInBv/G,KAAK6/G,SAAW7/G,KAAKE,KAAK0uC,OAAOoL,UAAuC,IAA3Bh6C,KAAK6/G,OAAO9tB,aAEzD/xF,KAAK6/G,OAAOx8C,OAEZrjE,KAAK++G,cAAgB/+G,KAAK6/G,OAAOx5D,SAEX,IAAlBrmD,KAAKqmD,WAELrmD,KAAKqmD,SAAWrmD,KAAK++G,cACrB/+G,KAAKi/G,WAAkC,IAArBj/G,KAAK++G,eAG3B/+G,KAAK6/G,OAAOb,YAAch/G,KAAKmB,SAC/BnB,KAAK6/G,OAAO8B,MAAQ3hH,KAAK2gH,OAErB3gH,KAAK2gH,OAEL3gH,KAAK6/G,OAAO/9E,OAAS,EAIrB9hC,KAAK6/G,OAAO/9E,OAAS9hC,KAAKygH,QAG9BzgH,KAAKiqG,WAAY,EACjBjqG,KAAKglG,UAAYhlG,KAAKE,KAAKikC,KAAKA,KAChCnkC,KAAKg/G,YAAc,EACnBh/G,KAAKk/G,SAAWl/G,KAAKglG,UAAYhlG,KAAKi/G,WACtCj/G,KAAKogH,OAAO34E,SAASznC,OAIrBA,KAAKu/G,iBAAkB,EAK5Bv/G,MAaXonC,QAAS,SAAUwoC,EAAQzuE,EAAU2gC,EAAQyhC,GAEzCqM,EAASA,GAAU,GACnBzuE,EAAWA,GAAY,EACvB2gC,EAASA,GAAU,EACNv4B,SAATg6D,IAAsBA,GAAO,GAEjCvjE,KAAKqjE,KAAKuM,EAAQzuE,EAAU2gC,EAAQyhC,GAAM,IAS9C98B,MAAO,WAECzmC,KAAKiqG,WAAajqG,KAAK6/G,SAEvB7/G,KAAK4kC,QAAS,EACd5kC,KAAKm/G,eAAiBn/G,KAAKg/G,YAC3Bh/G,KAAKo/G,WAAap/G,KAAKE,KAAKikC,KAAKA,KACjCnkC,KAAKwmC,QAAQiB,SAASznC,MACtBA,KAAK8K,SAUb67B,OAAQ,WAEJ,GAAI3mC,KAAK4kC,QAAU5kC,KAAK6/G,OACxB,CACI,GAAI7/G,KAAKq6G,cACT,CACI,GAAI71G,GAAIxE,KAAKmB,SAAYnB,KAAKm/G,eAAiB,GAE/Cn/G,MAAK6/G,OAAS7/G,KAAKiN,QAAQw0G,qBAC3BzhH,KAAK6/G,OAAO7kG,OAAShb,KAAK0gH,QAEtB1gH,KAAK0/G,aAEL1/G,KAAK6/G,OAAO3rD,QAAQl0D,KAAK0/G,cAIzB1/G,KAAK6/G,OAAO3rD,QAAQl0D,KAAK4/G,UAGzB5/G,KAAKujE,OAELvjE,KAAK6/G,OAAOt8C,MAAO,GAGlBvjE,KAAKujE,MAA+B,KAAvBvjE,KAAKq/G,gBAEnBr/G,KAAK6/G,OAAOuB,QAAUphH,KAAKmhH,eAAentF,KAAKh0B,MAGnD,IAAIqmD,GAAWrmD,KAAKqmD,SAAYrmD,KAAKm/G,eAAiB,GAE5B51G,UAAtBvJ,KAAK6/G,OAAO30G,MAEZlL,KAAK6/G,OAAO6B,YAAY,EAAGl9G,EAAG6hD,GAK1BrmD,KAAKujE,MAAQvjE,KAAKE,KAAK0uC,OAAOiL,OAGS,KAAnC75C,KAAKE,KAAK0uC,OAAOwgD,cAEjBpvF,KAAK6/G,OAAO30G,MAAM,GAIlBlL,KAAK6/G,OAAO30G,MAAM,EAAG1G,GAKzBxE,KAAK6/G,OAAO30G,MAAM,EAAG1G,EAAG6hD,OAMhCrmD,MAAK6/G,OAAOx8C,MAGhBrjE,MAAKiqG,WAAY,EACjBjqG,KAAK4kC,QAAS,EACd5kC,KAAKglG,WAAchlG,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAKo/G,WAC9Cp/G,KAAK0mC,SAASe,SAASznC,QAU/B8K,KAAM,WAEF,GAAI9K,KAAKiqG,WAAajqG,KAAK6/G,OAEvB,GAAI7/G,KAAKq6G,cAWL,GATIr6G,KAAK0/G,aAEL1/G,KAAK6/G,OAAOzrD,WAAWp0D,KAAK0/G,cAI5B1/G,KAAK6/G,OAAOzrD,WAAWp0D,KAAK4/G,UAGPr2G,SAArBvJ,KAAK6/G,OAAO/0G,KAEZ9K,KAAK6/G,OAAO2B,QAAQ,OAIpB,KACIxhH,KAAK6/G,OAAO/0G,KAAK,GAErB,MAAOqsB,QAMNn3B,MAAKs6G,gBAEVt6G,KAAK6/G,OAAOp5E,QACZzmC,KAAK6/G,OAAOb,YAAc,EAIlCh/G,MAAKu/G,iBAAkB,EACvBv/G,KAAKiqG,WAAY,CACjB,IAAI2X,GAAa5hH,KAAKq/G,aAEK,MAAvBr/G,KAAKq/G,eAELr/G,KAAKugH,iBAAiB94E,SAASznC,KAAKq/G,cAAer/G,MAGvDA,KAAKq/G,cAAgB,GAEE,OAAnBr/G,KAAKs/G,WAELt/G,KAAKs/G,UAAUx0G,OAGd9K,KAAK4kC,QAEN5kC,KAAKqgH,OAAO54E,SAASznC,KAAM4hH,IAiBnCC,OAAQ,SAAUx7D,EAAUkd,EAAMqM,GAEjBrmE,SAATg6D,IAAsBA,GAAO,GAClBh6D,SAAXqmE,IAAwBA,EAAS5vE,KAAKq/G,eAEtCr/G,KAAK4kC,SAKT5kC,KAAKqjE,KAAKuM,EAAQ,EAAG,EAAGrM,GAExBvjE,KAAK8hH,OAAOz7D,EAAU,KAY1B07D,QAAS,SAAU17D,GAEfrmD,KAAK8hH,OAAOz7D,EAAU,IAa1By7D,OAAQ,SAAUz7D,EAAUvkB,GAExB,GAAK9hC,KAAKiqG,YAAajqG,KAAK4kC,QAAU9C,IAAW9hC,KAAK8hC,OAAtD,CAOA,GAFiBv4B,SAAb88C,IAA0BA,EAAW,KAE1B98C,SAAXu4B,EAGA,WADAvvB,SAAQ2iB,KAAK,4CAIjBl1B,MAAKs/G,UAAYt/G,KAAKE,KAAKw7B,IAAImvC,MAAM7qE,MAAMg4B,IAAM8J,OAAQA,GAAUukB,EAAUn+B,EAAO42E,OAAOK,OAAOC,MAAM,GAExGp/F,KAAKs/G,UAAU1b,WAAWloE,IAAI17B,KAAKgiH,aAAchiH,QAUrDgiH,aAAc,WAEVhiH,KAAKwgH,eAAe/4E,SAASznC,KAAMA,KAAK8hC,QAEpB,IAAhB9hC,KAAK8hC,QAEL9hC,KAAK8K,QAWb/H,QAAS,SAAU2N,GAEAnH,SAAXmH,IAAwBA,GAAS,GAErC1Q,KAAK8K,OAED4F,EAEA1Q,KAAKE,KAAKgkC,MAAMxzB,OAAO1Q,OAIvBA,KAAK8+G,WACL9+G,KAAKiN,QAAU,KACfjN,KAAK0gH,QAAU,KACf1gH,KAAK0/G,aAAe,KAEpB1/G,KAAKmgH,UAAUh2E,UACfnqC,KAAKogH,OAAOj2E,UACZnqC,KAAKwmC,QAAQ2D,UACbnqC,KAAK0mC,SAASyD,UACdnqC,KAAKyjG,OAAOt5D,UACZnqC,KAAKqgH,OAAOl2E,UACZnqC,KAAKsgH,OAAOn2E,UACZnqC,KAAKugH,iBAAiBp2E,aAOlCjiB,EAAO6nD,MAAMltE,UAAUC,YAAcolB,EAAO6nD,MAO5C3sE,OAAOC,eAAe6kB,EAAO6nD,MAAMltE,UAAW,cAE1CS,IAAK,WACD,MAAOtD,MAAKE,KAAK4jC,MAAMqtE,SAASnxG,KAAKuU,KAAKo7F,cAUlDvsG,OAAOC,eAAe6kB,EAAO6nD,MAAMltE,UAAW,aAE1CS,IAAK,WACD,MAAOtD,MAAKE,KAAK4jC,MAAMytE,eAAevxG,KAAKuU,QASnDnR,OAAOC,eAAe6kB,EAAO6nD,MAAMltE,UAAW,QAE1CS,IAAK,WAED,MAAQtD,MAAK2gH,QAAU3gH,KAAKE,KAAKgkC,MAAM+9E,MAI3Cz+G,IAAK,SAAUC,GAEXA,EAAQA,IAAS,EAEbA,IAAUzD,KAAK2gH,SAKfl9G,GAEAzD,KAAK2gH,QAAS,EACd3gH,KAAK+gH,YAAc/gH,KAAK8gH,YAEpB9gH,KAAKq6G,cAELr6G,KAAK4/G,SAASK,KAAKx8G,MAAQ,EAEtBzD,KAAKs6G,eAAiBt6G,KAAK6/G,SAEhC7/G,KAAK6/G,OAAO/9E,OAAS,KAKzB9hC,KAAK2gH,QAAS,EAEV3gH,KAAKq6G,cAELr6G,KAAK4/G,SAASK,KAAKx8G,MAAQzD,KAAK+gH,YAE3B/gH,KAAKs6G,eAAiBt6G,KAAK6/G,SAEhC7/G,KAAK6/G,OAAO/9E,OAAS9hC,KAAK+gH,cAIlC/gH,KAAKsgH,OAAO74E,SAASznC,UAW7BoD,OAAOC,eAAe6kB,EAAO6nD,MAAMltE,UAAW,UAE1CS,IAAK,WACD,MAAOtD,MAAKygH,SAGhBj9G,IAAK,SAAUC,GAQX,MALIzD,MAAKE,KAAK0uC,OAAO0gD,SAAWtvF,KAAKs6G,gBAEjC72G,EAAQzD,KAAKE,KAAK+jC,KAAKhG,MAAMx6B,EAAO,EAAG,IAGvCzD,KAAK2gH,YAEL3gH,KAAK+gH,YAAct9G,IAIvBzD,KAAK8gH,YAAcr9G,EACnBzD,KAAKygH,QAAUh9G,OAEXzD,KAAKq6G,cAELr6G,KAAK4/G,SAASK,KAAKx8G,MAAQA,EAEtBzD,KAAKs6G,eAAiBt6G,KAAK6/G,SAEhC7/G,KAAK6/G,OAAO/9E,OAASr+B,QA8BjCykB,EAAO+wB,aAAe,SAAU/4C,GAK5BF,KAAKE,KAAOA,EAKZF,KAAKkiH,cAAgB,GAAIh6F,GAAOud,OAMhCzlC,KAAKmiH,eAAiB,GAAIj6F,GAAOud,OAMjCzlC,KAAKsgH,OAAS,GAAIp4F,GAAOud,OAMzBzlC,KAAKoiH,SAAW,GAAIl6F,GAAOud,OAM3BzlC,KAAKiN,QAAU,KAMfjN,KAAKq6G,eAAgB,EAMrBr6G,KAAKs6G,eAAgB,EAMrBt6G,KAAK+3G,SAAU,EAMf/3G,KAAK6+G,iBAAkB,EAMvB7+G,KAAK4vG,aAAc,EAMnB5vG,KAAKqiH,SAAW,GAOhBriH,KAAKsiH,YAAa,EAOlBtiH,KAAK2gH,QAAS,EAOd3gH,KAAKuiH,cAAgB,KAOrBviH,KAAKygH,QAAU,EAMfzgH,KAAKwiH,WAMLxiH,KAAKyiH,WAAa,GAAIv6F,GAAOosB,SAM7Bt0C,KAAK0iH,WAAY,EAMjB1iH,KAAK2iH,eAAiB,KAMtB3iH,KAAK4iH,cAAgB,MAIzB16F,EAAO+wB,aAAap2C,WAOhB0jC,KAAM,WAQF,GANIvmC,KAAKE,KAAK0uC,OAAOuM,KAAOn7C,KAAKE,KAAK0uC,OAAOgL,YAAa,IAEtD55C,KAAKqiH,SAAW,GAIhB/vG,OAAqB,aACzB,CAEI,GAAIA,OAAqB,aAAEuwG,gBAAiB,EAIxC,MAFA7iH,MAAK+3G,SAAU,OACf/3G,KAAK4vG,aAAc,EAKvB,IAAIt9F,OAAqB,aAAEwwG,mBAAoB,EAI3C,MAFA9iH,MAAKs6G,eAAgB,OACrBt6G,KAAK4vG,aAAc,GAK3B,GAAIt9F,OAAqB,cAAKA,OAAqB,aAAEywG,aAEjD/iH,KAAKiN,QAAUqF,OAAqB,aAAEywG,iBAItC,IAAMzwG,OAAqB,aAEvB,IACItS,KAAKiN,QAAU,GAAIqF,QAAqB,aAC1C,MAAOmgF,GACLzyF,KAAKiN,QAAU,KACfjN,KAAKq6G,eAAgB,EACrBr6G,KAAK4vG,aAAc,MAGtB,IAAMt9F,OAA2B,mBAElC,IACItS,KAAKiN,QAAU,GAAIqF,QAA2B,mBAChD,MAAOmgF,GACLzyF,KAAKiN,QAAU,KACfjN,KAAKq6G,eAAgB,EACrBr6G,KAAK4vG,aAAc,EAK/B,GAAqB,OAAjB5vG,KAAKiN,QACT,CAEI,GAAwB1D,SAApB+I,OAAc,MAGd,YADAtS,KAAK+3G,SAAU,EAKf/3G,MAAKs6G,eAAgB,MAKzBt6G,MAAKq6G,eAAgB,EAEW9wG,SAA5BvJ,KAAKiN,QAAQ8yG,WAEb//G,KAAK8/G,WAAa9/G,KAAKiN,QAAQ+yG,iBAI/BhgH,KAAK8/G,WAAa9/G,KAAKiN,QAAQ8yG,aAGnC//G,KAAK8/G,WAAWG,KAAKx8G,MAAQ,EAC7BzD,KAAK8/G,WAAW5rD,QAAQl0D,KAAKiN,QAAQyoE,YAGpC11E,MAAK+3G,WAGD/3G,KAAKE,KAAK0uC,OAAOoL,UAAYh6C,KAAKE,KAAK0uC,OAAOuM,KAAQ7oC,OAAqB,cAAKA,OAAqB,aAAE0wG,mBAExGhjH,KAAKijH,gBAYjBA,aAAc,WAENjjH,KAAKE,KAAK0uC,OAAOk/C,WAAa,EAE9B9tF,KAAKE,KAAK6jC,MAAMsZ,MAAM6O,qBAAqBlsD,KAAKkjH,OAAQljH,MAAM,GAI9DA,KAAKE,KAAK6jC,MAAMsZ,MAAM6O,qBAAqBlsD,KAAKkjH,OAAQljH,MAG5DA,KAAK4vG,aAAc,GAUvBsT,OAAQ,WAEJ,GAAIljH,KAAK+3G,UAAY/3G,KAAK4vG,aAAsC,OAAvB5vG,KAAKuiH,cAE1C,OAAO,CAIX,IAAIviH,KAAKs6G,cAELt6G,KAAK4vG,aAAc,EACnB5vG,KAAKuiH,cAAgB,SAEpB,IAAIviH,KAAKq6G,cACd,CAII,GAAIr/F,GAAShb,KAAKiN,QAAQ2U,aAAa,EAAG,EAAG,MAC7C5hB,MAAKuiH,cAAgBviH,KAAKiN,QAAQw0G,qBAClCzhH,KAAKuiH,cAAcvnG,OAASA,EAC5Bhb,KAAKuiH,cAAcruD,QAAQl0D,KAAKiN,QAAQyoE,aAEPnsE,SAA7BvJ,KAAKuiH,cAAcr3G,MAEnBlL,KAAKuiH,cAAcY,OAAO,GAI1BnjH,KAAKuiH,cAAcr3G,MAAM,GAKjC,OAAO,GASXk4G,QAAS,WAEL,IAAIpjH,KAAK+3G,QAKT,IAAK,GAAI90G,GAAI,EAAGA,EAAIjD,KAAKwiH,QAAQt/G,OAAQD,IAEjCjD,KAAKwiH,QAAQv/G,IAEbjD,KAAKwiH,QAAQv/G,GAAG6H,QAW5Bo4F,SAAU,WAEN,IAAIljG,KAAK+3G,QAKT,IAAK,GAAI90G,GAAI,EAAGA,EAAIjD,KAAKwiH,QAAQt/G,OAAQD,IAEjCjD,KAAKwiH,QAAQv/G,IAEbjD,KAAKwiH,QAAQv/G,GAAGwjC,SAW5B08D,UAAW,WAEP,IAAInjG,KAAK+3G,QAKT,IAAK,GAAI90G,GAAI,EAAGA,EAAIjD,KAAKwiH,QAAQt/G,OAAQD,IAEjCjD,KAAKwiH,QAAQv/G,IAEbjD,KAAKwiH,QAAQv/G,GAAG0jC,UAa5B+1E,OAAQ,SAAUnoG,EAAK2vB,GAEnBA,EAAQA,GAAS,IAEjB,IAAIm/E,GAAYrjH,KAAKE,KAAK4jC,MAAM6uE,aAAap+F,EAE7C,IAAI8uG,GAEIrjH,KAAKE,KAAK4jC,MAAMytE,eAAeh9F,MAAS,EAC5C,CACIvU,KAAKE,KAAK4jC,MAAMutE,YAAY98F,EAAK,cAAc,EAE/C,IAAI61B,GAAQpqC,IAEZ,KACIA,KAAKiN,QAAQq2G,gBAAgBD,EAAW,SAAUroG,GAE1CA,IAEAovB,EAAMlqC,KAAK4jC,MAAMwtE,aAAa/8F,EAAKyG,GACnCovB,EAAM83E,cAAcz6E,SAASlzB,EAAK2vB,MAI9C,MAAO/M,OAiBnBosF,mBAAoB,SAAUC,EAAO5vE,EAAU5M,GAEtB,gBAAVw8E,KAEPA,GAAUA,IAGdxjH,KAAKyiH,WAAW/+E,OAEhB,KAAK,GAAIzgC,GAAI,EAAGA,EAAIugH,EAAMtgH,OAAQD,IAE1BugH,EAAMvgH,YAAcilB,GAAO6nD,MAEtB/vE,KAAKE,KAAK4jC,MAAMytE,eAAeiS,EAAMvgH,GAAGsR,MAEzCvU,KAAKyiH,WAAW/mF,IAAI8nF,EAAMvgH,GAAGsR,KAG3BvU,KAAKE,KAAK4jC,MAAMytE,eAAeiS,EAAMvgH,KAE3CjD,KAAKyiH,WAAW/mF,IAAI8nF,EAAMvgH,GAKJ,KAA1BjD,KAAKyiH,WAAW1zF,OAEhB/uB,KAAK0iH,WAAY,EACjB9uE,EAASluC,KAAKshC,KAIdhnC,KAAK0iH,WAAY,EACjB1iH,KAAK2iH,eAAiB/uE,EACtB5zC,KAAK4iH,cAAgB57E,IAW7B3D,OAAQ,WAEJ,IAAIrjC,KAAK+3G,QAAT,EAKI/3G,KAAK4vG,aAAsC,OAAvB5vG,KAAKuiH,eAA2BviH,KAAKuiH,cAAckB,gBAAkBzjH,KAAKuiH,cAAcmB,eAAiB1jH,KAAKuiH,cAAckB,gBAAkBzjH,KAAKuiH,cAAcoB,iBAErL3jH,KAAK4vG,aAAc,EACnB5vG,KAAKuiH,cAAgB,KAGzB,KAAK,GAAIt/G,GAAI,EAAGA,EAAIjD,KAAKwiH,QAAQt/G,OAAQD,IAErCjD,KAAKwiH,QAAQv/G,GAAGogC,QAGpB,IAAIrjC,KAAK0iH,UACT,CAGI,IAFA,GAAInuG,GAAMvU,KAAKyiH,WAAW54D,MAEnBt1C,GAECvU,KAAKE,KAAK4jC,MAAMytE,eAAeh9F,IAE/BvU,KAAKyiH,WAAW/xG,OAAO6D,GAG3BA,EAAMvU,KAAKyiH,WAAWxwE,IAGI,KAA1BjyC,KAAKyiH,WAAW1zF,QAEhB/uB,KAAK0iH,WAAY,EACjB1iH,KAAK2iH,eAAej9G,KAAK1F,KAAK4iH,mBAgB1ClnF,IAAK,SAAUnnB,EAAKutB,EAAQyhC,EAAMrP,GAEf3qD,SAAXu4B,IAAwBA,EAAS,GACxBv4B,SAATg6D,IAAsBA,GAAO,GACjBh6D,SAAZ2qD,IAAyBA,EAAUl0D,KAAK6+G,gBAE5C,IAAI36E,GAAQ,GAAIhc,GAAO6nD,MAAM/vE,KAAKE,KAAMqU,EAAKutB,EAAQyhC,EAAMrP,EAI3D,OAFAl0D,MAAKwiH,QAAQz+G,KAAKmgC,GAEXA,GAWX+mC,UAAW,SAAS12D,GAEhB,GAAIy2D,GAAc,GAAI9iD,GAAO8nD,YAAYhwE,KAAKE,KAAMqU,EAEpD,OAAOy2D,IAWXt6D,OAAQ,SAAUwzB,GAId,IAFA,GAAIjhC,GAAIjD,KAAKwiH,QAAQt/G,OAEdD,KAEH,GAAIjD,KAAKwiH,QAAQv/G,KAAOihC,EAIpB,MAFAlkC,MAAKwiH,QAAQv/G,GAAGF,SAAQ,GACxB/C,KAAKwiH,QAAQ95G,OAAOzF,EAAG,IAChB,CAIf,QAAO,GAYX2gH,YAAa,SAAUrvG,GAKnB,IAHA,GAAItR,GAAIjD,KAAKwiH,QAAQt/G,OACjB4G,EAAU,EAEP7G,KAECjD,KAAKwiH,QAAQv/G,GAAGsR,MAAQA,IAExBvU,KAAKwiH,QAAQv/G,GAAGF,SAAQ,GACxB/C,KAAKwiH,QAAQ95G,OAAOzF,EAAG,GACvB6G,IAIR,OAAOA,IAaXu5D,KAAM,SAAU9uD,EAAKutB,EAAQyhC,GAEzB,IAAIvjE,KAAK+3G,QAAT,CAKA,GAAI7zE,GAAQlkC,KAAK07B,IAAInnB,EAAKutB,EAAQyhC,EAIlC,OAFAr/B,GAAMm/B,OAECn/B,IAUX+W,QAAS,WAEL,IAAIj7C,KAAK2gH,OAAT,CAKA3gH,KAAK2gH,QAAS,EAEV3gH,KAAKq6G,gBAELr6G,KAAK+gH,YAAc/gH,KAAK8/G,WAAWG,KAAKx8G,MACxCzD,KAAK8/G,WAAWG,KAAKx8G,MAAQ,EAIjC,KAAK,GAAIR,GAAI,EAAGA,EAAIjD,KAAKwiH,QAAQt/G,OAAQD,IAEjCjD,KAAKwiH,QAAQv/G,GAAGq3G,gBAEhBt6G,KAAKwiH,QAAQv/G,GAAGg/G,MAAO,EAI/BjiH,MAAKsgH,OAAO74E,aAUhB2T,UAAW,WAEP,GAAKp7C,KAAK2gH,SAAU3gH,KAAKsiH,WAAzB,CAKAtiH,KAAK2gH,QAAS,EAEV3gH,KAAKq6G,gBAELr6G,KAAK8/G,WAAWG,KAAKx8G,MAAQzD,KAAK+gH,YAItC,KAAK,GAAI99G,GAAI,EAAGA,EAAIjD,KAAKwiH,QAAQt/G,OAAQD,IAEjCjD,KAAKwiH,QAAQv/G,GAAGq3G,gBAEhBt6G,KAAKwiH,QAAQv/G,GAAGg/G,MAAO,EAI/BjiH,MAAKoiH,SAAS36E,aASlB1kC,QAAS,WAEL/C,KAAKojH,SAEL,KAAK,GAAIngH,GAAI,EAAGA,EAAIjD,KAAKwiH,QAAQt/G,OAAQD,IAEjCjD,KAAKwiH,QAAQv/G,IAEbjD,KAAKwiH,QAAQv/G,GAAGF,SAIxB/C,MAAKwiH,WAELxiH,KAAKkiH,cAAc/3E,UAEfnqC,KAAKiN,SAAWqF,OAAqB,eAGrCA,OAAqB,aAAEywG,aAAe/iH,KAAKiN,WAOvDib,EAAO+wB,aAAap2C,UAAUC,YAAcolB,EAAO+wB,aAMnD71C,OAAOC,eAAe6kB,EAAO+wB,aAAap2C,UAAW,QAEjDS,IAAK,WAED,MAAOtD,MAAK2gH,QAIhBn9G,IAAK,SAAUC,GAIX,GAFAA,EAAQA,IAAS,EAGjB,CACI,GAAIzD,KAAK2gH,OAEL,MAGJ3gH,MAAKsiH,YAAa,EAClBtiH,KAAKi7C,cAGT,CACI,IAAKj7C,KAAK2gH,OAEN,MAGJ3gH,MAAKsiH,YAAa,EAClBtiH,KAAKo7C,gBAUjBh4C,OAAOC,eAAe6kB,EAAO+wB,aAAap2C,UAAW,UAEjDS,IAAK,WAED,MAAOtD,MAAKygH,SAIhBj9G,IAAK,SAAUC,GAWX,GATY,EAARA,EAEAA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGRzD,KAAKygH,UAAYh9G,EACrB,CAGI,GAFAzD,KAAKygH,QAAUh9G,EAEXzD,KAAKq6G,cAELr6G,KAAK8/G,WAAWG,KAAKx8G,MAAQA,MAK7B,KAAK,GAAIR,GAAI,EAAGA,EAAIjD,KAAKwiH,QAAQt/G,OAAQD,IAEjCjD,KAAKwiH,QAAQv/G,GAAGq3G,gBAEhBt6G,KAAKwiH,QAAQv/G,GAAG6+B,OAAS9hC,KAAKwiH,QAAQv/G,GAAG6+B,OAASr+B,EAK9DzD,MAAKmiH,eAAe16E,SAAShkC,OAqDzCykB,EAAOswB,aAAe,SAAUt4C,EAAMyG,EAAOC,GAQzC5G,KAAKE,KAAOA,EAQZF,KAAK6jH,IAAM37F,EAAO0lB,IAOlB5tC,KAAKyxD,KAAO,KAOZzxD,KAAK2G,MAAQ,EAOb3G,KAAK4G,OAAS,EASd5G,KAAK8jH,SAAW,KAUhB9jH,KAAKopF,SAAW,KAShBppF,KAAK+jH,UAAY,KAUjB/jH,KAAKgkH,UAAY,KASjBhkH,KAAKkZ,OAAS,GAAIgP,GAAO9mB,MAUzBpB,KAAKikH,gBAAiB,EAUtBjkH,KAAKkkH,eAAgB,EAWrBlkH,KAAKmkH,sBAAuB,EAO5BnkH,KAAKokH,wBAAyB,EAO9BpkH,KAAKqkH,sBAAuB,EA0B5BrkH,KAAKskH,oBAAsB,GAAIp8F,GAAOud,OAUtCzlC,KAAKukH,0BAA4B,GAAIr8F,GAAOud,OAU5CzlC,KAAKwkH,0BAA4B,GAAIt8F,GAAOud,OAe5CzlC,KAAKykH,iBAAmB,KAQxBzkH,KAAK0kH,yBAA2B,KAuBhC1kH,KAAK2kH,iBAAmB,GAAIz8F,GAAOud,OAWnCzlC,KAAK4kH,mBAAqB,GAAI18F,GAAOud,OAWrCzlC,KAAK6kH,kBAAoB,GAAI38F,GAAOud,OAUpCzlC,KAAK8kH,kBAAoB9kH,KAAK6jH,IAAIkB,uBAOlC/kH,KAAKgxB,YAAc,GAAI9I,GAAO9mB,MAAM,EAAG,GAQvCpB,KAAKglH,oBAAsB,GAAI98F,GAAO9mB,MAAM,EAAG,GAS/CpB,KAAK6sG,QAAU91E,KAAM,EAAGyC,IAAK,EAAG1C,MAAO,EAAG2C,OAAQ,EAAGp0B,EAAG,EAAGC,EAAG,GAO9DtF,KAAKwG,OAAS,GAAI0hB,GAAO1lB,UAOzBxC,KAAKilH,YAAc,EAOnBjlH,KAAKklH,kBAAoB,EAQzBllH,KAAKquC,MAAQ,KAebruC,KAAKmlH,mBACDruF,MAAO,SACP2C,OAAQ,IA6BZz5B,KAAKolH,eACDC,oBAAoB,EACpBC,oBAAqB,KACrBC,WAAW,EACXC,SAAU,KACVC,4BAA4B,EAC5BC,iBAAiB,EACjBC,gBAAiB,IAQrB3lH,KAAK4lH,WAAa19F,EAAOswB,aAAaqtE,SAOtC7lH,KAAK8lH,qBAAuB59F,EAAOswB,aAAaqtE,SAUhD7lH,KAAK+lH,gBAAiB,EAUtB/lH,KAAK42F,WAAa,KAOlB52F,KAAKgmH,kBAAoB,GAAI99F,GAAO9mB,MAAM,EAAG,GAW7CpB,KAAKimH,oBAAsB,IAiB3BjmH,KAAKkmH,aAAe,GAAIh+F,GAAOud,OAO/BzlC,KAAKmmH,SAAW,KAOhBnmH,KAAKomH,gBAAkB,KAMvBpmH,KAAKqmH,kBAAoB,KAOzBrmH,KAAKsmH,mBAAqB,KAO1BtmH,KAAKumH,UAAY,GAAIr+F,GAAO1lB,UAO5BxC,KAAKwmH,iBAAmB,GAAIt+F,GAAO9mB,MAAM,EAAG,GAO5CpB,KAAKymH,eAAiB,GAAIv+F,GAAO9mB,MAAM,EAAG,GAO1CpB,KAAK0mH,YAAc,EASnB1mH,KAAK2mH,gBAAkB,EAOvB3mH,KAAK4mH,qBAAuB,IAO5B5mH,KAAK6mH,cAAgB,GAAI3+F,GAAO1lB,UAOhCxC,KAAK8mH,YAAc,GAAI5+F,GAAO1lB,UAO9BxC,KAAK+mH,wBAA0B,GAAI7+F,GAAO1lB,UAO1CxC,KAAKgnH,sBAAwB,GAAI9+F,GAAO1lB,UAMxCxC,KAAKinH,SAAU,EAEX/mH,EAAKutC,QAELztC,KAAK0tC,YAAYxtC,EAAKutC,QAG1BztC,KAAKknH,WAAWvgH,EAAOC,IAU3BshB,EAAOswB,aAAa2uE,UAAY,EAQhCj/F,EAAOswB,aAAaqtE,SAAW,EAQ/B39F,EAAOswB,aAAa4uE,SAAW,EAQ/Bl/F,EAAOswB,aAAa6uE,OAAS,EAQ7Bn/F,EAAOswB,aAAa8uE,WAAa,EAEjCp/F,EAAOswB,aAAa31C,WAQhB0jC,KAAM,WAIF,GAAIghF,GAASvnH,KAAKolH,aAElBmC,GAAOlC,mBAAqBrlH,KAAKE,KAAK0uC,OAAOyiD,aAAerxF,KAAKE,KAAK0uC,OAAOoL,SAGxEh6C,KAAKE,KAAK0uC,OAAOqiD,MAASjxF,KAAKE,KAAK0uC,OAAOohD,QAAWhwF,KAAKE,KAAK0uC,OAAOi/C,UAEpE7tF,KAAKE,KAAK0uC,OAAO0T,UAAYtiD,KAAKE,KAAK0uC,OAAOiL,OAE9C0tE,EAAO/B,SAAW,GAAIt9F,GAAO9mB,MAAM,EAAG,GAItCmmH,EAAO/B,SAAW,GAAIt9F,GAAO9mB,MAAM,EAAG,IAI1CpB,KAAKE,KAAK0uC,OAAOi/C,SAEjB05B,EAAOjC,oBAAsB,SAC7BiC,EAAO5B,gBAAkB,mBAIzB4B,EAAOjC,oBAAsB,GAC7BiC,EAAO5B,gBAAkB,GAK7B,IAAIv7E,GAAQpqC,IAEZA,MAAKwnH,mBAAqB,SAASn5E,GAC/B,MAAOjE,GAAMq9E,kBAAkBp5E,IAGnCruC,KAAK0nH,cAAgB,SAASr5E,GAC1B,MAAOjE,GAAMu9E,aAAat5E,IAI9B/7B,OAAOi8B,iBAAiB,oBAAqBvuC,KAAKwnH,oBAAoB,GACtEl1G,OAAOi8B,iBAAiB,SAAUvuC,KAAK0nH,eAAe,GAElD1nH,KAAKolH,cAAcC,qBAEnBrlH,KAAK4nH,kBAAoB,SAASv5E,GAC9B,MAAOjE,GAAMy9E,iBAAiBx5E,IAGlCruC,KAAK8nH,iBAAmB,SAASz5E,GAC7B,MAAOjE,GAAM29E,gBAAgB15E,IAGjCv+B,SAASy+B,iBAAiB,yBAA0BvuC,KAAK4nH,mBAAmB,GAC5E93G,SAASy+B,iBAAiB,sBAAuBvuC,KAAK4nH,mBAAmB,GACzE93G,SAASy+B,iBAAiB,qBAAsBvuC,KAAK4nH,mBAAmB,GACxE93G,SAASy+B,iBAAiB,mBAAoBvuC,KAAK4nH,mBAAmB,GAEtE93G,SAASy+B,iBAAiB,wBAAyBvuC,KAAK8nH,kBAAkB,GAC1Eh4G,SAASy+B,iBAAiB,qBAAsBvuC,KAAK8nH,kBAAkB,GACvEh4G,SAASy+B,iBAAiB,oBAAqBvuC,KAAK8nH,kBAAkB,GACtEh4G,SAASy+B,iBAAiB,kBAAmBvuC,KAAK8nH,kBAAkB;AAGxE9nH,KAAKE,KAAKwmC,SAAShL,IAAI17B,KAAKgoH,aAAchoH,MAI1CA,KAAK6jH,IAAIh2E,UAAU7tC,KAAKE,KAAKmQ,OAAQrQ,KAAKkZ,QAE1ClZ,KAAKwG,OAAOoyB,MAAM54B,KAAKkZ,OAAO7T,EAAGrF,KAAKkZ,OAAO5T,EAAGtF,KAAK2G,MAAO3G,KAAK4G,QAEjE5G,KAAKioH,YAAYjoH,KAAKE,KAAKyG,MAAO3G,KAAKE,KAAK0G,QAG5C5G,KAAK8kH,kBAAoB9kH,KAAK6jH,IAAIkB,qBAAqB/kH,KAAKolH,cAAcE,qBAEtEp9F,EAAOggG,WAEPloH,KAAKyxD,KAAO,GAAIvpC,GAAOggG,SAASloH,KAAMA,KAAK2G,MAAO3G,KAAK4G,SAG3D5G,KAAKinH,SAAU,EAEXjnH,KAAKqmH,oBAELrmH,KAAKsG,UAAYtG,KAAKqmH,kBACtBrmH,KAAKqmH,kBAAoB,OAYjC34E,YAAa,SAAUD,GAEfA,EAAkB,YAEdztC,KAAKinH,QAELjnH,KAAKsG,UAAYmnC,EAAkB,UAInCztC,KAAKqmH,kBAAoB54E,EAAkB,WAI/CA,EAA4B,sBAE5BztC,KAAKmoH,oBAAsB16E,EAA4B,qBAGvDA,EAAyB,mBAEzBztC,KAAKykH,iBAAmBh3E,EAAyB,mBAezDy5E,WAAY,SAAUvgH,EAAOC,GAEzB,GAAI3C,GACAihE,EAAO,GAAIh9C,GAAO1lB,SAEG,MAArBxC,KAAKE,KAAK0B,SAEsB,gBAArB5B,MAAKE,KAAK0B,OAGjBqC,EAAS6L,SAAS2mF,eAAez2F,KAAKE,KAAK0B,QAEtC5B,KAAKE,KAAK0B,QAAwC,IAA9B5B,KAAKE,KAAK0B,OAAOq1B,WAG1ChzB,EAASjE,KAAKE,KAAK0B,SAKtBqC,GAaDjE,KAAK42F,WAAa3yF,EAClBjE,KAAK+lH,gBAAiB,EAEtB/lH,KAAKooH,gBAAgBpoH,KAAK6mH,eAE1B3hD,EAAKv+D,MAAQ3G,KAAK6mH,cAAclgH,MAChCu+D,EAAKt+D,OAAS5G,KAAK6mH,cAAcjgH,OAEjC5G,KAAKkZ,OAAO1V,IAAIxD,KAAK6mH,cAAcxhH,EAAGrF,KAAK6mH,cAAcvhH,KAlBzDtF,KAAK42F,WAAa,KAClB52F,KAAK+lH,gBAAiB,EAEtB7gD,EAAKv+D,MAAQ3G,KAAK6jH,IAAIwE,aAAa1hH,MACnCu+D,EAAKt+D,OAAS5G,KAAK6jH,IAAIwE,aAAazhH,OAEpC5G,KAAKkZ,OAAO1V,IAAI,EAAG,GAevB,IAAI+wE,GAAW,EACXC,EAAY,CAEK,iBAAV7tE,GAEP4tE,EAAW5tE,GAKX3G,KAAKgmH,kBAAkB3gH,EAAIkxB,SAAS5vB,EAAO,IAAM,IACjD4tE,EAAWrP,EAAKv+D,MAAQ3G,KAAKgmH,kBAAkB3gH,GAG7B,gBAAXuB,GAEP4tE,EAAY5tE,GAKZ5G,KAAKgmH,kBAAkB1gH,EAAIixB,SAAS3vB,EAAQ,IAAM,IAClD4tE,EAAYtP,EAAKt+D,OAAS5G,KAAKgmH,kBAAkB1gH,GAGrDtF,KAAKumH,UAAU3tF,MAAM,EAAG,EAAG27C,EAAUC,GAErCx0E,KAAKsoH,iBAAiB/zC,EAAUC,GAAW,IAU/CwzC,aAAc,WAEVhoH,KAAKuoH,aAAY,IAmBrBN,YAAa,SAAUthH,EAAOC,GAE1B5G,KAAKumH,UAAU3tF,MAAM,EAAG,EAAGjyB,EAAOC,GAE9B5G,KAAKwoH,mBAAqBtgG,EAAOswB,aAAa6uE,QAE9CrnH,KAAKsoH,iBAAiB3hH,EAAOC,GAAQ,GAGzC5G,KAAKuoH,aAAY,IAoBrBE,aAAc,SAAUC,EAAQC,EAAQC,EAAOC,GAE3C7oH,KAAKwmH,iBAAiB5tF,MAAM8vF,EAAQC,GACpC3oH,KAAKymH,eAAe7tF,MAAc,EAARgwF,EAAmB,EAARC,GACrC7oH,KAAKuoH,aAAY,IAwBrBO,kBAAmB,SAAUl1E,EAAU3mC,GAEnCjN,KAAKmmH,SAAWvyE,EAChB5zC,KAAKomH,gBAAkBn5G,GAY3B87G,iBAAkB,WAEd,IAAK7gG,EAAO1lB,UAAUu/B,eAAe/hC,KAAMA,KAAK+mH,2BAC3C7+F,EAAO1lB,UAAUu/B,eAAe/hC,KAAKE,KAAMF,KAAKgnH,uBACrD,CACI,GAAIrgH,GAAQ3G,KAAK2G,MACbC,EAAS5G,KAAK4G,MAElB5G,MAAK+mH,wBAAwBnuF,MAAM,EAAG,EAAGjyB,EAAOC,GAChD5G,KAAKgnH,sBAAsBpuF,MAAM,EAAG,EAAG54B,KAAKE,KAAKyG,MAAO3G,KAAKE,KAAK0G,QAE9D5G,KAAKyxD,MAELzxD,KAAKyxD,KAAK00D,SAASx/G,EAAOC,GAG9B5G,KAAKkmH,aAAaz+E,SAASznC,KAAM2G,EAAOC,GAGpC5G,KAAKwoH,mBAAqBtgG,EAAOswB,aAAa6uE,SAE9CrnH,KAAKE,KAAK0mC,MAAM/+B,OAAOlB,EAAOC,GAC9B5G,KAAKE,KAAK8jC,KAAKn8B,OAAOlB,EAAOC,MAqBzCoiH,UAAW,SAAUlF,EAAUC,EAAW36B,EAAU46B,GAEhDhkH,KAAK8jH,SAAWA,EAChB9jH,KAAK+jH,UAAYA,EAEO,mBAAb36B,KAEPppF,KAAKopF,SAAWA,GAGK,mBAAd46B,KAEPhkH,KAAKgkH,UAAYA,IAWzB79G,UAAW,WAEP,KAAInG,KAAKE,KAAKikC,KAAKA,KAAQnkC,KAAK0mH,YAAc1mH,KAAK2mH,iBAAnD,CAKA,GAAIsC,GAAejpH,KAAK2mH,eACxB3mH,MAAK4mH,qBAAuBqC,GAAgB,IAAM,EAAI,IAEtDjpH,KAAK6jH,IAAIh2E,UAAU7tC,KAAKE,KAAKmQ,OAAQrQ,KAAKkZ,OAE1C,IAAIgwG,GAAYlpH,KAAK6mH,cAAclgH,MAC/BwiH,EAAanpH,KAAK6mH,cAAcjgH,OAChCJ,EAASxG,KAAKooH,gBAAgBpoH,KAAK6mH,eAEnCuC,EAAgB5iH,EAAOG,QAAUuiH,GAAa1iH,EAAOI,SAAWuiH,EAGhEE,EAAqBrpH,KAAKspH,0BAE1BF,GAAiBC,KAEbrpH,KAAKmmH,UAELnmH,KAAKmmH,SAASzgH,KAAK1F,KAAKomH,gBAAiBpmH,KAAMwG,GAGnDxG,KAAKupH,eAELvpH,KAAK+oH,mBAIT,IAAIS,GAAkC,EAAvBxpH,KAAK2mH,eAGhB3mH,MAAK2mH,gBAAkBsC,IAEvBO,EAAW3oH,KAAKi7B,IAAImtF,EAAcjpH,KAAK4mH,uBAG3C5mH,KAAK2mH,gBAAkBz+F,EAAOrnB,KAAKo9B,MAAMurF,EAAU,GAAIxpH,KAAKimH,qBAC5DjmH,KAAK0mH,YAAc1mH,KAAKE,KAAKikC,KAAKA,OAUtCW,YAAa,WAET9kC,KAAKmG,YAGLnG,KAAK2mH,gBAAkB3mH,KAAKimH,qBAahCqC,iBAAkB,SAAU3hH,EAAOC,EAAQiB,GAEvC7H,KAAK2G,MAAQA,EAAQ3G,KAAKgmH,kBAAkB3gH,EAC5CrF,KAAK4G,OAASA,EAAS5G,KAAKgmH,kBAAkB1gH,EAE9CtF,KAAKE,KAAKyG,MAAQ3G,KAAK2G,MACvB3G,KAAKE,KAAK0G,OAAS5G,KAAK4G,OAExB5G,KAAKklH,kBAAoBllH,KAAK2G,MAAQ3G,KAAK4G,OAC3C5G,KAAKypH,yBAED5hH,IAGA7H,KAAKE,KAAKqG,SAASsB,OAAO7H,KAAK2G,MAAO3G,KAAK4G,QAG3C5G,KAAKE,KAAK2jC,OAAOJ,QAAQzjC,KAAK2G,MAAO3G,KAAK4G,QAG1C5G,KAAKE,KAAKuE,MAAMoD,OAAO7H,KAAK2G,MAAO3G,KAAK4G,UAYhD6iH,uBAAwB,WAEpBzpH,KAAKgxB,YAAY3rB,EAAIrF,KAAKE,KAAKyG,MAAQ3G,KAAK2G,MAC5C3G,KAAKgxB,YAAY1rB,EAAItF,KAAKE,KAAK0G,OAAS5G,KAAK4G,OAE7C5G,KAAKglH,oBAAoB3/G,EAAIrF,KAAK2G,MAAQ3G,KAAKE,KAAKyG,MACpD3G,KAAKglH,oBAAoB1/G,EAAItF,KAAK4G,OAAS5G,KAAKE,KAAK0G,OAErD5G,KAAKilH,YAAcjlH,KAAK2G,MAAQ3G,KAAK4G,OAGjC5G,KAAKE,KAAKmQ,QAEVrQ,KAAK6jH,IAAIh2E,UAAU7tC,KAAKE,KAAKmQ,OAAQrQ,KAAKkZ,QAG9ClZ,KAAKwG,OAAOoyB,MAAM54B,KAAKkZ,OAAO7T,EAAGrF,KAAKkZ,OAAO5T,EAAGtF,KAAK2G,MAAO3G,KAAK4G,QAG7D5G,KAAKE,KAAK6jC,OAAS/jC,KAAKE,KAAK6jC,MAAM1iC,OAEnCrB,KAAKE,KAAK6jC,MAAM1iC,MAAMu3B,MAAM54B,KAAKgxB,YAAY3rB,EAAGrF,KAAKgxB,YAAY1rB,IAmBzEokH,iBAAkB,SAAUzF,EAAgBC,GAElB36G,SAAlB26G,IAA+BA,GAAgB,GAEnDlkH,KAAKikH,eAAiBA,EACtBjkH,KAAKkkH,cAAgBA,EAErBlkH,KAAKuoH,aAAY,IAYrBoB,oBAAqB,SAAUC,GAE3B,MAAoB,qBAAhBA,GAAsD,uBAAhBA,EAE/B,WAEc,sBAAhBA,GAAuD,wBAAhBA,EAErC,YAIA,MAYfN,uBAAwB,WAEpB,GAAIO,GAAsB7pH,KAAK8kH,kBAC3BgF,EAAsB9pH,KAAKmkH,oBAE/BnkH,MAAK8kH,kBAAoB9kH,KAAK6jH,IAAIkB,qBAAqB/kH,KAAKolH,cAAcE,qBAE1EtlH,KAAKmkH,qBAAwBnkH,KAAKikH,iBAAmBjkH,KAAK+pH,aACrD/pH,KAAKkkH,gBAAkBlkH,KAAKgqH,UAEjC,IAAIC,GAAUJ,IAAwB7pH,KAAK8kH,kBACvCoF,EAAqBJ,IAAwB9pH,KAAKmkH,oBAmBtD,OAjBI+F,KAEIlqH,KAAKmkH,qBAELnkH,KAAKukH,0BAA0B98E,WAI/BznC,KAAKwkH,0BAA0B/8E,aAInCwiF,GAAWC,IAEXlqH,KAAKskH,oBAAoB78E,SAASznC,KAAM6pH,EAAqBC,GAG1DG,GAAWC,GAWtBzC,kBAAmB,SAAUp5E,GAEzBruC,KAAKquC,MAAQA,EAEbruC,KAAKuoH,aAAY,IAWrBZ,aAAc,SAAUt5E,GAEpBruC,KAAKquC,MAAQA,EAEbruC,KAAKuoH,aAAY,IAUrB4B,UAAW,WAEP,GAAI3E,GAAWxlH,KAAKolH,cAAcI,QAE9BA,IAEAlzG,OAAOkzG,SAASA,EAASngH,EAAGmgH,EAASlgH,IAyB7C2iB,QAAS,WAELjoB,KAAKmqH,YACLnqH,KAAKuoH,aAAY,IAUrBgB,aAAc,WAEV,GAAIjjH,GAAYtG,KAAKwoH,gBAErB,IAAIliH,IAAc4hB,EAAOswB,aAAa6uE,OAGlC,WADArnH,MAAKoqH,YAoDT,IAhDApqH,KAAKmqH,YAEDnqH,KAAKolH,cAAcK,6BAInB31G,SAASujF,gBAAgBn4E,MAAM6oG,UAAYzxG,OAAOmkB,YAAc,MAGhEz2B,KAAKmkH,qBAELnkH,KAAKqqH,aAID/jH,IAAc4hB,EAAOswB,aAAa2uE,UAElCnnH,KAAKsqH,cAEAhkH,IAAc4hB,EAAOswB,aAAa4uE,UAElCpnH,KAAKuqH,cAAgBvqH,KAAKwqH,gBAC3BxqH,KAAKolH,cAAcM,iBAKnB1lH,KAAKyqH,YAAW,GAChBzqH,KAAK0qH,cACL1qH,KAAKyqH,cAILzqH,KAAKyqH,aAGJnkH,IAAc4hB,EAAOswB,aAAaqtE,UAEvC7lH,KAAK2G,MAAQ3G,KAAKE,KAAKyG,MACvB3G,KAAK4G,OAAS5G,KAAKE,KAAK0G,QAEnBN,IAAc4hB,EAAOswB,aAAa8uE,aAEvCtnH,KAAK2G,MAAS3G,KAAKE,KAAKyG,MAAQ3G,KAAKwmH,iBAAiBnhH,EAAKrF,KAAKymH,eAAephH,EAC/ErF,KAAK4G,OAAU5G,KAAKE,KAAK0G,OAAS5G,KAAKwmH,iBAAiBlhH,EAAKtF,KAAKymH,eAAenhH,IAIpFtF,KAAKolH,cAAcM,kBACnBp/G,IAAc4hB,EAAOswB,aAAa4uE,UAAY9gH,IAAc4hB,EAAOswB,aAAa8uE,YACrF,CACI,GAAI9gH,GAASxG,KAAKooH,gBAAgBpoH,KAAK8mH,YACvC9mH,MAAK2G,MAAQ9F,KAAKi7B,IAAI97B,KAAK2G,MAAOH,EAAOG,OACzC3G,KAAK4G,OAAS/F,KAAKi7B,IAAI97B,KAAK4G,OAAQJ,EAAOI,QAI/C5G,KAAK2G,MAAqB,EAAb3G,KAAK2G,MAClB3G,KAAK4G,OAAuB,EAAd5G,KAAK4G,OAEnB5G,KAAK2qH,gBAoBTvC,gBAAiB,SAAUnkH,GAEvB,GAAIuC,GAASvC,GAAU,GAAIikB,GAAO1lB,UAC9Bo0F,EAAa52F,KAAKwqH,eAClBnC,EAAeroH,KAAK6jH,IAAIwE,aACxBuC,EAAe5qH,KAAK6jH,IAAI+G,YAE5B,IAAKh0B,EAKL,CAEI,GAAIi0B,GAAaj0B,EAAWk0B,wBACxBC,EAAcn0B,EAAuB,aAAIA,EAAWo0B,aAAaF,wBAA0Bl0B,EAAWk0B,uBAE1GtkH,GAAOoyB,MAAMiyF,EAAW9zF,KAAOg0F,EAAWh0F,KAAM8zF,EAAWrxF,IAAMuxF,EAAWvxF,IAAKqxF,EAAWlkH,MAAOkkH,EAAWjkH,OAE9G,IAAIqkH,GAAKjrH,KAAKmlH,iBAEd,IAAI8F,EAAGn0F,MACP,CACI,GAAIo0F,GAA4B,WAAbD,EAAGn0F,MAAqB8zF,EAAevC,CAC1D7hH,GAAOswB,MAAQj2B,KAAKi7B,IAAIt1B,EAAOswB,MAAOo0F,EAAavkH,OAGvD,GAAIskH,EAAGxxF,OACP,CACI,GAAIyxF,GAA6B,WAAdD,EAAGxxF,OAAsBmxF,EAAevC,CAC3D7hH,GAAOizB,OAAS54B,KAAKi7B,IAAIt1B,EAAOizB,OAAQyxF,EAAatkH,aArBzDJ,GAAOoyB,MAAM,EAAG,EAAGyvF,EAAa1hH,MAAO0hH,EAAazhH,OA6BxD,OAJAJ,GAAOoyB,MACH/3B,KAAKo4B,MAAMzyB,EAAOnB,GAAIxE,KAAKo4B,MAAMzyB,EAAOlB,GACxCzE,KAAKo4B,MAAMzyB,EAAOG,OAAQ9F,KAAKo4B,MAAMzyB,EAAOI,SAEzCJ,GAcX2kH,YAAa,SAAUz0E,EAAYC,GAE/B,GAAIy0E,GAAeprH,KAAKooH,gBAAgBpoH,KAAK8mH,aACzCz2G,EAASrQ,KAAKE,KAAKmQ,OACnBw8F,EAAS7sG,KAAK6sG,MAElB,IAAIn2D,EACJ,CACIm2D,EAAO91E,KAAO81E,EAAO/1E,MAAQ,CAE7B,IAAIu0F,GAAeh7G,EAAOy6G,uBAE1B,IAAI9qH,KAAK2G,MAAQykH,EAAazkH,QAAU3G,KAAKmkH,qBAC7C,CACI,GAAImH,GAAcD,EAAat0F,KAAOq0F,EAAa/lH,EAC/CkmH,EAAcH,EAAazkH,MAAQ,EAAM3G,KAAK2G,MAAQ,CAE1D4kH,GAAa1qH,KAAKm7B,IAAIuvF,EAAY,EAElC,IAAIryG,GAASqyG,EAAaD,CAE1Bze,GAAO91E,KAAOl2B,KAAKo4B,MAAM/f,GAG7B7I,EAAO6K,MAAMswG,WAAa3e,EAAO91E,KAAO,KAEpB,IAAhB81E,EAAO91E,OAEP81E,EAAO/1E,QAAUs0F,EAAazkH,MAAQ0kH,EAAa1kH,MAAQkmG,EAAO91E,MAClE1mB,EAAO6K,MAAMuwG,YAAc5e,EAAO/1E,MAAQ,MAIlD,GAAI6f,EACJ,CACIk2D,EAAOrzE,IAAMqzE,EAAOpzE,OAAS,CAE7B,IAAI4xF,GAAeh7G,EAAOy6G,uBAE1B,IAAI9qH,KAAK4G,OAASwkH,EAAaxkH,SAAW5G,KAAKmkH,qBAC/C,CACI,GAAImH,GAAcD,EAAa7xF,IAAM4xF,EAAa9lH,EAC9CimH,EAAcH,EAAaxkH,OAAS,EAAM5G,KAAK4G,OAAS,CAE5D2kH,GAAa1qH,KAAKm7B,IAAIuvF,EAAY,EAElC,IAAIryG,GAASqyG,EAAaD,CAC1Bze,GAAOrzE,IAAM34B,KAAKo4B,MAAM/f,GAG5B7I,EAAO6K,MAAMwwG,UAAY7e,EAAOrzE,IAAM,KAEnB,IAAfqzE,EAAOrzE,MAEPqzE,EAAOpzE,SAAW2xF,EAAaxkH,OAASykH,EAAazkH,OAASimG,EAAOrzE,KACrEnpB,EAAO6K,MAAMywG,aAAe9e,EAAOpzE,OAAS,MAKpDozE,EAAOxnG,EAAIwnG,EAAO91E,KAClB81E,EAAOvnG,EAAIunG,EAAOrzE,KAYtB4wF,WAAY,WAERpqH,KAAK0qH,YAAY,GAAI,GAErB,IAAIlkH,GAASxG,KAAKooH,gBAAgBpoH,KAAK8mH,YACvC9mH,MAAKsoH,iBAAiB9hH,EAAOG,MAAOH,EAAOI,QAAQ,IAYvD+jH,aAAc,WAEL3qH,KAAKmkH,uBAENnkH,KAAK2G,MAAQuhB,EAAOrnB,KAAKo9B,MAAMj+B,KAAK2G,MAAO3G,KAAK8jH,UAAY,EAAG9jH,KAAKopF,UAAYppF,KAAK2G,OACrF3G,KAAK4G,OAASshB,EAAOrnB,KAAKo9B,MAAMj+B,KAAK4G,OAAQ5G,KAAK+jH,WAAa,EAAG/jH,KAAKgkH,WAAahkH,KAAK4G,SAG7F5G,KAAK0qH,cAEA1qH,KAAKolH,cAAcG,YAEhBvlH,KAAKuqH,cAAgBvqH,KAAK0kH,yBAE1B1kH,KAAKmrH,aAAY,GAAM,GAIvBnrH,KAAKmrH,YAAYnrH,KAAK4rH,sBAAuB5rH,KAAK6rH,sBAI1D7rH,KAAKypH,0BAYTiB,YAAa,SAAUoB,EAAUC,GAEZxiH,SAAbuiH,IAA0BA,EAAW9rH,KAAK2G,MAAQ,MACpC4C,SAAdwiH,IAA2BA,EAAY/rH,KAAK4G,OAAS,KAEzD,IAAIyJ,GAASrQ,KAAKE,KAAKmQ,MAElBrQ,MAAKolH,cAAcG,YAEpBl1G,EAAO6K,MAAMswG,WAAa,GAC1Bn7G,EAAO6K,MAAMwwG,UAAY,GACzBr7G,EAAO6K,MAAMuwG,YAAc,GAC3Bp7G,EAAO6K,MAAMywG,aAAe,IAGhCt7G,EAAO6K,MAAMvU,MAAQmlH,EACrBz7G,EAAO6K,MAAMtU,OAASmlH,GAW1BxD,YAAa,SAAUx1E,GAEfA,IAEA/yC,KAAK6mH,cAAclgH,MAAQ,EAC3B3G,KAAK6mH,cAAcjgH,OAAS,GAGhC5G,KAAK2mH,gBAAkB3mH,KAAK4mH,sBAUhCljF,MAAO,SAAUuD,GAETA,GAAcjnC,KAAKyxD,MAEnBzxD,KAAKyxD,KAAK/tB,SAWlB2mF,WAAY,WAERrqH,KAAK2G,MAAQ3G,KAAK6jH,IAAIwE,aAAa1hH,MACnC3G,KAAK4G,OAAS5G,KAAK6jH,IAAIwE,aAAazhH,QAWxC6jH,WAAY,SAAUuB,GAElB,GAIIC,GAJAzlH,EAASxG,KAAKooH,gBAAgBpoH,KAAK8mH,aACnCngH,EAAQH,EAAOG,MACfC,EAASJ,EAAOI,MAMhBqlH,GAFAD,EAEanrH,KAAKm7B,IAAKp1B,EAAS5G,KAAKE,KAAK0G,OAAUD,EAAQ3G,KAAKE,KAAKyG,OAIzD9F,KAAKi7B,IAAKl1B,EAAS5G,KAAKE,KAAK0G,OAAUD,EAAQ3G,KAAKE,KAAKyG,OAG1E3G,KAAK2G,MAAQ9F,KAAKo4B,MAAMj5B,KAAKE,KAAKyG,MAAQslH,GAC1CjsH,KAAK4G,OAAS/F,KAAKo4B,MAAMj5B,KAAKE,KAAK0G,OAASqlH,IAWhD3B,YAAa,WAET,GAAI9jH,GAASxG,KAAKooH,gBAAgBpoH,KAAK8mH,YAEvC9mH,MAAK2G,MAAQH,EAAOG,MACpB3G,KAAK4G,OAASJ,EAAOI,OAEjB5G,KAAKuqH,eAMLvqH,KAAKopF,WAELppF,KAAK2G,MAAQ9F,KAAKi7B,IAAI97B,KAAK2G,MAAO3G,KAAKopF,WAGvCppF,KAAKgkH,YAELhkH,KAAK4G,OAAS/F,KAAKi7B,IAAI97B,KAAK4G,OAAQ5G,KAAKgkH,cAcjDkI,uBAAwB,WAEpB,GAAIC,GAAWr8G,SAASoB,cAAc,MAMtC,OAJAi7G,GAASjxG,MAAM2xF,OAAS,IACxBsf,EAASjxG,MAAMwJ,QAAU,IACzBynG,EAASjxG,MAAMkxG,WAAa,OAErBD,GAmBXE,gBAAiB,SAAUvzG,EAAWwzG,GAElC,GAAItsH,KAAKuqH,aAEL,OAAO,CAGX,KAAKvqH,KAAKolH,cAAcC,mBACxB,CAEI,GAAIj7E,GAAQpqC,IAIZ,YAHAgyF,YAAW,WACP5nD,EAAM29E,mBACP,IAIP,GAA2C,mBAAvC/nH,KAAKolH,cAAcO,gBACvB,CACI,GAAI5hF,GAAQ/jC,KAAKE,KAAK6jC,KAEtB,IAAIA,EAAMmZ,eACNnZ,EAAMmZ,gBAAkBnZ,EAAMoZ,eAC7BmvE,GAAmBA,KAAoB,GAGxC,WADAvoF,GAAMmZ,cAAcqN,mBAAmB,kBAAmBvqD,KAAKqsH,gBAAiBrsH,MAAO8Y,GAAW,IAKjF,mBAAdA,IAA6B9Y,KAAKE,KAAKkoC,aAAelgB,EAAOqJ,SAEpEvxB,KAAKE,KAAK2B,MAAMo4C,SAAWnhC,EAG/B,IAAIqzG,GAAWnsH,KAAKykH,gBAEf0H,KAEDnsH,KAAKusH,uBAELvsH,KAAK0kH,yBAA2B1kH,KAAKksH,yBACrCC,EAAWnsH,KAAK0kH,yBAGpB,IAAI8H,IACAC,cAAeN,EAKnB,IAFAnsH,KAAK2kH,iBAAiBl9E,SAASznC,KAAMwsH,GAEjCxsH,KAAK0kH,yBACT,CAGI,GAAIr0G,GAASrQ,KAAKE,KAAKmQ,OACnBzO,EAASyO,EAAOumF,UACpBh1F,GAAO+zF,aAAaw2B,EAAU97G,GAC9B87G,EAASx1B,YAAYtmF,GAYzB,MATIrQ,MAAKE,KAAK0uC,OAAO4iD,mBAEjB26B,EAASnsH,KAAKE,KAAK0uC,OAAO0iD,mBAAmBsC,QAAQ84B,sBAIrDP,EAASnsH,KAAKE,KAAK0uC,OAAO0iD,sBAGvB,GAWXq7B,eAAgB,WAEZ,MAAK3sH,MAAKuqH,cAAiBvqH,KAAKolH,cAAcC,oBAK9Cv1G,SAAS9P,KAAKE,KAAK0uC,OAAO2iD,qBAEnB,IALI,GAgBfg7B,qBAAsB,WAElB,GAAIJ,GAAWnsH,KAAK0kH,wBAEpB,IAAIyH,GAAYA,EAASv1B,WACzB,CAGI,GAAIh1F,GAASuqH,EAASv1B,UACtBh1F,GAAO+zF,aAAa31F,KAAKE,KAAKmQ,OAAQ87G,GACtCvqH,EAAO6G,YAAY0jH,GAGvBnsH,KAAK0kH,yBAA2B,MAYpCkI,eAAgB,SAAUC,GAEtB,GAAIC,KAAkB9sH,KAAK0kH,yBACvByH,EAAWnsH,KAAK0kH,0BAA4B1kH,KAAKykH,gBAEjDoI,IAEIC,GAAiB9sH,KAAKmoH,sBAAwBjgG,EAAOswB,aAAa2uE,YAG9DgF,IAAansH,KAAKE,KAAKmQ,SAEvBrQ,KAAKsmH,oBACDr2F,YAAak8F,EAASjxG,MAAMvU,MAC5BypB,aAAc+7F,EAASjxG,MAAMtU,QAGjCulH,EAASjxG,MAAMvU,MAAQ,OACvBwlH,EAASjxG,MAAMtU,OAAS,SAO5B5G,KAAKsmH,qBAEL6F,EAASjxG,MAAMvU,MAAQ3G,KAAKsmH,mBAAmBr2F,YAC/Ck8F,EAASjxG,MAAMtU,OAAS5G,KAAKsmH,mBAAmBl2F,aAEhDpwB,KAAKsmH,mBAAqB,MAI9BtmH,KAAKsoH,iBAAiBtoH,KAAKumH,UAAU5/G,MAAO3G,KAAKumH,UAAU3/G,QAAQ,GACnE5G,KAAK0qH,gBAYb7C,iBAAkB,SAAUx5E,GAExBruC,KAAKquC,MAAQA,EAETruC,KAAKuqH,cAELvqH,KAAK4sH,gBAAe,GAEpB5sH,KAAKupH,eACLvpH,KAAKuoH,aAAY,KAIjBvoH,KAAK4sH,gBAAe,GAEpB5sH,KAAKusH,uBAELvsH,KAAKupH,eACLvpH,KAAKuoH,aAAY,IAGrBvoH,KAAK4kH,mBAAmBn9E,SAASznC,KAAMA,KAAK2G,MAAO3G,KAAK4G,SAY5DmhH,gBAAiB,SAAU15E,GAEvBruC,KAAKquC,MAAQA,EAEbruC,KAAKusH,uBAELh6G,QAAQ2iB,KAAK,+FAEbl1B,KAAK6kH,kBAAkBp9E,SAASznC,OAmBpC+sH,YAAa,SAAU/qG,EAAQrb,EAAOC,EAAQomH,GAM1C,GAJczjH,SAAV5C,IAAuBA,EAAQ3G,KAAK2G,OACzB4C,SAAX3C,IAAwBA,EAAS5G,KAAK4G,QACxB2C,SAAdyjH,IAA2BA,GAAY,IAEtChrG,IAAWA,EAAc,MAE1B,MAAOA,EAMX,IAHAA,EAAO3gB,MAAMgE,EAAI,EACjB2c,EAAO3gB,MAAMiE,EAAI,EAEZ0c,EAAOrb,OAAS,GAAOqb,EAAOpb,QAAU,GAAgB,GAATD,GAA0B,GAAVC,EAEhE,MAAOob,EAGX,IAAIirG,GAAUtmH,EACVumH,EAAWlrG,EAAOpb,OAASD,EAASqb,EAAOrb,MAE3CwmH,EAAWnrG,EAAOrb,MAAQC,EAAUob,EAAOpb,OAC3CwmH,EAAUxmH,EAEVymH,EAAgBF,EAAUxmH,CA0B9B,OAtBI0mH,GAFAA,EAEeL,GAICA,EAGhBK,GAEArrG,EAAOrb,MAAQ9F,KAAKizB,MAAMm5F,GAC1BjrG,EAAOpb,OAAS/F,KAAKizB,MAAMo5F,KAI3BlrG,EAAOrb,MAAQ9F,KAAKizB,MAAMq5F,GAC1BnrG,EAAOpb,OAAS/F,KAAKizB,MAAMs5F,IAOxBprG,GAWXjf,QAAS,WAEL/C,KAAKE,KAAKwmC,SAASh2B,OAAO1Q,KAAKgoH,aAAchoH,MAE7CsS,OAAOm9B,oBAAoB,oBAAqBzvC,KAAKwnH,oBAAoB,GACzEl1G,OAAOm9B,oBAAoB,SAAUzvC,KAAK0nH,eAAe,GAErD1nH,KAAKolH,cAAcC,qBAEnBv1G,SAAS2/B,oBAAoB,yBAA0BzvC,KAAK4nH,mBAAmB,GAC/E93G,SAAS2/B,oBAAoB,sBAAuBzvC,KAAK4nH,mBAAmB,GAC5E93G,SAAS2/B,oBAAoB,qBAAsBzvC,KAAK4nH,mBAAmB,GAC3E93G,SAAS2/B,oBAAoB,mBAAoBzvC,KAAK4nH,mBAAmB,GAEzE93G,SAAS2/B,oBAAoB,wBAAyBzvC,KAAK8nH,kBAAkB,GAC7Eh4G,SAAS2/B,oBAAoB,qBAAsBzvC,KAAK8nH,kBAAkB,GAC1Eh4G,SAAS2/B,oBAAoB,oBAAqBzvC,KAAK8nH,kBAAkB,GACzEh4G,SAAS2/B,oBAAoB,kBAAmBzvC,KAAK8nH,kBAAkB,MAOnF5/F,EAAOswB,aAAa31C,UAAUC,YAAcolB,EAAOswB,aAYnDp1C,OAAOC,eAAe6kB,EAAOswB,aAAa31C,UAAW,kBAEjDS,IAAK,WACD,GAAItD,KAAK+lH,gBACJ/lH,KAAKuqH,eAAiBvqH,KAAK0kH,yBAE5B,MAAO,KAGX,IAAI9tB,GAAa52F,KAAKE,KAAKmQ,QAAUrQ,KAAKE,KAAKmQ,OAAOumF,UACtD,OAAOA,IAAc,QA0C7BxzF,OAAOC,eAAe6kB,EAAOswB,aAAa31C,UAAW,aAEjDS,IAAK,WAED,MAAOtD,MAAK4lH,YAIhBpiH,IAAK,SAAUC,GAaX,MAXIA,KAAUzD,KAAK4lH,aAEV5lH,KAAKuqH,eAENvqH,KAAKsoH,iBAAiBtoH,KAAKumH,UAAU5/G,MAAO3G,KAAKumH,UAAU3/G,QAAQ,GACnE5G,KAAKuoH,aAAY,IAGrBvoH,KAAK4lH,WAAaniH,GAGfzD,KAAK4lH,cAcpBxiH,OAAOC,eAAe6kB,EAAOswB,aAAa31C,UAAW,uBAEjDS,IAAK,WAED,MAAOtD,MAAK8lH,sBAIhBtiH,IAAK,SAAUC,GAmBX,MAjBIA,KAAUzD,KAAK8lH,uBAGX9lH,KAAKuqH,cAELvqH,KAAK4sH,gBAAe,GACpB5sH,KAAK8lH,qBAAuBriH,EAC5BzD,KAAK4sH,gBAAe,GAEpB5sH,KAAKuoH,aAAY,IAIjBvoH,KAAK8lH,qBAAuBriH,GAI7BzD,KAAK8lH,wBAgBpB1iH,OAAOC,eAAe6kB,EAAOswB,aAAa31C,UAAW,oBAEjDS,IAAK,WAED,MAAOtD,MAAKuqH,aAAevqH,KAAK8lH,qBAAuB9lH,KAAK4lH,cAkBpExiH,OAAOC,eAAe6kB,EAAOswB,aAAa31C,UAAW,yBAEjDS,IAAK,WAED,MAAOtD,MAAKokH,wBAIhB5gH,IAAK,SAAUC,GAEPA,IAAUzD,KAAKokH,yBAEfpkH,KAAKokH,uBAAyB3gH,EAC9BzD,KAAKuoH,aAAY,OA0B7BnlH,OAAOC,eAAe6kB,EAAOswB,aAAa31C,UAAW,uBAEjDS,IAAK,WAED,MAAOtD,MAAKqkH,sBAIhB7gH,IAAK,SAAUC,GAEPA,IAAUzD,KAAKqkH,uBAEfrkH,KAAKqkH,qBAAuB5gH,EAC5BzD,KAAKuoH,aAAY,OAa7BnlH,OAAOC,eAAe6kB,EAAOswB,aAAa31C,UAAW,gBAEjDS,IAAK,WACD,SAAUwM,SAA4B,mBAClCA,SAAkC,yBAClCA,SAA+B,sBAC/BA,SAA8B,wBAY1C1M,OAAOC,eAAe6kB,EAAOswB,aAAa31C,UAAW,cAEjDS,IAAK,WACD,MAA4D,aAArDtD,KAAK2pH,oBAAoB3pH,KAAK8kH,sBAY7C1hH,OAAOC,eAAe6kB,EAAOswB,aAAa31C,UAAW,eAEjDS,IAAK,WACD,MAA4D,cAArDtD,KAAK2pH,oBAAoB3pH,KAAK8kH,sBAe7C1hH,OAAOC,eAAe6kB,EAAOswB,aAAa31C,UAAW,kBAEjDS,IAAK,WACD,MAAQtD,MAAK4G,OAAS5G,KAAK2G,SAenCvD,OAAOC,eAAe6kB,EAAOswB,aAAa31C,UAAW,mBAEjDS,IAAK,WACD,MAAQtD,MAAK2G,MAAQ3G,KAAK4G,UAsBlCshB,EAAOiN,MAAMkkB,MAAQ,SAAUn5C,GAK3BF,KAAKE,KAAOA,EAKZF,KAAKgiB,OAAS,KAKdhiB,KAAKstH,IAAM,KAKXttH,KAAKqQ,OAAS,KAKdrQ,KAAKiN,QAAU,KAMfjN,KAAKgsE,KAAO,eAKZhsE,KAAKutH,YAAc,IAKnBvtH,KAAK6lF,WAAa,GAKlB7lF,KAAKwtH,cAAe,EAMpBxtH,KAAKwqF,SAAW,EAMhBxqF,KAAKyqF,SAAW,EAMhBzqF,KAAKytH,aAAe,EAKpBztH,KAAKyT,OAAQ,GAIjByU,EAAOiN,MAAMkkB,MAAMx2C,WAQf0jC,KAAM,WAEEvmC,KAAKE,KAAKkoC,aAAelgB,EAAOqJ,OAEhCvxB,KAAKiN,QAAUjN,KAAKE,KAAK+M,SAIzBjN,KAAKstH,IAAMttH,KAAKE,KAAK0jC,KAAKwpC,WAAWptE,KAAKE,KAAKyG,MAAO3G,KAAKE,KAAK0G,QAChE5G,KAAKgiB,OAAShiB,KAAKE,KAAK0jC,KAAKpa,MAAM,EAAG,EAAGxpB,KAAKstH,KAC9CttH,KAAKE,KAAK2B,MAAMwG,SAASrI,KAAKgiB,QAE9BhiB,KAAKqQ,OAASpQ,KAAKqQ,WAAWpI,OAAOlI,KAAMA,KAAKE,KAAKyG,MAAO3G,KAAKE,KAAK0G,QACtE5G,KAAKiN,QAAUjN,KAAKqQ,OAAOE,WAAW,QAU9CpK,UAAW,WAEHnG,KAAKyT,OAASzT,KAAKgiB,SAEnBhiB,KAAKstH,IAAI1yG,QACT5a,KAAKstH,IAAIj7C,KAAKryE,KAAKqQ,OAAQ,EAAG,GAE9BrQ,KAAKiN,QAAQuZ,UAAU,EAAG,EAAGxmB,KAAKE,KAAKyG,MAAO3G,KAAKE,KAAK0G,QACxD5G,KAAKyT,OAAQ,IAUrBiwB,MAAO,WAEC1jC,KAAKiN,SAELjN,KAAKiN,QAAQuZ,UAAU,EAAG,EAAGxmB,KAAKE,KAAKyG,MAAO3G,KAAKE,KAAK0G,QAGxD5G,KAAKgiB,QAELhiB,KAAKstH,IAAI1yG,SAejB1P,MAAO,SAAU7F,EAAGC,EAAG8S,EAAOm1G,GAET,gBAANloH,KAAkBA,EAAI,GAChB,gBAANC,KAAkBA,EAAI,GACjC8S,EAAQA,GAAS,mBACG7O,SAAhBgkH,IAA6BA,EAAc,GAE/CvtH,KAAKwqF,SAAWnlF,EAChBrF,KAAKyqF,SAAWnlF,EAChBtF,KAAK0tH,aAAet1G,EACpBpY,KAAKutH,YAAcA,EAEnBvtH,KAAKyT,OAAQ,EAEbzT,KAAKiN,QAAQyZ,OACb1mB,KAAKiN,QAAQW,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,GACzC5N,KAAKiN,QAAQwjB,YAAcrY,EAC3BpY,KAAKiN,QAAQia,UAAY9O,EACzBpY,KAAKiN,QAAQ++D,KAAOhsE,KAAKgsE,KACzBhsE,KAAKiN,QAAQG,YAAcpN,KAAKytH,cAUpC3iH,KAAM,WAEF9K,KAAKiN,QAAQ8Z,WAUjBqU,KAAM,WAIF,IAAK,GAFD/1B,GAAIrF,KAAKwqF,SAEJvnF,EAAI,EAAGA,EAAIsxB,UAAUrxB,OAAQD,IAE9BjD,KAAKwtH,eAELxtH,KAAKiN,QAAQia,UAAY,aACzBlnB,KAAKiN,QAAQ2oE,SAASrhD,UAAUtxB,GAAIoC,EAAI,EAAGrF,KAAKyqF,SAAW,GAC3DzqF,KAAKiN,QAAQia,UAAYlnB,KAAK0tH,cAGlC1tH,KAAKiN,QAAQ2oE,SAASrhD,UAAUtxB,GAAIoC,EAAGrF,KAAKyqF,UAE5CplF,GAAKrF,KAAKutH,WAGdvtH,MAAKyqF,UAAYzqF,KAAK6lF,YAa1B8nC,UAAW,SAAUzpF,EAAO7+B,EAAGC,EAAG8S,GAE9BpY,KAAKkL,MAAM7F,EAAGC,EAAG8S,GACjBpY,KAAKo7B,KAAK,UAAY8I,EAAM3vB,IAAM,YAAc2vB,EAAMhkC,KAAKgkC,MAAM0rE,aACjE5vG,KAAKo7B,KAAK,cAAgBp7B,KAAKE,KAAK4jC,MAAM0tE,aAAattE,EAAM3vB,KAAO,sBAAwB2vB,EAAMq7E,iBAClGv/G,KAAKo7B,KAAK,YAAc8I,EAAMm9E,UAAY,cAAgBn9E,EAAMyrE,YAChE3vG,KAAKo7B,KAAK,mBAAqB8I,EAAM66E,cAAgB,aAAe76E,EAAM+lE,WAC1EjqG,KAAKo7B,KAAK,SAAW8I,EAAM86E,aAC3Bh/G,KAAKo7B,KAAK,WAAa8I,EAAMpC,OAAS,WAAaoC,EAAM+9E,MACzDjiH,KAAKo7B,KAAK,aAAe8I,EAAMm2E,cAAgB,WAAan2E,EAAMo2E,eAEtC,KAAxBp2E,EAAMm7E,gBAENr/G,KAAKo7B,KAAK,WAAa8I,EAAMm7E,cAAgB,cAAgBn7E,EAAMmiB,SAAW,SAAWniB,EAAM+6E,WAAa,KAC5Gj/G,KAAKo7B,KAAK,UAAY8I,EAAM46E,QAAQ56E,EAAMm7E,eAAen0G,MAAQ,UAAYg5B,EAAM46E,QAAQ56E,EAAMm7E,eAAev0G,MAChH9K,KAAKo7B,KAAK,aAAe8I,EAAM/iC,WAGnCnB,KAAK8K,QAaT8iH,WAAY,SAAU/pF,EAAQx+B,EAAGC,EAAG8S,GAEhCpY,KAAKkL,MAAM7F,EAAGC,EAAG8S,GACjBpY,KAAKo7B,KAAK,WAAayI,EAAOl9B,MAAQ,MAAQk9B,EAAOj9B,OAAS,KAC9D5G,KAAKo7B,KAAK,MAAQyI,EAAOx+B,EAAI,OAASw+B,EAAOv+B,GAEzCu+B,EAAOr9B,QAEPxG,KAAKo7B,KAAK,aAAeyI,EAAOr9B,OAAOnB,EAAI,OAASw+B,EAAOr9B,OAAOlB,EAAI,OAASu+B,EAAOr9B,OAAOG,MAAQ,OAASk9B,EAAOr9B,OAAOI,QAGhI5G,KAAKo7B,KAAK,WAAayI,EAAOjrB,KAAKvT,EAAI,OAASw+B,EAAOjrB,KAAKtT,EAAI,OAASu+B,EAAOjrB,KAAKjS,MAAQ,OAASk9B,EAAOjrB,KAAKhS,QAElH5G,KAAKo7B,KAAK,kBAAoByI,EAAOtB,aACrCviC,KAAK8K,QAaT08F,MAAO,SAAUA,EAAOniG,EAAGC,EAAG8S,GAE1BpY,KAAKkL,MAAM7F,EAAGC,EAAG8S,GACjBpY,KAAKo7B,KAAK,mBAAqBosE,EAAMQ,QAAU,aAAeR,EAAMS,QAAU,KAC9EjoG,KAAKo7B,KAAK,cAAgBosE,EAAMv1D,KAAO,cAAgBu1D,EAAMnhD,UAC7DrmD,KAAKo7B,KAAK,WAAaosE,EAAM5iE,OAAS,YAAc4iE,EAAMtkG,QAC1DlD,KAAK8K,QAcTkhC,QAAS,SAAUA,EAAS6hF,EAAUC,EAAWC,EAAS31G,GAEvC,MAAX4zB,IAKaziC,SAAbskH,IAA0BA,GAAW,GACzCC,EAAYA,GAAa,oBACzBC,EAAUA,GAAW,qBAEjBF,KAAa,GAAQ7hF,EAAQ2Z,QAAS,KAK1C3lD,KAAKkL,MAAM8gC,EAAQ3mC,EAAG2mC,EAAQ1mC,EAAI,IAAK8S,GACvCpY,KAAKiN,QAAQugB,YACbxtB,KAAKiN,QAAQ4oE,IAAI7pC,EAAQ3mC,EAAG2mC,EAAQ1mC,EAAG0mC,EAAQ6P,OAAOljB,OAAQ,EAAa,EAAV93B,KAAKC,IAElEkrC,EAAQvD,OAERzoC,KAAKiN,QAAQia,UAAY4mG,EAIzB9tH,KAAKiN,QAAQia,UAAY6mG,EAG7B/tH,KAAKiN,QAAQohB,OACbruB,KAAKiN,QAAQ0gB,YAGb3tB,KAAKiN,QAAQugB,YACbxtB,KAAKiN,QAAQwgB,OAAOue,EAAQmc,aAAa9iD,EAAG2mC,EAAQmc,aAAa7iD,GACjEtF,KAAKiN,QAAQygB,OAAOse,EAAQ7qC,SAASkE,EAAG2mC,EAAQ7qC,SAASmE,GACzDtF,KAAKiN,QAAQ6oE,UAAY,EACzB91E,KAAKiN,QAAQ8oE,SACb/1E,KAAKiN,QAAQ0gB,YAGb3tB,KAAKo7B,KAAK,OAAS4Q,EAAQv2B,GAAK,YAAcu2B,EAAQvD,QACtDzoC,KAAKo7B,KAAK,YAAc4Q,EAAQgiF,OAAS,aAAehiF,EAAQiiF,QAChEjuH,KAAKo7B,KAAK,aAAe4Q,EAAQ3mC,EAAI,cAAgB2mC,EAAQ1mC,EAAI,QAAU0mC,EAAQiX,YACnFjjD,KAAKo7B,KAAK,aAAe4Q,EAAQqa,SAAW,OAC5CrmD,KAAKo7B,KAAK,YAAc4Q,EAAQ0Z,OAAS,WAAa1Z,EAAQ2Z,MAC9D3lD,KAAK8K,UAaTojH,gBAAiB,SAAUlsG,EAAQ3c,EAAGC,EAAG8S,GAErCpY,KAAKkL,MAAM7F,EAAGC,EAAG8S,GACjBpY,KAAKo7B,KAAK,kBAAoBpZ,EAAOrb,MAAQ,MAAQqb,EAAOpb,OAAS,KACrE5G,KAAKo7B,KAAK,MAAQpZ,EAAO+hB,MAAMmrB,WAAWjjB,QAAQ,GAAK,OAASjqB,EAAO+hB,MAAMorB,WAAWljB,QAAQ,IAChGjsC,KAAKo7B,KAAK,SAAWpZ,EAAO+hB,MAAMyrB,cAAgB,cAAgBxtC,EAAO+hB,MAAMktB,eAAehlB,QAAQ,IACtGjsC,KAAKo7B,KAAK,SAAWpZ,EAAO+hB,MAAMqrB,cAAgB,cAAgBptC,EAAO+hB,MAAMyqB,eAAeviB,QAAQ,IACtGjsC,KAAKo7B,KAAK,cAAgBpZ,EAAO+hB,MAAMgtB,WAAa,cAAgB/uC,EAAO+hB,MAAMmtB,WACjFlxD,KAAK8K,QAaTyJ,IAAK,SAAUA,EAAKlP,EAAGC,EAAG8S,GAEtBpY,KAAKkL,MAAM7F,EAAGC,EAAG8S,EAAO,KAExBpY,KAAKo7B,KAAK,OAAQ7mB,EAAI0mD,QAAS,UAAW1mD,EAAImxC,QAC9C1lD,KAAKo7B,KAAK,YAAa7mB,EAAI45G,SAAU,UAAW55G,EAAI65G,QACpDpuH,KAAKo7B,KAAK,aAAc7mB,EAAIqxC,SAAS3Z,QAAQ,GAAI,YAAa13B,EAAI8xC,SAASpa,QAAQ,IAEnFjsC,KAAK8K,QAYTujH,UAAW,SAAUhpH,EAAGC,EAAG8S,GAEvBpY,KAAKkL,MAAM7F,EAAGC,EAAG8S,GACjBpY,KAAKo7B,KAAK,SACVp7B,KAAKo7B,KAAK,MAAQp7B,KAAKE,KAAK6jC,MAAM1+B,EAAI,OAASrF,KAAKE,KAAK6jC,MAAMz+B,GAC/DtF,KAAKo7B,KAAK,YAAcp7B,KAAKE,KAAK6jC,MAAMiqF,OAAS,aAAehuH,KAAKE,KAAK6jC,MAAMkqF,QAChFjuH,KAAKo7B,KAAK,YAAcp7B,KAAKE,KAAK6jC,MAAM1iC,MAAMgE,EAAE4mC,QAAQ,GAAK,aAAejsC,KAAKE,KAAK6jC,MAAM1iC,MAAMgE,EAAE4mC,QAAQ,IAC5GjsC,KAAKo7B,KAAK,aAAep7B,KAAKE,KAAK6jC,MAAMmZ,cAAcsK,QAAU,cAAgBxnD,KAAKE,KAAK6jC,MAAMmZ,cAAcuK,SAC/GznD,KAAK8K,QAYTwjH,aAAc,SAAUtsG,EAAQ5J,EAAOm2G,GAEnC,GAAI/nH,GAASwb,EAAOnc,WAEpBW,GAAOnB,GAAKrF,KAAKE,KAAK2jC,OAAOx+B,EAC7BmB,EAAOlB,GAAKtF,KAAKE,KAAK2jC,OAAOv+B,EAE7BtF,KAAKwuH,UAAUhoH,EAAQ4R,EAAOm2G,IAYlCE,aAAc,SAAUtjD,EAAM/yD,EAAOm2G,GAEjC,GAAInhC,GAAWjiB,EAAKiiB,SAEhBshC,EAAO1uH,IAEXotF,GAASx4D,QAAQ,SAAS+5F,GACtBD,EAAKF,UAAUG,EAASv2G,EAAOm2G,IAChCvuH,OAaP4uH,WAAY,SAAU5sG,EAAQ3c,EAAGC,EAAG8S,GAEhCpY,KAAKkL,MAAM7F,EAAGC,EAAG8S,GAEjBpY,KAAKo7B,KAAK,aAAoBpZ,EAAOrb,MAAQ,MAAQqb,EAAOpb,OAAS,aAAeob,EAAOha,OAAO3C,EAAI,MAAQ2c,EAAOha,OAAO1C,GAC5HtF,KAAKo7B,KAAK,MAAQpZ,EAAO3c,EAAE4mC,QAAQ,GAAK,OAASjqB,EAAO1c,EAAE2mC,QAAQ,IAClEjsC,KAAKo7B,KAAK,UAAYpZ,EAAOqX,MAAM4S,QAAQ,GAAK,cAAgBjqB,EAAOzgB,SAAS0qC,QAAQ,IACxFjsC,KAAKo7B,KAAK,YAAcpZ,EAAOvgB,QAAU,eAAiBugB,EAAO4hD,UACjE5jE,KAAKo7B,KAAK,aAAepZ,EAAOzf,QAAQ8C,EAAE4mC,QAAQ,GAAK,OAASjqB,EAAOzf,QAAQ+C,EAAE2mC,QAAQ,GAAK,OAASjqB,EAAOzf,QAAQoE,MAAMslC,QAAQ,GAAK,OAASjqB,EAAOzf,QAAQqE,OAAOqlC,QAAQ,IAEhLjsC,KAAK8K,QAaT+jH,aAAc,SAAU7sG,EAAQ3c,EAAGC,EAAG8S,GAElCpY,KAAKkL,MAAM7F,EAAGC,EAAG8S,EAAO,KAEpB4J,EAAOsV,MAEPt3B,KAAKo7B,KAAKpZ,EAAOsV,MAGrBt3B,KAAKo7B,KAAK,KAAMpZ,EAAO3c,EAAE4mC,QAAQ,GAAI,KAAMjqB,EAAO1c,EAAE2mC,QAAQ,IAC5DjsC,KAAKo7B,KAAK,SAAUpZ,EAAO7gB,SAASkE,EAAE4mC,QAAQ,GAAI,SAAUjqB,EAAO7gB,SAASmE,EAAE2mC,QAAQ,IACtFjsC,KAAKo7B,KAAK,WAAYpZ,EAAOvd,MAAMY,EAAE4mC,QAAQ,GAAI,WAAYjqB,EAAOvd,MAAMa,EAAE2mC,QAAQ,IAEpFjsC,KAAK8K,QAaTgkH,SAAU,SAAU1zF,EAAM/1B,EAAGC,EAAG8S,GAE5BpY,KAAKkL,MAAM7F,EAAGC,EAAG8S,EAAO,IACxBpY,KAAKo7B,KAAK,WAAYA,EAAKlwB,MAAM7F,EAAE4mC,QAAQ,GAAI,WAAY7Q,EAAKlwB,MAAM5F,EAAE2mC,QAAQ,IAChFjsC,KAAKo7B,KAAK,SAAUA,EAAKxxB,IAAIvE,EAAE4mC,QAAQ,GAAI,SAAU7Q,EAAKxxB,IAAItE,EAAE2mC,QAAQ,IACxEjsC,KAAKo7B,KAAK,UAAWA,EAAKl4B,OAAO+oC,QAAQ,GAAI,SAAU7Q,EAAK/B,OAC5Dr5B,KAAK8K,QAaT0nE,MAAO,SAAUntE,EAAGC,EAAG8S,EAAOyI,GAE1BA,EAAOA,GAAQ,EAEf7gB,KAAKkL,QACLlL,KAAKiN,QAAQia,UAAY9O,EACzBpY,KAAKiN,QAAQoa,SAAShiB,EAAGC,EAAGub,EAAMA,GAClC7gB,KAAK8K,QAaTikH,KAAM,SAAUtkD,EAAQryD,EAAOm2G,EAAQS,GAEpBzlH,SAAXglH,IAAwBA,GAAS,GACnBhlH,SAAdylH,IAA2BA,EAAY,GAE3C52G,EAAQA,GAAS,oBAEjBpY,KAAKkL,QAELlL,KAAKiN,QAAQia,UAAY9O,EACzBpY,KAAKiN,QAAQwjB,YAAcrY,EAEvBqyD,YAAkBviD,GAAO1lB,WAA2B,IAAdwsH,EAElCT,EAEAvuH,KAAKiN,QAAQoa,SAASojD,EAAOplE,EAAIrF,KAAKE,KAAK2jC,OAAOx+B,EAAGolE,EAAOnlE,EAAItF,KAAKE,KAAK2jC,OAAOv+B,EAAGmlE,EAAO9jE,MAAO8jE,EAAO7jE,QAIzG5G,KAAKiN,QAAQyjB,WAAW+5C,EAAOplE,EAAIrF,KAAKE,KAAK2jC,OAAOx+B,EAAGolE,EAAOnlE,EAAItF,KAAKE,KAAK2jC,OAAOv+B,EAAGmlE,EAAO9jE,MAAO8jE,EAAO7jE,QAG1G6jE,YAAkBviD,GAAOkQ,QAAwB,IAAd42F,GAExChvH,KAAKiN,QAAQugB,YACbxtB,KAAKiN,QAAQ4oE,IAAIpL,EAAOplE,EAAIrF,KAAKE,KAAK2jC,OAAOx+B,EAAGolE,EAAOnlE,EAAItF,KAAKE,KAAK2jC,OAAOv+B,EAAGmlE,EAAO9xC,OAAQ,EAAa,EAAV93B,KAAKC,IAAQ,GAC9Gd,KAAKiN,QAAQ0gB,YAET4gG,EAEAvuH,KAAKiN,QAAQohB,OAIbruB,KAAKiN,QAAQ8oE,UAGZtL,YAAkBviD,GAAO9mB,OAAuB,IAAd4tH,EAEvChvH,KAAKiN,QAAQoa,SAASojD,EAAOplE,EAAIrF,KAAKE,KAAK2jC,OAAOx+B,EAAGolE,EAAOnlE,EAAItF,KAAKE,KAAK2jC,OAAOv+B,EAAG,EAAG,IAElFmlE,YAAkBviD,GAAOyS,MAAsB,IAAdq0F,KAEtChvH,KAAKiN,QAAQ6oE,UAAY,EACzB91E,KAAKiN,QAAQugB,YACbxtB,KAAKiN,QAAQwgB,OAAQg9C,EAAOv/D,MAAM7F,EAAI,GAAOrF,KAAKE,KAAK2jC,OAAOx+B,EAAIolE,EAAOv/D,MAAM5F,EAAI,GAAOtF,KAAKE,KAAK2jC,OAAOv+B,GAC3GtF,KAAKiN,QAAQygB,OAAQ+8C,EAAO7gE,IAAIvE,EAAI,GAAOrF,KAAKE,KAAK2jC,OAAOx+B,EAAIolE,EAAO7gE,IAAItE,EAAI,GAAOtF,KAAKE,KAAK2jC,OAAOv+B,GACvGtF,KAAKiN,QAAQ0gB,YACb3tB,KAAKiN,QAAQ8oE,UAGjB/1E,KAAK8K,QAYT0jH,UAAW,SAAU/jD,EAAQryD,EAAOm2G,GAEjBhlH,SAAXglH,IAAwBA,GAAS,GAErCn2G,EAAQA,GAAS,uBAEjBpY,KAAKkL,QAEDqjH,GAEAvuH,KAAKiN,QAAQia,UAAY9O,EACzBpY,KAAKiN,QAAQoa,SAASojD,EAAOplE,EAAIrF,KAAKE,KAAK2jC,OAAOx+B,EAAGolE,EAAOnlE,EAAItF,KAAKE,KAAK2jC,OAAOv+B,EAAGmlE,EAAO9jE,MAAO8jE,EAAO7jE,UAIzG5G,KAAKiN,QAAQwjB,YAAcrY,EAC3BpY,KAAKiN,QAAQyjB,WAAW+5C,EAAOplE,EAAIrF,KAAKE,KAAK2jC,OAAOx+B,EAAGolE,EAAOnlE,EAAItF,KAAKE,KAAK2jC,OAAOv+B,EAAGmlE,EAAO9jE,MAAO8jE,EAAO7jE,SAG/G5G,KAAK8K,QAcTsgE,KAAM,SAAUA,EAAM/lE,EAAGC,EAAG8S,EAAO4zD,GAE/B5zD,EAAQA,GAAS,mBACjB4zD,EAAOA,GAAQ,eAEfhsE,KAAKkL,QACLlL,KAAKiN,QAAQ++D,KAAOA,EAEhBhsE,KAAKwtH,eAELxtH,KAAKiN,QAAQia,UAAY,aACzBlnB,KAAKiN,QAAQ2oE,SAASxK,EAAM/lE,EAAI,EAAGC,EAAI,IAG3CtF,KAAKiN,QAAQia,UAAY9O,EACzBpY,KAAKiN,QAAQ2oE,SAASxK,EAAM/lE,EAAGC,GAE/BtF,KAAK8K,QAWTmkH,SAAU,SAAUC,EAAU92G,GAE1BA,EAAQA,GAAS,oBAEjBpY,KAAKkL,OAEL,IAAI1E,GAAS0oH,EAAS1oH,MAEtB,IAA8B,IAA1B0oH,EAASnyB,MAAM75F,OACnB,CACIlD,KAAKiN,QAAQwjB,YAAcrY,EAC3BpY,KAAKiN,QAAQyjB,WAAWlqB,EAAOnB,EAAGmB,EAAOlB,EAAGkB,EAAOG,MAAOH,EAAOI,QACjE5G,KAAKorE,KAAK,SAAW8jD,EAASpyB,QAAQ55F,OAAQsD,EAAOnB,EAAI,EAAGmB,EAAOlB,EAAI,GAAI,eAAgB,gBAE3FtF,KAAKiN,QAAQwjB,YAAc,cAE3B,KAAK,GAAIxtB,GAAI,EAAGA,EAAIisH,EAASpyB,QAAQ55F,OAAQD,IAEzCjD,KAAKiN,QAAQyjB,WAAWw+F,EAASpyB,QAAQ75F,GAAGoC,EAAG6pH,EAASpyB,QAAQ75F,GAAGqC,EAAG4pH,EAASpyB,QAAQ75F,GAAG0D,MAAOuoH,EAASpyB,QAAQ75F,GAAG2D,YAKzH,KAAK,GAAI3D,GAAI,EAAGA,EAAIisH,EAASnyB,MAAM75F,OAAQD,IAEvCjD,KAAKivH,SAASC,EAASnyB,MAAM95F,GAIrCjD,MAAK8K,QAcTsmC,KAAM,SAAUpvB,EAAQ5J,EAAOm2G,GAEvBvsG,EAAOovB,OAEPpxC,KAAKkL,QAED8W,EAAOovB,KAAKx8B,OAASsT,EAAO4nB,QAAQC,OAEpC7nB,EAAO4nB,QAAQ+7B,OAAOsjD,KAAKroH,OAAO9G,KAAKiN,QAAS+U,EAAOovB,KAAMh5B,EAAOm2G,GAE/DvsG,EAAOovB,KAAKx8B,OAASsT,EAAO4nB,QAAQs/E,MAEzClnG,EAAO4nB,QAAQu/E,MAAMF,KAAKroH,OAAO9G,KAAKiN,QAAS+U,EAAOovB,KAAMh5B,EAAOm2G,GAE9DvsG,EAAOovB,KAAKx8B,OAASsT,EAAO4nB,QAAQw/E,OAEzCpnG,EAAO4nB,QAAQy/E,MAAMC,WAAWxvH,KAAKiN,QAAS+U,EAAOovB,KAAMh5B,GAG/DpY,KAAK8K,SAcb2kH,SAAU,SAAUztG,EAAQ3c,EAAGC,EAAG8S,GAE1B4J,EAAOovB,OAEPpxC,KAAKkL,MAAM7F,EAAGC,EAAG8S,EAAO,KAEpB4J,EAAOovB,KAAKx8B,OAASsT,EAAO4nB,QAAQC,OAEpC7nB,EAAO4nB,QAAQ+7B,OAAOsjD,KAAKO,eAAe1vH,KAAMgiB,EAAOovB,MAElDpvB,EAAOovB,KAAKx8B,OAASsT,EAAO4nB,QAAQw/E,OAEzCtvH,KAAKE,KAAKokC,QAAQqrF,MAAMD,eAAe1vH,KAAMgiB,EAAOovB,MAGxDpxC,KAAK8K,SAYb8kH,WAAY,WAER5vH,KAAKkL,QAELlL,KAAKiN,QAAQ6d,WAAW9qB,KAAKE,KAAK2jC,OAAOjrB,KAAKvT,GAAIrF,KAAKE,KAAK2jC,OAAOjrB,KAAKtT,EAAG,GAC3EtF,KAAKE,KAAKokC,QAAQqrF,MAAME,gBAAgB7vH,KAAKiN,SAE7CjN,KAAK8K,QAYTglH,UAAW,SAAU1+E,EAAMh5B,GAEvBpY,KAAKkL,QACLgd,EAAO4nB,QAAQy/E,MAAMC,WAAWxvH,KAAKiN,QAASmkC,EAAMh5B,GACpDpY,KAAK8K,QAST/H,QAAS,WAEL9C,KAAKqQ,WAAWI,OAAO1Q,QAM/BkoB,EAAOiN,MAAMkkB,MAAMx2C,UAAUC,YAAcolB,EAAOiN,MAAMkkB,MAmBxDnxB,EAAO0lB,KAYHC,UAAW,SAAUwV,EAASx0B,GAE1BA,EAAQA,GAAS,GAAI3G,GAAO9mB,KAE5B,IAAI2uH,GAAM1sE,EAAQynE,wBAEdX,EAAYjiG,EAAO0lB,IAAIoiF,QACvBC,EAAa/nG,EAAO0lB,IAAIsiF,QACxBC,EAAYrgH,SAASujF,gBAAgB88B,UACrCC,EAAatgH,SAASujF,gBAAgB+8B,UAK1C,OAHAvhG,GAAMxpB,EAAI0qH,EAAIh5F,KAAOk5F,EAAaG,EAClCvhG,EAAMvpB,EAAIyqH,EAAIv2F,IAAM2wF,EAAYgG,EAEzBthG,GAiBXhpB,UAAW,SAAUw9C,EAASgtE,GAM1B,MAJgB9mH,UAAZ8mH,IAAyBA,EAAU,GAEvChtE,EAAUA,IAAYA,EAAQpsB,SAAWosB,EAAQ,GAAKA,EAEjDA,GAAgC,IAArBA,EAAQpsB,SAMbj3B,KAAKswH,UAAUjtE,EAAQynE,wBAAyBuF,IAJhD,GAkBfC,UAAW,SAAUC,EAAQF,GAEzBA,GAAWA,GAAW,CAEtB,IAAIn3F,IAAWvyB,MAAO,EAAGC,OAAQ,EAAGmwB,KAAM,EAAGD,MAAO,EAAG0C,IAAK,EAAGC,OAAQ,EAKvE,OAHAP,GAAOvyB,OAASuyB,EAAOpC,MAAQy5F,EAAOz5F,MAAQu5F,IAAYn3F,EAAOnC,KAAOw5F,EAAOx5F,KAAOs5F,GACtFn3F,EAAOtyB,QAAUsyB,EAAOO,OAAS82F,EAAO92F,OAAS42F,IAAYn3F,EAAOM,IAAM+2F,EAAO/2F,IAAM62F,GAEhFn3F,GAWXs3F,eAAgB,SAAU/lD,GAEtBA,EAAS,MAAQA,EAASzqE,KAAKqoH,aAAe,IAAM59C,EAAOxzC,SAAWj3B,KAAK6F,UAAU4kE,GAAUA,CAE/F,IAAIrzD,GAAIqzD,EAAc,MAClB/nD,EAAI+nD,EAAe,MAYvB,OAViB,kBAANrzD,KAEPA,EAAIA,EAAE1R,KAAK+kE,IAGE,kBAAN/nD,KAEPA,EAAIA,EAAEhd,KAAK+kE,IAGRrzD,EAAIsL,GAiBf+tG,iBAAkB,SAAUptE,EAASgtE,GAEjC,GAAI31G,GAAI1a,KAAK6F,UAAUw9C,EAASgtE,EAEhC,SAAS31G,GAAKA,EAAE+e,QAAU,GAAK/e,EAAEoc,OAAS,GAAKpc,EAAE8e,KAAOx5B,KAAK4qH,aAAajkH,OAAS+T,EAAEqc,MAAQ/2B,KAAK4qH,aAAahkH,QA6BnHm+G,qBAAsB,SAAU2L,GAE5B,GAAIC,GAASr+G,OAAOq+G,OAChB/G,EAAc+G,EAAO/G,aAAe+G,EAAOC,gBAAkBD,EAAOE,aAExE,IAAIjH,GAA2C,gBAArBA,GAAYh1G,KAGlC,MAAOg1G,GAAYh1G,IAElB,IAA2B,gBAAhBg1G,GAGZ,MAAOA,EAGX,IAAIkH,GAAW,mBACXC,EAAY,mBAEhB,IAAwB,WAApBL,EAEA,MAAQC,GAAO/pH,OAAS+pH,EAAOhqH,MAASmqH,EAAWC,CAElD,IAAwB,aAApBL,EAEL,MAAQ1wH,MAAKqoH,aAAazhH,OAAS5G,KAAKqoH,aAAa1hH,MAASmqH,EAAWC,CAExE,IAAwB,uBAApBL,GAA0E,gBAAvBp+G,QAAOs3G,YAG/D,MAA+B,KAAvBt3G,OAAOs3G,aAA4C,MAAvBt3G,OAAOs3G,YAAuBkH,EAAWC,CAE5E,IAAIz+G,OAAO0+G,WAChB,CACI,GAAI1+G,OAAO0+G,WAAW,2BAA2B56B,QAE7C,MAAO06B,EAEN,IAAIx+G,OAAO0+G,WAAW,4BAA4B56B,QAEnD,MAAO26B,GAIf,MAAQ/wH,MAAKqoH,aAAazhH,OAAS5G,KAAKqoH,aAAa1hH,MAASmqH,EAAWC,GAqB7E1I,aAAc,GAAIngG,GAAO1lB,UAqBzBooH,aAAc,GAAI1iG,GAAO1lB,UAczByuH,eAAgB,GAAI/oG,GAAO1lB,WAI/B0lB,EAAOgvB,OAAOoB,UAAU,SAAU1J,GAG9B,GAAIshF,GAAU59G,QAAW,eAAiBA,QACtC,WAAc,MAAOA,QAAO4+G,aAC5B,WAAc,MAAOphH,UAASujF,gBAAgB48B,YAE9CD,EAAU19G,QAAW,eAAiBA,QACtC,WAAc,MAAOA,QAAO6+G,aAC5B,WAAc,MAAOrhH,UAASujF,gBAAgB82B,UAUlD/mH,QAAOC,eAAe6kB,EAAO0lB,IAAK,WAC9BtqC,IAAK4sH,IAWT9sH,OAAOC,eAAe6kB,EAAO0lB,IAAK,WAC9BtqC,IAAK0sH,IAGT5sH,OAAOC,eAAe6kB,EAAO0lB,IAAIy6E,aAAc,KAC3C/kH,IAAK4sH,IAGT9sH,OAAOC,eAAe6kB,EAAO0lB,IAAIy6E,aAAc,KAC3C/kH,IAAK0sH,IAGT5sH,OAAOC,eAAe6kB,EAAO0lB,IAAIg9E,aAAc,KAC3CnnH,MAAO,IAGXL,OAAOC,eAAe6kB,EAAO0lB,IAAIg9E,aAAc,KAC3CnnH,MAAO,GAGX,IAAI2tH,GAAiBxiF,EAAOi/C,SACvB/9E,SAASujF,gBAAgBg+B,aAAe/+G,OAAOkkB,YAC/C1mB,SAASujF,gBAAgBi+B,cAAgBh/G,OAAOmkB,WAKrD,IAAI26F,EACJ,CAII,GAAIC,GAAc,WACd,MAAOxwH,MAAKm7B,IAAI1pB,OAAOkkB,WAAY1mB,SAASujF,gBAAgBg+B,cAE5DC,EAAe,WACf,MAAOzwH,MAAKm7B,IAAI1pB,OAAOmkB,YAAa3mB,SAASujF,gBAAgBi+B,cAIjEluH,QAAOC,eAAe6kB,EAAO0lB,IAAIy6E,aAAc,SAC3C/kH,IAAK+tH,IAGTjuH,OAAOC,eAAe6kB,EAAO0lB,IAAIy6E,aAAc,UAC3C/kH,IAAKguH,IAGTluH,OAAOC,eAAe6kB,EAAO0lB,IAAIg9E,aAAc,SAC3CtnH,IAAK+tH,IAGTjuH,OAAOC,eAAe6kB,EAAO0lB,IAAIg9E,aAAc,UAC3CtnH,IAAKguH,QAKTluH,QAAOC,eAAe6kB,EAAO0lB,IAAIy6E,aAAc,SAC3C/kH,IAAK,WACD,MAAOgP,QAAOkkB,cAItBpzB,OAAOC,eAAe6kB,EAAO0lB,IAAIy6E,aAAc,UAC3C/kH,IAAK,WACD,MAAOgP,QAAOmkB,eAItBrzB,OAAOC,eAAe6kB,EAAO0lB,IAAIg9E,aAAc,SAE3CtnH,IAAK,WACD,GAAIoB,GAAIoL,SAASujF,gBAAgBg+B,YAC7B1sH,EAAI2N,OAAOkkB,UAEf,OAAW7xB,GAAJD,EAAQC,EAAID,KAK3BtB,OAAOC,eAAe6kB,EAAO0lB,IAAIg9E,aAAc,UAE3CtnH,IAAK,WACD,GAAIoB,GAAIoL,SAASujF,gBAAgBi+B,aAC7B3sH,EAAI2N,OAAOmkB,WAEf,OAAW9xB,GAAJD,EAAQC,EAAID,IAU/BtB,QAAOC,eAAe6kB,EAAO0lB,IAAIqjF,eAAgB,KAC7CxtH,MAAO,IAGXL,OAAOC,eAAe6kB,EAAO0lB,IAAIqjF,eAAgB,KAC7CxtH,MAAO,IAGXL,OAAOC,eAAe6kB,EAAO0lB,IAAIqjF,eAAgB,SAE7C3tH,IAAK,WACD,GAAIuB,GAAIiL,SAASujF,eACjB,OAAOxyF,MAAKm7B,IAAIn3B,EAAEwsH,YAAaxsH,EAAE0sH,YAAa1sH,EAAE2sH,gBAKxDpuH,OAAOC,eAAe6kB,EAAO0lB,IAAIqjF,eAAgB,UAE7C3tH,IAAK,WACD,GAAIuB,GAAIiL,SAASujF,eACjB,OAAOxyF,MAAKm7B,IAAIn3B,EAAEysH,aAAczsH,EAAE4sH,aAAc5sH,EAAE6sH,kBAK3D,MAAM,GAoBTxpG,EAAOosB,SAAW,SAAUozC,GAOxB1nF,KAAKmB,SAAW,EAMhBnB,KAAK0nF,KAAOA,OAIhBx/D,EAAOosB,SAASzxC,WAUZ64B,IAAK,SAAUn4B,GAOX,MALKvD,MAAKqtC,OAAO9pC,IAEbvD,KAAK0nF,KAAK3jF,KAAKR,GAGZA,GAWX+uC,SAAU,SAAU/uC,GAEhB,MAAOvD,MAAK0nF,KAAKz+E,QAAQ1F,IAa7BouH,SAAU,SAAUp+E,EAAU9vC,GAI1B,IAFA,GAAIR,GAAIjD,KAAK0nF,KAAKxkF,OAEXD,KAEH,GAAIjD,KAAK0nF,KAAKzkF,GAAGswC,KAAc9vC,EAE3B,MAAOzD,MAAK0nF,KAAKzkF,EAIzB,OAAO,OAWXoqC,OAAQ,SAAU9pC,GAEd,MAAQvD,MAAK0nF,KAAKz+E,QAAQ1F,GAAQ,IAStCmgC,MAAO,WAEH1jC,KAAK0nF,KAAKxkF,OAAS,GAWvBwN,OAAQ,SAAUnN,GAEd,GAAIwN,GAAM/Q,KAAK0nF,KAAKz+E,QAAQ1F,EAE5B,OAAIwN,GAAM,IAEN/Q,KAAK0nF,KAAKh/E,OAAOqI,EAAK,GACfxN,GAHX,QAeJ4vC,OAAQ,SAAU5+B,EAAK9Q,GAInB,IAFA,GAAIR,GAAIjD,KAAK0nF,KAAKxkF,OAEXD,KAECjD,KAAK0nF,KAAKzkF,KAEVjD,KAAK0nF,KAAKzkF,GAAGsR,GAAO9Q,IAgBhCswC,QAAS,SAAUx/B,GAMf,IAJA,GAAI6f,GAAOzzB,MAAMkC,UAAUoxB,MAAMvuB,KAAK6uB,UAAW,GAE7CtxB,EAAIjD,KAAK0nF,KAAKxkF,OAEXD,KAECjD,KAAK0nF,KAAKzkF,IAAMjD,KAAK0nF,KAAKzkF,GAAGsR,IAE7BvU,KAAK0nF,KAAKzkF,GAAGsR,GAAKtN,MAAMjH,KAAK0nF,KAAKzkF,GAAImxB,IAYlDyT,UAAW,SAAU9kC,GAEDwG,SAAZxG,IAAyBA,GAAU,EAIvC,KAFA,GAAIE,GAAIjD,KAAK0nF,KAAKxkF,OAEXD,KAEH,GAAIjD,KAAK0nF,KAAKzkF,GACd,CACI,GAAIM,GAAOvD,KAAK0Q,OAAO1Q,KAAK0nF,KAAKzkF,GAE7BF,IAEAQ,EAAKR,UAKjB/C,KAAKmB,SAAW,EAChBnB,KAAK0nF,UAYbtkF,OAAOC,eAAe6kB,EAAOosB,SAASzxC,UAAW,SAE7CS,IAAK,WACD,MAAOtD,MAAK0nF,KAAKxkF,UAWzBE,OAAOC,eAAe6kB,EAAOosB,SAASzxC,UAAW,SAE7CS,IAAK,WAID,MAFAtD,MAAKmB,SAAW,EAEZnB,KAAK0nF,KAAKxkF,OAAS,EAEZlD,KAAK0nF,KAAK,GAIV,QAanBtkF,OAAOC,eAAe6kB,EAAOosB,SAASzxC,UAAW,QAE7CS,IAAK,WAED,MAAItD,MAAKmB,SAAWnB,KAAK0nF,KAAKxkF,QAE1BlD,KAAKmB,WAEEnB,KAAK0nF,KAAK1nF,KAAKmB,WAIf,QAOnB+mB,EAAOosB,SAASzxC,UAAUC,YAAcolB,EAAOosB,SAc/CpsB,EAAO2tB,YAcHC,cAAe,SAAUgnD,EAASh5E,EAAY5gB,GAE1C,GAAgB,OAAZ45F,EAAoB,MAAO,KACZvzF,UAAfua,IAA4BA,EAAa,GAC9Bva,SAAXrG,IAAwBA,EAAS45F,EAAQ55F,OAE7C,IAAI0uH,GAAc9tG,EAAajjB,KAAKizB,MAAMjzB,KAAKk1B,SAAW7yB,EAE1D,OAAgCqG,UAAzBuzF,EAAQ80B,GAA6B,KAAO90B,EAAQ80B,IAgB/DC,iBAAkB,SAAU/0B,EAASh5E,EAAY5gB,GAE7C,GAAe,MAAX45F,EACA,MAAO,KAGQvzF,UAAfua,IAA4BA,EAAa,GAC9Bva,SAAXrG,IAAwBA,EAAS45F,EAAQ55F,OAE7C,IAAI0uH,GAAc9tG,EAAajjB,KAAKizB,MAAMjzB,KAAKk1B,SAAW7yB,EAC1D,IAAI0uH,EAAc90B,EAAQ55F,OAC1B,CACI,GAAI4G,GAAUgzF,EAAQp0F,OAAOkpH,EAAa,EAC1C,OAAsBroH,UAAfO,EAAQ,GAAmB,KAAOA,EAAQ,GAIjD,MAAO,OAYfgoH,QAAS,SAAUv0F,GAEf,IAAK,GAAIt6B,GAAIs6B,EAAMr6B,OAAS,EAAGD,EAAI,EAAGA,IACtC,CACI,GAAIa,GAAIjD,KAAKizB,MAAMjzB,KAAKk1B,UAAY9yB,EAAI,IACpCqJ,EAAOixB,EAAMt6B,EACjBs6B,GAAMt6B,GAAKs6B,EAAMz5B,GACjBy5B,EAAMz5B,GAAKwI,EAGf,MAAOixB,IAWXw0F,gBAAiB,SAAUx0F,GAOvB,IAAK,GALDy0F,GAAiBz0F,EAAMr6B,OACvB+uH,EAAiB10F,EAAM,GAAGr6B,OAE1B2N,EAAS,GAAIlQ,OAAMsxH,GAEdhvH,EAAI,EAAOgvH,EAAJhvH,EAAoBA,IACpC,CACI4N,EAAO5N,GAAK,GAAItC,OAAMqxH,EAEtB,KAAK,GAAIluH,GAAIkuH,EAAiB,EAAGluH,EAAI,GAAIA,IAErC+M,EAAO5N,GAAGa,GAAKy5B,EAAMz5B,GAAGb,GAIhC,MAAO4N,IAcXqhH,aAAc,SAAUpsH,EAAQuuE,GAO5B,GALyB,gBAAdA,KAEPA,GAAcA,EAAY,IAAO,KAAO,KAG1B,KAAdA,GAAkC,OAAdA,GAAoC,eAAdA,EAE1CvuE,EAASoiB,EAAO2tB,WAAWk8E,gBAAgBjsH,GAC3CA,EAASA,EAAO4X,cAEf,IAAkB,MAAd22D,GAAmC,MAAdA,GAAmC,gBAAdA,EAE/CvuE,EAASA,EAAO4X,UAChB5X,EAASoiB,EAAO2tB,WAAWk8E,gBAAgBjsH,OAE1C,IAA4B,MAAxBjF,KAAKi5B,IAAIu6C,IAAoC,cAAdA,EACxC,CACI,IAAK,GAAIpxE,GAAI,EAAGA,EAAI6C,EAAO5C,OAAQD,IAE/B6C,EAAO7C,GAAGya,SAGd5X,GAASA,EAAO4X,UAGpB,MAAO5X,IAaXqsH,YAAa,SAAU1uH,EAAO2uH,GAE1B,IAAKA,EAAIlvH,OAEL,MAAOmvH,IAEN,IAAmB,IAAfD,EAAIlvH,QAAgBO,EAAQ2uH,EAAI,GAErC,MAAOA,GAAI,EAIf,KADA,GAAInvH,GAAI,EACDmvH,EAAInvH,GAAKQ,GACZR,GAGJ,IAAIqvH,GAAMF,EAAInvH,EAAI,GACdsvH,EAAQtvH,EAAImvH,EAAIlvH,OAAUkvH,EAAInvH,GAAKq9B,OAAOkyF,iBAE9C,OAA2B/uH,GAAQ6uH,GAA1BC,EAAO9uH,EAA2B8uH,EAAOD,GAYtDp3F,OAAQ,SAAUqC,GAEd,GAAI0B,GAAI1B,EAAM0rB,OAGd,OAFA1rB,GAAMx5B,KAAKk7B,GAEJA,GAaXwzF,YAAa,SAAUvnH,EAAOtB,GAI1B,IAAK,GAFDiH,MAEK5N,EAAIiI,EAAYtB,GAAL3G,EAAUA,IAE1B4N,EAAO9M,KAAKd,EAGhB,OAAO4N,IAqCX6hH,gBAAiB,SAAUxnH,EAAOtB,EAAKmxC,IAErBxxC,SAAV2B,GAAiC,OAAVA,KAAkBA,EAAQ,IAEzC3B,SAARK,GAA6B,OAARA,KAErBA,EAAMsB,EACNA,EAAQ,GAGC3B,SAATwxC,IAAsBA,EAAO,EAKjC,KAAK,GAHDlqC,MACAke,EAAQluB,KAAKm7B,IAAI9T,EAAOrnB,KAAKg6F,mBAAmBjxF,EAAMsB,IAAU6vC,GAAQ,IAAK,GAExE93C,EAAI,EAAO8rB,EAAJ9rB,EAAWA,IAEvB4N,EAAO9M,KAAKmH,GACZA,GAAS6vC,CAGb,OAAOlqC,KAuBfqX,EAAOyqG,WAAa,WAOhB3yH,KAAKiyC,KAAO,KAOZjyC,KAAK4xE,KAAO,KAOZ5xE,KAAK6pD,MAAQ,KAOb7pD,KAAKy1B,KAAO,KAOZz1B,KAAK+uB,MAAQ,GAIjB7G,EAAOyqG,WAAW9vH,WASd64B,IAAK,SAAUn4B,GAGX,MAAmB,KAAfvD,KAAK+uB,OAA8B,OAAf/uB,KAAK6pD,OAAgC,OAAd7pD,KAAKy1B,MAEhDz1B,KAAK6pD,MAAQtmD,EACbvD,KAAKy1B,KAAOlyB,EACZvD,KAAKiyC,KAAO1uC,EACZA,EAAKquE,KAAO5xE,KACZA,KAAK+uB,QACExrB,IAIXvD,KAAKy1B,KAAKwc,KAAO1uC,EAEjBA,EAAKquE,KAAO5xE,KAAKy1B,KAEjBz1B,KAAKy1B,KAAOlyB,EAEZvD,KAAK+uB,QAEExrB,IASXmgC,MAAO,WAEH1jC,KAAK6pD,MAAQ,KACb7pD,KAAKy1B,KAAO,KACZz1B,KAAKiyC,KAAO,KACZjyC,KAAK4xE,KAAO,KACZ5xE,KAAK+uB,MAAQ,GAUjBre,OAAQ,SAAUnN,GAEd,MAAmB,KAAfvD,KAAK+uB,OAEL/uB,KAAK0jC;KACLngC,EAAK0uC,KAAO1uC,EAAKquE,KAAO,QAIxBruE,IAASvD,KAAK6pD,MAGd7pD,KAAK6pD,MAAQ7pD,KAAK6pD,MAAM5X,KAEnB1uC,IAASvD,KAAKy1B,OAGnBz1B,KAAKy1B,KAAOz1B,KAAKy1B,KAAKm8C,MAGtBruE,EAAKquE,OAGLruE,EAAKquE,KAAK3/B,KAAO1uC,EAAK0uC,MAGtB1uC,EAAK0uC,OAGL1uC,EAAK0uC,KAAK2/B,KAAOruE,EAAKquE,MAG1BruE,EAAK0uC,KAAO1uC,EAAKquE,KAAO,KAEL,OAAf5xE,KAAK6pD,QAEL7pD,KAAKy1B,KAAO,UAGhBz1B,MAAK+uB,UAWTglB,QAAS,SAAUH,GAEf,GAAK5zC,KAAK6pD,OAAU7pD,KAAKy1B,KAAzB,CAKA,GAAIm9F,GAAS5yH,KAAK6pD,KAElB,GAEQ+oE,IAAUA,EAAOh/E,IAEjBg/E,EAAOh/E,GAAUluC,KAAKktH,GAG1BA,EAASA,EAAO3gF,WAGd2gF,GAAU5yH,KAAKy1B,KAAKwc,SAMlC/pB,EAAOyqG,WAAW9vH,UAAUC,YAAcolB,EAAOyqG,WAmBjDzqG,EAAOixB,OAAS,SAAUj5C,GAKtBF,KAAKE,KAAOA,EAKZF,KAAKstH,IAAM,KAKXttH,KAAKqQ,OAAS,KAKdrQ,KAAKgxE,IAAM,KAKXhxE,KAAK6yH,WACC,EAAG,OAAQC,EAAG,UAAWC,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWv2D,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW3oC,EAAG,YAC/M,EAAG,OAAQq+F,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWv2D,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW3oC,EAAG,YAClN,EAAG,OAAQq+F,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWv2D,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW3oC,EAAG,SAClN,EAAG,OAAQq+F,EAAG,OAAQC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWv2D,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW3oC,EAAG,YAC/M,EAAG,OAAQq+F,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWv2D,EAAG,UAAWE,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAWC,EAAG,UAAW3oC,EAAG,UAU5NvM,EAAOixB,OAAOo6E,aAAe,EAO7BrrG,EAAOixB,OAAOq6E,YAAc,EAO5BtrG,EAAOixB,OAAOs6E,YAAc,EAO5BvrG,EAAOixB,OAAOu6E,YAAc,EAO5BxrG,EAAOixB,OAAOw6E,yBAA2B,EAEzCzrG,EAAOixB,OAAOt2C,WAiCV+E,QAAS,SAAU2M,EAAK9D,EAAMmjH,EAAYC,EAAaC,GAEhCvqH,SAAfqqH,IAA4BA,EAAa,GACzBrqH,SAAhBsqH,IAA6BA,EAAcD,GAC/BrqH,SAAZuqH,IAAyBA,EAAU,EAEvC,IAAI18G,GAAI3G,EAAK,GAAGvN,OAAS0wH,EACrBlxG,EAAIjS,EAAKvN,OAAS2wH,CAGL,QAAb7zH,KAAKstH,MAELttH,KAAKstH,IAAMttH,KAAKE,KAAK0jC,KAAKwpC,aAC1BptE,KAAKqQ,OAASrQ,KAAKstH,IAAIj9G,OACvBrQ,KAAKgxE,IAAMhxE,KAAKstH,IAAIrgH,SAGxBjN,KAAKstH,IAAIzlH,OAAOuP,EAAGsL,GACnB1iB,KAAKstH,IAAI1yG,OAGT,KAAK,GAAItV,GAAI,EAAGA,EAAImL,EAAKvN,OAAQoC,IAI7B,IAAK,GAFDynG,GAAMt8F,EAAKnL,GAEND,EAAI,EAAGA,EAAI0nG,EAAI7pG,OAAQmC,IAChC,CACI,GAAIR,GAAIkoG,EAAI1nG,EAEF,OAANR,GAAmB,MAANA,IAEb7E,KAAKgxE,IAAI9pD,UAAYlnB,KAAK6yH,SAASiB,GAASjvH,GAC5C7E,KAAKgxE,IAAI3pD,SAAShiB,EAAIuuH,EAAYtuH,EAAIuuH,EAAaD,EAAYC,IAK3E,MAAO7zH,MAAKstH,IAAIlnH,gBAAgBmO,IAgBpCk9C,KAAM,SAAUl9C,EAAK5N,EAAOC,EAAQmtH,EAAWC,EAAY57G,GAGtC,OAAbpY,KAAKstH,MAELttH,KAAKstH,IAAMttH,KAAKE,KAAK0jC,KAAKwpC,aAC1BptE,KAAKqQ,OAASrQ,KAAKstH,IAAIj9G,OACvBrQ,KAAKgxE,IAAMhxE,KAAKstH,IAAIrgH,SAGxBjN,KAAKstH,IAAIzlH,OAAOlB,EAAOC,GAEvB5G,KAAKgxE,IAAI9pD,UAAY9O,CAErB,KAAK,GAAI9S,GAAI,EAAOsB,EAAJtB,EAAYA,GAAK0uH,EAE7Bh0H,KAAKgxE,IAAI3pD,SAAS,EAAG/hB,EAAGqB,EAAO,EAGnC,KAAK,GAAItB,GAAI,EAAOsB,EAAJtB,EAAWA,GAAK0uH,EAE5B/zH,KAAKgxE,IAAI3pD,SAAShiB,EAAG,EAAG,EAAGuB,EAG/B,OAAO5G,MAAKstH,IAAIlnH,gBAAgBmO,KAMxC2T,EAAOixB,OAAOt2C,UAAUC,YAAcolB,EAAOixB,OAsB7CjxB,EAAOggG,SAAW,SAAU9kB,EAASz8F,EAAOC,GAKxC5G,KAAKE,KAAOkjG,EAAQljG,KAKpBF,KAAKojG,QAAUA,EAGfpjG,KAAK2G,MAAQA,EACb3G,KAAK4G,OAASA,EAEd5G,KAAKi0H,aAAe,GAAI/rG,GAAO1lB,UAAU,EAAG,EAAGmE,EAAOC,GACtD5G,KAAK0xD,YAAc,GAAIxpC,GAAO1lB,UAAU,EAAG,EAAGmE,EAAOC,GACrD5G,KAAKk0H,WAAa,GAAIhsG,GAAO1lB,UAAU,EAAG,EAAGmE,EAAOC,GACpD5G,KAAKm0H,WAAa,GAAIjsG,GAAO1lB,UAAU,EAAG,EAAGmE,EAAOC,GAMpD5G,KAAKo0H,eAAiB,GAAIlsG,GAAO9mB,MAAM,EAAG,GAC1CpB,KAAKq0H,cAAgB,GAAInsG,GAAO9mB,MAAM,EAAG,GACzCpB,KAAKs0H,aAAe,GAAIpsG,GAAO9mB,MAAM,EAAG,GACxCpB,KAAKu0H,aAAe,GAAIrsG,GAAO9mB,MAAM,EAAG,GAMxCpB,KAAKw0H,YAAc,GAAItsG,GAAO9mB,MAAM,EAAG,GACvCpB,KAAKy0H,WAAa,GAAIvsG,GAAO9mB,MAAM,EAAG,GACtCpB,KAAK2xD,mBAAqB,GAAIzpC,GAAO9mB,MAAM,EAAG,GAC9CpB,KAAK00H,UAAY,GAAIxsG,GAAO9mB,MAAM,EAAG,GACrCpB,KAAK20H,UAAY,GAAIzsG,GAAO9mB,MAAM,EAAG,GAErCpB,KAAK40H,YAAc,EACnB50H,KAAK60H,aAAe,EACpB70H,KAAK80H,cAAgB,EACrB90H,KAAK+0H,cAAgB,EAErB/0H,KAAKg1H,OAASruH,EAAQC,EACtB5G,KAAKi1H,OAASruH,EAASD,EAEvB3G,KAAKisH,WAAa,EAElBjsH,KAAKk1H,WAIThtG,EAAOggG,SAASrlH,WASZ4gC,QAAS,SAAU98B,EAAOC,GAGtB5G,KAAK2G,MAAQA,EACb3G,KAAK4G,OAASA,EAEd5G,KAAKg1H,OAASruH,EAAQC,EACtB5G,KAAKi1H,OAASruH,EAASD,EAEvB3G,KAAK20H,UAAY,GAAIzsG,GAAO9mB,MAAM,EAAG,GAErCpB,KAAKm0H,WAAWxtH,MAAQ3G,KAAK2G,MAC7B3G,KAAKm0H,WAAWvtH,OAAS5G,KAAK4G,OAE9B5G,KAAKioB,WAeTktG,kBAAmB,SAAUxuH,EAAOC,EAAQ5D,EAAUmpC,GAE/B5iC,SAAf4iC,IAA4BA,GAAa,GAE7CnsC,KAAK40H,YAAcjuH,EACnB3G,KAAK60H,aAAejuH,EAEpB5G,KAAKi0H,aAAattH,MAAQA,EAC1B3G,KAAKi0H,aAAartH,OAASA,CAE3B,IAAIwuH,GAAQ,GAAIltG,GAAOmtG,UAAUr1H,KAAMA,KAAKo0H,eAAgBp0H,KAAKi0H,aAAcj0H,KAAKw0H,YAcpF,OAZIroF,IAEAnsC,KAAKE,KAAKuE,MAAMi3B,IAAI05F,GAGxBp1H,KAAKk1H,OAAOnxH,KAAKqxH,GAEO,mBAAbpyH,IAAgD,aAAbA,IAE1CoyH,EAAM3jF,YAAYzuC,GAGfoyH,GAWXE,iBAAkB,SAAUtyH,EAAUmpC,GAEf5iC,SAAf4iC,IAA4BA,GAAa,EAE7C,IAAIipF,GAAQ,GAAIltG,GAAOmtG,UAAUr1H,KAAMA,KAAKq0H,cAAer0H,KAAK0xD,YAAa1xD,KAAKy0H,WAclF,OAZItoF,IAEAnsC,KAAKE,KAAKuE,MAAMi3B,IAAI05F,GAGxBp1H,KAAKk1H,OAAOnxH,KAAKqxH,GAEO,mBAAbpyH,IAAgD,aAAbA,IAE1CoyH,EAAM3jF,YAAYzuC,GAGfoyH,GAWXG,gBAAiB,SAAUvyH,GAEvB,GAAIoyH,GAAQ,GAAIltG,GAAOmtG,UAAUr1H,KAAMA,KAAKs0H,aAAct0H,KAAKk0H,WAAYl0H,KAAKy0H,WAWhF,OATAz0H,MAAKE,KAAKuE,MAAMi3B,IAAI05F,GAEpBp1H,KAAKk1H,OAAOnxH,KAAKqxH,GAEO,mBAAbpyH,IAEPoyH,EAAM3jF,YAAYzuC,GAGfoyH,GAWXI,iBAAkB,SAAUxyH,GAExB,GAAIoyH,GAAQ,GAAIltG,GAAOmtG,UAAUr1H,KAAMA,KAAKu0H,aAAcv0H,KAAKm0H,WAAYn0H,KAAK20H,UAWhF,OATA30H,MAAKE,KAAKuE,MAAMi3B,IAAI05F,GAEpBp1H,KAAKk1H,OAAOnxH,KAAKqxH,GAEO,mBAAbpyH,IAEPoyH,EAAM3jF,YAAYzuC,GAGfoyH,GASX1xF,MAAO,WAIH,IAFA,GAAIzgC,GAAIjD,KAAKk1H,OAAOhyH,OAEbD,KAEEjD,KAAKk1H,OAAOjyH,GAAGwyH,UAGhBz1H,KAAKk1H,OAAOjyH,GAAG9B,SAAW,KAC1BnB,KAAKk1H,OAAOjyH,GAAG5B,MAAQ,KACvBrB,KAAKk1H,OAAOjhG,MAAMhxB,EAAG,KAajCkjH,SAAU,SAAUx/G,EAAOC,GAEvB5G,KAAKg1H,OAASruH,EAAQC,EACtB5G,KAAKi1H,OAASruH,EAASD,EAEvB3G,KAAKioB,QAAQthB,EAAOC,IASxBqhB,QAAS,WAELjoB,KAAKisH,WAAaprH,KAAKi7B,IAAK97B,KAAKojG,QAAQx8F,OAAS5G,KAAK4G,OAAU5G,KAAKojG,QAAQz8F,MAAQ3G,KAAK2G,OAE3F3G,KAAK0xD,YAAY/qD,MAAQ9F,KAAKo4B,MAAMj5B,KAAK2G,MAAQ3G,KAAKisH,YACtDjsH,KAAK0xD,YAAY9qD,OAAS/F,KAAKo4B,MAAMj5B,KAAK4G,OAAS5G,KAAKisH,YAExDjsH,KAAKy0H,WAAWjxH,IAAIxD,KAAK0xD,YAAY/qD,MAAQ3G,KAAK2G,MAAO3G,KAAK0xD,YAAY9qD,OAAS5G,KAAK4G,QACxF5G,KAAK2xD,mBAAmBnuD,IAAIxD,KAAK2G,MAAQ3G,KAAK0xD,YAAY/qD,MAAO3G,KAAK4G,OAAS5G,KAAK0xD,YAAY9qD,QAEhG5G,KAAK00H,UAAUlxH,IAAIxD,KAAKk0H,WAAWvtH,MAAQ3G,KAAK2G,MAAO3G,KAAKk0H,WAAWttH,OAAS5G,KAAK4G,QAErF5G,KAAKk0H,WAAWvtH,MAAQ9F,KAAKo4B,MAAMj5B,KAAKojG,QAAQz8F,MAAQ3G,KAAK2xD,mBAAmBtsD,GAChFrF,KAAKk0H,WAAWttH,OAAS/F,KAAKo4B,MAAMj5B,KAAKojG,QAAQx8F,OAAS5G,KAAK2xD,mBAAmBrsD,GAElFtF,KAAK0xD,YAAYj2B,SAASz7B,KAAKojG,QAAQ58F,OAAO2mB,QAASntB,KAAKojG,QAAQ58F,OAAO4mB,SAC3EptB,KAAKm0H,WAAW14F,SAASz7B,KAAKojG,QAAQ58F,OAAO2mB,QAASntB,KAAKojG,QAAQ58F,OAAO4mB,SAE1EptB,KAAKq0H,cAAc7wH,IAAIxD,KAAK0xD,YAAYrsD,EAAGrF,KAAK0xD,YAAYpsD,GAC5DtF,KAAKu0H,aAAa/wH,IAAIxD,KAAKm0H,WAAW9uH,EAAGrF,KAAKm0H,WAAW7uH,IAU7DowH,UAAW,SAAU1zG,GAEjBhiB,KAAKojG,QAAQ2pB,YAAY/qG,GAEzBA,EAAO3c,EAAIrF,KAAKojG,QAAQ58F,OAAO2mB,QAC/BnL,EAAO1c,EAAItF,KAAKojG,QAAQ58F,OAAO4mB,SASnC0a,MAAO,WAUH9nC,KAAKE,KAAK4nC,MAAMsjC,KAAKprE,KAAK0xD,YAAY/qD,MAAQ,MAAQ3G,KAAK0xD,YAAY9qD,OAAQ5G,KAAK0xD,YAAYrsD,EAAI,EAAGrF,KAAK0xD,YAAYpsD,EAAI,IAC5HtF,KAAKE,KAAK4nC,MAAMinF,KAAK/uH,KAAK0xD,YAAa,oBAAoB,KAYnExpC,EAAOggG,SAASrlH,UAAUC,YAAcolB,EAAOggG,SAuB/ChgG,EAAOmtG,UAAY,SAAUjyB,EAASjiG,EAAUqF,EAAQnF,GAEpD6mB,EAAOwnB,MAAMhqC,KAAK1F,KAAMojG,EAAQljG,KAAM,KAAM,cAAgBkjG,EAAQljG,KAAKqkC,IAAIyoC,QAAQ,GAKrFhtE,KAAKojG,QAAUA,EAAQA,QAKvBpjG,KAAKyxD,KAAO2xC,EAOZpjG,KAAKy1H,SAAU,EAKfz1H,KAAKmB,SAAWA,EAKhBnB,KAAKwG,OAASA,EAKdxG,KAAKqB,MAAQA,EAKbrB,KAAK21H,QAAUnvH,EAAOmvH,QAKtB31H,KAAK41H,UAAY,GAAI1tG,GAAO9mB,MAAMoF,EAAOuzB,UAAW,GAKpD/5B,KAAK61H,SAAWrvH,EAAOqvH,SAKvB71H,KAAK81H,WAAatvH,EAAOsvH,WAKzB91H,KAAK+1H,aAAe,GAAI7tG,GAAO9mB,MAAMoF,EAAOuzB,UAAWvzB,EAAOizB,QAK9Dz5B,KAAKg2H,YAAcxvH,EAAOwvH,aAI9B9tG,EAAOmtG,UAAUxyH,UAAYO,OAAO8E,OAAOggB,EAAOwnB,MAAM7sC,WACxDqlB,EAAOmtG,UAAUxyH,UAAUC,YAAcolB,EAAOmtG,UAOhDntG,EAAOmtG,UAAUxyH,UAAUgF,OAAS,aAQpCqgB,EAAOmtG,UAAUxyH,UAAUilC,MAAQ,WAE/B9nC,KAAKE,KAAK4nC,MAAMsjC,KAAKprE,KAAKwG,OAAOG,MAAQ,MAAQ3G,KAAKwG,OAAOI,OAAQ5G,KAAKwG,OAAOnB,EAAI,EAAGrF,KAAKwG,OAAOlB,EAAI,IACxGtF,KAAKE,KAAK4nC,MAAMinF,KAAK/uH,KAAKwG,OAAQ,oBAAoB,GAEtDxG,KAAKE,KAAK4nC,MAAMinF,KAAK/uH,KAAK21H,QAAS,wBACnC31H,KAAKE,KAAK4nC,MAAMinF,KAAK/uH,KAAK41H,UAAW,wBACrC51H,KAAKE,KAAK4nC,MAAMinF,KAAK/uH,KAAK61H,SAAU,yBAexC3tG,EAAOonB,OAeH8jC,UAAW,SAAU14D,EAAGC,EAAGhW,EAAGD,GAE1B,MAAIwjB,GAAOgvB,OAAO28B,eAEJnvE,GAAK,GAAOC,GAAK,GAAOgW,GAAM,EAAKD,KAAQ,GAI3CA,GAAK,GAAOC,GAAK,GAAOhW,GAAM,EAAKD,KAAQ,GAwB7DguE,YAAa,SAAUlqD,EAAMiQ,EAAKw7C,EAAKC,GAkCnC,OAhCY3qE,SAARkvB,GAA6B,OAARA,KAAgBA,EAAMvQ,EAAOonB,MAAMmjC,gBAChDlpE,SAAR0qE,GAA6B,OAARA,KAAgBA,GAAM,IACnC1qE,SAAR2qE,GAA6B,OAARA,KAAgBA,GAAM,GAE3ChsD,EAAOgvB,OAAO28B,eAEdp7C,EAAI/zB,GAAa,WAAP8jB,KAAuB,GACjCiQ,EAAI9zB,GAAa,SAAP6jB,KAAuB,GACjCiQ,EAAI9d,GAAa,MAAP6N,KAAuB,EACjCiQ,EAAI/d,EAAa,IAAP8N,IAIViQ,EAAI/d,GAAa,WAAP8N,KAAuB,GACjCiQ,EAAI9d,GAAa,SAAP6N,KAAuB,GACjCiQ,EAAI9zB,GAAa,MAAP6jB,KAAuB,EACjCiQ,EAAI/zB,EAAa,IAAP8jB,GAGdiQ,EAAIrgB,MAAQoQ,EACZiQ,EAAIjQ,KAAO,QAAUiQ,EAAI/d,EAAI,IAAM+d,EAAI9d,EAAI,IAAM8d,EAAI9zB,EAAI,IAAO8zB,EAAI/zB,EAAI,IAAO,IAE3EuvE,GAEA/rD,EAAOonB,MAAM2mF,SAASx9F,EAAI/d,EAAG+d,EAAI9d,EAAG8d,EAAI9zB,EAAG8zB,GAG3Cy7C,GAEAhsD,EAAOonB,MAAM4mF,SAASz9F,EAAI/d,EAAG+d,EAAI9d,EAAG8d,EAAI9zB,EAAG8zB,GAGxCA,GAeX09F,SAAU,SAAU3tG,EAAMiQ,GActB,MAZKA,KAEDA,EAAMvQ,EAAOonB,MAAMmjC,eAGvBh6C,EAAI/d,GAAa,WAAP8N,KAAuB,GACjCiQ,EAAI9d,GAAa,SAAP6N,KAAuB,GACjCiQ,EAAI9zB,GAAa,MAAP6jB,KAAuB,EACjCiQ,EAAI/zB,EAAa,IAAP8jB,EAEViQ,EAAIjQ,KAAO,QAAUiQ,EAAI/d,EAAI,IAAM+d,EAAI9d,EAAI,IAAM8d,EAAI9zB,EAAI,IAAM8zB,EAAI/zB,EAAI,IAEhE+zB,GAgBX29F,OAAQ,SAAU17G,EAAGC,EAAGhW,EAAGD,GAEvB,MAAQgW,IAAK,GAAOC,GAAK,GAAOhW,GAAM,EAAKD,GAkB/CuxH,SAAU,SAAUv7G,EAAGC,EAAGhW,EAAG8zB,GAEpBA,IAEDA,EAAMvQ,EAAOonB,MAAMmjC,YAAY/3D,EAAGC,EAAGhW,EAAG,IAG5C+V,GAAK,IACLC,GAAK,IACLhW,GAAK,GAEL,IAAIm3B,GAAMj7B,KAAKi7B,IAAIphB,EAAGC,EAAGhW,GACrBq3B,EAAMn7B,KAAKm7B,IAAIthB,EAAGC,EAAGhW,EAOzB,IAJA8zB,EAAI/V,EAAI,EACR+V,EAAIwG,EAAI,EACRxG,EAAI/C,GAAKsG,EAAMF,GAAO,EAElBE,IAAQF,EACZ,CACI,GAAIj3B,GAAIm3B,EAAMF,CAEdrD,GAAIwG,EAAIxG,EAAI/C,EAAI,GAAM7wB,GAAK,EAAIm3B,EAAMF,GAAOj3B,GAAKm3B,EAAMF,GAEnDE,IAAQthB,EAER+d,EAAI/V,GAAK/H,EAAIhW,GAAKE,GAASF,EAAJgW,EAAQ,EAAI,GAE9BqhB,IAAQrhB,EAEb8d,EAAI/V,GAAK/d,EAAI+V,GAAK7V,EAAI,EAEjBm3B,IAAQr3B,IAEb8zB,EAAI/V,GAAKhI,EAAIC,GAAK9V,EAAI,GAG1B4zB,EAAI/V,GAAK,EAGb,MAAO+V,IAkBX66C,SAAU,SAAU5wD,EAAGuc,EAAGvJ,EAAG+C,GAczB,GAZKA,GAODA,EAAI/d,EAAIgb,EACR+C,EAAI9d,EAAI+a,EACR+C,EAAI9zB,EAAI+wB,GAPR+C,EAAMvQ,EAAOonB,MAAMmjC,YAAY/8C,EAAGA,EAAGA,GAU/B,IAANuJ,EACJ,CACI,GAAIo3F,GAAQ,GAAJ3gG,EAAUA,GAAK,EAAIuJ,GAAKvJ,EAAIuJ,EAAIvJ,EAAIuJ,EACxCz6B,EAAI,EAAIkxB,EAAI2gG,CAChB59F,GAAI/d,EAAIwN,EAAOonB,MAAMgnF,WAAW9xH,EAAG6xH,EAAG3zG,EAAI,EAAI,GAC9C+V,EAAI9d,EAAIuN,EAAOonB,MAAMgnF,WAAW9xH,EAAG6xH,EAAG3zG,GACtC+V,EAAI9zB,EAAIujB,EAAOonB,MAAMgnF,WAAW9xH,EAAG6xH,EAAG3zG,EAAI,EAAI,GAalD,MANA+V,GAAI/d,EAAI7Z,KAAKizB,MAAe,IAAR2E,EAAI/d,EAAU,GAClC+d,EAAI9d,EAAI9Z,KAAKizB,MAAe,IAAR2E,EAAI9d,EAAU,GAClC8d,EAAI9zB,EAAI9D,KAAKizB,MAAe,IAAR2E,EAAI9zB,EAAU,GAElCujB,EAAOonB,MAAME,YAAY/W,GAElBA,GAkBXy9F,SAAU,SAAUx7G,EAAGC,EAAGhW,EAAG8zB,GAEpBA,IAEDA,EAAMvQ,EAAOonB,MAAMmjC,YAAY/3D,EAAGC,EAAGhW,EAAG,MAG5C+V,GAAK,IACLC,GAAK,IACLhW,GAAK,GAEL,IAAIm3B,GAAMj7B,KAAKi7B,IAAIphB,EAAGC,EAAGhW,GACrBq3B,EAAMn7B,KAAKm7B,IAAIthB,EAAGC,EAAGhW,GACrBE,EAAIm3B,EAAMF,CAyBd,OAtBArD,GAAI/V,EAAI,EACR+V,EAAIwG,EAAY,IAARjD,EAAY,EAAIn3B,EAAIm3B,EAC5BvD,EAAIkhB,EAAI3d,EAEJA,IAAQF,IAEJE,IAAQthB,EAER+d,EAAI/V,GAAK/H,EAAIhW,GAAKE,GAASF,EAAJgW,EAAQ,EAAI,GAE9BqhB,IAAQrhB,EAEb8d,EAAI/V,GAAK/d,EAAI+V,GAAK7V,EAAI,EAEjBm3B,IAAQr3B,IAEb8zB,EAAI/V,GAAKhI,EAAIC,GAAK9V,EAAI,GAG1B4zB,EAAI/V,GAAK,GAGN+V,GAkBX89F,SAAU,SAAU7zG,EAAGuc,EAAG0a,EAAGlhB,GAEblvB,SAARkvB,IAAqBA,EAAMvQ,EAAOonB,MAAMmjC,YAAY,EAAG,EAAG,EAAG,EAAG/vD,EAAGuc,EAAG,EAAG0a,GAE7E,IAAIj/B,GAAGC,EAAGhW,EACN1B,EAAIpC,KAAKizB,MAAU,EAAJpR,GACf2T,EAAQ,EAAJ3T,EAAQzf,EACZuB,EAAIm1C,GAAK,EAAI1a,GACbo3F,EAAI18E,GAAK,EAAItjB,EAAI4I,GACjBnK,EAAI6kB,GAAK,GAAK,EAAItjB,GAAK4I,EAE3B,QAAQh8B,EAAI,GAER,IAAK,GACDyX,EAAIi/B,EACJh/B,EAAIma,EACJnwB,EAAIH,CACJ,MACJ,KAAK,GACDkW,EAAI27G,EACJ17G,EAAIg/B,EACJh1C,EAAIH,CACJ,MACJ,KAAK,GACDkW,EAAIlW,EACJmW,EAAIg/B,EACJh1C,EAAImwB,CACJ,MACJ,KAAK,GACDpa,EAAIlW,EACJmW,EAAI07G,EACJ1xH,EAAIg1C,CACJ,MACJ,KAAK,GACDj/B,EAAIoa,EACJna,EAAInW,EACJG,EAAIg1C,CACJ,MACJ,KAAK,GACDj/B,EAAIi/B,EACJh/B,EAAInW,EACJG,EAAI0xH,EAUZ,MANA59F,GAAI/d,EAAI7Z,KAAKizB,MAAU,IAAJpZ,GACnB+d,EAAI9d,EAAI9Z,KAAKizB,MAAU,IAAJnZ,GACnB8d,EAAI9zB,EAAI9D,KAAKizB,MAAU,IAAJnvB,GAEnBujB,EAAOonB,MAAME,YAAY/W,GAElBA,GAeX69F,WAAY,SAAU9xH,EAAG6xH,EAAGvhG,GAYxB,MAVQ,GAAJA,IAEAA,GAAK,GAGLA,EAAI,IAEJA,GAAK,GAGD,EAAI,EAARA,EAEOtwB,EAAc,GAAT6xH,EAAI7xH,GAASswB,EAGrB,GAAJA,EAEOuhG,EAGH,EAAI,EAARvhG,EAEOtwB,GAAK6xH,EAAI7xH,IAAM,EAAI,EAAIswB,GAAK,EAGhCtwB,GAuBXiuE,YAAa,SAAU/3D,EAAGC,EAAGhW,EAAGD,EAAGge,EAAGuc,EAAGvJ,EAAGikB,GAExC,GAAIlhB,IAAQ/d,EAAGA,GAAK,EAAGC,EAAGA,GAAK,EAAGhW,EAAGA,GAAK,EAAGD,EAAGA,GAAK,EAAGge,EAAGA,GAAK,EAAGuc,EAAGA,GAAK,EAAGvJ,EAAGA,GAAK,EAAGikB,EAAGA,GAAK,EAAGvhC,MAAO,EAAGo+G,QAAS,EAAGhuG,KAAM,GAEhI,OAAON,GAAOonB,MAAME,YAAY/W,IAYpC+W,YAAa,SAAU/W,GAMnB,MAJAA,GAAIjQ,KAAO,QAAUiQ,EAAI/d,EAAEyM,WAAa,IAAMsR,EAAI9d,EAAEwM,WAAa,IAAMsR,EAAI9zB,EAAEwiB,WAAa,IAAMsR,EAAI/zB,EAAEyiB,WAAa,IACnHsR,EAAIrgB,MAAQ8P,EAAOonB,MAAMmnF,SAASh+F,EAAI/d,EAAG+d,EAAI9d,EAAG8d,EAAI9zB,GACpD8zB,EAAI+9F,QAAUtuG,EAAOonB,MAAMonF,WAAWj+F,EAAI/zB,EAAG+zB,EAAI/d,EAAG+d,EAAI9d,EAAG8d,EAAI9zB,GAExD8zB,GAeXi+F,WAAY,SAAUhyH,EAAGgW,EAAGC,EAAGhW,GAE3B,MAAOD,IAAK,GAAKgW,GAAK,GAAKC,GAAK,EAAIhW,GAcxC8xH,SAAU,SAAU/7G,EAAGC,EAAGhW,GAEtB,MAAO+V,IAAK,GAAKC,GAAK,EAAIhW,GAiB9BgyH,YAAa,SAAUj8G,EAAGC,EAAGhW,EAAGD,EAAGoyF,GAK/B,MAHUvtF,UAAN7E,IAAmBA,EAAI,KACZ6E,SAAXutF,IAAwBA,EAAS,KAEtB,MAAXA,EAEO,MAAQ,GAAK,KAAOp8E,GAAK,KAAOC,GAAK,GAAKhW,GAAGwiB,SAAS,IAAI8M,MAAM,GAIhE,KAAO/L,EAAOonB,MAAMsnF,eAAelyH,GAAKwjB,EAAOonB,MAAMsnF,eAAel8G,GAAKwN,EAAOonB,MAAMsnF,eAAej8G,GAAKuN,EAAOonB,MAAMsnF,eAAejyH,IAarJkyH,SAAU,SAAUnnH,GAEhB,GAAIE,GAAMsY,EAAOonB,MAAMwnF,WAAWpnH,EAElC,OAAIE,GAEOsY,EAAOonB,MAAMonF,WAAW9mH,EAAIlL,EAAGkL,EAAI8K,EAAG9K,EAAI+K,EAAG/K,EAAIjL,GAF5D,QAoBJmyH,WAAY,SAAUpnH,EAAK+oB,GAGvB/oB,EAAMA,EAAImoB,QAAQ,0CAA2C,SAAS6G,EAAGhkB,EAAGC,EAAGhW,GAC3E,MAAO+V,GAAIA,EAAIC,EAAIA,EAAIhW,EAAIA,GAG/B,IAAIkM,GAAS,mDAAmDs3E,KAAKz4E,EAErE,IAAImB,EACJ,CACI,GAAI6J,GAAI6b,SAAS1lB,EAAO,GAAI,IACxB8J,EAAI4b,SAAS1lB,EAAO,GAAI,IACxBlM,EAAI4xB,SAAS1lB,EAAO,GAAI,GAEvB4nB,IAMDA,EAAI/d,EAAIA,EACR+d,EAAI9d,EAAIA,EACR8d,EAAI9zB,EAAIA,GANR8zB,EAAMvQ,EAAOonB,MAAMmjC,YAAY/3D,EAAGC,EAAGhW,GAU7C,MAAO8zB,IAeXs+F,WAAY,SAAUC,EAAKv+F,GAElBA,IAEDA,EAAMvQ,EAAOonB,MAAMmjC,cAGvB,IAAI5hE,GAAS,4EAA4Es3E,KAAK6uC,EAW9F,OATInmH,KAEA4nB,EAAI/d,EAAI6b,SAAS1lB,EAAO,GAAI,IAC5B4nB,EAAI9d,EAAI4b,SAAS1lB,EAAO,GAAI,IAC5B4nB,EAAI9zB,EAAI4xB,SAAS1lB,EAAO,GAAI,IAC5B4nB,EAAI/zB,EAAkB6E,SAAdsH,EAAO,GAAmBu3E,WAAWv3E,EAAO,IAAM,EAC1DqX,EAAOonB,MAAME,YAAY/W,IAGtBA,GAiBX8W,aAAc,SAAU9rC,EAAOg1B,GAS3B,GALKA,IAEDA,EAAMvQ,EAAOonB,MAAMmjC,eAGF,gBAAVhvE,GAEP,MAA6B,KAAzBA,EAAMwF,QAAQ,OAEPif,EAAOonB,MAAMynF,WAAWtzH,EAAOg1B,IAKtCA,EAAI/zB,EAAI,EACDwjB,EAAOonB,MAAMwnF,WAAWrzH,EAAOg1B,GAGzC,IAAqB,gBAAVh1B,GAChB,CAGI,GAAIwzH,GAAY/uG,EAAOonB,MAAM4nF,OAAOzzH,EAKpC,OAJAg1B,GAAI/d,EAAIu8G,EAAUv8G,EAClB+d,EAAI9d,EAAIs8G,EAAUt8G,EAClB8d,EAAI9zB,EAAIsyH,EAAUtyH,EAClB8zB,EAAI/zB,EAAIuyH,EAAUvyH,EAAI,IACf+zB,EAIP,MAAOA,IAafm+F,eAAgB,SAAUx+G,GAEtB,GAAI1I,GAAM0I,EAAM+O,SAAS,GACzB,OAAqB,IAAdzX,EAAIxM,OAAc,IAAMwM,EAAMA,GAazCynH,cAAe,SAAUl4F,EAAG0a,GAEdpwC,SAAN01B,IAAmBA,EAAI,GACjB11B,SAANowC,IAAmBA,EAAI,EAI3B,KAAK,GAFDz4B,MAEKtc,EAAI,EAAQ,KAALA,EAAUA,IAEtBsc,EAAOnd,KAAKmkB,EAAOonB,MAAMinF,SAAS3xH,EAAI,IAAKq6B,EAAG0a,GAGlD,OAAOz4B,IAaXk2G,cAAe,SAAUn4F,EAAGvJ,GAEdnsB,SAAN01B,IAAmBA,EAAI,IACjB11B,SAANmsB,IAAmBA,EAAI,GAI3B,KAAK,GAFDxU,MAEKtc,EAAI,EAAQ,KAALA,EAAUA,IAEtBsc,EAAOnd,KAAKmkB,EAAOonB,MAAMgkC,SAAS1uE,EAAI,IAAKq6B,EAAGvJ,GAGlD,OAAOxU,IAgBXm2G,iBAAkB,SAAUC,EAAQC,EAAQC,EAAOC,EAAaj2H,GAE9C+H,SAAV/H,IAAuBA,EAAQ,IAEnC,IAAIk2H,GAAOxvG,EAAOonB,MAAM4nF,OAAOI,GAC3BK,EAAOzvG,EAAOonB,MAAM4nF,OAAOK,GAC3B78G,GAAOi9G,EAAKlkD,IAAMikD,EAAKjkD,KAAOgkD,EAAeD,EAASE,EAAKjkD,IAC3D94D,GAAOg9G,EAAKjkD,MAAQgkD,EAAKhkD,OAAS+jD,EAAeD,EAASE,EAAKhkD,MAC/D/uE,GAAOgzH,EAAKhkD,KAAO+jD,EAAK/jD,MAAQ8jD,EAAeD,EAASE,EAAK/jD,IAEjE,OAAOzrD,GAAOonB,MAAMonF,WAAWl1H,EAAOkZ,EAAGC,EAAGhW,IAiBhDizH,wBAAyB,SAAUx/G,EAAOsC,EAAGC,EAAGhW,EAAG6yH,EAAOC,GAEtD,GAAItnH,GAAM+X,EAAOonB,MAAM4nF,OAAO9+G,GAC1By/G,GAAQn9G,EAAIvK,EAAIsjE,KAAOgkD,EAAeD,EAASrnH,EAAIsjE,IACnDqkD,GAAQn9G,EAAIxK,EAAIujE,OAAS+jD,EAAeD,EAASrnH,EAAIujE,MACrDqkD,GAAQpzH,EAAIwL,EAAIwjE,MAAQ8jD,EAAeD,EAASrnH,EAAIwjE,IAExD,OAAOzrD,GAAOonB,MAAMmnF,SAASoB,EAAIC,EAAIC,IAkBzCC,eAAgB,SAAUjlD,EAAIC,EAAIn2C,EAAIo2C,EAAIC,EAAIp2C,EAAI06F,EAAOC,GAErD,GAAI/8G,IAAOu4D,EAAKF,GAAM0kD,EAAeD,EAASzkD,EAC1Cp4D,GAAOu4D,EAAKF,GAAMykD,EAAeD,EAASxkD,EAC1CruE,GAAOm4B,EAAKD,GAAM46F,EAAeD,EAAS36F,CAE9C,OAAO3U,GAAOonB,MAAMmnF,SAAS/7G,EAAGC,EAAGhW,IAgBvCszH,eAAgB,SAAUn8F,EAAKE,EAAKx6B,GAOhC,GALY+H,SAARuyB,IAAqBA,EAAM,GACnBvyB,SAARyyB,IAAqBA,EAAM,KACjBzyB,SAAV/H,IAAuBA,EAAQ,KAG/Bw6B,EAAM,KAAOF,EAAME,EAEnB,MAAO9T,GAAOonB,MAAMmnF,SAAS,IAAK,IAAK,IAG3C,IAAIhjD,GAAM33C,EAAMj7B,KAAKo4B,MAAMp4B,KAAKk1B,UAAYiG,EAAMF,IAC9C43C,EAAQ53C,EAAMj7B,KAAKo4B,MAAMp4B,KAAKk1B,UAAYiG,EAAMF,IAChD63C,EAAO73C,EAAMj7B,KAAKo4B,MAAMp4B,KAAKk1B,UAAYiG,EAAMF,GAEnD,OAAO5T,GAAOonB,MAAMonF,WAAWl1H,EAAOiyE,EAAKC,EAAOC,IActDujD,OAAQ,SAAU9+G,GAEd,MAAIA,GAAQ,UAIJ5W,MAAO4W,IAAU,GACjBq7D,IAAKr7D,GAAS,GAAK,IACnBs7D,MAAOt7D,GAAS,EAAI,IACpBu7D,KAAc,IAARv7D,EACN1T,EAAG0T,IAAU,GACbsC,EAAGtC,GAAS,GAAK,IACjBuC,EAAGvC,GAAS,EAAI,IAChBzT,EAAW,IAARyT,IAMH5W,MAAO,IACPiyE,IAAKr7D,GAAS,GAAK,IACnBs7D,MAAOt7D,GAAS,EAAI,IACpBu7D,KAAc,IAARv7D,EACN1T,EAAG,IACHgW,EAAGtC,GAAS,GAAK,IACjBuC,EAAGvC,GAAS,EAAI,IAChBzT,EAAW,IAARyT,IAcf8/G,UAAW,SAAU9/G,GAEjB,GAAqB,gBAAVA,GAEP,MAAO,QAAUA,EAAMsC,EAAEyM,WAAa,IAAM/O,EAAMuC,EAAEwM,WAAa,IAAM/O,EAAMzT,EAAEwiB,WAAa,KAAO/O,EAAM1T,EAAI,KAAKyiB,WAAa,GAI/H,IAAIvX,GAAMsY,EAAOonB,MAAM4nF,OAAO9+G,EAC9B,OAAO,QAAUxI,EAAI8K,EAAEyM,WAAa,IAAMvX,EAAI+K,EAAEwM,WAAa,IAAMvX,EAAIjL,EAAEwiB,WAAa,KAAOvX,EAAIlL,EAAI,KAAKyiB,WAAa,KAa/HgxG,SAAU,SAAU//G,GAChB,MAAOA,KAAU,IAWrBggH,cAAe,SAAUhgH,GACrB,OAAQA,IAAU,IAAM,KAW5BigH,OAAQ,SAAUjgH,GACd,MAAOA,IAAS,GAAK,KAWzBkgH,SAAU,SAAUlgH,GAChB,MAAOA,IAAS,EAAI,KAWxBmgH,QAAS,SAAUngH,GACf,MAAe,KAARA,GAYXogH,YAAa,SAAU9zH,GACnB,MAAOA,IAYXoyE,aAAc,SAAUpyE,EAAGC,GACvB,MAAQA,GAAID,EAAKC,EAAID,GAYzBmyE,YAAa,SAAUnyE,EAAGC,GACtB,MAAQA,GAAID,EAAKA,EAAIC,GAezB+xE,cAAe,SAAUhyE,EAAGC,GACxB,MAAQD,GAAIC,EAAK,KAYrB8zH,aAAc,SAAU/zH,EAAGC,GACvB,OAAQD,EAAIC,GAAK,GAYrB8xE,SAAU,SAAU/xE,EAAGC,GACnB,MAAO9D,MAAKi7B,IAAI,IAAKp3B,EAAIC,IAY7B+zH,cAAe,SAAUh0H,EAAGC,GACxB,MAAO9D,MAAKm7B,IAAI,EAAGt3B,EAAIC,EAAI,MAc/BwyE,gBAAiB,SAAUzyE,EAAGC,GAC1B,MAAO9D,MAAKi5B,IAAIp1B,EAAIC,IAYxBg0H,cAAe,SAAUj0H,EAAGC,GACxB,MAAO,KAAM9D,KAAKi5B,IAAI,IAAMp1B,EAAIC,IAcpCgyE,YAAa,SAAUjyE,EAAGC,GACtB,MAAO,OAAS,IAAMD,IAAM,IAAMC,IAAO,IAa7CyyE,eAAgB,SAAU1yE,EAAGC,GACzB,MAAOD,GAAIC,EAAI,EAAID,EAAIC,EAAI,KAc/BiyE,aAAc,SAAUlyE,EAAGC,GACvB,MAAW,KAAJA,EAAW,EAAID,EAAIC,EAAI,IAAQ,IAAM,GAAK,IAAMD,IAAM,IAAMC,GAAK,KAsB5EuyE,eAAgB,SAAUxyE,EAAGC,GACzB,MAAW,KAAJA,EAAW,IAAMD,GAAK,GAAK,KAAQC,EAAI,KAAO,IAAO,GAAK,MAAQD,GAAK,GAAK,MAAQ,IAAMC,GAAK,KAuB1GsyE,eAAgB,SAAUvyE,EAAGC,GACzB,MAAOujB,GAAOonB,MAAMsnC,aAAajyE,EAAGD,IAaxCqyE,gBAAiB,SAAUryE,EAAGC,GAC1B,MAAa,OAANA,EAAYA,EAAI9D,KAAKi7B,IAAI,KAAOp3B,GAAK,IAAM,IAAMC,KAa5DqyE,eAAgB,SAAUtyE,EAAGC,GACzB,MAAa,KAANA,EAAUA,EAAI9D,KAAKm7B,IAAI,EAAI,KAAQ,IAAMt3B,GAAM,GAAKC,IAY/Di0H,iBAAkB,SAAUl0H,EAAGC,GAC3B,MAAOujB,GAAOonB,MAAMmnC,SAAS/xE,EAAGC,IAYpCk0H,gBAAiB,SAAUn0H,EAAGC,GAC1B,MAAOujB,GAAOonB,MAAMopF,cAAch0H,EAAGC,IAczCm0H,iBAAkB,SAAUp0H,EAAGC,GAC3B,MAAW,KAAJA,EAAUujB,EAAOonB,MAAMupF,gBAAgBn0H,EAAG,EAAIC,GAAKujB,EAAOonB,MAAMspF,iBAAiBl0H,EAAI,GAAKC,EAAI,OAezGo0H,gBAAiB,SAAUr0H,EAAGC,GAC1B,MAAW,KAAJA,EAAUujB,EAAOonB,MAAM0nC,eAAetyE,EAAG,EAAIC,GAAKujB,EAAOonB,MAAMynC,gBAAgBryE,EAAI,GAAKC,EAAI,OAavGq0H,cAAe,SAAUt0H,EAAGC,GACxB,MAAW,KAAJA,EAAUujB,EAAOonB,MAAMunC,YAAYnyE,EAAG,EAAIC,GAAKujB,EAAOonB,MAAMwnC,aAAapyE,EAAI,GAAKC,EAAI,OAejGs0H,aAAc,SAAUv0H,EAAGC,GACvB,MAAOujB,GAAOonB,MAAMypF,gBAAgBr0H,EAAGC,GAAK,IAAM,EAAI,KAY1Du0H,aAAc,SAAUx0H,EAAGC,GACvB,MAAa,OAANA,EAAYA,EAAI9D,KAAKi7B,IAAI,IAAMp3B,EAAIA,GAAK,IAAMC,KAYzDw0H,UAAW,SAAUz0H,EAAGC,GACpB,MAAOujB,GAAOonB,MAAM4pF,aAAav0H,EAAGD,IAYxC00H,aAAc,SAAU10H,EAAGC,GACvB,MAAO9D,MAAKi7B,IAAIp3B,EAAGC,GAAK9D,KAAKm7B,IAAIt3B,EAAGC,GAAK,MAyBjDujB,EAAO4nB,QAAU,SAAU5vC,EAAMutC,GAE7BA,EAASA,MAKTztC,KAAKE,KAAOA,EAKZF,KAAKytC,OAASA,EAKdztC,KAAKq5H,OAAS,KAKdr5H,KAAK0gC,GAAK,KAKV1gC,KAAKs5H,MAAQ,KAKbt5H,KAAK2vH,MAAQ,KAKb3vH,KAAKu5H,SAAW,KAKhBv5H,KAAKw5H,OAAS,KAEdx5H,KAAK0tC,eAQTxlB,EAAO4nB,QAAQC,OAAS,EAMxB7nB,EAAO4nB,QAAQ80B,KAAO,EAMtB18C,EAAO4nB,QAAQs/E,MAAQ,EAMvBlnG,EAAO4nB,QAAQw/E,MAAQ,EAMvBpnG,EAAO4nB,QAAQ2pF,SAAW,EAM1BvxG,EAAO4nB,QAAQ4pF,SAAW,EAE1BxxG,EAAO4nB,QAAQjtC,WAOX6qC,YAAa,WAEH1tC,KAAKytC,OAAOvW,eAAe,WAAal3B,KAAKytC,OAAe,UAAM,IAASvlB,EAAO4nB,QAAQ5Y,eAAe,YAG3Gl3B,KAAKq5H,OAAS,GAAInxG,GAAO4nB,QAAQ+7B,OAAO7rE,KAAKE,OAG7CF,KAAKytC,OAAOvW,eAAe,UAAYl3B,KAAKytC,OAAc,SAAM,GAAQvlB,EAAO4nB,QAAQ5Y,eAAe,WAEtGl3B,KAAKs5H,MAAQ,GAAIpxG,GAAO4nB,QAAQu/E,MAAMrvH,KAAKE,OAG3CF,KAAKytC,OAAOvW,eAAe,OAASl3B,KAAKytC,OAAW,MAAM,GAAQvlB,EAAO4nB,QAAQ5Y,eAAe,QAEhGl3B,KAAK0gC,GAAK,GAAIxY,GAAO4nB,QAAQ6pF,GAAG35H,KAAKE,KAAMF,KAAKytC,SAGhDztC,KAAKytC,OAAOvW,eAAe,UAAYl3B,KAAKytC,OAAc,SAAM,GAAQvlB,EAAO4nB,QAAQ5Y,eAAe,WAEtGl3B,KAAK2vH,MAAQ,GAAIznG,GAAO4nB,QAAQw/E,MAAMtvH,KAAKE,KAAMF,KAAKytC,SAGtDztC,KAAKytC,OAAOvW,eAAe,WAAal3B,KAAKytC,OAAe,UAAM,GAAQvlB,EAAO4nB,QAAQ5Y,eAAe,YAExGl3B,KAAKw5H,OAAS,GAAItxG,GAAO4nB,QAAQ8pF,OAAO55H,KAAKE,KAAMF,KAAKytC,UAyBhEosF,YAAa,SAAUC,GAEfA,IAAW5xG,EAAO4nB,QAAQC,OAE1B/vC,KAAKq5H,OAAS,GAAInxG,GAAO4nB,QAAQ+7B,OAAO7rE,KAAKE,MAExC45H,IAAW5xG,EAAO4nB,QAAQ80B,KAEf,OAAZ5kE,KAAK0gC,GAEL1gC,KAAK0gC,GAAK,GAAIxY,GAAO4nB,QAAQ6pF,GAAG35H,KAAKE,KAAMF,KAAKytC,QAIhDztC,KAAK0gC,GAAGgD,QAGPo2F,IAAW5xG,EAAO4nB,QAAQs/E,MAE/BpvH,KAAKs5H,MAAQ,GAAIpxG,GAAO4nB,QAAQu/E,MAAMrvH,KAAKE,MAEtC45H,IAAW5xG,EAAO4nB,QAAQw/E,MAEZ,OAAftvH,KAAK2vH,MAEL3vH,KAAK2vH,MAAQ,GAAIznG,GAAO4nB,QAAQy/E,MAAMvvH,KAAKE,KAAMF,KAAKytC,QAItDztC,KAAK2vH,MAAMjsF,QAGVo2F,IAAW5xG,EAAO4nB,QAAQ4pF,WAEX,OAAhB15H,KAAKw5H,OAELx5H,KAAKw5H,OAAS,GAAItxG,GAAO4nB,QAAQ8pF,OAAO55H,KAAKE,KAAMF,KAAKytC,QAIxDztC,KAAKw5H,OAAO91F,UA0BxBxpB,OAAQ,SAAUuwD,EAAQqvD,EAAQhyF,GAEfv+B,SAAXuwH,IAAwBA,EAAS5xG,EAAO4nB,QAAQC,QACtCxmC,SAAVu+B,IAAuBA,GAAQ,GAE/BgyF,IAAW5xG,EAAO4nB,QAAQC,OAE1B/vC,KAAKq5H,OAAOn/G,OAAOuwD,GAEdqvD,IAAW5xG,EAAO4nB,QAAQ80B,MAAQ5kE,KAAK0gC,GAE5C1gC,KAAK0gC,GAAGxmB,OAAOuwD,EAAQ3iC,GAElBgyF,IAAW5xG,EAAO4nB,QAAQs/E,OAASpvH,KAAKs5H,MAE7Ct5H,KAAKs5H,MAAMS,WAAWtvD,GAEjBqvD,IAAW5xG,EAAO4nB,QAAQw/E,OAAStvH,KAAK2vH,MAE7C3vH,KAAK2vH,MAAMz1G,OAAOuwD,GAEbqvD,IAAW5xG,EAAO4nB,QAAQ4pF,UAAY15H,KAAKw5H,QAEhDx5H,KAAKw5H,OAAOt/G,OAAOuwD,IAW3BtkE,UAAW,WAIHnG,KAAK0gC,IAEL1gC,KAAK0gC,GAAGv6B,YAGRnG,KAAK2vH,OAEL3vH,KAAK2vH,MAAMxpH,YAGXnG,KAAKw5H,QAELx5H,KAAKw5H,OAAOrzH,aAWpBk9B,OAAQ,WAIArjC,KAAK0gC,IAEL1gC,KAAK0gC,GAAG2C,SAGRrjC,KAAK2vH,OAEL3vH,KAAK2vH,MAAMtsF,SAGXrjC,KAAKw5H,QAELx5H,KAAKw5H,OAAOn2F,UAWpBG,iBAAkB,WAEVxjC,KAAKq5H,QAELr5H,KAAKq5H,OAAO71F,mBAGZxjC,KAAKs5H,OAELt5H,KAAKs5H,MAAM91F,mBAGXxjC,KAAK0gC,IAEL1gC,KAAK0gC,GAAG8C,mBAGRxjC,KAAK2vH,OAEL3vH,KAAK2vH,MAAMnsF,mBAGXxjC,KAAKw5H,QAELx5H,KAAKw5H,OAAOh2F,oBAWpB5oB,MAAO,WAEC5a,KAAK0gC,IAEL1gC,KAAK0gC,GAAG9lB,QAGR5a,KAAK2vH,OAEL3vH,KAAK2vH,MAAM/0G,QAGX5a,KAAKw5H,QAELx5H,KAAKw5H,OAAO5+G,SAWpB8oB,MAAO,WAEC1jC,KAAK0gC,IAEL1gC,KAAK0gC,GAAGgD,QAGR1jC,KAAK2vH,OAEL3vH,KAAK2vH,MAAMjsF,QAGX1jC,KAAKw5H,QAELx5H,KAAKw5H,OAAO91F,SAUpB3gC,QAAS,WAED/C,KAAK0gC,IAEL1gC,KAAK0gC,GAAG39B,UAGR/C,KAAK2vH,OAEL3vH,KAAK2vH,MAAM5sH,UAGX/C,KAAKw5H,QAELx5H,KAAKw5H,OAAOz2H,UAGhB/C,KAAKq5H,OAAS,KACdr5H,KAAKs5H,MAAQ,KACbt5H,KAAK0gC,GAAK,KACV1gC,KAAK2vH,MAAQ,KACb3vH,KAAKw5H,OAAS,OAMtBtxG,EAAO4nB,QAAQjtC,UAAUC,YAAcolB,EAAO4nB,QAe9C5nB,EAAO4nB,QAAQ+7B,OAAS,SAAU3rE,GAK9BF,KAAKE,KAAOA,EAKZF,KAAKg6H,QAAU,GAAI9xG,GAAO9mB,MAK1BpB,KAAKwG,OAAS,GAAI0hB,GAAO1lB,UAAU,EAAG,EAAGtC,EAAKuE,MAAMkC,MAAOzG,EAAKuE,MAAMmC,QAOtE5G,KAAKi6H,gBAAmBz9D,IAAI,EAAM5T,MAAM,EAAM7xB,MAAM,EAAMD,OAAO,GAKjE92B,KAAK48F,WAAa,GAKlB58F,KAAK68F,UAAY,EAKjB78F,KAAKk6H,aAAe,EAKpBl6H,KAAKm6H,QAAS,EAMdn6H,KAAKo6H,cAAgBlyG,EAAO4nB,QAAQ+7B,OAAOwuD,WAK3Cr6H,KAAKs6H,cAAe,EAKpBt6H,KAAK8jG,UAAW,EAKhB9jG,KAAKivH,SAAW,GAAI/mG,GAAOy0E,SAAS38F,KAAKE,KAAKuE,MAAM+B,OAAOnB,EAAGrF,KAAKE,KAAKuE,MAAM+B,OAAOlB,EAAGtF,KAAKE,KAAKuE,MAAM+B,OAAOG,MAAO3G,KAAKE,KAAKuE,MAAM+B,OAAOI,OAAQ5G,KAAK48F,WAAY58F,KAAK68F,WAM3K78F,KAAKu6H,OAAS,EAGdv6H,KAAKwjC,oBAITtb,EAAO4nB,QAAQ+7B,OAAOhpE,UAAUC,YAAcolB,EAAO4nB,QAAQ+7B,OAQ7D3jD,EAAO4nB,QAAQ+7B,OAAO2uD,UAAY,EAQlCtyG,EAAO4nB,QAAQ+7B,OAAOwuD,WAAa,EAQnCnyG,EAAO4nB,QAAQ+7B,OAAO4uD,WAAa,EAQnCvyG,EAAO4nB,QAAQ+7B,OAAO6uD,WAAa,EAQnCxyG,EAAO4nB,QAAQ+7B,OAAO8uD,WAAa,EAEnCzyG,EAAO4nB,QAAQ+7B,OAAOhpE,WAWlB2zC,UAAW,SAAUnxC,EAAGC,EAAGqB,EAAOC,GAE9B5G,KAAKwG,OAAOoyB,MAAMvzB,EAAGC,EAAGqB,EAAOC,IASnC48B,iBAAkB,WAEdxjC,KAAKwG,OAAOqyB,SAAS74B,KAAKE,KAAKuE,MAAM+B,SAYzC0T,OAAQ,SAAUuwD,EAAQznE,GAELuG,SAAbvG,IAA0BA,GAAW,EAEzC,IAAIC,GAAI,CAER,IAAItC,MAAMoR,QAAQ04D,GAId,IAFAxnE,EAAIwnE,EAAOvnE,OAEJD,KAECwnE,EAAOxnE,YAAcilB,GAAOwnB,MAG5B1vC,KAAKka,OAAOuwD,EAAOxnE,GAAGD,SAAUA,IAIhChD,KAAK4vC,WAAW66B,EAAOxnE,IAEnBD,GAAYynE,EAAOxnE,GAAGi0B,eAAe,aAAeuzC,EAAOxnE,GAAGD,SAASE,OAAS,GAEhFlD,KAAKka,OAAOuwD,EAAOxnE,IAAI,QAO/BwnE,aAAkBviD,GAAOwnB,MAGzB1vC,KAAKka,OAAOuwD,EAAOznE,SAAUA,IAI7BhD,KAAK4vC,WAAW66B,GAEZznE,GAAYynE,EAAOvzC,eAAe,aAAeuzC,EAAOznE,SAASE,OAAS,GAE1ElD,KAAKka,OAAOuwD,EAAOznE,UAAU,KAiB7C4sC,WAAY,SAAU66B,GAEdA,EAAOvzC,eAAe,SAA2B,OAAhBuzC,EAAOr5B,OAExCq5B,EAAOr5B,KAAO,GAAIlpB,GAAO4nB,QAAQ+7B,OAAOsjD,KAAK1kD,GAEzCA,EAAO7oE,QAAU6oE,EAAO7oE,iBAAkBsmB,GAAOwnB,OAEjD+6B,EAAO7oE,OAAOyvC,UAAUo5B,KAYpCmwD,aAAc,SAAUxpF,GAEpB,GAAIypF,GAAgB76H,KAAK86H,gBAAgB,EAAG1pF,EAAMA,EAAK2pF,gBAAiB3pF,EAAK4pF,oBAAqB5pF,EAAK6pF,YAAa7pF,EAAK8pF,YAAc9pF,EAAK2pF,eAC5I3pF,GAAK2pF,iBAAmBF,EACxBzpF,EAAK7vC,UAAa6vC,EAAK2pF,gBAAkB/6H,KAAKE,KAAKikC,KAAKqpD,eAExDp8C,EAAK+pF,SAAS91H,EAAIrF,KAAK86H,gBAAgB,EAAG1pF,EAAMA,EAAK+pF,SAAS91H,EAAG+rC,EAAKgqF,aAAa/1H,EAAG+rC,EAAKiqF,KAAKh2H,EAAG+rC,EAAKkqF,YAAYj2H,GACpH+rC,EAAK+pF,SAAS71H,EAAItF,KAAK86H,gBAAgB,EAAG1pF,EAAMA,EAAK+pF,SAAS71H,EAAG8rC,EAAKgqF,aAAa91H,EAAG8rC,EAAKiqF,KAAK/1H,EAAG8rC,EAAKkqF,YAAYh2H,IAiBxHw1H,gBAAiB,SAAUngE,EAAMvpB,EAAM+pF,EAAUC,EAAcC,EAAMr/F,GA4CjE,MA1CYzyB,UAARyyB,IAAqBA,EAAM,KAElB,IAAT2+B,GAAcvpB,EAAKmqF,aAEnBJ,IAAan7H,KAAKg6H,QAAQ30H,EAAI+rC,EAAK4oF,QAAQ30H,GAAKrF,KAAKE,KAAKikC,KAAKqpD,eAEjD,IAAT7yB,GAAcvpB,EAAKmqF,eAExBJ,IAAan7H,KAAKg6H,QAAQ10H,EAAI8rC,EAAK4oF,QAAQ10H,GAAKtF,KAAKE,KAAKikC,KAAKqpD,gBAG/D4tC,EAEAD,GAAYC,EAAep7H,KAAKE,KAAKikC,KAAKqpD,eAErC6tC,IAELA,GAAQr7H,KAAKE,KAAKikC,KAAKqpD,eAEnB2tC,EAAWE,EAAO,EAElBF,GAAYE,EAEW,EAAlBF,EAAWE,EAEhBF,GAAYE,EAIZF,EAAW,GAIfA,EAAWn/F,EAEXm/F,EAAWn/F,GAEMA,EAAZm/F,IAELA,GAAYn/F,GAGTm/F,GAoBXpxD,QAAS,SAAUyxD,EAASC,EAASC,EAAiBC,EAAiB30F,GAQnE,GANA00F,EAAkBA,GAAmB,KACrCC,EAAkBA,GAAmB,KACrC30F,EAAkBA,GAAmB00F,EAErC17H,KAAKu6H,OAAS,GAET55H,MAAMoR,QAAQypH,IAAY76H,MAAMoR,QAAQ0pH,GAEzC,IAAK,GAAIx4H,GAAI,EAAGA,EAAIw4H,EAAQv4H,OAAQD,IAEhCjD,KAAK47H,eAAeJ,EAASC,EAAQx4H,GAAIy4H,EAAiBC,EAAiB30F,GAAiB,OAG/F,IAAIrmC,MAAMoR,QAAQypH,KAAa76H,MAAMoR,QAAQ0pH,GAE9C,IAAK,GAAIx4H,GAAI,EAAGA,EAAIu4H,EAAQt4H,OAAQD,IAEhCjD,KAAK47H,eAAeJ,EAAQv4H,GAAIw4H,EAASC,EAAiBC,EAAiB30F,GAAiB,OAG/F,IAAIrmC,MAAMoR,QAAQypH,IAAY76H,MAAMoR,QAAQ0pH,GAE7C,IAAK,GAAIx4H,GAAI,EAAGA,EAAIu4H,EAAQt4H,OAAQD,IAEhC,IAAK,GAAIa,GAAI,EAAGA,EAAI23H,EAAQv4H,OAAQY,IAEhC9D,KAAK47H,eAAeJ,EAAQv4H,GAAIw4H,EAAQ33H,GAAI43H,EAAiBC,EAAiB30F,GAAiB,OAMvGhnC,MAAK47H,eAAeJ,EAASC,EAASC,EAAiBC,EAAiB30F,GAAiB,EAG7F,OAAQhnC,MAAKu6H,OAAS,GAsB1BsB,QAAS,SAAUL,EAASC,EAASK,EAAiBH,EAAiB30F,GAQnE,GANA80F,EAAkBA,GAAmB,KACrCH,EAAkBA,GAAmB,KACrC30F,EAAkBA,GAAmB80F,EAErC97H,KAAKu6H,OAAS,GAET55H,MAAMoR,QAAQypH,IAAY76H,MAAMoR,QAAQ0pH,GAEzC,IAAK,GAAIx4H,GAAI,EAAGA,EAAIw4H,EAAQv4H,OAAQD,IAEhCjD,KAAK47H,eAAeJ,EAASC,EAAQx4H,GAAI64H,EAAiBH,EAAiB30F,GAAiB,OAG/F,IAAIrmC,MAAMoR,QAAQypH,KAAa76H,MAAMoR,QAAQ0pH,GAE9C,IAAK,GAAIx4H,GAAI,EAAGA,EAAIu4H,EAAQt4H,OAAQD,IAEhCjD,KAAK47H,eAAeJ,EAAQv4H,GAAIw4H,EAASK,EAAiBH,EAAiB30F,GAAiB,OAG/F,IAAIrmC,MAAMoR,QAAQypH,IAAY76H,MAAMoR,QAAQ0pH,GAE7C,IAAK,GAAIx4H,GAAI,EAAGA,EAAIu4H,EAAQt4H,OAAQD,IAEhC,IAAK,GAAIa,GAAI,EAAGA,EAAI23H,EAAQv4H,OAAQY,IAEhC9D,KAAK47H,eAAeJ,EAAQv4H,GAAIw4H,EAAQ33H,GAAIg4H,EAAiBH,EAAiB30F,GAAiB,OAMvGhnC,MAAK47H,eAAeJ,EAASC,EAASK,EAAiBH,EAAiB30F,GAAiB,EAG7F,OAAQhnC,MAAKu6H,OAAS,GAc1BwB,cAAe,SAAUr3H,EAAGC,GAExB,MAAKD,GAAE0sC,MAASzsC,EAAEysC,KAKX1sC,EAAE0sC,KAAK/rC,EAAIV,EAAEysC,KAAK/rC,EAHd,GAiBf22H,cAAe,SAAUt3H,EAAGC,GAExB,MAAKD,GAAE0sC,MAASzsC,EAAEysC,KAKXzsC,EAAEysC,KAAK/rC,EAAIX,EAAE0sC,KAAK/rC,EAHd,GAiBf42H,cAAe,SAAUv3H,EAAGC,GAExB,MAAKD,GAAE0sC,MAASzsC,EAAEysC,KAKX1sC,EAAE0sC,KAAK9rC,EAAIX,EAAEysC,KAAK9rC,EAHd,GAiBf42H,cAAe,SAAUx3H,EAAGC,GAExB,MAAKD,GAAE0sC,MAASzsC,EAAEysC,KAKXzsC,EAAEysC,KAAK9rC,EAAIZ,EAAE0sC,KAAK9rC,EAHd,GAoBfqvC,KAAM,SAAUsB,EAAOmkF,GAEgB,OAA/BnkF,EAAM1F,qBAEN6pF,EAAgBnkF,EAAM1F,qBAIAhnC,SAAlB6wH,IAA+BA,EAAgBp6H,KAAKo6H,eAGxDA,IAAkBlyG,EAAO4nB,QAAQ+7B,OAAOwuD,WAGxCpkF,EAAMrF,KAAK+D,KAAK30C,KAAK+7H,eAEhB3B,IAAkBlyG,EAAO4nB,QAAQ+7B,OAAO4uD,WAG7CxkF,EAAMrF,KAAK+D,KAAK30C,KAAKg8H,eAEhB5B,IAAkBlyG,EAAO4nB,QAAQ+7B,OAAO6uD,WAG7CzkF,EAAMrF,KAAK+D,KAAK30C,KAAKi8H,eAEhB7B,IAAkBlyG,EAAO4nB,QAAQ+7B,OAAO8uD,YAG7C1kF,EAAMrF,KAAK+D,KAAK30C,KAAKk8H,gBAiB7BN,eAAgB,SAAUJ,EAASC,EAASK,EAAiBH,EAAiB30F,EAAiBm1F,GAG3F,MAAgB5yH,UAAZkyH,GAAyBD,EAAQxrF,cAAgB9nB,EAAOoK,OAExDtyB,KAAK20C,KAAK6mF,OACVx7H,MAAKo8H,mBAAmBZ,EAASM,EAAiBH,EAAiB30F,EAAiBm1F,SAKnFX,GAAYC,GAAYD,EAAQnuF,QAAWouF,EAAQpuF,SAMpDrtC,KAAKo6H,gBAAkBlyG,EAAO4nB,QAAQ+7B,OAAO2uD,YAEzCgB,EAAQxrF,cAAgB9nB,EAAOoK,OAE/BtyB,KAAK20C,KAAK6mF,GAGVC,EAAQzrF,cAAgB9nB,EAAOoK,OAE/BtyB,KAAK20C,KAAK8mF,IAKdD,EAAQxrF,cAAgB9nB,EAAO6J,OAE3B0pG,EAAQzrF,cAAgB9nB,EAAO6J,OAE/B/xB,KAAKq8H,sBAAsBb,EAASC,EAASK,EAAiBH,EAAiB30F,EAAiBm1F,GAE3FV,EAAQzrF,cAAgB9nB,EAAOoK,MAEpCtyB,KAAKs8H,qBAAqBd,EAASC,EAASK,EAAiBH,EAAiB30F,EAAiBm1F,GAE1FV,EAAQzrF,cAAgB9nB,EAAOuK,cAEpCzyB,KAAKu8H,4BAA4Bf,EAASC,EAASK,EAAiBH,EAAiB30F,EAAiBm1F,GAIrGX,EAAQxrF,cAAgB9nB,EAAOoK,MAEhCmpG,EAAQzrF,cAAgB9nB,EAAO6J,OAE/B/xB,KAAKs8H,qBAAqBb,EAASD,EAASM,EAAiBH,EAAiB30F,EAAiBm1F,GAE1FV,EAAQzrF,cAAgB9nB,EAAOoK,MAEpCtyB,KAAKw8H,oBAAoBhB,EAASC,EAASK,EAAiBH,EAAiB30F,EAAiBm1F,GAEzFV,EAAQzrF,cAAgB9nB,EAAOuK,cAEpCzyB,KAAKy8H,2BAA2BjB,EAASC,EAASK,EAAiBH,EAAiB30F,EAAiBm1F,GAIpGX,EAAQxrF,cAAgB9nB,EAAOuK,eAEhCgpG,EAAQzrF,cAAgB9nB,EAAO6J,OAE/B/xB,KAAKu8H,4BAA4Bd,EAASD,EAASM,EAAiBH,EAAiB30F,EAAiBm1F,GAEjGV,EAAQzrF,cAAgB9nB,EAAOoK,OAEpCtyB,KAAKy8H,2BAA2BhB,EAASD,EAASM,EAAiBH,EAAiB30F,EAAiBm1F,OAmBjHE,sBAAuB,SAAUK,EAASC,EAASb,EAAiBH,EAAiB30F,EAAiBm1F,GAElG,MAAKO,GAAQtrF,MAASurF,EAAQvrF,MAK1BpxC,KAAK48H,SAASF,EAAQtrF,KAAMurF,EAAQvrF,KAAMuqF,EAAiB30F,EAAiBm1F,KAExEL,GAEAA,EAAgBp2H,KAAKshC,EAAiB01F,EAASC,GAGnD38H,KAAKu6H,WAGF,IAbI,GA6Bf+B,qBAAsB,SAAUt6G,EAAQi0B,EAAO6lF,EAAiBH,EAAiB30F,EAAiBm1F,GAE9F,GAAqB,IAAjBlmF,EAAM/yC,QAAiB8e,EAAOovB,KAAlC,CAKA,GAAIA,EAEJ,IAAIpxC,KAAKs6H,cAAgBt4G,EAAOovB,KAAKkpF,cAEjC,IAAK,GAAIr3H,GAAI,EAAGA,EAAIgzC,EAAMrF,KAAK1tC,OAAQD,IAGnC,GAAKgzC,EAAMrF,KAAK3tC,IAAOgzC,EAAMrF,KAAK3tC,GAAGoqC,QAAW4I,EAAMrF,KAAK3tC,GAAGmuC,KAA9D,CAQA,GAHAA,EAAO6E,EAAMrF,KAAK3tC,GAAGmuC,KAGjBpxC,KAAKo6H,gBAAkBlyG,EAAO4nB,QAAQ+7B,OAAOwuD,WACjD,CACI,GAAIr4G,EAAOovB,KAAKta,MAAQsa,EAAK/rC,EAEzB,KAEC,IAAI+rC,EAAKta,MAAQ9U,EAAOovB,KAAK/rC,EAE9B,aAGH,IAAIrF,KAAKo6H,gBAAkBlyG,EAAO4nB,QAAQ+7B,OAAO4uD,WACtD,CACI,GAAIz4G,EAAOovB,KAAK/rC,EAAI+rC,EAAKta,MAErB,KAEC,IAAIsa,EAAK/rC,EAAI2c,EAAOovB,KAAKta,MAE1B,aAGH,IAAI92B,KAAKo6H,gBAAkBlyG,EAAO4nB,QAAQ+7B,OAAO6uD,WACtD,CACI,GAAI14G,EAAOovB,KAAK3X,OAAS2X,EAAK9rC,EAE1B,KAEC,IAAI8rC,EAAK3X,OAASzX,EAAOovB,KAAK9rC,EAE/B,aAGH,IAAItF,KAAKo6H,gBAAkBlyG,EAAO4nB,QAAQ+7B,OAAO8uD,WACtD,CACI,GAAI34G,EAAOovB,KAAK9rC,EAAI8rC,EAAK3X,OAErB,KAEC,IAAI2X,EAAK9rC,EAAI0c,EAAOovB,KAAK3X,OAE1B,SAIRz5B,KAAKq8H,sBAAsBr6G,EAAQi0B,EAAMrF,KAAK3tC,GAAI64H,EAAiBH,EAAiB30F,EAAiBm1F,QAI7G,CAEIn8H,KAAKivH,SAASr0G,QAEd5a,KAAKivH,SAASvrF,MAAM1jC,KAAKE,KAAKuE,MAAM+B,OAAOnB,EAAGrF,KAAKE,KAAKuE,MAAM+B,OAAOlB,EAAGtF,KAAKE,KAAKuE,MAAM+B,OAAOG,MAAO3G,KAAKE,KAAKuE,MAAM+B,OAAOI,OAAQ5G,KAAK48F,WAAY58F,KAAK68F,WAE3J78F,KAAKivH,SAAS9xB,SAASlnD,EAIvB,KAAK,GAFD4mF,GAAQ78H,KAAKivH,SAAS3xB,SAASt7E,GAE1B/e,EAAI,EAAGA,EAAI45H,EAAM35H,OAAQD,IAG1BjD,KAAK48H,SAAS56G,EAAOovB,KAAMyrF,EAAM55H,GAAI04H,EAAiB30F,EAAiBm1F,KAEnEL,GAEAA,EAAgBp2H,KAAKshC,EAAiBhlB,EAAQ66G,EAAM55H,GAAG+e,QAG3DhiB,KAAKu6H,aAmBrB6B,mBAAoB,SAAUnmF,EAAO6lF,EAAiBH,EAAiB30F,EAAiBm1F,GAEpF,GAAqB,IAAjBlmF,EAAM/yC,OAKV,IAAK,GAAID,GAAI,EAAGA,EAAIgzC,EAAMrF,KAAK1tC,OAAQD,IAGnC,GAAKgzC,EAAMrF,KAAK3tC,IAAOgzC,EAAMrF,KAAK3tC,GAAGoqC,QAAW4I,EAAMrF,KAAK3tC,GAAGmuC,KAO9D,IAAK,GAFDoqF,GAAUvlF,EAAMrF,KAAK3tC,GAEhBa,EAAIb,EAAI,EAAGa,EAAImyC,EAAMrF,KAAK1tC,OAAQY,IAGvC,GAAKmyC,EAAMrF,KAAK9sC,IAAOmyC,EAAMrF,KAAK9sC,GAAGupC,QAAW4I,EAAMrF,KAAK9sC,GAAGstC,KAA9D,CAKA,GAAIqqF,GAAUxlF,EAAMrF,KAAK9sC,EAGzB,IAAI9D,KAAKo6H,gBAAkBlyG,EAAO4nB,QAAQ+7B,OAAOwuD,WACjD,CACI,GAAImB,EAAQpqF,KAAKta,MAAQ2kG,EAAQrqF,KAAK/rC,EAElC,KAEC,IAAIo2H,EAAQrqF,KAAKta,MAAQ0kG,EAAQpqF,KAAK/rC,EAEvC,aAGH,IAAIrF,KAAKo6H,gBAAkBlyG,EAAO4nB,QAAQ+7B,OAAO4uD,WACtD,CACI,GAAIe,EAAQpqF,KAAK/rC,EAAIo2H,EAAQrqF,KAAKta,MAE9B,QAEC,IAAI2kG,EAAQrqF,KAAK/rC,EAAIm2H,EAAQpqF,KAAKta,MAEnC,UAGH,IAAI92B,KAAKo6H,gBAAkBlyG,EAAO4nB,QAAQ+7B,OAAO6uD,WACtD,CACI,GAAIc,EAAQpqF,KAAK3X,OAASgiG,EAAQrqF,KAAK9rC,EAEnC,QAEC,IAAIm2H,EAAQrqF,KAAK3X,OAAS+hG,EAAQpqF,KAAK9rC,EAExC,UAGH,IAAItF,KAAKo6H,gBAAkBlyG,EAAO4nB,QAAQ+7B,OAAO8uD,WACtD,CACI,GAAIa,EAAQpqF,KAAK9rC,EAAIm2H,EAAQrqF,KAAK3X,OAE9B,QAEC,IAAIgiG,EAAQrqF,KAAK9rC,EAAIk2H,EAAQpqF,KAAK3X,OAEnC,MAIRz5B,KAAKq8H,sBAAsBb,EAASC,EAASK,EAAiBH,EAAiB30F,EAAiBm1F,KAkB5GK,oBAAqB,SAAUM,EAAQC,EAAQjB,EAAiBH,EAAiB30F,EAAiBm1F,GAE9F,GAAsB,IAAlBW,EAAO55H,QAAkC,IAAlB65H,EAAO75H,OAKlC,IAAK,GAAID,GAAI,EAAGA,EAAI65H,EAAO95H,SAASE,OAAQD,IAEpC65H,EAAO95H,SAASC,GAAGoqC,SAEfyvF,EAAO95H,SAASC,GAAG+sC,cAAgB9nB,EAAOoK,MAE1CtyB,KAAKw8H,oBAAoBM,EAAO95H,SAASC,GAAI85H,EAAQjB,EAAiBH,EAAiB30F,EAAiBm1F,GAIxGn8H,KAAKs8H,qBAAqBQ,EAAO95H,SAASC,GAAI85H,EAAQjB,EAAiBH,EAAiB30F,EAAiBm1F,KAmBzHS,SAAU,SAAUI,EAAOC,EAAOtB,EAAiB30F,EAAiBm1F,GAEhE,IAAKa,EAAM9iH,SAAW+iH,EAAM/iH,SAAWla,KAAK25B,WAAWqjG,EAAOC,GAE1D,OAAO,CAIX,IAAItB,GAAmBA,EAAgBj2H,KAAKshC,EAAiBg2F,EAAMh7G,OAAQi7G,EAAMj7G,WAAY,EAEzF,OAAO,CAKX,IAAInR,IAAS,CAYb,OAPIA,GAFA7Q,KAAKm6H,QAAUt5H,KAAKi5B,IAAI95B,KAAKg6H,QAAQ10H,EAAI03H,EAAMhD,QAAQ10H,GAAKzE,KAAKi5B,IAAI95B,KAAKg6H,QAAQ30H,EAAI23H,EAAMhD,QAAQ30H,GAE1FrF,KAAKk9H,UAAUF,EAAOC,EAAOd,IAAgBn8H,KAAKm9H,UAAUH,EAAOC,EAAOd,GAI1En8H,KAAKm9H,UAAUH,EAAOC,EAAOd,IAAgBn8H,KAAKk9H,UAAUF,EAAOC,EAAOd,GAGpFA,GAGO,EAIAtrH,GAaf8oB,WAAY,SAAUqjG,EAAOC,GAEzB,MAAID,GAAMlmG,OAASmmG,EAAM97H,SAASkE,GAEvB,EAGP23H,EAAMvjG,QAAUwjG,EAAM97H,SAASmE,GAExB,EAGP03H,EAAM77H,SAASkE,GAAK43H,EAAMnmG,OAEnB,EAGPkmG,EAAM77H,SAASmE,GAAK23H,EAAMxjG,QAEnB,GAGJ,GAcXyjG,UAAW,SAAUF,EAAOC,EAAOd,GAG/B,GAAIa,EAAMI,WAAaH,EAAMG,UAEzB,OAAO,CAGX,IAAIrzD,GAAU,CAGd,IAAI/pE,KAAK25B,WAAWqjG,EAAOC,GAC3B,CACI,GAAII,GAAaL,EAAMM,YAAcL,EAAMK,YAAct9H,KAAKk6H,YAgD9D,IA9CuB,IAAnB8C,EAAM34E,UAAqC,IAAnB44E,EAAM54E,UAG9B24E,EAAMO,UAAW,EACjBN,EAAMM,UAAW,GAEZP,EAAM34E,SAAW44E,EAAM54E,UAG5B0lB,EAAUizD,EAAMlmG,MAAQmmG,EAAM53H,EAEzB0kE,EAAUszD,GAAeL,EAAM/C,eAAenjG,SAAU,GAASmmG,EAAMhD,eAAeljG,QAAS,EAEhGgzC,EAAU,GAIVizD,EAAMQ,SAASC,MAAO,EACtBT,EAAMQ,SAAS1mG,OAAQ,EACvBmmG,EAAMO,SAASC,MAAO,EACtBR,EAAMO,SAASzmG,MAAO,IAGrBimG,EAAM34E,SAAW44E,EAAM54E,WAG5B0lB,EAAUizD,EAAM33H,EAAI43H,EAAMt2H,MAAQs2H,EAAM53H,GAElC0kE,EAAUszD,GAAeL,EAAM/C,eAAeljG,QAAS,GAASkmG,EAAMhD,eAAenjG,SAAU,EAEjGizC,EAAU,GAIVizD,EAAMQ,SAASC,MAAO,EACtBT,EAAMQ,SAASzmG,MAAO,EACtBkmG,EAAMO,SAASC,MAAO,EACtBR,EAAMO,SAAS1mG,OAAQ,IAK/BkmG,EAAMU,SAAW3zD,EACjBkzD,EAAMS,SAAW3zD,EAGD,IAAZA,EACJ,CACI,GAAIoyD,GAAea,EAAMW,iBAAmBV,EAAMU,gBAE9C,OAAO,CAGX,IAAI5wG,GAAKiwG,EAAM7B,SAAS91H,EACpB2nB,EAAKiwG,EAAM9B,SAAS91H,CAExB,IAAK23H,EAAMI,WAAcH,EAAMG,UAiBrBJ,EAAMI,UAWNH,EAAMG,YAEZH,EAAM53H,GAAK0kE,EACXkzD,EAAM9B,SAAS91H,EAAI0nB,EAAKC,EAAKiwG,EAAMW,OAAOv4H,EAGtC23H,EAAMa,QAENZ,EAAM33H,IAAM03H,EAAM13H,EAAI03H,EAAMprD,KAAKtsE,GAAK03H,EAAMc,SAASx4H,KAjBzD03H,EAAM33H,EAAI23H,EAAM33H,EAAI0kE,EACpBizD,EAAM7B,SAAS91H,EAAI2nB,EAAKD,EAAKiwG,EAAMY,OAAOv4H,EAGtC43H,EAAMY,QAENb,EAAM13H,IAAM23H,EAAM33H,EAAI23H,EAAMrrD,KAAKtsE,GAAK23H,EAAMa,SAASx4H,QAxB7D,CACIykE,GAAW,GAEXizD,EAAM33H,EAAI23H,EAAM33H,EAAI0kE,EACpBkzD,EAAM53H,GAAK0kE,CAEX,IAAIg0D,GAAMl9H,KAAK0E,KAAMynB,EAAKA,EAAKiwG,EAAMe,KAAQhB,EAAMgB,OAAUhxG,EAAK,EAAK,EAAI,IACvEixG,EAAMp9H,KAAK0E,KAAMwnB,EAAKA,EAAKiwG,EAAMgB,KAAQf,EAAMe,OAAUjxG,EAAK,EAAK,EAAI,IACvEmxG,EAAoB,IAAbH,EAAME,EAEjBF,IAAOG,EACPD,GAAOC,EAEPlB,EAAM7B,SAAS91H,EAAI64H,EAAMH,EAAMf,EAAMY,OAAOv4H,EAC5C43H,EAAM9B,SAAS91H,EAAI64H,EAAMD,EAAMhB,EAAMW,OAAOv4H,EAyBhD,OAAO,GAIf,OAAO,GAcX83H,UAAW,SAAUH,EAAOC,EAAOd,GAG/B,GAAIa,EAAMI,WAAaH,EAAMG,UAEzB,OAAO,CAGX,IAAIrzD,GAAU,CAGd,IAAI/pE,KAAK25B,WAAWqjG,EAAOC,GAC3B,CACI,GAAII,GAAaL,EAAMmB,YAAclB,EAAMkB,YAAcn+H,KAAKk6H,YAgD9D,IA9CuB,IAAnB8C,EAAM75E,UAAqC,IAAnB85E,EAAM95E,UAG9B65E,EAAMO,UAAW,EACjBN,EAAMM,UAAW,GAEZP,EAAM75E,SAAW85E,EAAM95E,UAG5B4mB,EAAUizD,EAAMvjG,OAASwjG,EAAM33H,EAE1BykE,EAAUszD,GAAeL,EAAM/C,eAAerxE,QAAS,GAASq0E,EAAMhD,eAAez9D,MAAO,EAE7FuN,EAAU,GAIVizD,EAAMQ,SAASC,MAAO,EACtBT,EAAMQ,SAAS50E,MAAO,EACtBq0E,EAAMO,SAASC,MAAO,EACtBR,EAAMO,SAAShhE,IAAK,IAGnBwgE,EAAM75E,SAAW85E,EAAM95E,WAG5B4mB,EAAUizD,EAAM13H,EAAI23H,EAAMxjG,QAEpBswC,EAAUszD,GAAeL,EAAM/C,eAAez9D,MAAO,GAASygE,EAAMhD,eAAerxE,QAAS,EAE9FmhB,EAAU,GAIVizD,EAAMQ,SAASC,MAAO,EACtBT,EAAMQ,SAAShhE,IAAK,EACpBygE,EAAMO,SAASC,MAAO,EACtBR,EAAMO,SAAS50E,MAAO,IAK9Bo0E,EAAMoB,SAAWr0D,EACjBkzD,EAAMmB,SAAWr0D,EAGD,IAAZA,EACJ,CACI,GAAIoyD,GAAea,EAAMqB,iBAAmBpB,EAAMoB,gBAE9C,OAAO,CAGX,IAAItxG,GAAKiwG,EAAM7B,SAAS71H,EACpB0nB,EAAKiwG,EAAM9B,SAAS71H,CAExB,IAAK03H,EAAMI,WAAcH,EAAMG,UAiBrBJ,EAAMI,UAWNH,EAAMG,YAEZH,EAAM33H,GAAKykE,EACXkzD,EAAM9B,SAAS71H,EAAIynB,EAAKC,EAAKiwG,EAAMW,OAAOt4H,EAGtC03H,EAAMa,QAENZ,EAAM53H,IAAM23H,EAAM33H,EAAI23H,EAAMprD,KAAKvsE,GAAK23H,EAAMc,SAASz4H,KAjBzD23H,EAAM13H,EAAI03H,EAAM13H,EAAIykE,EACpBizD,EAAM7B,SAAS71H,EAAI0nB,EAAKD,EAAKiwG,EAAMY,OAAOt4H,EAGtC23H,EAAMY,QAENb,EAAM33H,IAAM43H,EAAM53H,EAAI43H,EAAMrrD,KAAKvsE,GAAK43H,EAAMa,SAASz4H,QAxB7D,CACI0kE,GAAW,GAEXizD,EAAM13H,EAAI03H,EAAM13H,EAAIykE,EACpBkzD,EAAM33H,GAAKykE,CAEX,IAAIg0D,GAAMl9H,KAAK0E,KAAMynB,EAAKA,EAAKiwG,EAAMe,KAAQhB,EAAMgB,OAAUhxG,EAAK,EAAK,EAAI,IACvEixG,EAAMp9H,KAAK0E,KAAMwnB,EAAKA,EAAKiwG,EAAMgB,KAAQf,EAAMe,OAAUjxG,EAAK,EAAK,EAAI,IACvEmxG,EAAoB,IAAbH,EAAME,EAEjBF,IAAOG,EACPD,GAAOC,EAEPlB,EAAM7B,SAAS71H,EAAI44H,EAAMH,EAAMf,EAAMY,OAAOt4H,EAC5C23H,EAAM9B,SAAS71H,EAAI44H,EAAMD,EAAMhB,EAAMW,OAAOt4H,EAyBhD,OAAO,GAKf,OAAO,GAgBXg5H,uBAAwB,SAAUtyF,EAASiK,EAAOrC,EAAU5M,GAExD,MAAqB,KAAjBiP,EAAM/yC,QAAiB8oC,EAAQqB,OAK5BrtC,KAAKu+H,qBAAqBvyF,EAAQ3mC,EAAG2mC,EAAQ1mC,EAAG2wC,EAAOrC,EAAU5M,EAAiBgF,GALzF,QAuBJuyF,qBAAsB,SAAUl5H,EAAGC,EAAG2wC,EAAOrC,EAAU5M,EAAiBw3F,GAEpEx+H,KAAKivH,SAASr0G,QAEd5a,KAAKivH,SAASvrF,MAAM1jC,KAAKE,KAAKuE,MAAM+B,OAAOnB,EAAGrF,KAAKE,KAAKuE,MAAM+B,OAAOlB,EAAGtF,KAAKE,KAAKuE,MAAM+B,OAAOG,MAAO3G,KAAKE,KAAKuE,MAAM+B,OAAOI,OAAQ5G,KAAK48F,WAAY58F,KAAK68F,WAE3J78F,KAAKivH,SAAS9xB,SAASlnD,EAOvB,KAAK,GALDivB,GAAO,GAAIh9C,GAAO1lB,UAAU6C,EAAGC,EAAG,EAAG,GACrC4zB,KAEA2jG,EAAQ78H,KAAKivH,SAAS3xB,SAASp4B,GAE1BjiE,EAAI,EAAGA,EAAI45H,EAAM35H,OAAQD,IAE1B45H,EAAM55H,GAAGm9C,QAAQ/6C,EAAGC,KAEhBsuC,GAEAA,EAASluC,KAAKshC,EAAiBw3F,EAAa3B,EAAM55H,GAAG+e,QAGzDkX,EAAOn1B,KAAK84H,EAAM55H,GAAG+e,QAI7B,OAAOkX,IAmBXulG,aAAc,SAAU1jH,EAAe26D,EAAa95B,EAAO8iF,GAEzCn1H,SAAVqyC,IAAuBA,EAAQ,IACnBryC,SAAZm1H,IAAyBA,EAAU,EAEvC,IAAIrlG,GAAQx4B,KAAK2E,MAAMkwE,EAAYpwE,EAAIyV,EAAczV,EAAGowE,EAAYrwE,EAAI0V,EAAc1V,EAWtF,OATIq5H,GAAU,IAGV9iF,EAAQ57C,KAAK2+H,gBAAgB5jH,EAAe26D,IAAgBgpD,EAAU,MAG1E3jH,EAAcq2B,KAAK+pF,SAAS91H,EAAIxE,KAAKuE,IAAIi0B,GAASuiB,EAClD7gC,EAAcq2B,KAAK+pF,SAAS71H,EAAIzE,KAAKsE,IAAIk0B,GAASuiB,EAE3CviB,GAkBXulG,cAAe,SAAU7jH,EAAe6gC,EAAO5P,EAAS0yF,GAEtCn1H,SAAVqyC,IAAuBA,EAAQ,IACnC5P,EAAUA,GAAWhsC,KAAKE,KAAK6jC,MAAMmZ,cACrB3zC,SAAZm1H,IAAyBA,EAAU,EAEvC,IAAIrlG,GAAQr5B,KAAK6+H,eAAe9jH,EAAeixB,EAW/C,OATI0yF,GAAU,IAGV9iF,EAAQ57C,KAAK8+H,kBAAkB/jH,EAAeixB,IAAY0yF,EAAU,MAGxE3jH,EAAcq2B,KAAK+pF,SAAS91H,EAAIxE,KAAKuE,IAAIi0B,GAASuiB,EAClD7gC,EAAcq2B,KAAK+pF,SAAS71H,EAAIzE,KAAKsE,IAAIk0B,GAASuiB,EAE3CviB,GAoBX0lG,SAAU,SAAUhkH,EAAe1V,EAAGC,EAAGs2C,EAAO8iF,GAE9Bn1H,SAAVqyC,IAAuBA,EAAQ,IACnBryC,SAAZm1H,IAAyBA,EAAU,EAEvC,IAAIrlG,GAAQx4B,KAAK2E,MAAMF,EAAIyV,EAAczV,EAAGD,EAAI0V,EAAc1V,EAW9D,OATIq5H,GAAU,IAGV9iF,EAAQ57C,KAAKg/H,aAAajkH,EAAe1V,EAAGC,IAAMo5H,EAAU,MAGhE3jH,EAAcq2B,KAAK+pF,SAAS91H,EAAIxE,KAAKuE,IAAIi0B,GAASuiB,EAClD7gC,EAAcq2B,KAAK+pF,SAAS71H,EAAIzE,KAAKsE,IAAIk0B,GAASuiB,EAE3CviB,GAcX4lG,kBAAmB,SAAU5lG,EAAOuiB,EAAO/sB,GAKvC,MAHctlB,UAAVqyC,IAAuBA,EAAQ,IACnC/sB,EAAQA,GAAS,GAAI3G,GAAO9mB,MAErBytB,EAAM+J,MAAO/3B,KAAKuE,IAAIpF,KAAKE,KAAK+jC,KAAKrK,SAASP,IAAUuiB,EAAS/6C,KAAKsE,IAAInF,KAAKE,KAAK+jC,KAAKrK,SAASP,IAAUuiB,IAcvHsjF,qBAAsB,SAAU39H,EAAUq6C,EAAO/sB,GAK7C,MAHctlB,UAAVqyC,IAAuBA,EAAQ,IACnC/sB,EAAQA,GAAS,GAAI3G,GAAO9mB,MAErBytB,EAAM+J,MAAO/3B,KAAKuE,IAAI7D,GAAYq6C,EAAS/6C,KAAKsE,IAAI5D,GAAYq6C,IAc3EujF,yBAA0B,SAAU59H,EAAUq6C,EAAO/sB,GAKjD,MAHctlB,UAAVqyC,IAAuBA,EAAQ,IACnC/sB,EAAQA,GAAS,GAAI3G,GAAO9mB,MAErBytB,EAAM+J,MAAO/3B,KAAKuE,IAAI7D,GAAYq6C,EAAS/6C,KAAKsE,IAAI5D,GAAYq6C,IAkB3EwjF,mBAAoB,SAAUrkH,EAAe26D,EAAa95B,EAAOyjF,EAAWC,GAE1D/1H,SAAVqyC,IAAuBA,EAAQ,IACjBryC,SAAd81H,IAA2BA,EAAY,KACzB91H,SAAd+1H,IAA2BA,EAAY,IAE3C,IAAIjmG,GAAQr5B,KAAKo5F,aAAar+E,EAAe26D,EAK7C,OAHA36D,GAAcq2B,KAAKgqF,aAAaxiG,MAAM/3B,KAAKuE,IAAIi0B,GAASuiB,EAAO/6C,KAAKsE,IAAIk0B,GAASuiB,GACjF7gC,EAAcq2B,KAAKkqF,YAAY1iG,MAAMymG,EAAWC,GAEzCjmG,GAkBXkmG,oBAAqB,SAAUxkH,EAAeixB,EAAS4P,EAAOyjF,EAAWC,GAEvD/1H,SAAVqyC,IAAuBA,EAAQ,IACnBryC,SAAZyiC,IAAyBA,EAAUhsC,KAAKE,KAAK6jC,MAAMmZ,eACrC3zC,SAAd81H,IAA2BA,EAAY,KACzB91H,SAAd+1H,IAA2BA,EAAY,IAE3C,IAAIjmG,GAAQr5B,KAAK6+H,eAAe9jH,EAAeixB,EAK/C,OAHAjxB,GAAcq2B,KAAKgqF,aAAaxiG,MAAM/3B,KAAKuE,IAAIi0B,GAASuiB,EAAO/6C,KAAKsE,IAAIk0B,GAASuiB,GACjF7gC,EAAcq2B,KAAKkqF,YAAY1iG,MAAMymG,EAAWC,GAEzCjmG,GAmBXmmG,eAAgB,SAAUzkH,EAAe1V,EAAGC,EAAGs2C,EAAOyjF,EAAWC,GAE/C/1H,SAAVqyC,IAAuBA,EAAQ,IACjBryC,SAAd81H,IAA2BA,EAAY,KACzB91H,SAAd+1H,IAA2BA,EAAY,IAE3C,IAAIjmG,GAAQr5B,KAAKy/H,UAAU1kH,EAAe1V,EAAGC,EAK7C,OAHAyV,GAAcq2B,KAAKgqF,aAAaxiG,MAAM/3B,KAAKuE,IAAIi0B,GAASuiB,EAAO/6C,KAAKsE,IAAIk0B,GAASuiB,GACjF7gC,EAAcq2B,KAAKkqF,YAAY1iG,MAAMymG,EAAWC,GAEzCjmG,GAYXslG,gBAAiB,SAAUtwH,EAAQpK,GAE/B,GAAIuJ,GAAKa,EAAOhJ,EAAIpB,EAAOoB,EACvBqI,EAAKW,EAAO/I,EAAIrB,EAAOqB,CAE3B,OAAOzE,MAAK0E,KAAKiI,EAAKA,EAAKE,EAAKA,IAepCsxH,aAAc,SAAUjkH,EAAe1V,EAAGC,GAEtC,GAAIkI,GAAKuN,EAAc1V,EAAIA,EACvBqI,EAAKqN,EAAczV,EAAIA,CAE3B,OAAOzE,MAAK0E,KAAKiI,EAAKA,EAAKE,EAAKA,IAepCoxH,kBAAmB,SAAU/jH,EAAeixB,GAExCA,EAAUA,GAAWhsC,KAAKE,KAAK6jC,MAAMmZ,aAErC,IAAI1vC,GAAKuN,EAAc1V,EAAI2mC,EAAQgiF,OAC/BtgH,EAAKqN,EAAczV,EAAI0mC,EAAQiiF,MAEnC,OAAOptH,MAAK0E,KAAKiI,EAAKA,EAAKE,EAAKA,IAYpC0rF,aAAc,SAAU/qF,EAAQpK,GAE5B,GAAIuJ,GAAKvJ,EAAOoB,EAAIgJ,EAAOhJ,EACvBqI,EAAKzJ,EAAOqB,EAAI+I,EAAO/I,CAE3B,OAAOzE,MAAK2E,MAAMkI,EAAIF,IAa1BiyH,UAAW,SAAU1kH,EAAe1V,EAAGC,GAEnC,GAAIkI,GAAKnI,EAAI0V,EAAc1V,EACvBqI,EAAKpI,EAAIyV,EAAczV,CAE3B,OAAOzE,MAAK2E,MAAMkI,EAAIF,IAY1BqxH,eAAgB,SAAU9jH,EAAeixB,GAErCA,EAAUA,GAAWhsC,KAAKE,KAAK6jC,MAAMmZ,aAErC,IAAI1vC,GAAKw+B,EAAQgiF,OAASjzG,EAAc1V,EACpCqI,EAAKs+B,EAAQiiF,OAASlzG,EAAczV,CAExC,OAAOzE,MAAK2E,MAAMkI,EAAIF,KAoB9B0a,EAAO4nB,QAAQ+7B,OAAOsjD,KAAO,SAAUntG,GAKnChiB,KAAKgiB,OAASA,EAKdhiB,KAAKE,KAAO8hB,EAAO9hB,KAKnBF,KAAK4U,KAAOsT,EAAO4nB,QAAQC,OAM3B/vC,KAAKka,QAAS,EAKdla,KAAKkZ,OAAS,GAAIgP,GAAO9mB,MAMzBpB,KAAKmB,SAAW,GAAI+mB,GAAO9mB,MAAM4gB,EAAO3c,EAAG2c,EAAO1c,GAMlDtF,KAAK4xE,KAAO,GAAI1pD,GAAO9mB,MAAMpB,KAAKmB,SAASkE,EAAGrF,KAAKmB,SAASmE,GAM5DtF,KAAK0/H,eAAgB,EAOrB1/H,KAAKuB,SAAWygB,EAAOzgB,SAMvBvB,KAAK2/H,YAAc39G,EAAOzgB,SAM1BvB,KAAK2G,MAAQqb,EAAOrb,MAMpB3G,KAAK4G,OAASob,EAAOpb,OAMrB5G,KAAK+oF,YAAc/mE,EAAOrb,MAM1B3G,KAAKgpF,aAAehnE,EAAOpb,OAEvBob,EAAOpa,UAEP5H,KAAK+oF,YAAc/mE,EAAOpa,QAAQkE,MAAMnF,MACxC3G,KAAKgpF,aAAehnE,EAAOpa,QAAQkE,MAAMlF,QAO7C5G,KAAK+5B,UAAYl5B,KAAKi5B,IAAI9X,EAAOrb,MAAQ,GAMzC3G,KAAKi6B,WAAap5B,KAAKi5B,IAAI9X,EAAOpb,OAAS,GAM3C5G,KAAKg7B,OAAS,GAAI9S,GAAO9mB,MAAM4gB,EAAO3c,EAAIrF,KAAK+5B,UAAW/X,EAAO1c,EAAItF,KAAKi6B,YAK1Ej6B,KAAKm7H,SAAW,GAAIjzG,GAAO9mB,MAM3BpB,KAAK4/H,YAAc,GAAI13G,GAAO9mB,MAAM,EAAG,GAKvCpB,KAAK6/H,SAAW,GAAI33G,GAAO9mB,MAAM,EAAG,GAKpCpB,KAAKo7H,aAAe,GAAIlzG,GAAO9mB,MAK/BpB,KAAKq7H,KAAO,GAAInzG,GAAO9mB,MAMvBpB,KAAKu7H,cAAe,EAKpBv7H,KAAKg6H,QAAU,GAAI9xG,GAAO9mB,MAAM,EAAG,GAKnCpB,KAAK49H,OAAS,GAAI11G,GAAO9mB,MAMzBpB,KAAKs7H,YAAc,GAAIpzG,GAAO9mB,MAAM,IAAO,KAK3CpB,KAAK89H,SAAW,GAAI51G,GAAO9mB,MAAM,EAAG,GAMpCpB,KAAK+6H,gBAAkB,EAMvB/6H,KAAKg7H,oBAAsB,EAM3Bh7H,KAAKi7H,YAAc,EAMnBj7H,KAAKk7H,WAAa,IAMlBl7H,KAAKg+H,KAAO,EAMZh+H,KAAKq5B,MAAQ,EAMbr5B,KAAK47C,MAAQ,EAMb57C,KAAK8/H,OAAS53G,EAAOwJ,KAMrB1xB,KAAKo9H,WAAY,EASjBp9H,KAAK69H,OAAQ,EAQb79H,KAAK29H,iBAAkB,EAQvB39H,KAAKq+H,iBAAkB,EAMvBr+H,KAAK09H,SAAW,EAMhB19H,KAAKo+H,SAAW,EAMhBp+H,KAAKu9H,UAAW,EAMhBv9H,KAAK+/H,oBAAqB,EAO1B//H,KAAKi6H,gBAAmBwD,MAAM,EAAOuC,KAAK,EAAMxjE,IAAI,EAAM5T,MAAM,EAAM7xB,MAAM,EAAMD,OAAO,GAOzF92B,KAAKw9H,UAAaC,MAAM,EAAMjhE,IAAI,EAAO5T,MAAM,EAAO7xB,MAAM,EAAOD,OAAO,GAM1E92B,KAAKigI,aAAgBxC,MAAM,EAAMjhE,IAAI,EAAO5T,MAAM,EAAO7xB,MAAM,EAAOD,OAAO,GAO7E92B,KAAKkgI,SAAY1jE,IAAI,EAAO5T,MAAM,EAAO7xB,MAAM,EAAOD,OAAO,GAO7D92B,KAAKmgI,YAAc,GAAIj4G,GAAO9mB,MAK9BpB,KAAKyT,OAAQ,EAKbzT,KAAKs6H,cAAe,EAUpBt6H,KAAKogI,YAAa,EAMlBpgI,KAAKgqE,QAAS,EAMdhqE,KAAKqgI,IAAMr+G,EAAO3gB,MAAMgE,EAMxBrF,KAAKsgI,IAAMt+G,EAAO3gB,MAAMiE,EAMxBtF,KAAK+vD,IAAM,EAMX/vD,KAAKgwD,IAAM,GAIf9nC,EAAO4nB,QAAQ+7B,OAAOsjD,KAAKtsH,WAQvB09H,aAAc,WAEV,GAAIvgI,KAAKogI,WACT,CACI,GAAIz7H,GAAI3E,KAAKgiB,OAAOnc,WACpBlB,GAAEk8B,WAEEl8B,EAAEgC,QAAU3G,KAAK2G,OAAShC,EAAEiC,SAAW5G,KAAK4G,UAE5C5G,KAAK2G,MAAQhC,EAAEgC,MACf3G,KAAK4G,OAASjC,EAAEiC,OAChB5G,KAAKgqE,QAAS,OAItB,CACI,GAAIw2D,GAAM3/H,KAAKi5B,IAAI95B,KAAKgiB,OAAO3gB,MAAMgE,GACjCo7H,EAAM5/H,KAAKi5B,IAAI95B,KAAKgiB,OAAO3gB,MAAMiE,IAEjCk7H,IAAQxgI,KAAKqgI,KAAOI,IAAQzgI,KAAKsgI,OAEjCtgI,KAAK2G,MAAQ3G,KAAK+oF,YAAcy3C,EAChCxgI,KAAK4G,OAAS5G,KAAKgpF,aAAey3C,EAClCzgI,KAAKqgI,IAAMG,EACXxgI,KAAKsgI,IAAMG,EACXzgI,KAAKgqE,QAAS,GAIlBhqE,KAAKgqE,SAELhqE,KAAK+5B,UAAYl5B,KAAKizB,MAAM9zB,KAAK2G,MAAQ,GACzC3G,KAAKi6B,WAAap5B,KAAKizB,MAAM9zB,KAAK4G,OAAS,GAC3C5G,KAAKg7B,OAAOpC,MAAM54B,KAAKmB,SAASkE,EAAIrF,KAAK+5B,UAAW/5B,KAAKmB,SAASmE,EAAItF,KAAKi6B,cAWnF9zB,UAAW,WAEFnG,KAAKka,SAAUla,KAAKE,KAAKokC,QAAQ+0F,OAAOv1B,WAK7C9jG,KAAKyT,OAAQ,EAGbzT,KAAKigI,YAAYxC,KAAOz9H,KAAKw9H,SAASC,KACtCz9H,KAAKigI,YAAYzjE,GAAKx8D,KAAKw9H,SAAShhE,GACpCx8D,KAAKigI,YAAYr3E,KAAO5oD,KAAKw9H,SAAS50E;AACtC5oD,KAAKigI,YAAYlpG,KAAO/2B,KAAKw9H,SAASzmG,KACtC/2B,KAAKigI,YAAYnpG,MAAQ92B,KAAKw9H,SAAS1mG,MAEvC92B,KAAKw9H,SAASC,MAAO,EACrBz9H,KAAKw9H,SAAShhE,IAAK,EACnBx8D,KAAKw9H,SAAS50E,MAAO,EACrB5oD,KAAKw9H,SAASzmG,MAAO,EACrB/2B,KAAKw9H,SAAS1mG,OAAQ,EAEtB92B,KAAKkgI,QAAQ1jE,IAAK,EAClBx8D,KAAKkgI,QAAQt3E,MAAO,EACpB5oD,KAAKkgI,QAAQnpG,MAAO,EACpB/2B,KAAKkgI,QAAQppG,OAAQ,EAErB92B,KAAKu9H,UAAW,EAEhBv9H,KAAKugI,eAELvgI,KAAKmB,SAASkE,EAAKrF,KAAKgiB,OAAOvd,MAAMY,EAAKrF,KAAKgiB,OAAOha,OAAO3C,EAAIrF,KAAK2G,MAAU3G,KAAKkZ,OAAO7T,EAC5FrF,KAAKmB,SAASmE,EAAKtF,KAAKgiB,OAAOvd,MAAMa,EAAKtF,KAAKgiB,OAAOha,OAAO1C,EAAItF,KAAK4G,OAAW5G,KAAKkZ,OAAO5T,EAC7FtF,KAAKuB,SAAWvB,KAAKgiB,OAAOqX,MAE5Br5B,KAAK2/H,YAAc3/H,KAAKuB,UAEpBvB,KAAKgqE,QAAUhqE,KAAKgiB,OAAO0iD,SAE3B1kE,KAAK4xE,KAAKvsE,EAAIrF,KAAKmB,SAASkE,EAC5BrF,KAAK4xE,KAAKtsE,EAAItF,KAAKmB,SAASmE,GAG5BtF,KAAK69H,QAEL79H,KAAKE,KAAKokC,QAAQ+0F,OAAOuB,aAAa56H,MAEtCA,KAAK4/H,YAAYp8H,IAAIxD,KAAKm7H,SAAS91H,EAAIrF,KAAKE,KAAKikC,KAAKqpD,eAAgBxtF,KAAKm7H,SAAS71H,EAAItF,KAAKE,KAAKikC,KAAKqpD,gBAEvGxtF,KAAKmB,SAASkE,GAAKrF,KAAK4/H,YAAYv6H,EACpCrF,KAAKmB,SAASmE,GAAKtF,KAAK4/H,YAAYt6H,GAEhCtF,KAAKmB,SAASkE,IAAMrF,KAAK4xE,KAAKvsE,GAAKrF,KAAKmB,SAASmE,IAAMtF,KAAK4xE,KAAKtsE,KAEjEtF,KAAK47C,MAAQ/6C,KAAK0E,KAAKvF,KAAKm7H,SAAS91H,EAAIrF,KAAKm7H,SAAS91H,EAAIrF,KAAKm7H,SAAS71H,EAAItF,KAAKm7H,SAAS71H,GAC3FtF,KAAKq5B,MAAQx4B,KAAK2E,MAAMxF,KAAKm7H,SAAS71H,EAAGtF,KAAKm7H,SAAS91H,IAMvDrF,KAAK+/H,oBAEL//H,KAAK6jE,oBAIb7jE,KAAK+vD,IAAM/vD,KAAKqkD,SAChBrkD,KAAKgwD,IAAMhwD,KAAKmjD,SAEhBnjD,KAAKgqE,QAAS,IAUlB98B,WAAY,WAGHltC,KAAKka,QAAWla,KAAKyT,QAK1BzT,KAAKyT,OAAQ,EAETzT,KAAKqkD,SAAW,EAEhBrkD,KAAK8/H,OAAS53G,EAAOyJ,KAEhB3xB,KAAKqkD,SAAW,IAErBrkD,KAAK8/H,OAAS53G,EAAO0J,OAGrB5xB,KAAKmjD,SAAW,EAEhBnjD,KAAK8/H,OAAS53G,EAAO2J,GAEhB7xB,KAAKmjD,SAAW,IAErBnjD,KAAK8/H,OAAS53G,EAAO4J,MAGrB9xB,KAAK69H,QAEL79H,KAAK+vD,IAAM/vD,KAAKqkD,SAChBrkD,KAAKgwD,IAAMhwD,KAAKmjD,SAEQ,IAApBnjD,KAAK6/H,SAASx6H,GAAwB,IAAbrF,KAAK+vD,MAE1B/vD,KAAK+vD,IAAM,GAAK/vD,KAAK+vD,KAAO/vD,KAAK6/H,SAASx6H,EAE1CrF,KAAK+vD,KAAO/vD,KAAK6/H,SAASx6H,EAErBrF,KAAK+vD,IAAM,GAAK/vD,KAAK+vD,IAAM/vD,KAAK6/H,SAASx6H,IAE9CrF,KAAK+vD,IAAM/vD,KAAK6/H,SAASx6H,IAIT,IAApBrF,KAAK6/H,SAASv6H,GAAwB,IAAbtF,KAAKgwD,MAE1BhwD,KAAKgwD,IAAM,GAAKhwD,KAAKgwD,KAAOhwD,KAAK6/H,SAASv6H,EAE1CtF,KAAKgwD,KAAOhwD,KAAK6/H,SAASv6H,EAErBtF,KAAKgwD,IAAM,GAAKhwD,KAAKgwD,IAAMhwD,KAAK6/H,SAASv6H,IAE9CtF,KAAKgwD,IAAMhwD,KAAK6/H,SAASv6H,IAIjCtF,KAAKgiB,OAAO7gB,SAASkE,GAAKrF,KAAK+vD,IAC/B/vD,KAAKgiB,OAAO7gB,SAASmE,GAAKtF,KAAKgwD,IAC/BhwD,KAAKgqE,QAAS,GAGlBhqE,KAAKg7B,OAAOpC,MAAM54B,KAAKmB,SAASkE,EAAIrF,KAAK+5B,UAAW/5B,KAAKmB,SAASmE,EAAItF,KAAKi6B,YAEvEj6B,KAAK0/H,gBAEL1/H,KAAKgiB,OAAOqX,OAASr5B,KAAKukD,UAG9BvkD,KAAK4xE,KAAKvsE,EAAIrF,KAAKmB,SAASkE,EAC5BrF,KAAK4xE,KAAKtsE,EAAItF,KAAKmB,SAASmE,IAShCvC,QAAS,WAED/C,KAAKgiB,OAAOpgB,QAAU5B,KAAKgiB,OAAOpgB,iBAAkBsmB,GAAOwnB,OAE3D1vC,KAAKgiB,OAAOpgB,OAAO4vC,eAAexxC,KAAKgiB,QAG3ChiB,KAAKgiB,OAAOovB,KAAO,KACnBpxC,KAAKgiB,OAAS,MAUlB6hD,iBAAkB,WAEd,GAAIrmC,GAAMx9B,KAAKmB,SACXqF,EAASxG,KAAKE,KAAKokC,QAAQ+0F,OAAO7yH,OAClCk6H,EAAQ1gI,KAAKE,KAAKokC,QAAQ+0F,OAAOY,cAEjCz8F,GAAIn4B,EAAImB,EAAOnB,GAAKq7H,EAAM3pG,MAE1ByG,EAAIn4B,EAAImB,EAAOnB,EACfrF,KAAKm7H,SAAS91H,IAAMrF,KAAK49H,OAAOv4H,EAChCrF,KAAKkgI,QAAQnpG,MAAO,GAEf/2B,KAAK82B,MAAQtwB,EAAOswB,OAAS4pG,EAAM5pG,QAExC0G,EAAIn4B,EAAImB,EAAOswB,MAAQ92B,KAAK2G,MAC5B3G,KAAKm7H,SAAS91H,IAAMrF,KAAK49H,OAAOv4H,EAChCrF,KAAKkgI,QAAQppG,OAAQ,GAGrB0G,EAAIl4B,EAAIkB,EAAOlB,GAAKo7H,EAAMlkE,IAE1Bh/B,EAAIl4B,EAAIkB,EAAOlB,EACftF,KAAKm7H,SAAS71H,IAAMtF,KAAK49H,OAAOt4H,EAChCtF,KAAKkgI,QAAQ1jE,IAAK,GAEbx8D,KAAKy5B,OAASjzB,EAAOizB,QAAUinG,EAAM93E,OAE1CprB,EAAIl4B,EAAIkB,EAAOizB,OAASz5B,KAAK4G,OAC7B5G,KAAKm7H,SAAS71H,IAAMtF,KAAK49H,OAAOt4H,EAChCtF,KAAKkgI,QAAQt3E,MAAO,IAgB5BnlB,QAAS,SAAU98B,EAAOC,EAAQic,EAASC,GAEvBvZ,SAAZsZ,IAAyBA,EAAU7iB,KAAKkZ,OAAO7T,GACnCkE,SAAZuZ,IAAyBA,EAAU9iB,KAAKkZ,OAAO5T,GAEnDtF,KAAK+oF,YAAcpiF,EACnB3G,KAAKgpF,aAAepiF,EACpB5G,KAAK2G,MAAQ3G,KAAK+oF,YAAc/oF,KAAKqgI,IACrCrgI,KAAK4G,OAAS5G,KAAKgpF,aAAehpF,KAAKsgI,IACvCtgI,KAAK+5B,UAAYl5B,KAAKizB,MAAM9zB,KAAK2G,MAAQ,GACzC3G,KAAKi6B,WAAap5B,KAAKizB,MAAM9zB,KAAK4G,OAAS,GAC3C5G,KAAKkZ,OAAO0f,MAAM/V,EAASC,GAE3B9iB,KAAKg7B,OAAOpC,MAAM54B,KAAKmB,SAASkE,EAAIrF,KAAK+5B,UAAW/5B,KAAKmB,SAASmE,EAAItF,KAAKi6B,aAW/EyJ,MAAO,SAAUr+B,EAAGC,GAEhBtF,KAAKm7H,SAAS33H,IAAI,GAClBxD,KAAKo7H,aAAa53H,IAAI,GAEtBxD,KAAK47C,MAAQ,EACb57C,KAAK+6H,gBAAkB,EACvB/6H,KAAKg7H,oBAAsB,EAE3Bh7H,KAAKmB,SAASkE,EAAKA,EAAKrF,KAAKgiB,OAAOha,OAAO3C,EAAIrF,KAAK2G,MAAU3G,KAAKkZ,OAAO7T,EAC1ErF,KAAKmB,SAASmE,EAAKA,EAAKtF,KAAKgiB,OAAOha,OAAO1C,EAAItF,KAAK4G,OAAW5G,KAAKkZ,OAAO5T,EAE3EtF,KAAK4xE,KAAKvsE,EAAIrF,KAAKmB,SAASkE,EAC5BrF,KAAK4xE,KAAKtsE,EAAItF,KAAKmB,SAASmE,EAE5BtF,KAAKuB,SAAWvB,KAAKgiB,OAAOqX,MAC5Br5B,KAAK2/H,YAAc3/H,KAAKuB,SAExBvB,KAAKqgI,IAAMrgI,KAAKgiB,OAAO3gB,MAAMgE,EAC7BrF,KAAKsgI,IAAMtgI,KAAKgiB,OAAO3gB,MAAMiE,EAE7BtF,KAAKg7B,OAAOpC,MAAM54B,KAAKmB,SAASkE,EAAIrF,KAAK+5B,UAAW/5B,KAAKmB,SAASmE,EAAItF,KAAKi6B,aAY/EmmB,QAAS,SAAU/6C,EAAGC,GAClB,MAAO4iB,GAAO1lB,UAAU22B,SAASn5B,KAAMqF,EAAGC,IAS9Cq7H,QAAS,WACL,MAAO3gI,MAAKkgI,QAAQt3E,MASxBg4E,OAAQ,WACJ,MAAQ5gI,MAAKkgI,QAAQnpG,MAAQ/2B,KAAKkgI,QAAQppG,OAS9CwmG,UAAW,WACP,MAAQt9H,MAAKqkD,SAAW,EAAIrkD,KAAKqkD,UAAYrkD,KAAKqkD,UAStD85E,UAAW,WACP,MAAQn+H,MAAKmjD,SAAW,EAAInjD,KAAKmjD,UAAYnjD,KAAKmjD,UAStDkB,OAAQ,WACJ,MAAOrkD,MAAKmB,SAASkE,EAAIrF,KAAK4xE,KAAKvsE,GASvC89C,OAAQ,WACJ,MAAOnjD,MAAKmB,SAASmE,EAAItF,KAAK4xE,KAAKtsE,GASvCi/C,OAAQ,WACJ,MAAOvkD,MAAKuB,SAAWvB,KAAK2/H,cAUpCv8H,OAAOC,eAAe6kB,EAAO4nB,QAAQ+7B,OAAOsjD,KAAKtsH,UAAW,UAExDS,IAAK,WACD,MAAOtD,MAAKmB,SAASmE,EAAItF,KAAK4G,UAUtCxD,OAAOC,eAAe6kB,EAAO4nB,QAAQ+7B,OAAOsjD,KAAKtsH,UAAW,SAExDS,IAAK,WACD,MAAOtD,MAAKmB,SAASkE,EAAIrF,KAAK2G,SAStCvD,OAAOC,eAAe6kB,EAAO4nB,QAAQ+7B,OAAOsjD,KAAKtsH,UAAW,KAExDS,IAAK,WACD,MAAOtD,MAAKmB,SAASkE,GAGzB7B,IAAK,SAAUC,GAEXzD,KAAKmB,SAASkE,EAAI5B,KAS1BL,OAAOC,eAAe6kB,EAAO4nB,QAAQ+7B,OAAOsjD,KAAKtsH,UAAW,KAExDS,IAAK,WACD,MAAOtD,MAAKmB,SAASmE,GAGzB9B,IAAK,SAAUC,GAEXzD,KAAKmB,SAASmE,EAAI7B,KAe1BykB,EAAO4nB,QAAQ+7B,OAAOsjD,KAAKroH,OAAS,SAAUmG,EAASmkC,EAAMh5B,EAAOm2G,GAEjDhlH,SAAXglH,IAAwBA,GAAS,GAErCn2G,EAAQA,GAAS,oBAEbm2G,GAEAthH,EAAQia,UAAY9O,EACpBnL,EAAQoa,SAAS+pB,EAAKjwC,SAASkE,EAAI+rC,EAAKlxC,KAAK2jC,OAAOx+B,EAAG+rC,EAAKjwC,SAASmE,EAAI8rC,EAAKlxC,KAAK2jC,OAAOv+B,EAAG8rC,EAAKzqC,MAAOyqC,EAAKxqC,UAI9GqG,EAAQwjB,YAAcrY,EACtBnL,EAAQyjB,WAAW0gB,EAAKjwC,SAASkE,EAAI+rC,EAAKlxC,KAAK2jC,OAAOx+B,EAAG+rC,EAAKjwC,SAASmE,EAAI8rC,EAAKlxC,KAAK2jC,OAAOv+B,EAAG8rC,EAAKzqC,MAAOyqC,EAAKxqC,UAcxHshB,EAAO4nB,QAAQ+7B,OAAOsjD,KAAKO,eAAiB,SAAU5nF,EAAOsJ,GAEzDtJ,EAAM1M,KAAK,MAAQgW,EAAK/rC,EAAE4mC,QAAQ,GAAI,MAAQmF,EAAK9rC,EAAE2mC,QAAQ,GAAI,UAAYmF,EAAKzqC,MAAO,WAAayqC,EAAKxqC,QAC3GkhC,EAAM1M,KAAK,eAAiBgW,EAAK+pF,SAAS91H,EAAE4mC,QAAQ,GAAI,MAAQmF,EAAK+pF,SAAS71H,EAAE2mC,QAAQ,GAAI,WAAamF,EAAK2e,IAAI9jB,QAAQ,GAAI,WAAamF,EAAK4e,IAAI/jB,QAAQ,IAC5JnE,EAAM1M,KAAK,mBAAqBgW,EAAKgqF,aAAa/1H,EAAE4mC,QAAQ,GAAI,MAAQmF,EAAKgqF,aAAa91H,EAAE2mC,QAAQ,GAAI,UAAYmF,EAAKwK,MAAM3P,QAAQ,GAAI,UAAYmF,EAAK/X,MAAM4S,QAAQ,IAC1KnE,EAAM1M,KAAK,cAAgBgW,EAAK4oF,QAAQ30H,EAAG,MAAQ+rC,EAAK4oF,QAAQ10H,EAAG,aAAe8rC,EAAKwsF,OAAOv4H,EAAE4mC,QAAQ,GAAI,MAAQmF,EAAKwsF,OAAOt4H,EAAE2mC,QAAQ,IAC1InE,EAAM1M,KAAK,kBAAoBgW,EAAKosF,SAASzmG,KAAM,UAAYqa,EAAKosF,SAAS1mG,MAAO,OAASsa,EAAKosF,SAAShhE,GAAI,SAAWprB,EAAKosF,SAAS50E,MACxI9gB,EAAM1M,KAAK,iBAAmBgW,EAAK8uF,QAAQnpG,KAAM,UAAYqa,EAAK8uF,QAAQppG,MAAO,OAASsa,EAAK8uF,QAAQ1jE,GAAI,SAAWprB,EAAK8uF,QAAQt3E,OAIvI1gC,EAAO4nB,QAAQ+7B,OAAOsjD,KAAKtsH,UAAUC,YAAcolB,EAAO4nB,QAAQ+7B,OAAOsjD,KAczEjnG,EAAO4nB,QAAQ+7B,OAAOg1D,iBAAmB,aAEzC34G,EAAO4nB,QAAQ+7B,OAAOg1D,iBAAiBh+H,WAKnCi+H,UAAW,GAcXvE,4BAA6B,SAAUv6G,EAAQ++G,EAAcjF,EAAiBH,EAAiB30F,EAAiBm1F,GAE5G,GAAKn6G,EAAOovB,KAAZ,CAKA,GAAI4+D,GAAU+wB,EAAaC,SACvBh/G,EAAOovB,KAAKjwC,SAASkE,EAAI2c,EAAOovB,KAAK+uF,YAAY96H,EACjD2c,EAAOovB,KAAKjwC,SAASmE,EAAI0c,EAAOovB,KAAK+uF,YAAY76H,EACjD0c,EAAOovB,KAAKzqC,MAAQqb,EAAOovB,KAAK+uF,YAAY96H,EAC5C2c,EAAOovB,KAAKxqC,OAASob,EAAOovB,KAAK+uF,YAAY76H,GAC7C,GAAO,EAEX,IAAuB,IAAnB0qG,EAAQ9sG,OAKZ,IAAK,GAAID,GAAI,EAAGA,EAAI+sG,EAAQ9sG,OAAQD,IAE5B04H,EAEIA,EAAgBj2H,KAAKshC,EAAiBhlB,EAAQguF,EAAQ/sG,KAElDjD,KAAKihI,aAAah+H,EAAG+e,EAAOovB,KAAM4+D,EAAQ/sG,GAAIk5H,KAE9Cn8H,KAAKu6H,SAEDuB,GAEAA,EAAgBp2H,KAAKshC,EAAiBhlB,EAAQguF,EAAQ/sG,KAO9DjD,KAAKihI,aAAah+H,EAAG+e,EAAOovB,KAAM4+D,EAAQ/sG,GAAIk5H,KAE9Cn8H,KAAKu6H,SAEDuB,GAEAA,EAAgBp2H,KAAKshC,EAAiBhlB,EAAQguF,EAAQ/sG,OAoB1Ew5H,2BAA4B,SAAUxmF,EAAO8qF,EAAcjF,EAAiBH,EAAiB30F,EAAiBm1F,GAE1G,GAAqB,IAAjBlmF,EAAM/yC,OAKV,IAAK,GAAID,GAAI,EAAGA,EAAIgzC,EAAMjzC,SAASE,OAAQD,IAEnCgzC,EAAMjzC,SAASC,GAAGoqC,QAElBrtC,KAAKu8H,4BAA4BtmF,EAAMjzC,SAASC,GAAI89H,EAAcjF,EAAiBH,EAAiB30F,EAAiBm1F,IAejI8E,aAAc,SAAUh+H,EAAGmuC,EAAM8vF,EAAM/E,GAEnC,IAAK/qF,EAAKl3B,OAEN,OAAO,CAIX,KAAKgnH,EAAKvnG,WAAWyX,EAAKjwC,SAASkE,EAAG+rC,EAAKjwC,SAASmE,EAAG8rC,EAAKta,MAAOsa,EAAK3X,QAGpE,OAAO,CAEN,IAAI0iG,EAGL,OAAO,CAMX,IAAI+E,EAAKC,oBAAsBD,EAAKC,kBAAkBz7H,KAAKw7H,EAAKE,yBAA0BhwF,EAAKpvB,OAAQk/G,GAGnG,OAAO,CAEN,IAAIA,EAAK9L,MAAM3hE,UAAUytE,EAAK14H,SAAW04H,EAAK9L,MAAM3hE,UAAUytE,EAAK14H,OAAOorC,SAASluC,KAAKw7H,EAAK9L,MAAM3hE,UAAUytE,EAAK14H,OAAOw+B,gBAAiBoK,EAAKpvB,OAAQk/G,GAGxJ,OAAO,CAIX,MAAKA,EAAKG,UAAaH,EAAKI,WAAcJ,EAAKK,SAAYL,EAAKM,YAG5D,OAAO,CAGX,IAAIx/C,GAAK,EACLC,EAAK,EACL93E,EAAO,EACPE,EAAO,CAoBX,IAlBI+mC,EAAKksF,YAAclsF,EAAK+sF,YAGxBh0H,EAAO,GAEFinC,EAAKksF,YAAclsF,EAAK+sF,cAG7B9zH,EAAO,IAGW,IAAlB+mC,EAAKiT,UAAoC,IAAlBjT,EAAK+R,WAAmB+9E,EAAKG,UAAYH,EAAKI,aAAeJ,EAAKK,SAAWL,EAAKM,cAGzGr3H,EAAOtJ,KAAKi7B,IAAIj7B,KAAKi5B,IAAIsX,EAAKjwC,SAASkE,EAAI67H,EAAKpqG,OAAQj2B,KAAKi5B,IAAIsX,EAAKta,MAAQoqG,EAAKnqG,OACnF1sB,EAAOxJ,KAAKi7B,IAAIj7B,KAAKi5B,IAAIsX,EAAKjwC,SAASmE,EAAI47H,EAAKznG,QAAS54B,KAAKi5B,IAAIsX,EAAK3X,OAASynG,EAAK1nG,OAG9EnvB,EAAPF,EACJ,CACI,IAAI+2H,EAAKG,UAAYH,EAAKI,aAEtBt/C,EAAKhiF,KAAKyhI,WAAWrwF,EAAM8vF,GAGhB,IAAPl/C,IAAak/C,EAAKvnG,WAAWyX,EAAKjwC,SAASkE,EAAG+rC,EAAKjwC,SAASmE,EAAG8rC,EAAKta,MAAOsa,EAAK3X,SAEhF,OAAO,GAIXynG,EAAKK,SAAWL,EAAKM,cAErBv/C,EAAKjiF,KAAK0hI,WAAWtwF,EAAM8vF,QAInC,CACI,IAAIA,EAAKK,SAAWL,EAAKM,cAErBv/C,EAAKjiF,KAAK0hI,WAAWtwF,EAAM8vF,GAGhB,IAAPj/C,IAAai/C,EAAKvnG,WAAWyX,EAAKjwC,SAASkE,EAAG+rC,EAAKjwC,SAASmE,EAAG8rC,EAAKta,MAAOsa,EAAK3X,SAEhF,OAAO,GAIXynG,EAAKG,UAAYH,EAAKI,aAEtBt/C,EAAKhiF,KAAKyhI,WAAWrwF,EAAM8vF,IAInC,MAAe,KAAPl/C,GAAmB,IAAPC,GAaxBw/C,WAAY,SAAUrwF,EAAM8vF,GAExB,GAAIl/C,GAAK,CAyCT,OAvCI5wC,GAAKiT,SAAW,IAAMjT,EAAK8uF,QAAQnpG,MAAQmqG,EAAKS,cAAgBvwF,EAAK6oF,eAAeljG,KAGhFmqG,EAAKI,WAAalwF,EAAK/rC,EAAI67H,EAAKpqG,QAEhCkrD,EAAK5wC,EAAK/rC,EAAI67H,EAAKpqG,MAEfkrD,GAAMhiF,KAAK8gI,YAEX9+C,EAAK,IAIR5wC,EAAKiT,SAAW,IAAMjT,EAAK8uF,QAAQppG,OAASoqG,EAAKU,aAAexwF,EAAK6oF,eAAenjG,OAGrFoqG,EAAKG,UAAYjwF,EAAKta,MAAQoqG,EAAKnqG,OAEnCirD,EAAK5wC,EAAKta,MAAQoqG,EAAKnqG,KAEnBirD,EAAKhiF,KAAK8gI,YAEV9+C,EAAK,IAKN,IAAPA,IAEI5wC,EAAKusF,gBAELvsF,EAAKssF,SAAW17C,EAIhBhiF,KAAK6hI,uBAAuBzwF,EAAM4wC,IAInCA,GAaX0/C,WAAY,SAAUtwF,EAAM8vF,GAExB,GAAIj/C,GAAK,CAyCT,OAvCI7wC,GAAK+R,SAAW,IAAM/R,EAAK8uF,QAAQ1jE,IAAM0kE,EAAKY,aAAe1wF,EAAK6oF,eAAez9D,GAG7E0kE,EAAKM,YAAcpwF,EAAK9rC,EAAI47H,EAAKznG,SAEjCwoD,EAAK7wC,EAAK9rC,EAAI47H,EAAKznG,OAEfwoD,GAAMjiF,KAAK8gI,YAEX7+C,EAAK,IAIR7wC,EAAK+R,SAAW,IAAM/R,EAAK8uF,QAAQt3E,MAAQs4E,EAAKa,WAAa3wF,EAAK6oF,eAAerxE,MAGlFs4E,EAAKK,SAAWnwF,EAAK3X,OAASynG,EAAK1nG,MAEnCyoD,EAAK7wC,EAAK3X,OAASynG,EAAK1nG,IAEpByoD,EAAKjiF,KAAK8gI,YAEV7+C,EAAK,IAKN,IAAPA,IAEI7wC,EAAKitF,gBAELjtF,EAAKgtF,SAAWn8C,EAIhBjiF,KAAKgiI,uBAAuB5wF,EAAM6wC,IAInCA,GAYX4/C,uBAAwB,SAAUzwF,EAAM/rC,GAE5B,EAAJA,EAEA+rC,EAAK8uF,QAAQnpG,MAAO,EAEf1xB,EAAI,IAET+rC,EAAK8uF,QAAQppG,OAAQ,GAGzBsa,EAAKjwC,SAASkE,GAAKA,EAEG,IAAlB+rC,EAAKwsF,OAAOv4H,EAEZ+rC,EAAK+pF,SAAS91H,EAAI,EAIlB+rC,EAAK+pF,SAAS91H,GAAK+rC,EAAK+pF,SAAS91H,EAAI+rC,EAAKwsF,OAAOv4H,GAazD28H,uBAAwB,SAAU5wF,EAAM9rC,GAE5B,EAAJA,EAEA8rC,EAAK8uF,QAAQ1jE,IAAK,EAEbl3D,EAAI,IAET8rC,EAAK8uF,QAAQt3E,MAAO,GAGxBxX,EAAKjwC,SAASmE,GAAKA,EAEG,IAAlB8rC,EAAKwsF,OAAOt4H,EAEZ8rC,EAAK+pF,SAAS71H,EAAI,EAIlB8rC,EAAK+pF,SAAS71H,GAAK8rC,EAAK+pF,SAAS71H,EAAI8rC,EAAKwsF,OAAOt4H,IAQ7D4iB,EAAOiN,MAAMwC,eAAezP,EAAO4nB,QAAQ+7B,OAAOhpE,UAAWqlB,EAAO4nB,QAAQ+7B,OAAOg1D,iBAAiBh+H,WAuBpGqlB,EAAO+5G,gBAAkB,SAAU3qG,EAAM4qG,EAAUv7H,EAAOC,EAAQimG,EAAQC,EAASllB,IAEjEr+E,SAAV5C,GAAgC,GAATA,KAAcA,EAAQ,KAClC4C,SAAX3C,GAAkC,GAAVA,KAAeA,EAAS,IACrC2C,SAAXsjG,IAAwBA,EAAS,GACrBtjG,SAAZujG,IAAyBA,EAAU,GAMvC9sG,KAAKs3B,KAAOA,EAOZt3B,KAAKkiI,SAAsB,EAAXA,EAOhBliI,KAAKmiI,WAAqB,EAARx7H,EAOlB3G,KAAKoiI,YAAuB,EAATx7H,EASnB5G,KAAKqiI,YAAuB,EAATx1B,EAQnB7sG,KAAKsiI,aAAyB,EAAVx1B,EAMpB9sG,KAAK4nF,WAAaA,MAQlB5nF,KAAK03G,UAQL13G,KAAK+uB,MAAQ,GAGjB7G,EAAO+5G,gBAAgBp/H,WASnB0/H,mBAAoB,SAAUC,GAE1B,MACIA,IAAcxiI,KAAKkiI,UACnBM,EAAcxiI,KAAKkiI,SAAWliI,KAAK+uB,OAY3CujD,SAAU,SAAUmwD,EAAKj5G,GAErBxpB,KAAK03G,OAAO3zG,MAAO0+H,IAAKA,EAAKj5G,MAAOA,IACpCxpB,KAAK+uB,UAMb7G,EAAO+5G,gBAAgBp/H,UAAUC,YAAcolB,EAAO+5G,gBAoBtD/5G,EAAOw6G,KAAO,SAAUtN,EAAO5sH,EAAOnD,EAAGC,EAAGqB,EAAOC,GAK/C5G,KAAKo1H,MAAQA,EAKbp1H,KAAKwI,MAAQA,EAKbxI,KAAKqF,EAAIA,EAKTrF,KAAKsF,EAAIA,EAKTtF,KAAKuB,SAAW,EAKhBvB,KAAK2iI,SAAU,EAKf3iI,KAAKguH,OAAS3oH,EAAIsB,EAKlB3G,KAAKiuH,OAAS3oH,EAAIsB,EAKlB5G,KAAK2G,MAAQA,EAKb3G,KAAK4G,OAASA,EAKd5G,KAAKmtB,QAAUtsB,KAAKi5B,IAAInzB,EAAQ,GAKhC3G,KAAKotB,QAAUvsB,KAAKi5B,IAAIlzB,EAAS,GAKjC5G,KAAKwB,MAAQ,EAKbxB,KAAK4nF,cAKL5nF,KAAK4iI,SAAU,EAKf5iI,KAAKuhI,SAAU,EAKfvhI,KAAKwhI,YAAa,EAKlBxhI,KAAKqhI,UAAW,EAKhBrhI,KAAKshI,WAAY,EAMjBthI,KAAK4hI,aAAc,EAMnB5hI,KAAK2hI,cAAe,EAMpB3hI,KAAK+hI,WAAY,EAMjB/hI,KAAK8hI,aAAc,EAMnB9hI,KAAKmhI,kBAAoB,KAMzBnhI,KAAKohI,yBAA2BphI,MAIpCkoB,EAAOw6G,KAAK7/H,WAURg/B,cAAe,SAAUx8B,EAAGC,GAExB,QAASD,EAAIrF,KAAKguH,QAAU1oH,EAAItF,KAAKiuH,QAAU5oH,EAAIrF,KAAK82B,OAASxxB,EAAItF,KAAKy5B,SAa9EE,WAAY,SAAUt0B,EAAGC,EAAGwxB,EAAO2C,GAE/B,MAAI3C,IAAS92B,KAAKguH,QAEP,EAGPv0F,GAAUz5B,KAAKiuH,QAER,EAGP5oH,GAAKrF,KAAKguH,OAAShuH,KAAK2G,OAEjB,EAGPrB,GAAKtF,KAAKiuH,OAASjuH,KAAK4G,QAEjB,GAGJ,GAYXi8H,qBAAsB,SAAUjvF,EAAU3mC,GAEtCjN,KAAKmhI,kBAAoBvtF,EACzB5zC,KAAKohI,yBAA2Bn0H,GASpClK,QAAS,WAEL/C,KAAKmhI,kBAAoB,KACzBnhI,KAAKohI,yBAA2B,KAChCphI,KAAK4nF,WAAa,MAatBk7C,aAAc,SAAU/rG,EAAMD,EAAO0lC,EAAI5T,GAErC5oD,KAAK4hI,YAAc7qG,EACnB/2B,KAAK2hI,aAAe7qG,EACpB92B,KAAK+hI,UAAYvlE,EACjBx8D,KAAK8hI,YAAcl5E,EAEnB5oD,KAAKqhI,SAAWtqG,EAChB/2B,KAAKshI,UAAYxqG,EACjB92B,KAAKuhI,QAAU/kE,EACfx8D,KAAKwhI,WAAa54E,GAStBm6E,eAAgB,WAEZ/iI,KAAK4hI,aAAc,EACnB5hI,KAAK2hI,cAAe,EACpB3hI,KAAK+hI,WAAY,EACjB/hI,KAAK8hI,aAAc,EAEnB9hI,KAAKuhI,SAAU,EACfvhI,KAAKwhI,YAAa,EAClBxhI,KAAKqhI,UAAW,EAChBrhI,KAAKshI,WAAY,GAYrB0B,cAAe,SAAUC,EAAUC,GAE/B,MAAID,IAAYC,EAGJljI,KAAK4hI,aAAe5hI,KAAK2hI,cAAgB3hI,KAAK+hI,WAAa/hI,KAAK8hI,aAAe9hI,KAAKuhI,SAAWvhI,KAAKwhI,YAAcxhI,KAAKqhI,UAAYrhI,KAAKshI,WAAathI,KAAKmhI,kBAE7J8B,EAGGjjI,KAAK4hI,aAAe5hI,KAAK2hI,cAAgB3hI,KAAK+hI,WAAa/hI,KAAK8hI,YAEnEoB,EAGGljI,KAAKuhI,SAAWvhI,KAAKwhI,YAAcxhI,KAAKqhI,UAAYrhI,KAAKshI,WAG9D,GAUX/pG,KAAM,SAAU2pG,GAEZlhI,KAAKwI,MAAQ04H,EAAK14H,MAClBxI,KAAKwB,MAAQ0/H,EAAK1/H,MAClBxB,KAAK4nF,WAAas5C,EAAKt5C,WAEvB5nF,KAAK+hI,UAAYb,EAAKa,UACtB/hI,KAAK8hI,YAAcZ,EAAKY,YACxB9hI,KAAK4hI,YAAcV,EAAKU,YACxB5hI,KAAK2hI,aAAeT,EAAKS,aAEzB3hI,KAAKmhI,kBAAoBD,EAAKC,kBAC9BnhI,KAAKohI,yBAA2BF,EAAKE,2BAM7Cl5G,EAAOw6G,KAAK7/H,UAAUC,YAAcolB,EAAOw6G,KAO3Ct/H,OAAOC,eAAe6kB,EAAOw6G,KAAK7/H,UAAW,YAEzCS,IAAK,WACD,MAAQtD,MAAK4hI,aAAe5hI,KAAK2hI,cAAgB3hI,KAAK+hI,WAAa/hI,KAAK8hI,eAUhF1+H,OAAOC,eAAe6kB,EAAOw6G,KAAK7/H,UAAW,cAEzCS,IAAK,WACD,MAAQtD,MAAK4hI,aAAe5hI,KAAK2hI,cAAgB3hI,KAAK+hI,WAAa/hI,KAAK8hI,aAAe9hI,KAAKmhI,qBAUpG/9H,OAAOC,eAAe6kB,EAAOw6G,KAAK7/H,UAAW,QAEzCS,IAAK,WACD,MAAOtD,MAAKguH,UAUpB5qH,OAAOC,eAAe6kB,EAAOw6G,KAAK7/H,UAAW,SAEzCS,IAAK,WACD,MAAOtD,MAAKguH,OAAShuH,KAAK2G,SAUlCvD,OAAOC,eAAe6kB,EAAOw6G,KAAK7/H,UAAW,OAEzCS,IAAK,WACD,MAAOtD,MAAKiuH,UAUpB7qH,OAAOC,eAAe6kB,EAAOw6G,KAAK7/H,UAAW,UAEzCS,IAAK,WACD,MAAOtD,MAAKiuH,OAASjuH,KAAK4G,UA6BlCshB,EAAO4kD,QAAU,SAAU5sE,EAAMqU,EAAKq4D,EAAWC,EAAYlmE,EAAOC,GAKhE5G,KAAKE,KAAOA,EAKZF,KAAKuU,IAAMA,CAEX,IAAI9D,GAAOyX,EAAOi7G,cAAc3jG,MAAMx/B,KAAKE,KAAMqU,EAAKq4D,EAAWC,EAAYlmE,EAAOC,EAEvE,QAAT6J,IAQJzQ,KAAK2G,MAAQ8J,EAAK9J,MAKlB3G,KAAK4G,OAAS6J,EAAK7J,OAKnB5G,KAAK4sE,UAAYn8D,EAAKm8D,UAKtB5sE,KAAK6sE,WAAap8D,EAAKo8D,WAKvB7sE,KAAK4pH,YAAcn5G,EAAKm5G,YAKxB5pH,KAAKgW,OAASvF,EAAKuF,OAKnBhW,KAAKojI,QAAU3yH,EAAK2yH,QAKpBpjI,KAAK4nF,WAAan3E,EAAKm3E,WAKvB5nF,KAAKqjI,cAAgB5yH,EAAK4yH,cAK1BrjI,KAAKsjI,eAAiB7yH,EAAK6yH,eAK3BtjI,KAAKk1H,OAASzkH,EAAKykH,OAKnBl1H,KAAKujI,SAAW9yH,EAAK8yH,SAKrBvjI,KAAKwjI,iBAAmB/yH,EAAK+yH,iBAK7BxjI,KAAKyjI,MAAQhzH,EAAKgzH,MAKlBzjI,KAAK88F,QAAUrsF,EAAKqsF,QAKpB98F,KAAK0jI,kBAKL1jI,KAAK2jI,UAAYlzH,EAAKkzH,UAKtB3jI,KAAK03G,OAASjnG,EAAKinG,OAKnB13G,KAAK4jI,aAAe,EAKpB5jI,KAAK6jI,YAML7jI,KAAK8jI,YAML9jI,KAAK+jI,OAAS,EAMd/jI,KAAKgyE,OAAS,IAQlB9pD,EAAO4kD,QAAQurC,IAAM,EAMrBnwF,EAAO4kD,QAAQwrC,WAAa,EAM5BpwF,EAAO4kD,QAAQk3D,MAAQ,EAMvB97G,EAAO4kD,QAAQm3D,KAAO,EAMtB/7G,EAAO4kD,QAAQo3D,MAAQ,EAMvBh8G,EAAO4kD,QAAQq3D,KAAO,EAEtBj8G,EAAO4kD,QAAQjqE,WAcXqF,OAAQ,SAAUovB,EAAM3wB,EAAOC,EAAQgmE,EAAWC,EAAY52B,GAW1D,MATc1sC,UAAV0sC,IAAuBA,EAAQj2C,KAAKE,KAAKuE,OAE7CzE,KAAK2G,MAAQA,EACb3G,KAAK4G,OAASA,EAEd5G,KAAKokI,YAAYx3D,EAAWC,GAE5B7sE,KAAKk1H,OAAOhyH,OAAS,EAEdlD,KAAKqkI,iBAAiB/sG,EAAM3wB,EAAOC,EAAQgmE,EAAWC,EAAY52B,IAW7EmuF,YAAa,SAAUx3D,EAAWC,GAE9B7sE,KAAK4sE,UAAYA,EACjB5sE,KAAK6sE,WAAaA,EAClB7sE,KAAKqjI,cAAgBrjI,KAAK2G,MAAQimE,EAClC5sE,KAAKsjI,eAAiBtjI,KAAK4G,OAASimE,GAoBxCy3D,gBAAiB,SAAUC,EAAShwH,EAAKq4D,EAAWC,EAAY23D,EAAYC,EAAahC,GAErF,GAAgBl5H,SAAZg7H,EAAyB,MAAO,KAClBh7H,UAAdqjE,IAA2BA,EAAY5sE,KAAK4sE,WAC7BrjE,SAAfsjE,IAA4BA,EAAa7sE,KAAK6sE,YAC/BtjE,SAAfi7H,IAA4BA,EAAa,GACzBj7H,SAAhBk7H,IAA6BA,EAAc,GACnCl7H,SAARk5H,IAAqBA,EAAM,GAGb,IAAd71D,IAEAA,EAAY,IAGG,IAAfC,IAEAA,EAAa,GAGjB,IAAInD,GAAM,IAOV,KALYngE,SAARgL,GAA6B,OAARA,KAErBA,EAAMgwH,GAGNhwH,YAAe2T,GAAOohD,WAEtBI,EAAMn1D,EAAIlE,WAGd,CACI,IAAKrQ,KAAKE,KAAK4jC,MAAM8lD,cAAcr1E,GAG/B,MADAhC,SAAQ2iB,KAAK,6DAA+D3gB,EAAM,KAC3E,IAGXm1D,GAAM1pE,KAAKE,KAAK4jC,MAAM7Y,SAAS1W,GAGnC,GAAIxD,GAAM/Q,KAAK0kI,gBAAgBH,EAE/B,IAAY,OAARxzH,GAAgB/Q,KAAKgW,SAAWkS,EAAO4kD,QAAQwrC,WAG/C,MADA/lG,SAAQ2iB,KAAK,yFAA2F3gB,EAAM,KACvG,IAGX,IAAIvU,KAAKujI,SAASxyH,GAGd,MADA/Q,MAAKujI,SAASxyH,GAAK4zH,SAASj7D,GACrB1pE,KAAKujI,SAASxyH,EAIrB,IAAI6zH,GAAS,GAAI18G,GAAO28G,QAAQN,EAAS9B,EAAK71D,EAAWC,EAAY23D,EAAYC,KAEjFG,GAAOD,SAASj7D,GAEhB1pE,KAAKujI,SAASx/H,KAAK6gI,EAUnB,KAAK,GARD3hI,GAAIjD,KAAKujI,SAASrgI,OAAS,EAC3BmC,EAAIm/H,EACJl/H,EAAIk/H,EAEJ7mH,EAAQ,EACRmnH,EAAS,EACTC,EAAS,EAEJjwG,EAAI2tG,EAAK3tG,EAAI2tG,EAAMmC,EAAO71G,QAE/B/uB,KAAKyjI,MAAM3uG,IAAMzvB,EAAGC,EAAGrC,GAEvBoC,GAAKunE,EAAY63D,EAEjB9mH,IAEIA,IAAUinH,EAAO71G,SAKrB+1G,IAEIA,IAAWF,EAAOI,UAElB3/H,EAAIm/H,EACJl/H,GAAKunE,EAAa43D,EAElBK,EAAS,EACTC,IAEIA,IAAWH,EAAOK,OAvBYnwG,KA8B1C,MAAO8vG,IAyBfM,kBAAmB,SAAU5tG,EAAMmrG,EAAKluH,EAAKzI,EAAOuhC,EAAQs2B,EAAU1tB,EAAOkvF,EAAaC,GAQtF,GANe77H,SAAX8jC,IAAwBA,GAAS,GACpB9jC,SAAbo6D,IAA0BA,GAAW,GAC3Bp6D,SAAV0sC,IAAuBA,EAAQj2C,KAAKE,KAAKuE,OACzB8E,SAAhB47H,IAA6BA,EAAcj9G,EAAOzgB,QACtC8B,SAAZ67H,IAAyBA,GAAU,IAElCplI,KAAK88F,QAAQxlE,GAGd,WADA/kB,SAAQ2iB,KAAK,8DAAgEoC,EAIjF,KAAK,GAAIr0B,GAAI,EAAGA,EAAIjD,KAAK88F,QAAQxlE,GAAMp0B,OAAQD,IAC/C,CACI,GAAIoiI,IAAQ,EACRhwG,EAAMr1B,KAAK88F,QAAQxlE,GAAMr0B,EAe7B,IAbgBsG,SAAZ8rB,EAAIotG,KAAoC,gBAARA,IAAoBptG,EAAIotG,MAAQA,EAEhE4C,GAAQ,EAEQ97H,SAAX8rB,EAAI5f,IAAmC,gBAARgtH,IAAoBptG,EAAI5f,KAAOgtH,EAEnE4C,GAAQ,EAEU97H,SAAb8rB,EAAIiC,MAAqC,gBAARmrG,IAAoBptG,EAAIiC,OAASmrG,IAEvE4C,GAAQ,GAGRA,EACJ,CACI,GAAIrjH,GAAS,GAAImjH,GAAYnlI,KAAKE,KAAMkoF,WAAW/yD,EAAIhwB,EAAG,IAAK+iF,WAAW/yD,EAAI/vB,EAAG,IAAKiP,EAAKzI,EAE3FkW,GAAOsV,KAAOjC,EAAIiC,KAClBtV,EAAOvgB,QAAU4zB,EAAI5zB,QACrBugB,EAAO2hD,SAAWA,EAClB3hD,EAAOqrB,OAASA,EAEZhY,EAAI1uB,QAEJqb,EAAOrb,MAAQ0uB,EAAI1uB,OAGnB0uB,EAAIzuB,SAEJob,EAAOpb,OAASyuB,EAAIzuB,QAGpByuB,EAAI9zB,WAEJygB,EAAOqX,MAAQhE,EAAI9zB,UAGnB6jI,IAEApjH,EAAO1c,GAAK0c,EAAOpb,QAGvBqvC,EAAMva,IAAI1Z,EAEV,KAAK,GAAIuxB,KAAYle,GAAIuyD,WAErB3xC,EAAMzyC,IAAIwe,EAAQuxB,EAAUle,EAAIuyD,WAAWr0C,IAAW,GAAO,EAAO,GAAG,MAsBvF+xF,gBAAiB,SAAU7B,EAAO8B,EAAchxH,EAAK6gH,EAAOn/E,EAAO2xC,GAE1C,gBAAV67C,KAAsBA,GAASA,IAErBl6H,SAAjBg8H,GAA+C,OAAjBA,EAE9BA,KAE6B,gBAAjBA,KAEZA,GAAgBA,IAGpBnQ,EAAQp1H,KAAKwlI,SAASpQ,GAER7rH,SAAV0sC,IAAuBA,EAAQj2C,KAAKE,KAAKuE,OAC1B8E,SAAfq+E,IAA4BA,MAEDr+E,SAA3Bq+E,EAAW69C,cAEX79C,EAAW69C,YAAcv9G,EAAOzgB,QAGT8B,SAAvBq+E,EAAWw9C,UAEXx9C,EAAWw9C,SAAU,EAGzB,IAAIM,GAAK1lI,KAAKk1H,OAAOE,GAAOzuH,MACxBg/H,EAAK3lI,KAAKk1H,OAAOE,GAAOxuH,MAI5B,IAFA5G,KAAKu3B,KAAK,EAAG,EAAGmuG,EAAIC,EAAIvQ,GAEpBp1H,KAAK8jI,SAAS5gI,OAAS,EAEvB,MAAO,EAMX,KAAK,GAFD8e,GADA+M,EAAQ,EAGH9rB,EAAI,EAAG8xB,EAAM/0B,KAAK8jI,SAAS5gI,OAAY6xB,EAAJ9xB,EAASA,IAEjD,GAA8C,KAA1CwgI,EAAMx6H,QAAQjJ,KAAK8jI,SAAS7gI,GAAGuF,OACnC,CACIwZ,EAAS,GAAI4lE,GAAW69C,YAAYzlI,KAAKE,KAAMF,KAAK8jI,SAAS7gI,GAAG+qH,OAAQhuH,KAAK8jI,SAAS7gI,GAAGgrH,OAAQ15G,EAEjG,KAAK,GAAIg/B,KAAYq0C,GAEjB5lE,EAAOuxB,GAAYq0C,EAAWr0C,EAGlC0C,GAAMva,IAAI1Z,GACV+M,IAKR,GAA4B,IAAxBw2G,EAAariI,OAGb,IAAKD,EAAI,EAAGA,EAAIwgI,EAAMvgI,OAAQD,IAE1BjD,KAAK63B,QAAQ4rG,EAAMxgI,GAAIsiI,EAAa,GAAI,EAAG,EAAGG,EAAIC,EAAIvQ,OAGzD,IAAImQ,EAAariI,OAAS,EAG3B,IAAKD,EAAI,EAAGA,EAAIwgI,EAAMvgI,OAAQD,IAE1BjD,KAAK63B,QAAQ4rG,EAAMxgI,GAAIsiI,EAAatiI,GAAI,EAAG,EAAGyiI,EAAIC,EAAIvQ,EAI9D,OAAOrmG,IAiBX62G,YAAa,SAAUxQ,EAAOzuH,EAAOC,EAAQqvC,GAI3B1sC,SAAV5C,IAAuBA,EAAQ3G,KAAKE,KAAKyG,OAC9B4C,SAAX3C,IAAwBA,EAAS5G,KAAKE,KAAK0G,QACjC2C,SAAV0sC,IAAuBA,EAAQj2C,KAAKE,KAAKuE,MAE7C,IAAI+D,GAAQ4sH,CAOZ,OALqB,gBAAVA,KAEP5sH,EAAQxI,KAAK6lI,cAAczQ,IAGjB,OAAV5sH,GAAkBA,EAAQxI,KAAKk1H,OAAOhyH,WAEtCqP,SAAQ2iB,KAAK,gDAAkD1sB,GAI5DytC,EAAMva,IAAI,GAAIxT,GAAO49G,aAAa9lI,KAAKE,KAAMF,KAAMwI,EAAO7B,EAAOC,KAgB5Ey9H,iBAAkB,SAAU/sG,EAAM3wB,EAAOC,EAAQgmE,EAAWC,EAAY52B,GAIpE,GAFc1sC,SAAV0sC,IAAuBA,EAAQj2C,KAAKE,KAAKuE,OAEZ,OAA7BzE,KAAK6lI,cAAcvuG,GAGnB,WADA/kB,SAAQ2iB,KAAK,oEA0BjB,KAAK,GAHD63E,GAnBAqoB,GAEA99F,KAAMA,EACNjyB,EAAG,EACHC,EAAG,EACHqB,MAAOA,EACPC,OAAQA,EACRy8H,cAAe18H,EAAQimE,EACvB02D,eAAgB18H,EAASimE,EACzBrrE,MAAO,EACPC,SAAS,EACTmmF,cACAm+C,WACAtyE,aACAuyE,UACAv1H,KAAM,MAKNyoB,KAEK5zB,EAAI,EAAOsB,EAAJtB,EAAYA,IAC5B,CACIynG,IAEA,KAAK,GAAI1nG,GAAI,EAAOsB,EAAJtB,EAAWA,IAGvB0nG,EAAIhpG,KAAK,GAAImkB,GAAOw6G,KAAKtN,EAAO,GAAI/vH,EAAGC,EAAGsnE,EAAWC,GAGzD3zC,GAAOn1B,KAAKgpG,GAGhBqoB,EAAM3kH,KAAOyoB,EAEbl5B,KAAKk1H,OAAOnxH,KAAKqxH,GAEjBp1H,KAAK4jI,aAAe5jI,KAAKk1H,OAAOhyH,OAAS,CAEzC,IAAIkU,GAAIg+G,EAAMiO,cACV3gH,EAAI0yG,EAAMkO,cAEVlsH,GAAIpX,KAAKE,KAAKyG,QAEdyQ,EAAIpX,KAAKE,KAAKyG,OAGd+b,EAAI1iB,KAAKE,KAAK0G,SAEd8b,EAAI1iB,KAAKE,KAAK0G,OAGlB,IAAIsyB,GAAS,GAAIhR,GAAO49G,aAAa9lI,KAAKE,KAAMF,KAAMA,KAAKk1H,OAAOhyH,OAAS,EAAGkU,EAAGsL,EAGjF,OAFAwW,GAAO5B,KAAOA,EAEP2e,EAAMva,IAAIxC,IAarBoZ,SAAU,SAAUmrD,EAAUnmE,GAE1B,IAAK,GAAIr0B,GAAI,EAAGA,EAAIw6F,EAASv6F,OAAQD,IAEjC,GAAIw6F,EAASx6F,GAAGq0B,OAASA,EAErB,MAAOr0B,EAIf,OAAO,OAWX4iI,cAAe,SAAUvuG,GAErB,MAAOt3B,MAAKsyC,SAAStyC,KAAKk1H,OAAQ59F,IAWtCotG,gBAAiB,SAAUptG,GAEvB,MAAOt3B,MAAKsyC,SAAStyC,KAAKujI,SAAUjsG,IAWxC2uG,cAAe,SAAU3uG,GAErB,MAAOt3B,MAAKsyC,SAAStyC,KAAK03G,OAAQpgF,IAWtC4uG,eAAgB,SAAU5uG,GAEtB,MAAOt3B,MAAKsyC,SAAStyC,KAAK88F,QAASxlE,IAevC6uG,qBAAsB,SAAUJ,EAASnyF,EAAU5M,EAAiBouF,GAIhE,GAFAA,EAAQp1H,KAAKwlI,SAASpQ,GAEC,gBAAZ2Q,GAIP/lI,KAAKk1H,OAAOE,GAAO3hE,UAAUsyE,IAAanyF,SAAUA,EAAU5M,gBAAiBA,OAI/E,KAAK,GAAI/jC,GAAI,EAAG8xB,EAAMgxG,EAAQ7iI,OAAY6xB,EAAJ9xB,EAASA,IAE3CjD,KAAKk1H,OAAOE,GAAO3hE,UAAUsyE,EAAQ9iI,KAAQ2wC,SAAUA,EAAU5M,gBAAiBA,IAoB9Fo/F,wBAAyB,SAAU/gI,EAAGC,EAAGqB,EAAOC,EAAQgtC,EAAU5M,EAAiBouF,GAM/E,GAJAA,EAAQp1H,KAAKwlI,SAASpQ,GAEtBp1H,KAAKu3B,KAAKlyB,EAAGC,EAAGqB,EAAOC,EAAQwuH,KAE3Bp1H,KAAK8jI,SAAS5gI,OAAS,GAK3B,IAAK,GAAID,GAAI,EAAGA,EAAIjD,KAAK8jI,SAAS5gI,OAAQD,IAEtCjD,KAAK8jI,SAAS7gI,GAAG4/H,qBAAqBjvF,EAAU5M,IAexD87F,aAAc,SAAUiD,EAAS9C,EAAU7N,EAAOiR,GAO9C,GALiB98H,SAAb05H,IAA0BA,GAAW,GACrB15H,SAAhB88H,IAA6BA,GAAc,GAE/CjR,EAAQp1H,KAAKwlI,SAASpQ,GAEC,gBAAZ2Q,GAEP,MAAO/lI,MAAKsmI,oBAAoBP,EAAS9C,EAAU7N,GAAO,EAEzD,IAAIz0H,MAAMoR,QAAQg0H,GACvB,CAEI,IAAK,GAAI9iI,GAAI,EAAGA,EAAI8iI,EAAQ7iI,OAAQD,IAEhCjD,KAAKsmI,oBAAoBP,EAAQ9iI,GAAIggI,EAAU7N,GAAO,EAGtDiR,IAGArmI,KAAKumI,eAAenR,KAkBhCoR,oBAAqB,SAAUt7H,EAAOJ,EAAMm4H,EAAU7N,EAAOiR,GAOzD,GALiB98H,SAAb05H,IAA0BA,GAAW,GACrB15H,SAAhB88H,IAA6BA,GAAc,GAE/CjR,EAAQp1H,KAAKwlI,SAASpQ,KAElBlqH,EAAQJ,GAAZ,CAKA,IAAK,GAAItC,GAAQ0C,EAAgBJ,GAATtC,EAAeA,IAEnCxI,KAAKsmI,oBAAoB99H,EAAOy6H,EAAU7N,GAAO,EAGjDiR,IAGArmI,KAAKumI,eAAenR,KAe5BqR,wBAAyB,SAAUV,EAAS9C,EAAU7N,EAAOiR,GAExC98H,SAAb05H,IAA0BA,GAAW,GACrB15H,SAAhB88H,IAA6BA,GAAc,GAE/CjR,EAAQp1H,KAAKwlI,SAASpQ,EAGtB,KAAK,GAAInyH,GAAI,EAAG8xB,EAAM/0B,KAAKyjI,MAAMvgI,OAAY6xB,EAAJ9xB,EAASA,IAEnB,KAAvB8iI,EAAQ98H,QAAQhG,IAEhBjD,KAAKsmI,oBAAoBrjI,EAAGggI,EAAU7N,GAAO,EAIjDiR,IAGArmI,KAAKumI,eAAenR,IAgB5BkR,oBAAqB,SAAU99H,EAAOy6H,EAAU7N,EAAOiR,GAMnD,GAJiB98H,SAAb05H,IAA0BA,GAAW,GAC3B15H,SAAV6rH,IAAuBA,EAAQp1H,KAAK4jI,cACpBr6H,SAAhB88H,IAA6BA,GAAc,GAE3CpD,EAEAjjI,KAAK0jI,eAAe3/H,KAAKyE,OAG7B,CACI,GAAIvF,GAAIjD,KAAK0jI,eAAez6H,QAAQT,EAEhCvF,GAAI,IAEJjD,KAAK0jI,eAAeh7H,OAAOzF,EAAG,GAItC,IAAK,GAAIqC,GAAI,EAAGA,EAAItF,KAAKk1H,OAAOE,GAAOxuH,OAAQtB,IAE3C,IAAK,GAAID,GAAI,EAAGA,EAAIrF,KAAKk1H,OAAOE,GAAOzuH,MAAOtB,IAC9C,CACI,GAAI67H,GAAOlhI,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,EAElC67H,IAAQA,EAAK14H,QAAUA,IAEnBy6H,EAEA/B,EAAK4B,cAAa,GAAM,GAAM,GAAM,GAIpC5B,EAAK6B,iBAGT7B,EAAKK,QAAU0B,EACf/B,EAAKM,WAAayB,EAClB/B,EAAKG,SAAW4B,EAChB/B,EAAKI,UAAY2B,GAW7B,MANIoD,IAGArmI,KAAKumI,eAAenR,GAGjBA,GAYXoQ,SAAU,SAAUpQ,GAehB,MAbc7rH,UAAV6rH,EAEAA,EAAQp1H,KAAK4jI,aAES,gBAAVxO,GAEZA,EAAQp1H,KAAK6lI,cAAczQ,GAEtBA,YAAiBltG,GAAO49G,eAE7B1Q,EAAQA,EAAM5sH,OAGX4sH,GAWXsR,sBAAuB,SAAUjjI,GAQ7B,GANIA,KAAU,GAAQzD,KAAK2mI,yBAA0B,IAEjD3mI,KAAK2mI,uBAAwB,EAC7B3mI,KAAK4mI,sBAGLnjI,KAAU,GAASzD,KAAK2mI,yBAA0B,EACtD,CACI3mI,KAAK2mI,uBAAwB,CAE7B,KAAK,GAAI1jI,KAAKjD,MAAK4mI,kBAEf5mI,KAAKumI,eAAetjI,EAGxBjD,MAAK4mI,mBAAoB,IAYjCL,eAAgB,SAAUnR,GAEtB,GAAIp1H,KAAK2mI,sBAGL,YADA3mI,KAAK4mI,kBAAkBxR,IAAS,EASpC,KAAK,GALDyR,GAAQ,KACRC,EAAQ,KACR/vG,EAAO,KACPD,EAAQ,KAEHxxB,EAAI,EAAGod,EAAI1iB,KAAKk1H,OAAOE,GAAOxuH,OAAY8b,EAAJpd,EAAOA,IAElD,IAAK,GAAID,GAAI,EAAG+R,EAAIpX,KAAKk1H,OAAOE,GAAOzuH,MAAWyQ,EAAJ/R,EAAOA,IACrD,CACI,GAAI67H,GAAOlhI,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,EAElC67H,KAEA2F,EAAQ7mI,KAAK+mI,aAAa3R,EAAO/vH,EAAGC,GACpCwhI,EAAQ9mI,KAAKgnI,aAAa5R,EAAO/vH,EAAGC,GACpCyxB,EAAO/2B,KAAKinI,YAAY7R,EAAO/vH,EAAGC,GAClCwxB,EAAQ92B,KAAKknI,aAAa9R,EAAO/vH,EAAGC,GAEhC47H,EAAK+B,WAEL/B,EAAKK,SAAU,EACfL,EAAKM,YAAa,EAClBN,EAAKG,UAAW,EAChBH,EAAKI,WAAY,GAGjBuF,GAASA,EAAM5D,WAGf/B,EAAKK,SAAU,GAGfuF,GAASA,EAAM7D,WAGf/B,EAAKM,YAAa,GAGlBzqG,GAAQA,EAAKksG,WAGb/B,EAAKG,UAAW,GAGhBvqG,GAASA,EAAMmsG,WAGf/B,EAAKI,WAAY,MAiBrCyF,aAAc,SAAU3R,EAAO/vH,EAAGC,GAE9B,MAAIA,GAAI,EAEGtF,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,EAAI,GAAGD,GAGnC,MAaX2hI,aAAc,SAAU5R,EAAO/vH,EAAGC,GAE9B,MAAIA,GAAItF,KAAKk1H,OAAOE,GAAOxuH,OAAS,EAEzB5G,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,EAAI,GAAGD,GAGnC,MAaX4hI,YAAa,SAAU7R,EAAO/vH,EAAGC,GAE7B,MAAID,GAAI,EAEGrF,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,EAAI,GAGnC,MAaX6hI,aAAc,SAAU9R,EAAO/vH,EAAGC,GAE9B,MAAID,GAAIrF,KAAKk1H,OAAOE,GAAOzuH,MAAQ,EAExB3G,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,EAAI,GAGnC,MAUX8hI,SAAU,SAAU/R,GAEhBA,EAAQp1H,KAAKwlI,SAASpQ,GAElBp1H,KAAKk1H,OAAOE,KAEZp1H,KAAK4jI,aAAexO,IAc5BgS,QAAS,SAAU/hI,EAAGC,EAAG8vH,GAIrB,MAFAA,GAAQp1H,KAAKwlI,SAASpQ,GAEdp1H,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAAGmD,MAAQ,IAalD6+H,WAAY,SAAUhiI,EAAGC,EAAG8vH,GAIxB,GAFAA,EAAQp1H,KAAKwlI,SAASpQ,GAElB/vH,GAAK,GAAKA,EAAIrF,KAAKk1H,OAAOE,GAAOzuH,OAASrB,GAAK,GAAKA,EAAItF,KAAKk1H,OAAOE,GAAOxuH,QAEvE5G,KAAKonI,QAAQ/hI,EAAGC,EAAG8vH,GACvB,CACI,GAAI8L,GAAOlhI,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,EAQtC,OANArF,MAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAAK,GAAI6iB,GAAOw6G,KAAK1iI,KAAKk1H,OAAOE,GAAQ,GAAI/vH,EAAGC,EAAGtF,KAAK4sE,UAAW5sE,KAAK6sE,YAEnG7sE,KAAKk1H,OAAOE,GAAO3hH,OAAQ,EAE3BzT,KAAKumI,eAAenR,GAEb8L,IAiBnBoG,kBAAmB,SAAUjiI,EAAGC,EAAGsnE,EAAWC,EAAYuoD,GAOtD,MALAA,GAAQp1H,KAAKwlI,SAASpQ,GAEtB/vH,EAAIrF,KAAKE,KAAK+jC,KAAK60D,YAAYzzF,EAAGunE,GAAaA,EAC/CtnE,EAAItF,KAAKE,KAAK+jC,KAAK60D,YAAYxzF,EAAGunE,GAAcA,EAEzC7sE,KAAKqnI,WAAWhiI,EAAGC,EAAG8vH,IAejCmS,QAAS,SAAUrG,EAAM77H,EAAGC,EAAG8vH,GAE3B,GAAa,OAAT8L,EAEA,MAAOlhI,MAAKqnI,WAAWhiI,EAAGC,EAAG8vH,EAKjC,IAFAA,EAAQp1H,KAAKwlI,SAASpQ,GAElB/vH,GAAK,GAAKA,EAAIrF,KAAKk1H,OAAOE,GAAOzuH,OAASrB,GAAK,GAAKA,EAAItF,KAAKk1H,OAAOE,GAAOxuH,OAC/E,CACI,GAAI4B,EA0CJ,OAxCI04H,aAAgBh5G,GAAOw6G,MAEvBl6H,EAAQ04H,EAAK14H,MAETxI,KAAKonI,QAAQ/hI,EAAGC,EAAG8vH,GAEnBp1H,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAAGkyB,KAAK2pG,GAInClhI,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAAK,GAAI6iB,GAAOw6G,KAAKtN,EAAO5sH,EAAOnD,EAAGC,EAAG47H,EAAKv6H,MAAOu6H,EAAKt6H,UAKzF4B,EAAQ04H,EAEJlhI,KAAKonI,QAAQ/hI,EAAGC,EAAG8vH,GAEnBp1H,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAAGmD,MAAQA,EAItCxI,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAAK,GAAI6iB,GAAOw6G,KAAK1iI,KAAKk1H,OAAOE,GAAQ5sH,EAAOnD,EAAGC,EAAGtF,KAAK4sE,UAAW5sE,KAAK6sE,aAI1G7sE,KAAK0jI,eAAez6H,QAAQT,GAAS,GAErCxI,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAAGy9H,cAAa,GAAM,GAAM,GAAM,GAI7D9iI,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAAG09H,iBAGlC/iI,KAAKk1H,OAAOE,GAAO3hH,OAAQ,EAE3BzT,KAAKumI,eAAenR,GAEbp1H,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAGtC,MAAO,OAgBXmiI,eAAgB,SAAUtG,EAAM77H,EAAGC,EAAGsnE,EAAWC,EAAYuoD,GAOzD,MALAA,GAAQp1H,KAAKwlI,SAASpQ,GAEtB/vH,EAAIrF,KAAKE,KAAK+jC,KAAK60D,YAAYzzF,EAAGunE,GAAaA,EAC/CtnE,EAAItF,KAAKE,KAAK+jC,KAAK60D,YAAYxzF,EAAGunE,GAAcA,EAEzC7sE,KAAKunI,QAAQrG,EAAM77H,EAAGC,EAAG8vH,IAiBpCqS,gBAAiB,SAAUj/H,EAAOk/H,EAAMhqH,EAAS03G,GAEhC7rH,SAATm+H,IAAsBA,EAAO,GACjBn+H,SAAZmU,IAAyBA,GAAU,GAEvC03G,EAAQp1H,KAAKwlI,SAASpQ,EAEtB,IAAIxwH,GAAI,CAER,IAAI8Y,GAEA,IAAK,GAAIpY,GAAItF,KAAKk1H,OAAOE,GAAOxuH,OAAS,EAAGtB,GAAK,EAAGA,IAEhD,IAAK,GAAID,GAAIrF,KAAKk1H,OAAOE,GAAOzuH,MAAQ,EAAGtB,GAAK,EAAGA,IAE/C,GAAIrF,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAAGmD,QAAUA,EAC5C,CACI,GAAI5D,IAAM8iI,EAEN,MAAO1nI,MAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,EAIlCT,UAQhB,KAAK,GAAIU,GAAI,EAAGA,EAAItF,KAAKk1H,OAAOE,GAAOxuH,OAAQtB,IAE3C,IAAK,GAAID,GAAI,EAAGA,EAAIrF,KAAKk1H,OAAOE,GAAOzuH,MAAOtB,IAE1C,GAAIrF,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAAGmD,QAAUA,EAC5C,CACI,GAAI5D,IAAM8iI,EAEN,MAAO1nI,MAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,EAIlCT,KAOpB,MAAO,OAcX+iI,QAAS,SAAUtiI,EAAGC,EAAG8vH,EAAOwS,GAM5B,MAJgBr+H,UAAZq+H,IAAyBA,GAAU,GAEvCxS,EAAQp1H,KAAKwlI,SAASpQ,GAElB/vH,GAAK,GAAKA,EAAIrF,KAAKk1H,OAAOE,GAAOzuH,OAASrB,GAAK,GAAKA,EAAItF,KAAKk1H,OAAOE,GAAOxuH,OAE/B,KAAxC5G,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAAGmD,MAE1Bo/H,EAEO5nI,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAI3B,KAKJrF,KAAKk1H,OAAOE,GAAO3kH,KAAKnL,GAAGD,GAK/B,MAiBfwiI,eAAgB,SAAUxiI,EAAGC,EAAGsnE,EAAWC,EAAYuoD,EAAOwS,GAU1D,MARkBr+H,UAAdqjE,IAA2BA,EAAY5sE,KAAK4sE,WAC7BrjE,SAAfsjE,IAA4BA,EAAa7sE,KAAK6sE,YAElDuoD,EAAQp1H,KAAKwlI,SAASpQ,GAEtB/vH,EAAIrF,KAAKE,KAAK+jC,KAAK60D,YAAYzzF,EAAGunE,GAAaA,EAC/CtnE,EAAItF,KAAKE,KAAK+jC,KAAK60D,YAAYxzF,EAAGunE,GAAcA,EAEzC7sE,KAAK2nI,QAAQtiI,EAAGC,EAAG8vH,EAAOwS,IAerCrwG,KAAM,SAAUlyB,EAAGC,EAAGqB,EAAOC,EAAQwuH,GAIjC,GAFAA,EAAQp1H,KAAKwlI,SAASpQ,IAEjBp1H,KAAKk1H,OAAOE,GAGb,YADAp1H,KAAK8jI,SAAS5gI,OAAS,EAIjBqG,UAANlE,IAAmBA,EAAI,GACjBkE,SAANjE,IAAmBA,EAAI,GACbiE,SAAV5C,IAAuBA,EAAQ3G,KAAKk1H,OAAOE,GAAOzuH,OACvC4C,SAAX3C,IAAwBA,EAAS5G,KAAKk1H,OAAOE,GAAOxuH,QAEhD,EAAJvB,IAEAA,EAAI,GAGA,EAAJC,IAEAA,EAAI,GAGJqB,EAAQ3G,KAAKk1H,OAAOE,GAAOzuH,QAE3BA,EAAQ3G,KAAKk1H,OAAOE,GAAOzuH,OAG3BC,EAAS5G,KAAKk1H,OAAOE,GAAOxuH,SAE5BA,EAAS5G,KAAKk1H,OAAOE,GAAOxuH,QAGhC5G,KAAK8jI,SAAS5gI,OAAS,EAEvBlD,KAAK8jI,SAAS//H,MAAOsB,EAAGA,EAAGC,EAAGA,EAAGqB,MAAOA,EAAOC,OAAQA,EAAQwuH,MAAOA,GAEtE,KAAK,GAAIrwH,GAAKO,EAAQA,EAAIsB,EAAT7B,EAAiBA,IAE9B,IAAK,GAAID,GAAKO,EAAQA,EAAIsB,EAAT7B,EAAgBA,IAE7B9E,KAAK8jI,SAAS//H,KAAK/D,KAAKk1H,OAAOE,GAAO3kH,KAAK1L,GAAID,GAIvD,OAAO9E,MAAK8jI,UAahBgE,MAAO,SAAUziI,EAAGC,EAAGyiI,EAAW3S,GAO9B,GALU7rH,SAANlE,IAAmBA,EAAI,GACjBkE,SAANjE,IAAmBA,EAAI,GAE3B8vH,EAAQp1H,KAAKwlI,SAASpQ,GAEjB2S,KAAaA,EAAU7kI,OAAS,GAArC,CASA,IAAK,GAHDwpF,GAAQrnF,EAAI0iI,EAAU,GAAG1iI,EACzBsnF,EAAQrnF,EAAIyiI,EAAU,GAAGziI,EAEpBrC,EAAI,EAAGA,EAAI8kI,EAAU7kI,OAAQD,IAElCjD,KAAKk1H,OAAOE,GAAO3kH,KAAMk8E,EAAQo7C,EAAU9kI,GAAGqC,GAAKonF,EAAQq7C,EAAU9kI,GAAGoC,GAAIkyB,KAAKwwG,EAAU9kI,GAGrGjD,MAAKk1H,OAAOE,GAAO3hH,OAAQ,EACrBzT,KAAKumI,eAAenR,KAgBxBjjF,KAAM,SAAU61F,EAAOC,EAAO5iI,EAAGC,EAAGqB,EAAOC,EAAQwuH,GAE/CA,EAAQp1H,KAAKwlI,SAASpQ,GAEtBp1H,KAAKu3B,KAAKlyB,EAAGC,EAAGqB,EAAOC,EAAQwuH,GAE3Bp1H,KAAK8jI,SAAS5gI,OAAS,IAK3BlD,KAAK+jI,OAASiE,EACdhoI,KAAKgyE,OAASi2D,EAEdjoI,KAAK8jI,SAASlvG,QAAQ50B,KAAKkoI,YAAaloI,MAExCA,KAAK8nI,MAAMziI,EAAGC,EAAGtF,KAAK8jI,SAAU1O,KAWpC8S,YAAa,SAAUzkI,GAEfA,EAAM+E,QAAUxI,KAAK+jI,OAGrBtgI,EAAM+E,MAAQxI,KAAKgyE,OAEdvuE,EAAM+E,QAAUxI,KAAKgyE,SAG1BvuE,EAAM+E,MAAQxI,KAAK+jI,SAiB3BnvG,QAAS,SAAUgf,EAAU3mC,EAAS5H,EAAGC,EAAGqB,EAAOC,EAAQwuH,GAEvDA,EAAQp1H,KAAKwlI,SAASpQ,GAEtBp1H,KAAKu3B,KAAKlyB,EAAGC,EAAGqB,EAAOC,EAAQwuH,GAE3Bp1H,KAAK8jI,SAAS5gI,OAAS,IAK3BlD,KAAK8jI,SAASlvG,QAAQgf,EAAU3mC,GAEhCjN,KAAK8nI,MAAMziI,EAAGC,EAAGtF,KAAK8jI,SAAU1O,KAgBpCv9F,QAAS,SAAUxpB,EAAQ0qB,EAAM1zB,EAAGC,EAAGqB,EAAOC,EAAQwuH,GAMlD,GAJAA,EAAQp1H,KAAKwlI,SAASpQ,GAEtBp1H,KAAKu3B,KAAKlyB,EAAGC,EAAGqB,EAAOC,EAAQwuH,KAE3Bp1H,KAAK8jI,SAAS5gI,OAAS,GAA3B,CAKA,IAAK,GAAID,GAAI,EAAGA,EAAIjD,KAAK8jI,SAAS5gI,OAAQD,IAElCjD,KAAK8jI,SAAS7gI,GAAGuF,QAAU6F,IAE3BrO,KAAK8jI,SAAS7gI,GAAGuF,MAAQuwB,EAIjC/4B,MAAK8nI,MAAMziI,EAAGC,EAAGtF,KAAK8jI,SAAU1O,KAcpCr/F,OAAQ,SAAU1wB,EAAGC,EAAGqB,EAAOC,EAAQwuH,GAMnC,GAJAA,EAAQp1H,KAAKwlI,SAASpQ,GAEtBp1H,KAAKu3B,KAAKlyB,EAAGC,EAAGqB,EAAOC,EAAQwuH,KAE3Bp1H,KAAK8jI,SAAS5gI,OAAS,GAA3B,CAOA,IAAK,GAFD6iI,MAEKjxG,EAAI,EAAGA,EAAI90B,KAAK8jI,SAAS5gI,OAAQ4xB,IAEtC,GAAI90B,KAAK8jI,SAAShvG,GAAGtsB,MACrB,CACI,GAAIuI,GAAM/Q,KAAK8jI,SAAShvG,GAAGtsB,KAEE,MAAzBu9H,EAAQ98H,QAAQ8H,IAEhBg1H,EAAQhiI,KAAKgN,GAKzB,IAAK,GAAI9N,GAAI,EAAGA,EAAIjD,KAAK8jI,SAAS5gI,OAAQD,IAEtCjD,KAAK8jI,SAAS7gI,GAAGuF,MAAQxI,KAAKE,KAAKqkC,IAAIi4D,KAAKupC,EAGhD/lI,MAAK8nI,MAAMziI,EAAGC,EAAGtF,KAAK8jI,SAAU1O,KAcpCtD,QAAS,SAAUzsH,EAAGC,EAAGqB,EAAOC,EAAQwuH,GAMpC,GAJAA,EAAQp1H,KAAKwlI,SAASpQ,GAEtBp1H,KAAKu3B,KAAKlyB,EAAGC,EAAGqB,EAAOC,EAAQwuH,KAE3Bp1H,KAAK8jI,SAAS5gI,OAAS,GAA3B,CAOA,IAAK,GAFD6iI,MAEKjxG,EAAI,EAAGA,EAAI90B,KAAK8jI,SAAS5gI,OAAQ4xB,IAElC90B,KAAK8jI,SAAShvG,GAAGtsB,OAEjBu9H,EAAQhiI,KAAK/D,KAAK8jI,SAAShvG,GAAGtsB,MAItC0f,GAAO2tB,WAAWi8E,QAAQiU,EAE1B,KAAK,GAAI9iI,GAAI,EAAGA,EAAIjD,KAAK8jI,SAAS5gI,OAAQD,IAEtCjD,KAAK8jI,SAAS7gI,GAAGuF,MAAQu9H,EAAQ9iI,EAAI,EAGzCjD,MAAK8nI,MAAMziI,EAAGC,EAAGtF,KAAK8jI,SAAU1O,KAepC/mG,KAAM,SAAU7lB,EAAOnD,EAAGC,EAAGqB,EAAOC,EAAQwuH,GAMxC,GAJAA,EAAQp1H,KAAKwlI,SAASpQ,GAEtBp1H,KAAKu3B,KAAKlyB,EAAGC,EAAGqB,EAAOC,EAAQwuH,KAE3Bp1H,KAAK8jI,SAAS5gI,OAAS,GAA3B,CAKA,IAAK,GAAID,GAAI,EAAGA,EAAIjD,KAAK8jI,SAAS5gI,OAAQD,IAEtCjD,KAAK8jI,SAAS7gI,GAAGuF,MAAQA,CAG7BxI,MAAK8nI,MAAMziI,EAAGC,EAAGtF,KAAK8jI,SAAU1O,KASpC+S,gBAAiB,WAEbnoI,KAAKk1H,OAAOhyH,OAAS,EACrBlD,KAAK4jI,aAAe,GASxBwE,KAAM,WAKF,IAAK,GAHDC,GAAM,GACNj0G,GAAQ,IAEH9uB,EAAI,EAAGA,EAAItF,KAAKk1H,OAAOl1H,KAAK4jI,cAAch9H,OAAQtB,IAC3D,CACI,IAAK,GAAID,GAAI,EAAGA,EAAIrF,KAAKk1H,OAAOl1H,KAAK4jI,cAAcj9H,MAAOtB,IAEtDgjI,GAAO,OAEHroI,KAAKk1H,OAAOl1H,KAAK4jI,cAAcnzH,KAAKnL,GAAGD,GAAK,EAExCrF,KAAK6jI,SAAS7jI,KAAKk1H,OAAOl1H,KAAK4jI,cAAcnzH,KAAKnL,GAAGD,IAErD+uB,EAAKrwB,KAAK,eAAiB/D,KAAK6jI,SAAS7jI,KAAKk1H,OAAOl1H,KAAK4jI,cAAcnzH,KAAKnL,GAAGD,KAIhF+uB,EAAKrwB,KAAK,uBAKdqwB,EAAKrwB,KAAK,2BAIlBskI,IAAO,KAGXj0G,EAAK,GAAKi0G,EACV91H,QAAQC,IAAIvL,MAAMsL,QAAS6hB,IAU/BrxB,QAAS,WAEL/C,KAAKmoI,kBACLnoI,KAAKyQ,QACLzQ,KAAKE,KAAO,OAMpBgoB,EAAO4kD,QAAQjqE,UAAUC,YAAcolB,EAAO4kD,QAM9C1pE,OAAOC,eAAe6kB,EAAO4kD,QAAQjqE,UAAW,SAE5CS,IAAK,WAED,MAAOtD,MAAKk1H,OAAOl1H,KAAK4jI,eAI5BpgI,IAAK,SAAUC,GAEPA,IAAUzD,KAAK4jI,cAEf5jI,KAAKmnI,SAAS1jI,MA6B1BykB,EAAO49G,aAAe,SAAU5lI,EAAMysE,EAASnkE,EAAO7B,EAAOC,GAEzDD,GAAS,EACTC,GAAU,EAEVshB,EAAOzgB,OAAO/B,KAAK1F,KAAME,EAAM,EAAG,GAQlCF,KAAKsoI,IAAM37D,EAQX3sE,KAAKwI,MAAQA,EAQbxI,KAAKo1H,MAAQzoD,EAAQuoD,OAAO1sH,GAO5BxI,KAAKqQ,OAASpQ,KAAKqQ,WAAWpI,OAAOlI,KAAM2G,EAAOC,GAOlD5G,KAAKiN,QAAUjN,KAAKqQ,OAAOE,WAAW,MAEtCvQ,KAAK+L,WAAW,GAAI9L,MAAKoL,QAAQ,GAAIpL,MAAK4oB,YAAY7oB,KAAKqQ,UAS3DrQ,KAAK4U,KAAOsT,EAAOuK,aAMnBzyB,KAAKgwC,YAAc9nB,EAAOuK,aAe1BzyB,KAAKuoI,gBACDC,mBAAmB,EACnBC,cAAe,GACfC,WAAY,MAShB1oI,KAAK8nC,OAAQ,EAKb9nC,KAAKqtC,QAAS,EAkBdrtC,KAAK2oI,eAEDC,iBAAkB,mBAClBC,qBAAsB,oBAEtBC,iBAAiB,EAEjBC,WAAY,GACZC,iBAAkB,kBAClBC,sBAAuB,qBAU3BjpI,KAAKkpI,cAAgB,EAQrBlpI,KAAKmpI,cAAgB,EAOrBnpI,KAAKyT,OAAQ,EAObzT,KAAKopI,YAAc,EAOnBppI,KAAKqpI,OAAQ,EAObrpI,KAAKspI,KAGDpZ,QAAS,EACTF,QAAS,EACTuZ,YAAa,EACbC,aAAc,EAEd58D,UAAWD,EAAQC,UACnBC,WAAYF,EAAQE,WAKpBh/D,GAAI8+D,EAAQC,UACZ9+D,GAAI6+D,EAAQE,WAGZ02D,aASJvjI,KAAKypI,SAAW,EAOhBzpI,KAAK0pI,SAAW,EAOhB1pI,KAAK8jI,YAEA5jI,EAAK0uC,OAAO6/C,oBAEbzuF,KAAKuoI,eAAeG,WAAaxgH,EAAO49G,aAAa6D,0BAGzD3pI,KAAK0wC,eAAgB,GAIzBxoB,EAAO49G,aAAajjI,UAAYO,OAAO8E,OAAOggB,EAAOzgB,OAAO5E,WAC5DqlB,EAAO49G,aAAajjI,UAAUC,YAAcolB,EAAO49G,aAEnD59G,EAAO49G,aAAajjI,UAAU8qE,cAAgBzlD,EAAO+6C,UAAUe,KAAK79D,UAQpE+hB,EAAO49G,aAAa8D,iBAAmB,KAWvC1hH,EAAO49G,aAAa6D,uBAAyB,WAOzC,MALK3pI,MAAK4pI,mBAEN5pI,KAAK4pI,iBAAmB1hH,EAAOC,OAAOjgB,OAAO,EAAG,IAG7ClI,KAAK4pI,kBAShB1hH,EAAO49G,aAAajjI,UAAUsD,UAAY,WAEtC,MAAOnG,MAAK2tE,iBAUhBzlD,EAAO49G,aAAajjI,UAAUqqC,WAAa,WAEvChlB,EAAO+6C,UAAUuB,cAAct3B,WAAWxnC,KAAK1F,KAG/C,IAAI6jC,GAAS7jC,KAAKE,KAAK2jC,MAEvB7jC,MAAKkwH,QAAUrsF,EAAOx+B,EAAIrF,KAAKkpI,cAAgBlpI,KAAKqB,MAAMgE,EAC1DrF,KAAKgwH,QAAUnsF,EAAOv+B,EAAItF,KAAKmpI,cAAgBnpI,KAAKqB,MAAMiE,EAE1DtF,KAAK8G,UASTohB,EAAO49G,aAAajjI,UAAUE,QAAU,WAEpC9C,KAAKqQ,WAAWI,OAAO1Q,MAEvBkoB,EAAO+6C,UAAUqC,QAAQziE,UAAUE,QAAQ2C,KAAK1F,OAiBpDkoB,EAAO49G,aAAajjI,UAAUgF,OAAS,SAAUlB,EAAOC,GAEpD5G,KAAKqQ,OAAO1J,MAAQA,EACpB3G,KAAKqQ,OAAOzJ,OAASA,EAErB5G,KAAK4H,QAAQkE,MAAMjE,OAAOlB,EAAOC,GAEjC5G,KAAK4H,QAAQjB,MAAQA,EACrB3G,KAAK4H,QAAQhB,OAASA,EAEtB5G,KAAK4H,QAAQmF,KAAKpG,MAAQA,EAC1B3G,KAAK4H,QAAQmF,KAAKnG,OAASA,EAE3B5G,KAAK4H,QAAQ+D,YAAYhF,MAAQA,EACjC3G,KAAK4H,QAAQ+D,YAAY/E,OAASA,EAElC5G,KAAK4H,QAAQ+D,YAAY8H,QACzBzT,KAAK4H,QAAQoiB,gBAAiB,EAE9BhqB,KAAK4H,QAAQuiB,aAEbnqB,KAAKyT,OAAQ,GAUjByU,EAAO49G,aAAajjI,UAAUgnI,YAAc,WAExC7pI,KAAKE,KAAKuE,MAAM+xC,UAAU,EAAG,EAAGx2C,KAAKo1H,MAAMiO,cAAgBrjI,KAAKqB,MAAMgE,EAAGrF,KAAKo1H,MAAMkO,eAAiBtjI,KAAKqB,MAAMiE,IAYpH4iB,EAAO49G,aAAajjI,UAAUinI,MAAQ,SAAUzkI,GAO5C,MALQ,GAAJA,IAEAA,EAAI,GAGmB,IAAvBrF,KAAKkpI,cAEE7jI,EAGJrF,KAAKypI,UAAYpkI,EAAKrF,KAAKypI,SAAWzpI,KAAKkpI,gBAYtDhhH,EAAO49G,aAAajjI,UAAUknI,QAAU,SAAU1kI,GAE9C,MAA2B,KAAvBrF,KAAKkpI,cAEE7jI,EAGHrF,KAAKypI,SAAWzpI,KAAKkpI,eAAkB7jI,EAAIrF,KAAKypI,WAY5DvhH,EAAO49G,aAAajjI,UAAUmnI,MAAQ,SAAU1kI,GAO5C,MALQ,GAAJA,IAEAA,EAAI,GAGmB,IAAvBtF,KAAKmpI,cAEE7jI,EAGJtF,KAAK0pI,UAAYpkI,EAAKtF,KAAK0pI,SAAW1pI,KAAKmpI,gBAYtDjhH,EAAO49G,aAAajjI,UAAUonI,QAAU,SAAU3kI,GAE9C,MAA2B,KAAvBtF,KAAKmpI,cAEE7jI,EAGHtF,KAAK0pI,SAAW1pI,KAAKmpI,eAAkB7jI,EAAItF,KAAK0pI,WAY5DxhH,EAAO49G,aAAajjI,UAAUqnI,SAAW,SAAU7kI,GAG/C,MAAOxE,MAAKizB,MAAM9zB,KAAK8pI,MAAMzkI,GAAKrF,KAAKspI,IAAI18D,YAY/C1kD,EAAO49G,aAAajjI,UAAUsnI,SAAW,SAAU7kI,GAG/C,MAAOzE,MAAKizB,MAAM9zB,KAAKgqI,MAAM1kI,GAAKtF,KAAKspI,IAAIz8D,aAc/C3kD,EAAO49G,aAAajjI,UAAUunI,UAAY,SAAU/kI,EAAGC,EAAGupB,GAKtD,MAHAA,GAAMxpB,EAAIrF,KAAKkqI,SAAS7kI,GACxBwpB,EAAMvpB,EAAItF,KAAKmqI,SAAS7kI,GAEjBupB,GAeX3G,EAAO49G,aAAajjI,UAAUwnI,gBAAkB,SAAUjvG,EAAMgB,EAAU6mG,EAAUqH,GAE3EluG,IAAYA,EAAWp8B,KAAKopI,aAChB7/H,SAAb05H,IAA0BA,GAAW,GACjB15H,SAApB+gI,IAAiCA,GAAkB,EAGvD,IAAI7G,GAAQzjI,KAAKghI,SAAS5lG,EAAK/1B,EAAG+1B,EAAK91B,EAAG81B,EAAKz0B,MAAOy0B,EAAKx0B,OAAQq8H,EAAUqH,EAE7E,IAAqB,IAAjB7G,EAAMvgI,OAEN,QAOJ,KAAK,GAHDqtH,GAASn1F,EAAKe,kBAAkBC,GAChCC,KAEKp5B,EAAI,EAAGA,EAAIwgI,EAAMvgI,OAAQD,IAE9B,IAAK,GAAI6xB,GAAI,EAAGA,EAAIy7F,EAAOrtH,OAAQ4xB,IACnC,CACI,GAAIosG,GAAOuC,EAAMxgI,GACbsnI,EAAQha,EAAOz7F,EACnB,IAAIosG,EAAKr/F,cAAc0oG,EAAM,GAAIA,EAAM,IACvC,CACIluG,EAAQt4B,KAAKm9H,EACb,QAKZ,MAAO7kG,IAiBXnU,EAAO49G,aAAajjI,UAAUm+H,SAAW,SAAU37H,EAAGC,EAAGqB,EAAOC,EAAQq8H,EAAUqH,GAG7D/gI,SAAb05H,IAA0BA,GAAW,GACjB15H,SAApB+gI,IAAiCA,GAAkB,EAEvD,IAAIE,KAAavH,GAAYqH,EAG7BjlI,GAAIrF,KAAK8pI,MAAMzkI,GACfC,EAAItF,KAAKgqI,MAAM1kI,EASf,KANA,GAAIR,GAAKjE,KAAKizB,MAAMzuB,GAAKrF,KAAKspI,IAAIz7H,GAAK7N,KAAKqB,MAAMgE,IAC9CN,EAAKlE,KAAKizB,MAAMxuB,GAAKtF,KAAKspI,IAAIx7H,GAAK9N,KAAKqB,MAAMiE,IAE9C8kB,EAAKvpB,KAAKgzB,MAAMxuB,EAAIsB,IAAU3G,KAAKspI,IAAIz7H,GAAK7N,KAAKqB,MAAMgE,IAAMP,EAC7DulB,EAAKxpB,KAAKgzB,MAAMvuB,EAAIsB,IAAW5G,KAAKspI,IAAIx7H,GAAK9N,KAAKqB,MAAMiE,IAAMP,EAE3D/E,KAAK8jI,SAAS5gI,QAEjBlD,KAAK8jI,SAAShkH,KAGlB,KAAK,GAAI2qH,GAAK1lI,EAASA,EAAKslB,EAAVogH,EAAcA,IAE5B,IAAK,GAAIC,GAAK5lI,EAASA,EAAKslB,EAAVsgH,EAAcA,IAChC,CACI,GAAI39B,GAAM/sG,KAAKo1H,MAAM3kH,KAAKg6H,EAEtB19B,IAAOA,EAAI29B,KAEPF,GAAYz9B,EAAI29B,GAAI1H,cAAcC,EAAUqH,KAE5CtqI,KAAK8jI,SAAS//H,KAAKgpG,EAAI29B,IAMvC,MAAO1qI,MAAK8jI,SAAS7vG,SAazB/L,EAAO49G,aAAajjI,UAAU8nI,eAAiB,SAAUC,GAErD,GAAIrH,GAAWvjI,KAAKspI,IAAI/F,QAGxB,IAAgB,IAAZqH,EAEA,KAAOrH,EAASrgI,OAAS0nI,GAErBrH,EAASx/H,KAAKwF,OAItB,IAAIshI,GAAW7qI,KAAKsoI,IAAI7E,MAAMmH,IAAc5qI,KAAKsoI,IAAI7E,MAAMmH,GAAW,EAEtE,IAAgB,MAAZC,EACJ,CACI,GAAItG,GAAUvkI,KAAKsoI,IAAI/E,SAASsH,EAEhC,IAAItG,GAAWA,EAAQuG,kBAAkBF,GAErC,MAAQrH,GAASqH,GAAarG,EAItC,MAAQhB,GAASqH,GAAa,MAYlC1iH,EAAO49G,aAAajjI,UAAUkoI,kBAAoB,WAI9C,IAFA,GAAIxH,GAAWvjI,KAAKspI,IAAI/F,SAEjBA,EAASrgI,QAEZqgI,EAASzjH,OAYjBoI,EAAO49G,aAAajjI,UAAUmoI,SAAW,SAAUC,EAAQC,GAEvDD,EAASA,GAAU,EACnBC,EAASA,GAAUD,CAEnB,KAAK,GAAI3lI,GAAI,EAAGA,EAAItF,KAAKo1H,MAAM3kH,KAAKvN,OAAQoC,IAIxC,IAAK,GAFDynG,GAAM/sG,KAAKo1H,MAAM3kH,KAAKnL,GAEjBD,EAAI,EAAGA,EAAI0nG,EAAI7pG,OAAQmC,IAChC,CACI,GAAI67H,GAAOn0B,EAAI1nG,EAEf67H,GAAKv6H,MAAQ3G,KAAKsoI,IAAI17D,UAAYq+D,EAClC/J,EAAKt6H,OAAS5G,KAAKsoI,IAAIz7D,WAAaq+D,EAEpChK,EAAKlT,OAASkT,EAAK77H,EAAI67H,EAAKv6H,MAC5Bu6H,EAAKjT,OAASiT,EAAK57H,EAAI47H,EAAKt6H,OAIpC5G,KAAKqB,MAAMu3B,MAAMqyG,EAAQC,IAe7BhjH,EAAO49G,aAAajjI,UAAUsoI,YAAc,SAAUl+H,EAAS5H,EAAGC,GAE9D,GAAI+K,GAASpD,EAAQoD,OACjB+6H,EAAQ/6H,EAAO1J,MAAQ9F,KAAKi5B,IAAIz0B,GAChCgmI,EAAQh7H,EAAOzJ,OAAS/F,KAAKi5B,IAAIx0B,GAGjCkI,EAAK,EACLE,EAAK,EACL4uB,EAAKj3B,EACLk3B,EAAKj3B,CAED,GAAJD,IAEAmI,GAAMnI,EACNi3B,EAAK,GAGD,EAAJh3B,IAEAoI,GAAMpI,EACNi3B,EAAK,EAGT,IAAImsG,GAAa1oI,KAAKuoI,eAAeG,UAErC,IAAIA,EACJ,EAGQA,EAAW/hI,MAAQykI,GAAS1C,EAAW9hI,OAASykI,KAEhD3C,EAAW/hI,MAAQykI,EACnB1C,EAAW9hI,OAASykI,EAGxB,IAAIC,GAAc5C,EAAWn4H,WAAW,KACxC+6H,GAAY9kH,UAAU,EAAG,EAAG4kH,EAAOC,GACnCC,EAAYp9H,UAAUmC,EAAQ7C,EAAIE,EAAI09H,EAAOC,EAAO,EAAG,EAAGD,EAAOC,GAEjEp+H,EAAQuZ,UAAU8V,EAAIC,EAAI6uG,EAAOC,GACjCp+H,EAAQiB,UAAUw6H,EAAY,EAAG,EAAG0C,EAAOC,EAAO/uG,EAAIC,EAAI6uG,EAAOC,OAMjEp+H,GAAQyZ,OACRzZ,EAAQC,yBAA2B,OACnCD,EAAQiB,UAAUmC,EAAQ7C,EAAIE,EAAI09H,EAAOC,EAAO/uG,EAAIC,EAAI6uG,EAAOC,GAC/Dp+H,EAAQ8Z,WAkBhBmB,EAAO49G,aAAajjI,UAAU0oI,aAAe,SAAUrb,EAASF,EAASj5F,EAAMyC,EAAK1C,EAAO2C,GAEvF,GAAIxsB,GAAUjN,KAAKiN,QAEftG,EAAQ3G,KAAKo1H,MAAMzuH,MACnBC,EAAS5G,KAAKo1H,MAAMxuH,OACpBwjB,EAAKpqB,KAAKspI,IAAI18D,UACdviD,EAAKrqB,KAAKspI,IAAIz8D,WAEd02D,EAAWvjI,KAAKspI,IAAI/F,SACpBiI,EAAYnZ,GAEXryH,MAAKqpI,QAEMvyG,GAARC,IAEAA,EAAOl2B,KAAKm7B,IAAI,EAAGjF,GACnBD,EAAQj2B,KAAKi7B,IAAIn1B,EAAQ,EAAGmwB,IAErB2C,GAAPD,IAEAA,EAAM34B,KAAKm7B,IAAI,EAAGxC,GAClBC,EAAS54B,KAAKi7B,IAAIl1B,EAAS,EAAG6yB,IAKtC,IAUI30B,GAAIC,EAAIM,EAAGC,EAAGmmI,EAAMC,EAVpBC,EAAS50G,EAAO3M,EAAM8lG,EACtB0b,EAASpyG,EAAMnP,EAAM2lG,EAGrB6b,GAAc90G,GAAS,GAAK,IAAMpwB,GAAUA,EAC5CmlI,GAActyG,GAAQ,GAAK,IAAM5yB,GAAWA,CAShD,KAFAqG,EAAQia,UAAYlnB,KAAK+rI,UAEpBzmI,EAAIwmI,EAAYJ,EAAOjyG,EAASD,EAAKz0B,EAAK6mI,EAC3CF,GAAQ,EACRpmI,IAAKomI,IAAQ3mI,GAAMslB,EACvB,CAEQ/kB,GAAKsB,IAAUtB,GAAKsB,EAExB,IAAImmG,GAAM/sG,KAAKo1H,MAAM3kH,KAAKnL,EAE1B,KAAKD,EAAIwmI,EAAYJ,EAAO30G,EAAQC,EAAMjyB,EAAK6mI,EAC3CF,GAAQ,EACRpmI,IAAKomI,IAAQ3mI,GAAMslB,EACvB,CAEQ/kB,GAAKsB,IAAStB,GAAKsB,EAEvB,IAAIu6H,GAAOn0B,EAAI1nG,EAEf,IAAK67H,KAAQA,EAAK14H,MAAQ,GAA1B,CAKA,GAAIA,GAAQ04H,EAAK14H,MAEbhF,EAAM+/H,EAAS/6H,EAEPe,UAAR/F,IAEAA,EAAMxD,KAAK2qI,eAAeniI,IAI1B04H,EAAK1/H,QAAUgqI,GAAcxrI,KAAK8nC,QAElC76B,EAAQG,YAAc8zH,EAAK1/H,MAC3BgqI,EAAYtK,EAAK1/H,OAGjBgC,EAEI09H,EAAK3/H,UAAY2/H,EAAKyB,SAEtB11H,EAAQyZ,OACRzZ,EAAQ6d,UAAUhmB,EAAKo8H,EAAK/zG,QAASpoB,EAAKm8H,EAAK9zG,SAC/CngB,EAAQiuB,OAAOgmG,EAAK3/H,UAEhB2/H,EAAKyB,SAEL11H,EAAQ5L,MAAM,GAAI,GAGtBmC,EAAI6uE,KAAKplE,GAAUi0H,EAAK/zG,SAAU+zG,EAAK9zG,QAAS5kB,GAChDyE,EAAQ8Z,WAIRvjB,EAAI6uE,KAAKplE,EAASnI,EAAIC,EAAIyD,GAGzBxI,KAAK2oI,cAAcC,mBAExB37H,EAAQia,UAAYlnB,KAAK2oI,cAAcC,iBACvC37H,EAAQoa,SAASviB,EAAIC,EAAIqlB,EAAIC,IAG7B62G,EAAKp5F,OAAS9nC,KAAK2oI,cAAcE,uBAEjC57H,EAAQia,UAAYlnB,KAAK2oI,cAAcE,qBACvC57H,EAAQoa,SAASviB,EAAIC,EAAIqlB,EAAIC,QAe7CnC,EAAO49G,aAAajjI,UAAUmpI,kBAAoB,SAAUC,EAAQC,GAEhE,GAAIhc,GAAUlwH,KAAKspI,IAAIpZ,QACnBF,EAAUhwH,KAAKspI,IAAItZ,QAEnBmc,EAAUnsI,KAAKqQ,OAAO1J,MACtBylI,EAAUpsI,KAAKqQ,OAAOzJ,OAEtBwjB,EAAKpqB,KAAKspI,IAAI18D,UACdviD,EAAKrqB,KAAKspI,IAAIz8D,WAKd91C,EAAO,EACPD,GAAS1M,EACToP,EAAM,EACNC,GAAUpP;AAgCd,GA9Ba,EAAT4hH,GAEAl1G,EAAOo1G,EAAUF,EACjBn1G,EAAQq1G,EAAU,GAEbF,EAAS,IAGdn1G,EAAQm1G,GAGC,EAATC,GAEA1yG,EAAM4yG,EAAUF,EAChBzyG,EAAS2yG,EAAU,GAEdF,EAAS,IAGdzyG,EAASyyG,GAGblsI,KAAKmrI,YAAYnrI,KAAKiN,QAASg/H,EAAQC,GAGvCn1G,EAAOl2B,KAAKizB,OAAOiD,EAAOm5F,GAAW9lG,GACrC0M,EAAQj2B,KAAKizB,OAAOgD,EAAQo5F,GAAW9lG,GACvCoP,EAAM34B,KAAKizB,OAAO0F,EAAMw2F,GAAW3lG,GACnCoP,EAAS54B,KAAKizB,OAAO2F,EAASu2F,GAAW3lG,GAE7ByM,GAARC,EACJ,CAEI/2B,KAAKiN,QAAQuZ,UAAYuQ,EAAO3M,EAAM8lG,EAAU,GAAIp5F,EAAQC,EAAO,GAAK3M,EAAIgiH,EAE5E,IAAIC,GAAUxrI,KAAKizB,OAAO,EAAIk8F,GAAW3lG,GACrCiiH,EAAazrI,KAAKizB,OAAOs4G,EAAU,EAAIpc,GAAW3lG,EACtDrqB,MAAKurI,aAAarb,EAASF,EAASj5F,EAAMs1G,EAASv1G,EAAOw1G,GAG9D,GAAW7yG,GAAPD,EACJ,CAEIx5B,KAAKiN,QAAQuZ,UAAU,EAAKgT,EAAMnP,EAAM2lG,EAAUmc,GAAU1yG,EAASD,EAAM,GAAKnP,EAEhF,IAAIkiH,GAAW1rI,KAAKizB,OAAO,EAAIo8F,GAAW9lG,GACtCoiH,EAAY3rI,KAAKizB,OAAOq4G,EAAU,EAAIjc,GAAW9lG,EACrDpqB,MAAKurI,aAAarb,EAASF,EAASuc,EAAU/yG,EAAKgzG,EAAW/yG,KAWtEvR,EAAO49G,aAAajjI,UAAU4pI,WAAa,WAEvC,GAAIvc,GAAUlwH,KAAKspI,IAAIpZ,QACnBF,EAAUhwH,KAAKspI,IAAItZ,QAEnBmc,EAAUnsI,KAAKqQ,OAAO1J,MACtBylI,EAAUpsI,KAAKqQ,OAAOzJ,OAEtBwjB,EAAKpqB,KAAKspI,IAAI18D,UACdviD,EAAKrqB,KAAKspI,IAAIz8D,WAEd91C,EAAOl2B,KAAKizB,MAAMo8F,EAAU9lG,GAC5B0M,EAAQj2B,KAAKizB,OAAOq4G,EAAU,EAAIjc,GAAW9lG,GAC7CoP,EAAM34B,KAAKizB,MAAMk8F,EAAU3lG,GAC3BoP,EAAS54B,KAAKizB,OAAOs4G,EAAU,EAAIpc,GAAW3lG,EAElDrqB,MAAKiN,QAAQuZ,UAAU,EAAG,EAAG2lH,EAASC,GAEtCpsI,KAAKurI,aAAarb,EAASF,EAASj5F,EAAMyC,EAAK1C,EAAO2C,IAU1DvR,EAAO49G,aAAajjI,UAAUiE,OAAS,WAEnC,GAAI4lI,IAAY,CAEhB,IAAK1sI,KAAKyB,QAAV,EAKIzB,KAAKyT,OAASzT,KAAKo1H,MAAM3hH,SAEzBzT,KAAKo1H,MAAM3hH,OAAQ,EACnBi5H,GAAY,EAGhB,IAAInD,GAAcvpI,KAAKqQ,OAAO1J,MAC1B6iI,EAAexpI,KAAKqQ,OAAOzJ,OAG3BspH,EAA0B,EAAhBlwH,KAAKypI,SACfzZ,EAA0B,EAAhBhwH,KAAK0pI,SAEfiD,EAAK3sI,KAAKspI,IACV2C,EAASU,EAAGzc,QAAUA,EACtBgc,EAASS,EAAG3c,QAAUA,CAE1B,IAAK0c,GACU,IAAXT,GAA2B,IAAXC,GAChBS,EAAGpD,cAAgBA,GAAeoD,EAAGnD,eAAiBA,EAoD1D,MA9CAxpI,MAAKiN,QAAQyZ,OAEbimH,EAAGzc,QAAUA,EACbyc,EAAG3c,QAAUA,GAET2c,EAAGpD,cAAgBA,GAAeoD,EAAGnD,eAAiBA,KAGtDmD,EAAGpD,YAAcA,EACjBoD,EAAGnD,aAAeA,GAGlBxpI,KAAK8nC,QAEL9nC,KAAKiN,QAAQG,YAAcpN,KAAK2oI,cAAcI,WAE1C/oI,KAAK2oI,cAAcG,kBAEnB4D,GAAY,KAIfA,GACD1sI,KAAKuoI,eAAeC,mBACnB3nI,KAAKi5B,IAAImyG,GAAUprI,KAAKi5B,IAAIoyG,GAAWrrI,KAAKi7B,IAAIytG,EAAaC,GAE9DxpI,KAAKgsI,kBAAkBC,EAAQC,GAK/BlsI,KAAKysI,aAGLzsI,KAAK8nC,QAEL9nC,KAAKiN,QAAQG,YAAc,EAC3BpN,KAAK4sI,eAGT5sI,KAAK4H,QAAQ+D,YAAY8H,QAEzBzT,KAAKyT,OAAQ,EAEbzT,KAAKiN,QAAQ8Z,WAEN,IAYXmB,EAAO49G,aAAajjI,UAAU+pI,YAAc,WAExC,GAuBI9nI,GAAIC,EAAIM,EAAGC,EAAGmmI,EAAMC,EAvBpBxb,EAAUlwH,KAAKspI,IAAIpZ,QACnBF,EAAUhwH,KAAKspI,IAAItZ,QAEnB/iH,EAAUjN,KAAKiN,QACfk/H,EAAUnsI,KAAKqQ,OAAO1J,MACtBylI,EAAUpsI,KAAKqQ,OAAOzJ,OAEtBD,EAAQ3G,KAAKo1H,MAAMzuH,MACnBC,EAAS5G,KAAKo1H,MAAMxuH,OACpBwjB,EAAKpqB,KAAKspI,IAAI18D,UACdviD,EAAKrqB,KAAKspI,IAAIz8D,WAEd91C,EAAOl2B,KAAKizB,MAAMo8F,EAAU9lG,GAC5B0M,EAAQj2B,KAAKizB,OAAOq4G,EAAU,EAAIjc,GAAW9lG,GAC7CoP,EAAM34B,KAAKizB,MAAMk8F,EAAU3lG,GAC3BoP,EAAS54B,KAAKizB,OAAOs4G,EAAU,EAAIpc,GAAW3lG,GAE9CshH,EAAS50G,EAAO3M,EAAM8lG,EACtB0b,EAASpyG,EAAMnP,EAAM2lG,EAErB6b,GAAc90G,GAAS,GAAK,IAAMpwB,GAAUA,EAC5CmlI,GAActyG,GAAQ,GAAK,IAAM5yB,GAAWA,CAMhD,KAFAqG,EAAQwjB,YAAczwB,KAAK2oI,cAAcK,iBAEpC1jI,EAAIwmI,EAAYJ,EAAOjyG,EAASD,EAAKz0B,EAAK6mI,EAC3CF,GAAQ,EACRpmI,IAAKomI,IAAQ3mI,GAAMslB,EACvB,CAEQ/kB,GAAKsB,IAAUtB,GAAKsB,EAExB,IAAImmG,GAAM/sG,KAAKo1H,MAAM3kH,KAAKnL,EAE1B,KAAKD,EAAIwmI,EAAYJ,EAAO30G,EAAQC,EAAMjyB,EAAK6mI,EAC3CF,GAAQ,EACRpmI,IAAKomI,IAAQ3mI,GAAMslB,EACvB,CAEQ/kB,GAAKsB,IAAStB,GAAKsB,EAEvB,IAAIu6H,GAAOn0B,EAAI1nG,IACV67H,GAAQA,EAAK14H,MAAQ,IAAM04H,EAAK+B,WAKjCjjI,KAAK2oI,cAAcM,wBAEnBh8H,EAAQia,UAAYlnB,KAAK2oI,cAAcM,sBACvCh8H,EAAQoa,SAASviB,EAAIC,EAAI/E,KAAKspI,IAAIz7H,GAAI7N,KAAKspI,IAAIx7H,KAG/C9N,KAAK2oI,cAAcK,mBAEnB/7H,EAAQugB,YAEJ0zG,EAAKK,UAELt0H,EAAQwgB,OAAO3oB,EAAIC,GACnBkI,EAAQygB,OAAO5oB,EAAK9E,KAAKspI,IAAIz7H,GAAI9I,IAGjCm8H,EAAKM,aAELv0H,EAAQwgB,OAAO3oB,EAAIC,EAAK/E,KAAKspI,IAAIx7H,IACjCb,EAAQygB,OAAO5oB,EAAK9E,KAAKspI,IAAIz7H,GAAI9I,EAAK/E,KAAKspI,IAAIx7H,KAG/CozH,EAAKG,WAELp0H,EAAQwgB,OAAO3oB,EAAIC,GACnBkI,EAAQygB,OAAO5oB,EAAIC,EAAK/E,KAAKspI,IAAIx7H,KAGjCozH,EAAKI,YAELr0H,EAAQwgB,OAAO3oB,EAAK9E,KAAKspI,IAAIz7H,GAAI9I,GACjCkI,EAAQygB,OAAO5oB,EAAK9E,KAAKspI,IAAIz7H,GAAI9I,EAAK/E,KAAKspI,IAAIx7H,KAGnDb,EAAQ8oE,cAiBxB3yE,OAAOC,eAAe6kB,EAAO49G,aAAajjI,UAAW,QAEjDS,IAAK,WACD,MAAOtD,MAAKqpI,OAGhB7lI,IAAK,SAAUC,GACXzD,KAAKqpI,MAAQ5lI,EACbzD,KAAKyT,OAAQ,KAYrBrQ,OAAOC,eAAe6kB,EAAO49G,aAAajjI,UAAW,WAEjDS,IAAK,WACD,MAAOtD,MAAKypI,UAGhBjmI,IAAK,SAAUC,GACXzD,KAAKypI,SAAWhmI,KAYxBL,OAAOC,eAAe6kB,EAAO49G,aAAajjI,UAAW,WAEjDS,IAAK,WACD,MAAOtD,MAAK0pI,UAGhBlmI,IAAK,SAAUC,GACXzD,KAAK0pI,SAAWjmI,KAYxBL,OAAOC,eAAe6kB,EAAO49G,aAAajjI,UAAW,kBAEjDS,IAAK,WACD,MAAOtD,MAAKspI,IAAIz7H,IAGpBrK,IAAK,SAAUC,GACXzD,KAAKspI,IAAIz7H,GAAa,EAARpK,EACdzD,KAAKyT,OAAQ,KAYrBrQ,OAAOC,eAAe6kB,EAAO49G,aAAajjI,UAAW,mBAEjDS,IAAK,WACD,MAAOtD,MAAKspI,IAAIx7H,IAGpBtK,IAAK,SAAUC,GACXzD,KAAKspI,IAAIx7H,GAAa,EAARrK,EACdzD,KAAKyT,OAAQ,KAiBrByU,EAAOi7G,eAaH0J,aAAa,EAcbrtG,MAAO,SAAUt/B,EAAMqU,EAAKq4D,EAAWC,EAAYlmE,EAAOC,GAOtD,GALkB2C,SAAdqjE,IAA2BA,EAAY,IACxBrjE,SAAfsjE,IAA4BA,EAAa,IAC/BtjE,SAAV5C,IAAuBA,EAAQ,IACpB4C,SAAX3C,IAAwBA,EAAS,IAEzB2C,SAARgL,EAEA,MAAOvU,MAAK8sI,cAGhB,IAAY,OAARv4H,EAEA,MAAOvU,MAAK8sI,aAAalgE,EAAWC,EAAYlmE,EAAOC,EAG3D,IAAI0hI,GAAMpoI,EAAK4jC,MAAMmvE,eAAe1+F,EAEpC,IAAI+zH,EACJ,CACI,GAAIA,EAAItyH,SAAWkS,EAAO4kD,QAAQurC,IAE9B,MAAOr4G,MAAK+sI,SAASx4H,EAAK+zH,EAAI73H,KAAMm8D,EAAWC,EAE9C,KAAKy7D,EAAItyH,QAAUsyH,EAAItyH,SAAWkS,EAAO4kD,QAAQwrC,WAElD,MAAOt4G,MAAKgtI,eAAe1E,EAAI73H,UAKnC8B,SAAQ2iB,KAAK,0DAA4D3gB,IAcjFw4H,SAAU,SAAUx4H,EAAK9D,EAAMm8D,EAAWC,GAEtC,GAAIy7D,GAAMtoI,KAAK8sI,cAGfr8H,GAAOA,EAAKhD,MAOZ,KAAK,GALDyrB,MACA+rG,EAAOx0H,EAAK+kB,MAAM,MAClB5uB,EAASq+H,EAAK/hI,OACdyD,EAAQ,EAEHrB,EAAI,EAAGA,EAAI2/H,EAAK/hI,OAAQoC,IACjC,CACI4zB,EAAO5zB,KAIP,KAAK,GAFD0nG,GAASi4B,EAAK3/H,GAAGkwB,MAAM,KAElBnwB,EAAI,EAAGA,EAAI2nG,EAAO9pG,OAAQmC,IAE/B6zB,EAAO5zB,GAAGD,GAAK,GAAI6iB,GAAOw6G,KAAK4F,EAAIpT,OAAO,GAAI3+F,SAASy2E,EAAO3nG,GAAI,IAAKA,EAAGC,EAAGsnE,EAAWC,EAG9E,KAAVlmE,IAEAA,EAAQqmG,EAAO9pG,QAmBvB,MAfAolI,GAAItyH,OAASkS,EAAO4kD,QAAQurC,IAC5BiwB,EAAIhxG,KAAO/iB,EACX+zH,EAAI3hI,MAAQA,EACZ2hI,EAAI1hI,OAASA,EACb0hI,EAAI17D,UAAYA,EAChB07D,EAAIz7D,WAAaA,EACjBy7D,EAAIjF,cAAgB18H,EAAQimE,EAC5B07D,EAAIhF,eAAiB18H,EAASimE,EAE9By7D,EAAIpT,OAAO,GAAGvuH,MAAQA,EACtB2hI,EAAIpT,OAAO,GAAGtuH,OAASA,EACvB0hI,EAAIpT,OAAO,GAAGmO,cAAgBiF,EAAIjF,cAClCiF,EAAIpT,OAAO,GAAGoO,eAAiBgF,EAAIhF,eACnCgF,EAAIpT,OAAO,GAAGzkH,KAAOyoB,EAEdovG,GAUXwE,aAAc,SAAUlgE,EAAWC,EAAYlmE,EAAOC,GAElD,GAAI0hI,KAEJA,GAAI3hI,MAAQ,EACZ2hI,EAAI1hI,OAAS,EACb0hI,EAAI17D,UAAY,EAChB07D,EAAIz7D,WAAa,EAEQ,mBAAdD,IAA2C,OAAdA,IAAsB07D,EAAI17D,UAAYA,GACpD,mBAAfC,IAA6C,OAAfA,IAAuBy7D,EAAIz7D,WAAaA,GAC5D,mBAAVlmE,IAAmC,OAAVA,IAAkB2hI,EAAI3hI,MAAQA,GAC5C,mBAAXC,IAAqC,OAAXA,IAAmB0hI,EAAI1hI,OAASA,GAErE0hI,EAAI1e,YAAc,aAClB0e,EAAIlF,QAAU,IACdkF,EAAI1gD,cACJ0gD,EAAIjF,cAAgB,EACpBiF,EAAIhF,eAAiB,CAErB,IAAIpO,MAEAE,GAEA99F,KAAM,QACNjyB,EAAG,EACHC,EAAG,EACHqB,MAAO,EACPC,OAAQ,EACRy8H,cAAe,EACfC,eAAgB,EAChB9hI,MAAO,EACPC,SAAS,EACTmmF,cACAm+C,WACAtyE,aACAuyE,UACAv1H,QAeJ,OATAykH,GAAOnxH,KAAKqxH,GAEZkT,EAAIpT,OAASA,EACboT,EAAI5wB,UACJ4wB,EAAIxrC,WACJwrC,EAAI3E,aACJ2E,EAAI/E,YACJ+E,EAAI7E,SAEG6E,GAUX0E,eAAgB,SAAU9/B,GA0QtB,QAASj5E,GAAOoB,EAAK43G,GAEjB,GAAIC,KAEJ,KAAK,GAAIh4E,KAAK+3E,GACd,CACI,GAAI14H,GAAM04H,EAAO/3E,EAEO,oBAAb7/B,GAAI9gB,KAEX24H,EAAO34H,GAAO8gB,EAAI9gB,IAI1B,MAAO24H,GAtRX,GAAyB,eAArBhgC,EAAK0c,YAGL,MADAr3G,SAAQ2iB,KAAK,oGACN,IAIX,IAAIozG,KAEJA,GAAI3hI,MAAQumG,EAAKvmG,MACjB2hI,EAAI1hI,OAASsmG,EAAKtmG,OAClB0hI,EAAI17D,UAAYsgC,EAAKQ,UACrB46B,EAAIz7D,WAAaqgC,EAAKO,WACtB66B,EAAI1e,YAAc1c,EAAK0c,YACvB0e,EAAItyH,OAASkS,EAAO4kD,QAAQwrC,WAC5BgwB,EAAIlF,QAAUl2B,EAAKk2B,QACnBkF,EAAI1gD,WAAaslB,EAAKtlB,WACtB0gD,EAAIjF,cAAgBiF,EAAI3hI,MAAQ2hI,EAAI17D,UACpC07D,EAAIhF,eAAiBgF,EAAI1hI,OAAS0hI,EAAIz7D,UAKtC,KAAK,GAFDqoD,MAEKjyH,EAAI,EAAGA,EAAIiqG,EAAKgoB,OAAOhyH,OAAQD,IAEpC,GAA4B,cAAxBiqG,EAAKgoB,OAAOjyH,GAAG2R,KAAnB,CAKA,GAAIu4H,GAAOjgC,EAAKgoB,OAAOjyH,EAIvB,KAAKkqI,EAAKC,aAAeD,EAAKE,UAA8B,WAAlBF,EAAKE,SAAuB,CAMlE,IAAK,GALDC,GAAgBh7H,OAAOi7H,KAAKJ,EAAK18H,MACjCskB,EAAMu4G,EAAapqI,OACnBsqI,EAAQ,GAAI7sI,OAAOo0B,GAGd9xB,EAAI,EAAO8xB,EAAJ9xB,EAASA,GAAG,EACxBuqI,EAAMvqI,EAAE,IAAMqqI,EAAatwE,WAAW/5D,GACzBqqI,EAAatwE,WAAW/5D,EAAE,IAAM,EAChCqqI,EAAatwE,WAAW/5D,EAAE,IAAM,GAChCqqI,EAAatwE,WAAW/5D,EAAE,IAAM,MAAQ,CAEzDkqI,GAAK18H,KAAO+8H,EAIhB,GAAIpY,IAEA99F,KAAM61G,EAAK71G,KACXjyB,EAAG8nI,EAAK9nI,EACRC,EAAG6nI,EAAK7nI,EACRqB,MAAOwmI,EAAKxmI,MACZC,OAAQumI,EAAKvmI,OACby8H,cAAe8J,EAAKxmI,MAAQumG,EAAKQ,UACjC41B,eAAgB6J,EAAKvmI,OAASsmG,EAAKO,WACnCjsG,MAAO2rI,EAAKM,QACZhsI,QAAS0rI,EAAK1rI,QACdmmF,cACAm+C,WACAtyE,aACAuyE,UAIAmH,GAAKvlD,aAELwtC,EAAMxtC,WAAaulD,EAAKvlD,WAc5B,KAAK,GARDrmF,GAAUohI,EAAS+K,EAAYjL,EAH/Bp9H,EAAI,EACJ0nG,KACA7zE,KASKpE,EAAI,EAAGC,EAAMo4G,EAAK18H,KAAKvN,OAAY6xB,EAAJD,EAASA,IACjD,CAMI,GALAvzB,EAAW,EACXohI,GAAU,EACVF,EAAM0K,EAAK18H,KAAKqkB,GAGZ2tG,EAAM,UAyBN,OAvBAiL,EAAa,EAGTjL,EAAM,aAENA,GAAO,WACPiL,GAAc,GAIdjL,EAAM,aAENA,GAAO,WACPiL,GAAc,GAIdjL,EAAM,YAENA,GAAO,UACPiL,GAAc,GAGVA,GAEJ,IAAK,GACDnsI,EAAWV,KAAKC,GAAG,CACnB,MACJ,KAAK,GACDS,EAAWV,KAAKC,EAChB,MACJ,KAAK,GACDS,EAAW,EAAEV,KAAKC,GAAG,CACrB,MACJ,KAAK,GACDS,EAAW,EACXohI,GAAU,CACV,MACJ,KAAK,GACDphI,EAAWV,KAAKC,GAAG,EACnB6hI,GAAU,CACV,MACJ,KAAK,GACDphI,EAAWV,KAAKC,GAChB6hI,GAAU,CACV,MACJ,KAAK,GACDphI,EAAW,EAAEV,KAAKC,GAAG,EACrB6hI,GAAU,EAMlBF,EAAM,GAEN11B,EAAIhpG,KAAK,GAAImkB,GAAOw6G,KAAKtN,EAAOqN,EAAKp9H,EAAG6zB,EAAOh2B,OAAQgqG,EAAKQ,UAAWR,EAAKO,aAC5EV,EAAIA,EAAI7pG,OAAS,GAAG3B,SAAWA,EAC/BwrG,EAAIA,EAAI7pG,OAAS,GAAGy/H,QAAUA,GAI1Bz6G,EAAOi7G,cAAc0J,YAErB9/B,EAAIhpG,KAAK,MAITgpG,EAAIhpG,KAAK,GAAImkB,GAAOw6G,KAAKtN,EAAO,GAAI/vH,EAAG6zB,EAAOh2B,OAAQgqG,EAAKQ,UAAWR,EAAKO,aAInFpoG,IAEIA,IAAM8nI,EAAKxmI,QAEXuyB,EAAOn1B,KAAKgpG,GACZ1nG,EAAI,EACJ0nG,MAIRqoB,EAAM3kH,KAAOyoB,EAEbg8F,EAAOnxH,KAAKqxH,GAIhBkT,EAAIpT,OAASA,CAKb,KAAK,GAFDxd,MAEKz0G,EAAI,EAAGA,EAAIiqG,EAAKgoB,OAAOhyH,OAAQD,IAEpC,GAA4B,eAAxBiqG,EAAKgoB,OAAOjyH,GAAG2R,KAAnB,CAKA,GAAI+4H,GAAOzgC,EAAKgoB,OAAOjyH,GAEnBumB,GAEA8N,KAAMq2G,EAAKr2G,KACX9N,MAAOmkH,EAAKnkH,MACZnkB,EAAGsoI,EAAKtoI,EACRC,EAAGqoI,EAAKroI,EACR9D,MAAOmsI,EAAKF,QACZhsI,QAASksI,EAAKlsI,QACdmmF,cAIA+lD,GAAK/lD,aAELp+D,EAAMo+D,WAAa+lD,EAAK/lD,YAG5B8vB,EAAO3zG,KAAKylB,GAIhB8+G,EAAI5wB,OAASA,CAMb,KAAK,GAHD6rB,MACAC,KAEKvgI,EAAI,EAAGA,EAAIiqG,EAAKq2B,SAASrgI,OAAQD,IAC1C,CAEI,GAAIO,GAAM0pG,EAAKq2B,SAAStgI,EAExB,IAAIO,EAAIgmB,MACR,CACI,GAAIo7G,GAAS,GAAI18G,GAAO28G,QAAQrhI,EAAI8zB,KAAM9zB,EAAI0+H,SAAU1+H,EAAIkqG,UAAWlqG,EAAIiqG,WAAYjqG,EAAIqpG,OAAQrpG,EAAIspG,QAAStpG,EAAIokF,WAEhHpkF,GAAIoqI,iBAEJhJ,EAAOiJ,eAAiBrqI,EAAIoqI,gBAKhChJ,EAAOkJ,eAAetqI,EAAIuqI,WAAYvqI,EAAIwqI,aAC1CzK,EAASx/H,KAAK6gI,OAGlB,CACI,GAAIqJ,GAAgB,GAAI/lH,GAAO+5G,gBAAgBz+H,EAAI8zB,KAAM9zB,EAAI0+H,SAAU1+H,EAAIkqG,UAAWlqG,EAAIiqG,WAAYjqG,EAAIqpG,OAAQrpG,EAAIspG,QAAStpG,EAAIokF,WAEnI,KAAK,GAAI3kF,KAAKO,GAAIigI,MAClB,CACI,GAAIj6G,GAAQhmB,EAAIigI,MAAMxgI,GAAGumB,MACrBi5G,EAAMj/H,EAAI0+H,SAAW3rG,SAAStzB,EAAG,GACrCgrI,GAAc37D,SAASmwD,EAAKj5G,GAGhCg6G,EAAiBz/H,KAAKkqI,IAK9B3F,EAAI/E,SAAWA,EACf+E,EAAI9E,iBAAmBA,CAuBvB,KAAK,GApBD1mC,MACA6mC,KAmBK1gI,EAAI,EAAGA,EAAIiqG,EAAKgoB,OAAOhyH,OAAQD,IAEpC,GAA4B,gBAAxBiqG,EAAKgoB,OAAOjyH,GAAG2R,KAAnB,CAKA,GAAIs5H,GAAOhhC,EAAKgoB,OAAOjyH,EAEvB65F,GAAQoxC,EAAK52G,SACbqsG,EAAUuK,EAAK52G,QAEf,KAAK,GAAIqiB,GAAI,EAAG5kB,EAAMm5G,EAAKpxC,QAAQ55F,OAAY6xB,EAAJ4kB,EAASA,IAGhD,GAAIu0F,EAAKpxC,QAAQnjD,GAAG8oF,IACpB,CACI,GAAIh4D,IAEAg4D,IAAKyL,EAAKpxC,QAAQnjD,GAAG8oF,IACrBnrG,KAAM42G,EAAKpxC,QAAQnjD,GAAGriB,KACtB1iB,KAAMs5H,EAAKpxC,QAAQnjD,GAAGziB,eAAe,QAAUg3G,EAAKpxC,QAAQnjD,GAAG/kC,KAAO,GACtEvP,EAAG6oI,EAAKpxC,QAAQnjD,GAAGt0C,EACnBC,EAAG4oI,EAAKpxC,QAAQnjD,GAAGr0C,EACnB7D,QAASysI,EAAKpxC,QAAQnjD,GAAGl4C,QACzBmmF,WAAYsmD,EAAKpxC,QAAQnjD,GAAGiuC,WAI5BsmD,GAAKpxC,QAAQnjD,GAAGp4C,WAEhBkpE,EAAOlpE,SAAW2sI,EAAKpxC,QAAQnjD,GAAGp4C,UAGtCu7F,EAAQoxC,EAAK52G,MAAMvzB,KAAK0mE,OAEvB,IAAIyjE,EAAKpxC,QAAQnjD,GAAGw0F,SACzB,CACI,GAAI1jE,IAEAnzC,KAAM42G,EAAKpxC,QAAQnjD,GAAGriB,KACtB1iB,KAAMs5H,EAAKpxC,QAAQnjD,GAAG/kC,KACtBvP,EAAG6oI,EAAKpxC,QAAQnjD,GAAGt0C,EACnBC,EAAG4oI,EAAKpxC,QAAQnjD,GAAGr0C,EACnBqB,MAAOunI,EAAKpxC,QAAQnjD,GAAGhzC,MACvBC,OAAQsnI,EAAKpxC,QAAQnjD,GAAG/yC,OACxBnF,QAASysI,EAAKpxC,QAAQnjD,GAAGl4C,QACzBmmF,WAAYsmD,EAAKpxC,QAAQnjD,GAAGiuC,WAI5BsmD,GAAKpxC,QAAQnjD,GAAGp4C,WAEhBkpE,EAAOlpE,SAAW2sI,EAAKpxC,QAAQnjD,GAAGp4C,UAGtCkpE,EAAO0jE,WAGP,KAAK,GAAI3pI,GAAI,EAAGA,EAAI0pI,EAAKpxC,QAAQnjD,GAAGw0F,SAASjrI,OAAQsB,IAEjDimE,EAAO0jE,SAASpqI,MAAOmqI,EAAKpxC,QAAQnjD,GAAGw0F,SAAS3pI,GAAGa,EAAG6oI,EAAKpxC,QAAQnjD,GAAGw0F,SAAS3pI,GAAGc,GAGtFq+H,GAAUuK,EAAK52G,MAAMvzB,KAAK0mE,GAC1BqyB,EAAQoxC,EAAK52G,MAAMvzB,KAAK0mE,OAGvB,IAAIyjE,EAAKpxC,QAAQnjD,GAAGy0F,QACzB,CACI,GAAI3jE,GAASx2C,EAAMi6G,EAAKpxC,QAAQnjD,IACZ,OAAQ,OAAQ,IAAK,IAAK,UAAW,WAAY,cAGrE8wB,GAAO2jE,UAEP,KAAK,GAAI5pI,GAAI,EAAGA,EAAI0pI,EAAKpxC,QAAQnjD,GAAGy0F,QAAQlrI,OAAQsB,IAEhDimE,EAAO2jE,QAAQrqI,MAAOmqI,EAAKpxC,QAAQnjD,GAAGy0F,QAAQ5pI,GAAGa,EAAG6oI,EAAKpxC,QAAQnjD,GAAGy0F,QAAQ5pI,GAAGc,GAGnFw3F,GAAQoxC,EAAK52G,MAAMvzB,KAAK0mE,OAIvB,IAAIyjE,EAAKpxC,QAAQnjD,GAAG00F,QACzB,CACI,GAAI5jE,GAASx2C,EAAMi6G,EAAKpxC,QAAQnjD,IACZ,OAAQ,OAAQ,UAAW,IAAK,IAAK,QAAS,SAAU,UAAW,WAAY,cACnGmjD,GAAQoxC,EAAK52G,MAAMvzB,KAAK0mE,OAI5B,CACI,GAAIA,GAASx2C,EAAMi6G,EAAKpxC,QAAQnjD,IACZ,OAAQ,OAAQ,IAAK,IAAK,QAAS,SAAU,UAAW,WAAY,cACxF8wB,GAAO+jD,WAAY,EACnB1xB,EAAQoxC,EAAK52G,MAAMvzB,KAAK0mE,IAKpC69D,EAAIxrC,QAAUA,EACdwrC,EAAI3E,UAAYA,EAEhB2E,EAAI7E,QAGJ,KAAK,GAAIxgI,GAAI,EAAGA,EAAIqlI,EAAI/E,SAASrgI,OAAQD,IAWrC,IAAK,GATDO,GAAM8kI,EAAI/E,SAAStgI,GAEnBoC,EAAI7B,EAAIghI,WACRl/H,EAAI9B,EAAIghI,WAER7mH,EAAQ,EACRmnH,EAAS,EACTC,EAAS,EAEJjwG,EAAItxB,EAAI0+H,SAAUptG,EAAItxB,EAAI0+H,SAAW1+H,EAAIurB,QAG9Cu5G,EAAI7E,MAAM3uG,IAAMzvB,EAAGC,EAAGrC,GAEtBoC,GAAK7B,EAAIopE,UAAYppE,EAAIihI,YAEzB9mH,IAEIA,IAAUna,EAAIurB,SAKlB+1G,IAEIA,IAAWthI,EAAIwhI,UAEf3/H,EAAI7B,EAAIghI,WACRl/H,GAAK9B,EAAIqpE,WAAarpE,EAAIihI,YAE1BK,EAAS,EACTC,IAEIA,IAAWvhI,EAAIyhI,OAxB8BnwG,KAyC7D,IAAK,GANDsgG,GACA8L,EACAoN,EACA9qI,EAGKP,EAAI,EAAGA,EAAIqlI,EAAIpT,OAAOhyH,OAAQD,IACvC,CACImyH,EAAQkT,EAAIpT,OAAOjyH,EAGnB,KAAK,GAAIa,GAAI,EAAGA,EAAIsxH,EAAM3kH,KAAKvN,OAAQY,IACvC,CACIipG,EAAMqoB,EAAM3kH,KAAK3M,EAGjB,KAAK,GAAIoxD,GAAI,EAAGA,EAAI63C,EAAI7pG,OAAQgyD,IAE5BgsE,EAAOn0B,EAAI73C,GAEE,OAATgsE,GAAiBA,EAAK14H,MAAQ,IAOlC8lI,EAAMhG,EAAI7E,MAAMvC,EAAK14H,OAAO,GAC5BhF,EAAM8kI,EAAI/E,SAAS+K,GAIf9qI,EAAIqqI,gBAAkBrqI,EAAIqqI,eAAe3M,EAAK14H,MAAQhF,EAAI0+H,YAE1DhB,EAAKt5C,WAAa1/D,EAAOiN,MAAMyC,MAAMp0B,EAAIqqI,eAAe3M,EAAK14H,MAAQhF,EAAI0+H,UAAWhB,EAAKt5C,eAMzG,MAAO0gD,KA2BfpgH,EAAO28G,QAAU,SAAUvtG,EAAM4qG,EAAUv7H,EAAOC,EAAQimG,EAAQC,EAASllB,IAEzDr+E,SAAV5C,GAAgC,GAATA,KAAcA,EAAQ,KAClC4C,SAAX3C,GAAkC,GAAVA,KAAeA,EAAS,IACrC2C,SAAXsjG,IAAwBA,EAAS,GACrBtjG,SAAZujG,IAAyBA,EAAU,GAMvC9sG,KAAKs3B,KAAOA,EAOZt3B,KAAKkiI,SAAsB,EAAXA,EAOhBliI,KAAK4sE,UAAoB,EAARjmE,EAOjB3G,KAAK6sE,WAAsB,EAATjmE,EASlB5G,KAAKwkI,WAAsB,EAAT33B,EAQlB7sG,KAAKykI,YAAwB,EAAV33B,EAMnB9sG,KAAK4nF,WAAaA,MAQlB5nF,KAAKwpB,MAAQ,KAQbxpB,KAAKilI,KAAO,EAQZjlI,KAAKglI,QAAU,EAQfhlI,KAAK+uB,MAAQ,EAQb/uB,KAAKuuI,eAITrmH,EAAO28G,QAAQhiI,WAYXwvE,KAAM,SAAUplE,EAAS5H,EAAGC,EAAGkD,GAG3B,GAAIgmI,GAAchmI,EAAQxI,KAAKkiI,UAAa,CAExCsM,IAAc,GAAMA,EAAa,EAAKxuI,KAAKuuI,WAAWrrI,QAEtD+J,EAAQiB,UACJlO,KAAKwpB,MACLxpB,KAAKuuI,WAAWC,GAChBxuI,KAAKuuI,WAAWC,EAAa,GAC7BxuI,KAAK4sE,UACL5sE,KAAK6sE,WACLxnE,EACAC,EACAtF,KAAK4sE,UACL5sE,KAAK6sE,aAajBi+D,kBAAmB,SAAUF,GAEzB,MACIA,IAAa5qI,KAAKkiI,UAClB0I,EAAa5qI,KAAKkiI,SAAWliI,KAAK+uB,OAY1C41G,SAAU,SAAUn7G,GAEhBxpB,KAAKwpB,MAAQA,EACbxpB,KAAK8tI,eAAetkH,EAAM7iB,MAAO6iB,EAAM5iB,SAY3C6nI,WAAY,SAAU5hC,EAAQC,GAE1B9sG,KAAKwkI,WAAsB,EAAT33B,EAClB7sG,KAAKykI,YAAwB,EAAV33B,EAEf9sG,KAAKwpB,OAELxpB,KAAK8tI,eAAe9tI,KAAKwpB,MAAM7iB,MAAO3G,KAAKwpB,MAAM5iB,SAazDknI,eAAgB,SAAU3L,EAAYC,GAGlC,GAAIsM,IAAYtM,EAAgC,EAAlBpiI,KAAKwkI,WAAiBxkI,KAAKykI,cAAgBzkI,KAAK6sE,WAAa7sE,KAAKykI,aAC5FkK,GAAYxM,EAA+B,EAAlBniI,KAAKwkI,WAAiBxkI,KAAKykI,cAAgBzkI,KAAK4sE,UAAY5sE,KAAKykI,cAE1FiK,EAAW,IAAM,GAAKC,EAAW,IAAM,IAEvCp8H,QAAQ2iB,KAAK,yEAKjBw5G,EAAW7tI,KAAKizB,MAAM46G,GACtBC,EAAW9tI,KAAKizB,MAAM66G,IAEjB3uI,KAAKilI,MAAQjlI,KAAKilI,OAASyJ,GAAc1uI,KAAKglI,SAAWhlI,KAAKglI,UAAY2J,IAE3Ep8H,QAAQ2iB,KAAK,+EAGjBl1B,KAAKilI,KAAOyJ,EACZ1uI,KAAKglI,QAAU2J,EACf3uI,KAAK+uB,MAAQ2/G,EAAWC,EAExB3uI,KAAKuuI,WAAWrrI,OAAS,CAKzB,KAAK,GAHD4B,GAAK9E,KAAKwkI,WACVz/H,EAAK/E,KAAKwkI,WAELl/H,EAAI,EAAGA,EAAItF,KAAKilI,KAAM3/H,IAC/B,CACI,IAAK,GAAID,GAAI,EAAGA,EAAIrF,KAAKglI,QAAS3/H,IAE9BrF,KAAKuuI,WAAWxqI,KAAKe,GACrB9E,KAAKuuI,WAAWxqI,KAAKgB,GACrBD,GAAM9E,KAAK4sE,UAAY5sE,KAAKykI,WAGhC3/H,GAAK9E,KAAKwkI,WACVz/H,GAAM/E,KAAK6sE,WAAa7sE,KAAKykI,eAOzCv8G,EAAO28G,QAAQhiI,UAAUC,YAAcolB,EAAO28G,QAoB9C38G,EAAO0mH,SAAW,SAAU1uI,EAAMmF,EAAGC,EAAGiP,EAAKzI,GAEzCoc,EAAOzgB,OAAO/B,KAAK1F,KAAME,EAAMmF,EAAGC,EAAGiP,EAAKzI,GAM1C9L,KAAK6uI,WAAY,EAMjB7uI,KAAK8uI,UAAY,KAMjB9uI,KAAK+uI,GAAK,EAMV/uI,KAAKgvI,WAAY,EAMjBhvI,KAAKivI,UAAY,KAMjBjvI,KAAKkvI,GAAK,GAIdhnH,EAAO0mH,SAAS/rI,UAAYO,OAAO8E,OAAOggB,EAAOzgB,OAAO5E,WACxDqlB,EAAO0mH,SAAS/rI,UAAUC,YAAcolB,EAAO0mH,SAQ/C1mH,EAAO0mH,SAAS/rI,UAAUwgC,OAAS,WAE3BrjC,KAAK6uI,YAEL7uI,KAAK+uI,KAED/uI,KAAK+uI,GAEL/uI,KAAKqB,MAAMmC,IAAIxD,KAAK8uI,UAAU9uI,KAAK+uI,IAAI1pI,EAAGrF,KAAK8uI,UAAU9uI,KAAK+uI,IAAIzpI,GAIlEtF,KAAK6uI,WAAY,GAIrB7uI,KAAKgvI,YAELhvI,KAAKkvI,KAEDlvI,KAAKkvI,GAELlvI,KAAKwB,MAAQxB,KAAKivI,UAAUjvI,KAAKkvI,IAAIv1F,EAIrC35C,KAAKgvI,WAAY,IAY7B9mH,EAAO0mH,SAAS/rI,UAAUssI,OAAS,aASnCjnH,EAAO0mH,SAAS/rI,UAAUusI,aAAe,SAAS3+H,GAE9CzQ,KAAKivI,UAAYx+H,EACjBzQ,KAAKkvI,GAAKz+H,EAAKvN,OAAS,EACxBlD,KAAKwB,MAAQxB,KAAKivI,UAAUjvI,KAAKkvI,IAAIv1F,EACrC35C,KAAKgvI,WAAY,GAUrB9mH,EAAO0mH,SAAS/rI,UAAUwsI,aAAe,SAAS5+H,GAE9CzQ,KAAK8uI,UAAYr+H,EACjBzQ,KAAK+uI,GAAKt+H,EAAKvN,OAAS,EACxBlD,KAAKqB,MAAMmC,IAAIxD,KAAK8uI,UAAU9uI,KAAK+uI,IAAI1pI,EAAGrF,KAAK8uI,UAAU9uI,KAAK+uI,IAAIzpI,GAClEtF,KAAK6uI,WAAY,GAgBrB3mH,EAAO0mH,SAAS/rI,UAAU6gC,MAAQ,SAASr+B,EAAGC,EAAG2iE,GAU7C,MARA//C,GAAO+6C,UAAUgH,MAAMpnE,UAAU6gC,MAAMh+B,KAAK1F,KAAMqF,EAAGC,EAAG2iE,GAExDjoE,KAAKwB,MAAQ,EACbxB,KAAKqB,MAAMmC,IAAI,GAEfxD,KAAK6uI,WAAY,EACjB7uI,KAAKgvI,WAAY,EAEVhvI,MAiBXkoB,EAAOgxB,UAAY,SAAUh5C,GAKzBF,KAAKE,KAAOA,EAKZF,KAAKsvI,YAMLtvI,KAAKuvI,GAAK,GAIdrnH,EAAOgxB,UAAUr2C,WAQb64B,IAAK,SAAUiwC,GAIX,MAFA3rE,MAAKsvI,SAAS3jE,EAAQr0C,MAAQq0C,EAEvBA,GASXj7D,OAAQ,SAAUi7D,SAEP3rE,MAAKsvI,SAAS3jE,EAAQr0C,OASjC+L,OAAQ,WAEJ,IAAK,GAAI9uB,KAAOvU,MAAKsvI,SAEbtvI,KAAKsvI,SAAS/6H,GAAK84B,QAEnBrtC,KAAKsvI,SAAS/6H,GAAK8uB,WAQnCnb,EAAOgxB,UAAUr2C,UAAUC,YAAcolB,EAAOgxB,UAahDhxB,EAAOgxB,UAAU2yB,UAoBjB3jD,EAAOgxB,UAAU2yB,OAAOC,QAAU,SAAU5rE,EAAMmF,EAAGC,EAAGsmE,GAMpD5rE,KAAK4rE,aAAeA,GAAgB,GAEpC1jD,EAAOwnB,MAAMhqC,KAAK1F,KAAME,GAKxBF,KAAKs3B,KAAO,UAAYt3B,KAAKE,KAAKmkC,UAAUkrG,KAM5CvvI,KAAK4U,KAAOsT,EAAOwK,QAMnB1yB,KAAKgwC,YAAc9nB,EAAOoK,MAM1BtyB,KAAK4/B,KAAO,GAAI1X,GAAO1lB,UAAU6C,EAAGC,EAAG,EAAG,GAM1CtF,KAAKwvI,iBAAmB,GAAItnH,GAAO9mB,MAAM,KAAM,MAM/CpB,KAAKyvI,iBAAmB,GAAIvnH,GAAO9mB,MAAM,IAAK,KAM9CpB,KAAK0vI,iBAAmB,EAMxB1vI,KAAK2vI,iBAAmB,EAKxB3vI,KAAK8uI,UAAY,KAMjB9uI,KAAK4vI,YAAc,KAMnB5vI,KAAK6vI,YAAc,IAMnB7vI,KAAK8vI,iBAAmB,EAMxB9vI,KAAK+vI,iBAAmB,EAKxB/vI,KAAKivI,UAAY,KAMjBjvI,KAAKg6H,QAAU,IAMfh6H,KAAKgwI,cAAgB9nH,EAAO0mH,SAK5B5uI,KAAKiwI,aAAe,GAAI/nH,GAAO9mB,MAM/BpB,KAAKi7H,YAAc,EAMnBj7H,KAAKi7F,UAAY,IAMjBj7F,KAAKgpE,SAAW,IAKhBhpE,KAAK49H,OAAS,GAAI11G,GAAO9mB,MAMzBpB,KAAKkwI,IAAK,EAMVlwI,KAAKmwI,eAAiB,GAAIjoH,GAAO9mB,MAAM,GAAK,IAM5CpB,KAAKkE,UAAYgkB,EAAO/jB,WAAWE,OAQnCrE,KAAKowI,MAAQ/qI,EAQbrF,KAAKqwI,MAAQ/qI,EAKbtF,KAAK6uI,WAAY,EAKjB7uI,KAAKgvI,WAAY,EAMjBhvI,KAAKswI,oBAAqB,EAM1BtwI,KAAKuwI,oBAAqB,EAM1BvwI,KAAKwwI,kBAAoB,GAAItoH,GAAO9mB,MAAM,EAAG,GAM7CpB,KAAKywI,kBAAoB,GAAIvoH,GAAO9mB,MAAM,EAAG,GAM7CpB,KAAK0wI,UAAY,EAMjB1wI,KAAK2wI,OAAS,EAMd3wI,KAAK4wI,SAAW,EAMhB5wI,KAAK6wI,cAAgB,EAMrB7wI,KAAK8wI,WAAa,EAMlB9wI,KAAK+wI,UAAW,EAMhB/wI,KAAKuqG,QAAU,MAInBriF,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAYO,OAAO8E,OAAOggB,EAAOwnB,MAAM7sC,WACvEqlB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAUC,YAAcolB,EAAOgxB,UAAU2yB,OAAOC,QAOhF5jD,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAUwgC,OAAS,WAE/C,GAAIrjC,KAAKkwI,IAAMlwI,KAAKE,KAAKikC,KAAKA,MAAQnkC,KAAK2wI,OAIvC,GAFA3wI,KAAK2wI,OAAS3wI,KAAKE,KAAKikC,KAAKA,KAAOnkC,KAAKi7F,UAAYj7F,KAAKE,KAAKikC,KAAKqW,WAE5C,IAApBx6C,KAAK8wI,WAEL,GAAI9wI,KAAK6wI,cAAgB,GAErB,IAAK,GAAI5tI,GAAI,EAAGA,EAAIjD,KAAK6wI,cAAe5tI,IAEpC,GAAIjD,KAAKgxI,iBAELhxI,KAAK4wI,WAEmB,KAApB5wI,KAAK8wI,YAAqB9wI,KAAK4wI,UAAY5wI,KAAK8wI,YACpD,CACI9wI,KAAKkwI,IAAK,CACV,YAORlwI,MAAKgxI,iBAELhxI,KAAK4wI,WAEmB,KAApB5wI,KAAK8wI,YAAqB9wI,KAAK4wI,UAAY5wI,KAAK8wI,aAEhD9wI,KAAKkwI,IAAK,QAOlBlwI,MAAKgxI,iBAELhxI,KAAK4wI,WAED5wI,KAAK0wI,UAAY,GAAK1wI,KAAK4wI,UAAY5wI,KAAK0wI,YAE5C1wI,KAAKkwI,IAAK,GAS1B,KAFA,GAAIjtI,GAAIjD,KAAKgD,SAASE,OAEfD,KAECjD,KAAKgD,SAASC,GAAGoqC,QAEjBrtC,KAAKgD,SAASC,GAAGogC,UAkB7Bnb,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAUouI,cAAgB,SAAUl5G,EAAM60D,EAAQ76C,EAAU8pF,EAASkE,GAElFx2H,SAAXqjF,IAAwBA,EAAS,GACpBrjF,SAAbwoC,IAA0BA,EAAW/xC,KAAK4rE,cAC9BriE,SAAZsyH,IAAyBA,GAAU,GACZtyH,SAAvBw2H,IAAoCA,GAAqB,EAE7D,IAAImR,GACAjuI,EAAI,EACJkuI,EAASp5G,EACTq5G,EAAWxkD,CAQf,KAPA5sF,KAAKuqG,QAAU3d,EAEX76C,EAAW/xC,KAAK4rE,eAEhB5rE,KAAK4rE,aAAe75B,GAGbA,EAAJ9uC,GAECtC,MAAMoR,QAAQgmB,KAEdo5G,EAASnxI,KAAKE,KAAKqkC,IAAIi4D,KAAKzkE,IAG5Bp3B,MAAMoR,QAAQ66E,KAEdwkD,EAAWpxI,KAAKE,KAAKqkC,IAAIi4D,KAAK5P,IAGlCskD,EAAW,GAAIlxI,MAAKgwI,cAAchwI,KAAKE,KAAM,EAAG,EAAGixI,EAAQC,GAE3DpxI,KAAKE,KAAKokC,QAAQ+0F,OAAOn/G,OAAOg3H,GAAU,GAEtCrV,GAEAqV,EAAS9/F,KAAK6oF,eAAe+F,KAAM,EACnCkR,EAAS9/F,KAAK6oF,eAAewD,MAAO,GAIpCyT,EAAS9/F,KAAK6oF,eAAewD,MAAO,EAGxCyT,EAAS9/F,KAAK2uF,mBAAqBA,EACnCmR,EAAS9/F,KAAKkpF,cAAe,EAE7B4W,EAAS7jG,QAAS,EAClB6jG,EAASzvI,SAAU,EACnByvI,EAASlpI,OAAO6wB,SAAS74B,KAAKmwI,gBAE9BnwI,KAAK07B,IAAIw1G,GAETjuI,GAGJ,OAAOjD,OASXkoB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAUulE,KAAO,WAE7CpoE,KAAKkwI,IAAK,EACVlwI,KAAKiwC,OAAQ,EACbjwC,KAAKqtC,QAAS,GASlBnlB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAUqmE,OAAS,WAE/ClpE,KAAKiwC,OAAQ,EACbjwC,KAAKqtC,QAAS,GAWlBnlB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAUwuI,QAAU,SAAUroE,EAAUj3B,GAEpE/xC,KAAK8wI,WAAa,EAElB9wI,KAAKkL,OAAM,EAAM89D,EAAU,EAAGj3B,GAAU,IAkB5C7pB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAUyuI,KAAO,SAAUtoE,EAAUiyB,EAAWlpD,EAAUhjB,EAAO6kD,IAE5ErqE,SAAbwoC,GAAuC,IAAbA,KAAkBA,EAAW,GAC7CxoC,SAAVwlB,IAAuBA,EAAQ,IACjBxlB,SAAdqqE,IAA2BA,GAAY,GAEvC7hC,EAAW/xC,KAAK4rE,eAEhB75B,EAAW/xC,KAAK4rE,cAGpB5rE,KAAK4wI,SAAW,EAChB5wI,KAAK6wI,cAAgB9+F,EACrB/xC,KAAK8wI,WAAa/hH,EAEd6kD,GAEA5zE,KAAKkL,OAAM,EAAM89D,EAAUiyB,EAAWlpD,GAEtC/xC,KAAK4wI,UAAY7+F,EACjB/xC,KAAKkwI,IAAK,EACVlwI,KAAK2wI,OAAS3wI,KAAKE,KAAKikC,KAAKA,KAAO82D,EAAYj7F,KAAKE,KAAKikC,KAAKqW,YAI/Dx6C,KAAKkL,OAAM,EAAO89D,EAAUiyB,EAAWlpD,IAe/C7pB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAUqI,MAAQ,SAAUmmI,EAASroE,EAAUiyB,EAAWlpD,EAAUw/F,GAoBhG,GAlBgBhoI,SAAZ8nI,IAAyBA,GAAU,GACtB9nI,SAAby/D,IAA0BA,EAAW,IACvBz/D,SAAd0xF,GAAyC,OAAdA,KAAsBA,EAAY,KAChD1xF,SAAbwoC,IAA0BA,EAAW,GACnBxoC,SAAlBgoI,IAA+BA,GAAgB,GAE/Cx/F,EAAW/xC,KAAK4rE,eAEhB75B,EAAW/xC,KAAK4rE,cAGpB5rE,KAAKkpE,SAELlpE,KAAKyB,SAAU,EAEfzB,KAAKgpE,SAAWA,EAChBhpE,KAAKi7F,UAAYA,EAEbo2C,GAAWE,EAEX,IAAK,GAAItuI,GAAI,EAAO8uC,EAAJ9uC,EAAcA,IAE1BjD,KAAKgxI,mBAKThxI,MAAKkwI,IAAK,EACVlwI,KAAK0wI,WAAa3+F,EAClB/xC,KAAK4wI,SAAW,EAChB5wI,KAAK2wI,OAAS3wI,KAAKE,KAAKikC,KAAKA,KAAO82D,EAAYj7F,KAAKE,KAAKikC,KAAKqW,YAmBvEtyB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAUmuI,aAAe,SAAU3rI,EAAGC,EAAGiP,EAAKzI,GAEhEvC,SAANlE,IAAmBA,EAAI,MACjBkE,SAANjE,IAAmBA,EAAI,KAE3B,IAAI4rI,GAAWlxI,KAAKk1C,gBAAe,EAEnC,IAAiB,OAAbg8F,EAEA,OAAO,CAGX,IAAI3sG,GAAMvkC,KAAKE,KAAKqkC,GAERh7B,UAARgL,GAA+BhL,SAAVuC,EAErBolI,EAAS37F,YAAYhhC,EAAKzI,GAEbvC,SAARgL,GAEL28H,EAAS37F,YAAYhhC,EAGzB,IAAI67H,GAAQpwI,KAAKowI,MACbC,EAAQrwI,KAAKqwI,KAEP,QAANhrI,EAEA+qI,EAAQ/qI,EAEHrF,KAAK2G,MAAQ,IAElBypI,EAAQ7rG,EAAIqS,QAAQ52C,KAAK+2B,KAAM/2B,KAAK82B,QAG9B,OAANxxB,EAEA+qI,EAAQ/qI,EAEHtF,KAAK4G,OAAS,IAEnBypI,EAAQ9rG,EAAIqS,QAAQ52C,KAAKw5B,IAAKx5B,KAAKy5B,SAGvCy3G,EAASxtG,MAAM0sG,EAAOC,GAEtBa,EAAS73G,MAAQ,EACjB63G,EAASloE,SAAWhpE,KAAKgpE,SAErBhpE,KAAKswI,mBAELtwI,KAAKqyC,WAAW6+F,GAEXlxI,KAAKuwI,oBAEVvwI,KAAKuyC,WAAW2+F,GAGhBlxI,KAAK6uI,UAELqC,EAAS7B,aAAarvI,KAAK8uI,WAEI,IAA1B9uI,KAAK0vI,kBAAoD,IAA1B1vI,KAAK2vI,iBAEzCuB,EAAS7vI,MAAMmC,IAAI+gC,EAAI+3D,YAAYt8F,KAAK0vI,iBAAkB1vI,KAAK2vI,oBAEzD3vI,KAAKwwI,kBAAkBnrI,IAAMrF,KAAKywI,kBAAkBprI,GAAOrF,KAAKwwI,kBAAkBlrI,IAAMtF,KAAKywI,kBAAkBnrI,IAErH4rI,EAAS7vI,MAAMmC,IAAI+gC,EAAI+3D,YAAYt8F,KAAKwwI,kBAAkBnrI,EAAGrF,KAAKywI,kBAAkBprI,GAAIk/B,EAAI+3D,YAAYt8F,KAAKwwI,kBAAkBlrI,EAAGtF,KAAKywI,kBAAkBnrI,IAG/IiE,SAAVuC,IAEInL,MAAMoR,QAAQ/R,KAAKuqG,SAEnB2mC,EAASplI,MAAQ9L,KAAKE,KAAKqkC,IAAIi4D,KAAKx8F,KAAKuqG,SAIzC2mC,EAASplI,MAAQ9L,KAAKuqG,SAI1BvqG,KAAKgvI,UAELkC,EAAS9B,aAAapvI,KAAKivI,WAI3BiC,EAAS1vI,MAAQ+iC,EAAI+3D,YAAYt8F,KAAK8vI,iBAAkB9vI,KAAK+vI,kBAGjEmB,EAAShtI,UAAYlE,KAAKkE,SAE1B,IAAIktC,GAAO8/F,EAAS9/F,IAgBpB,OAdAA,GAAKmvF,eAELnvF,EAAKwsF,OAAO/kG,SAAS74B,KAAK49H,QAC1BxsF,EAAKiqF,KAAKxiG,SAAS74B,KAAKiwI,cAExB7+F,EAAK+pF,SAAS91H,EAAIk/B,EAAIqS,QAAQ52C,KAAKwvI,iBAAiBnqI,EAAGrF,KAAKyvI,iBAAiBpqI,GAC7E+rC,EAAK+pF,SAAS71H,EAAIi/B,EAAIqS,QAAQ52C,KAAKwvI,iBAAiBlqI,EAAGtF,KAAKyvI,iBAAiBnqI,GAC7E8rC,EAAK2pF,gBAAkBx2F,EAAIqS,QAAQ52C,KAAK4vI,YAAa5vI,KAAK6vI,aAE1Dz+F,EAAK4oF,QAAQ10H,EAAItF,KAAKg6H,QACtB5oF,EAAK6pF,YAAcj7H,KAAKi7H,YAExBiW,EAAS/B,UAEF,GASXjnH,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAUE,QAAU,WAEhD/C,KAAKE,KAAKmkC,UAAU3zB,OAAO1Q,MAE3BkoB,EAAOwnB,MAAM7sC,UAAUE,QAAQ2C,KAAK1F,MAAM,GAAM,IAWpDkoB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAU4gC,QAAU,SAAU98B,EAAOC,GAEjE5G,KAAK4/B,KAAKj5B,MAAQA,EAClB3G,KAAK4/B,KAAKh5B,OAASA,GAUvBshB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAU2uI,UAAY,SAAU11G,EAAKE,GAEjEF,EAAMA,GAAO,EACbE,EAAMA,GAAO,EAEbh8B,KAAKwvI,iBAAiBnqI,EAAIy2B,EAC1B97B,KAAKyvI,iBAAiBpqI,EAAI22B,GAU9B9T,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAU4uI,UAAY,SAAU31G,EAAKE,GAEjEF,EAAMA,GAAO,EACbE,EAAMA,GAAO,EAEbh8B,KAAKwvI,iBAAiBlqI,EAAIw2B,EAC1B97B,KAAKyvI,iBAAiBnqI,EAAI02B,GAW9B9T,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAU6uI,YAAc,SAAU51G,EAAKE,GAEnEF,EAAMA,GAAO,EACbE,EAAMA,GAAO,EAEbh8B,KAAK4vI,YAAc9zG,EACnB97B,KAAK6vI,YAAc7zG,GAgBvB9T,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAU8uI,SAAW,SAAU71G,EAAKE,EAAK41G,EAAMztC,EAAMC,GAYjF,GAVY76F,SAARuyB,IAAqBA,EAAM,GACnBvyB,SAARyyB,IAAqBA,EAAM,GAClBzyB,SAATqoI,IAAsBA,EAAO,GACpBroI,SAAT46F,IAAsBA,EAAOj8E,EAAO42E,OAAOK,OAAOC,MACzC71F,SAAT66F,IAAsBA,GAAO,GAEjCpkG,KAAK8vI,iBAAmBh0G,EACxB97B,KAAK+vI,iBAAmB/zG,EACxBh8B,KAAKgvI,WAAY,EAEb4C,EAAO,GAAK91G,IAAQE,EACxB,CACI,GAAI61G,IAAcl4F,EAAG7d,GACjB+uC,EAAQ7qE,KAAKE,KAAK0jC,KAAKinC,MAAMgnE,GAAW75G,IAAM2hB,EAAG3d,GAAO41G,EAAMztC,EAClEt5B,GAAMu5B,KAAKA,GAEXpkG,KAAKivI,UAAYpkE,EAAMy6B,aAAa,IAGpCtlG,KAAKivI,UAAUvxH,UACf1d,KAAKgvI,WAAY,IAmBzB9mH,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAUmoI,SAAW,SAAU7gI,EAAMG,EAAMD,EAAME,EAAMqnI,EAAMztC,EAAMC,GAmB/F,GAjBa76F,SAATY,IAAsBA,EAAO,GACpBZ,SAATe,IAAsBA,EAAO,GACpBf,SAATc,IAAsBA,EAAO,GACpBd,SAATgB,IAAsBA,EAAO,GACpBhB,SAATqoI,IAAsBA,EAAO,GACpBroI,SAAT46F,IAAsBA,EAAOj8E,EAAO42E,OAAOK,OAAOC,MACzC71F,SAAT66F,IAAsBA,GAAO,GAGjCpkG,KAAK0vI,iBAAmB,EACxB1vI,KAAK2vI,iBAAmB,EAExB3vI,KAAKwwI,kBAAkBhtI,IAAI2G,EAAME,GACjCrK,KAAKywI,kBAAkBjtI,IAAI8G,EAAMC,GAEjCvK,KAAK6uI,WAAY,EAEb+C,EAAO,IAAOznI,IAASG,GAAUD,IAASE,GAC9C,CACI,GAAIsnI,IAAcxsI,EAAG8E,EAAM7E,EAAG+E,GAC1BwgE,EAAQ7qE,KAAKE,KAAK0jC,KAAKinC,MAAMgnE,GAAW75G,IAAM3yB,EAAGiF,EAAMhF,EAAGiF,GAAQqnI,EAAMztC,EAC5Et5B,GAAMu5B,KAAKA,GAEXpkG,KAAK8uI,UAAYjkE,EAAMy6B,aAAa,IAGpCtlG,KAAK8uI,UAAUpxH,UACf1d,KAAK6uI,WAAY,IAYzB3mH,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAUivI,GAAK,SAAUrnE,GAEjDA,EAAOzvC,QAEPh7B,KAAKowI,MAAQ3lE,EAAOzvC,OAAO31B,EAC3BrF,KAAKqwI,MAAQ5lE,EAAOzvC,OAAO11B,IAI3BtF,KAAKowI,MAAQ3lE,EAAOhmE,MAAMY,EAAKolE,EAAOziE,OAAO3C,EAAIolE,EAAO9jE,MACxD3G,KAAKqwI,MAAQ5lE,EAAOhmE,MAAMa,EAAKmlE,EAAOziE,OAAO1C,EAAImlE,EAAO7jE,SAShExD,OAAOC,eAAe6kB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAW,SAE7DS,IAAK,WACD,MAAOtD,MAAK4/B,KAAKj5B,OAGrBnD,IAAK,SAAUC,GACXzD,KAAK4/B,KAAKj5B,MAAQlD,KAS1BL,OAAOC,eAAe6kB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAW,UAE7DS,IAAK,WACD,MAAOtD,MAAK4/B,KAAKh5B,QAGrBpD,IAAK,SAAUC,GACXzD,KAAK4/B,KAAKh5B,OAASnD,KAS3BL,OAAOC,eAAe6kB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAW,KAE7DS,IAAK,WACD,MAAOtD,MAAKowI,OAGhB5sI,IAAK,SAAUC,GACXzD,KAAKowI,MAAQ3sI,KASrBL,OAAOC,eAAe6kB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAW,KAE7DS,IAAK,WACD,MAAOtD,MAAKqwI,OAGhB7sI,IAAK,SAAUC,GACXzD,KAAKqwI,MAAQ5sI,KAUrBL,OAAOC,eAAe6kB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAW,QAE7DS,IAAK,WACD,MAAOzC,MAAKizB,MAAM9zB,KAAKqF,EAAKrF,KAAK4/B,KAAKj5B,MAAQ,MAUtDvD,OAAOC,eAAe6kB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAW,SAE7DS,IAAK,WACD,MAAOzC,MAAKizB,MAAM9zB,KAAKqF,EAAKrF,KAAK4/B,KAAKj5B,MAAQ,MAUtDvD,OAAOC,eAAe6kB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAW,OAE7DS,IAAK,WACD,MAAOzC,MAAKizB,MAAM9zB,KAAKsF,EAAKtF,KAAK4/B,KAAKh5B,OAAS,MAUvDxD,OAAOC,eAAe6kB,EAAOgxB,UAAU2yB,OAAOC,QAAQjpE,UAAW,UAE7DS,IAAK,WACD,MAAOzC,MAAKizB,MAAM9zB,KAAKsF,EAAKtF,KAAK4/B,KAAKh5B,OAAS,MAuCvDshB,EAAOs9C,MAAQ,SAAUtlE,EAAMqU,EAAK44D,GA6KhC,GA3KY5jE,SAARgL,IAAqBA,EAAM,MACnBhL,SAAR4jE,IAAqBA,EAAM,MAK/BntE,KAAKE,KAAOA,EAMZF,KAAKuU,IAAMA,EAMXvU,KAAK2G,MAAQ,EAMb3G,KAAK4G,OAAS,EAMd5G,KAAK4U,KAAOsT,EAAOyL,MAKnB3zB,KAAKoxE,sBAAuB,EAM5BpxE,KAAK4vG,aAAc,EAKnB5vG,KAAKogH,OAAS,GAAIl4F,GAAOud,OAKzBzlC,KAAKylE,eAAiB,GAAIv9C,GAAOud,OAKjCzlC,KAAK4jG,WAAa,GAAI17E,GAAOud,OAK7BzlC,KAAK+xI,SAAW,GAAI7pH,GAAOud,OAK3BzlC,KAAKgyI,QAAU,GAAI9pH,GAAOud,OAO1BzlC,KAAKiyI,UAAY,GAAI/pH,GAAOud,OAM5BzlC,KAAK87G,QAAU,KAMf97G,KAAKy3F,WAAa,KAKlBz3F,KAAKktE,MAAQ,KAKbltE,KAAKkyI,YAAc,KAKnBlyI,KAAKmyI,aAAc,EASnBnyI,KAAKoyI,WAAa,GAMlBpyI,KAAKqyI,MAAQ,EAMbryI,KAAKsyI,cAAgB,IAMrBtyI,KAAKuyI,SAAW,KAOhBvyI,KAAKsiH,YAAa,EAOlBtiH,KAAK2gH,QAAS,EAOd3gH,KAAK03C,aAAc,EAOnB13C,KAAKy3C,SAAU,EAOfz3C,KAAKwyI,UAAW,EAOhBxyI,KAAKyyI,WAAY,EAEbl+H,GAAOvU,KAAKE,KAAK4jC,MAAMwuE,cAAc/9F,GACzC,CACI,GAAIm+H,GAAS1yI,KAAKE,KAAK4jC,MAAMwvE,SAAS/+F,EAElCm+H,GAAO9hC,OAEP5wG,KAAK2yI,oBAAoBD,EAAOjiI,MAIhCzQ,KAAKktE,MAAQwlE,EAAOjiI,KAGxBzQ,KAAK2G,MAAQ3G,KAAKktE,MAAM0lE,WACxB5yI,KAAK4G,OAAS5G,KAAKktE,MAAM2lE,gBAEpB1lE,IAELntE,KAAK8yI,mBAAmB3lE,GAAK,EAO7BntE,MAAKktE,QAAUC,GAEfntE,KAAK2L,YAAc,GAAI1L,MAAK4oB,YAAY7oB,KAAKktE,OAC7CltE,KAAK2L,YAAYud,YAAYlpB,KAAK2G,MAAO3G,KAAK4G,UAI9C5G,KAAK2L,YAAc,GAAI1L,MAAK4oB,YAAY5oB,KAAKuO,aAAwB,UAAE7C,YAAY0C,QACnFrO,KAAK2L,YAAYud,YAAYlpB,KAAK2G,MAAO3G,KAAK4G,SAOlD5G,KAAK4H,QAAU,GAAI3H,MAAKoL,QAAQrL,KAAK2L,aAMrC3L,KAAKkxE,aAAe,GAAIhpD,GAAOipD,MAAM,EAAG,EAAG,EAAGnxE,KAAK2G,MAAO3G,KAAK4G,OAAQ,SAEvE5G,KAAK4H,QAAQqiB,SAASjqB,KAAKkxE,cAE3BlxE,KAAK4H,QAAQqE,OAAQ,EAET,OAARsI,GAAgBvU,KAAKktE,QAErBltE,KAAK4H,QAAQqE,MAAQjM,KAAKktE,MAAMiuC,SAWpCn7G,KAAK+yI,SAAW,KAEZ7qH,EAAOohD,aAEPtpE,KAAK+yI,SAAW,GAAI7qH,GAAOohD,WAAWtpE,KAAKE,KAAM,GAAIF,KAAK2G,MAAO3G,KAAK4G,UAGrE5G,KAAKE,KAAK0uC,OAAOoL,WAAah6C,KAAKE,KAAK0uC,OAAOuM,KAAOn7C,KAAKE,KAAK0uC,OAAO0T,UAAahwC,OAAqB,cAAKA,OAAqB,aAAE0wG,iBAEtIhjH,KAAKijH,eAIDyvB,IAEAA,EAAOtxF,QAAS,IAM5Bl5B,EAAOs9C,MAAM3iE,WAUTmwI,qBAAsB,SAAU9lE,EAAO+lE,GAcnC,MAZI/lE,IAAS+lE,IAETjzI,KAAKktE,MAAQA,EACbltE,KAAKkyI,YAAce,EAEnBjzI,KAAKmyI,aAAc,EACnBnyI,KAAK2L,YAAY0C,OAASrO,KAAKktE,MAC/BltE,KAAKuX,cAAc,KAAMvX,KAAKktE,MAAM0lE,WAAY5yI,KAAKktE,MAAM2lE,aAE3D7yI,KAAK+xI,SAAStqG,SAASznC,OAGpBA,MAuBXkzI,iBAAkB,SAAUC,EAAcxsI,EAAOC,GAM7C,GAJqB2C,SAAjB4pI,IAA8BA,GAAe,GACnC5pI,SAAV5C,IAAuBA,EAAQ,MACpB4C,SAAX3C,IAAwBA,EAAS,OAEhC5G,KAAKE,KAAK0uC,OAAOqgD,aAGlB,MADAjvF,MAAKgyI,QAAQvqG,SAASznC,KAAM,oBACrB,CAGc,QAArBA,KAAKkyI,cAEDlyI,KAAKkyI,YAAoB,OAEzBlyI,KAAKkyI,YAAYzpG,QAAS,EAI1BzoC,KAAKkyI,YAAYpnI,QAIzB9K,KAAKozI,qBAELpzI,KAAKktE,MAAQp9D,SAASoB,cAAc,SACpClR,KAAKktE,MAAMmmE,aAAa,WAAY,YAEtB,OAAV1sI,IAEA3G,KAAKktE,MAAMvmE,MAAQA,GAGR,OAAXC,IAEA5G,KAAKktE,MAAMtmE,OAASA,GAKxB5G,KAAKy3F,WAAanlF,OAAO0/E,WAAWhyF,KAAKszI,oBAAoBt/G,KAAKh0B,MAAOA,KAAK87G,QAE9E,KACIzzF,UAAU4mE,cACJlkB,MAASooE,EAAcjmE,OAAS,GAClCltE,KAAKuzI,oBAAoBv/G,KAAKh0B,MAC9BA,KAAKwzI,kBAAkBx/G,KAAKh0B,OAGpC,MAAOyyF,GAEHzyF,KAAKwzI,kBAAkB/gD,GAG3B,MAAOzyF,OAQXszI,oBAAqB,WAEjBx7C,aAAa93F,KAAKy3F,YAElBz3F,KAAKiyI,UAAUxqG,SAASznC,OAQ5BwzI,kBAAmB,SAAUnlG,GAEzBypD,aAAa93F,KAAKy3F,YAElBz3F,KAAKgyI,QAAQvqG,SAASznC,KAAMquC,IAQhCklG,oBAAqB,SAAUN,GAE3Bn7C,aAAa93F,KAAKy3F,YAGlBz3F,KAAKkyI,YAAce,EAGa1pI,SAA5BvJ,KAAKktE,MAAMumE,aAEXzzI,KAAKktE,MAAMumE,aAAeR,EAI1BjzI,KAAKktE,MAAM/8D,IAAOmC,OAAO0gF,KAAO1gF,OAAO0gF,IAAI0gD,gBAAgBT,IAAYA,CAG3E,IAAIvkB,GAAO1uH,IAEXA,MAAKktE,MAAMymE,aAAe,WAItB,QAASC,KAEL,GAAIvB,EAAQ,EAER,GAAI3jB,EAAKxhD,MAAM0lE,WAAa,EAC5B,CAEI,GAAIjsI,GAAQ+nH,EAAKxhD,MAAM0lE,WACnBhsI,EAAS8nH,EAAKxhD,MAAM2lE,WAEpB14E,OAAMu0D,EAAKxhD,MAAM2lE,eAEjBjsI,EAASD,GAAS,EAAE,IAGxB+nH,EAAKxhD,MAAM7J,OAEXqrD,EAAKyjB,aAAc,EACnBzjB,EAAK/iH,YAAY0C,OAASqgH,EAAKxhD,MAC/BwhD,EAAKn3G,cAAc,KAAM5Q,EAAOC,GAChC8nH,EAAKqjB,SAAStqG,SAASinF,OAIvBp8G,QAAO0/E,WAAW4hD,EAAa,SAKnCrhI,SAAQ2iB,KAAK,mDAGjBm9G,KAlCJ,GAAIA,GAAQ,EAqCZuB,OAcRjB,oBAAqB,SAAUxsC,GAE3B,GAAI/7D,GAAQpqC,IASZ,OAPAA,MAAKktE,MAAQp9D,SAASoB,cAAc,SACpClR,KAAKktE,MAAM8tC,UAAW,EACtBh7G,KAAKktE,MAAMmmE,aAAa,WAAY,YACpCrzI,KAAKktE,MAAM3+B,iBAAiB,aAAc,SAAUF,GAASjE,EAAM7yB,cAAc82B,KAAW,GAC5FruC,KAAKktE,MAAM/8D,IAAMmC,OAAO0gF,IAAI0gD,gBAAgBvtC,GAC5CnmG,KAAKktE,MAAMiuC,SAAU,EAEdn7G,MAYX8yI,mBAAoB,SAAU3lE,EAAK8tC,GA8B/B,MA5BiB1xG,UAAb0xG,IAA0BA,GAAW,GAGrCj7G,KAAK4H,UAEL5H,KAAK4H,QAAQqE,OAAQ,GAGzBjM,KAAKktE,MAAQp9D,SAASoB,cAAc,SACpClR,KAAKktE,MAAM8tC,UAAW,EAElBC,GAEAj7G,KAAKktE,MAAMmmE,aAAa,WAAY,YAGxCrzI,KAAKktE,MAAM/8D,IAAMg9D,EAEjBntE,KAAKktE,MAAMiuC,SAAU,EAErBn7G,KAAKktE,MAAMlpC,OAEXhkC,KAAKqyI,MAAQryI,KAAKoyI,WAElBpyI,KAAKuyI,SAAWjgI,OAAO0/E,WAAWhyF,KAAK6zI,mBAAmB7/G,KAAKh0B,MAAOA,KAAKsyI,eAE3EtyI,KAAKuU,IAAM44D,EAEJntE,MAaXuX,cAAe,SAAU82B,EAAO1nC,EAAOC,GAEnC,GAAIktI,IAAS,GAECvqI,SAAV5C,GAAiC,OAAVA,KAAkBA,EAAQ3G,KAAKktE,MAAM0lE,WAAYkB,GAAS,IACtEvqI,SAAX3C,GAAmC,OAAXA,KAAmBA,EAAS5G,KAAKktE,MAAM2lE,aAEnE7yI,KAAK2G,MAAQA,EACb3G,KAAK4G,OAASA,EAEV5G,KAAK2L,YAAY0C,SAAWrO,KAAKktE,QAEjCltE,KAAK2L,YAAY0C,OAASrO,KAAKktE,OAGnCltE,KAAK2L,YAAYud,YAAYviB,EAAOC,GAEpC5G,KAAK4H,QAAQkE,MAAMjE,OAAOlB,EAAOC,GAEjC5G,KAAK4H,QAAQjB,MAAQA,EACrB3G,KAAK4H,QAAQhB,OAASA,EAEtB5G,KAAK4H,QAAQqE,OAAQ,EAEjBjM,KAAK+yI,UAEL/yI,KAAK+yI,SAASlrI,OAAOlB,EAAOC,GAG5BktI,GAAuB,OAAb9zI,KAAKuU,MAEfvU,KAAKylE,eAAeh+B,SAASznC,KAAM2G,EAAOC,GAEtC5G,KAAKyyI,YAELzyI,KAAKktE,MAAM7J,OACXrjE,KAAKogH,OAAO34E,SAASznC,KAAMA,KAAKujE,KAAMvjE,KAAK+zI,iBAYvDjrH,SAAU,WAEN9oB,KAAK4jG,WAAWn8D,SAASznC,OAY7BqjE,KAAM,SAAUE,EAAMwwE,GA0DlB,MAxDaxqI,UAATg6D,IAAsBA,GAAO,GACZh6D,SAAjBwqI,IAA8BA,EAAe,GAE7C/zI,KAAKE,KAAKgkC,MAAMo8E,SAEhBtgH,KAAKE,KAAKgkC,MAAMo8E,OAAO5kF,IAAI17B,KAAKi7C,QAASj7C,MACzCA,KAAKE,KAAKgkC,MAAMk+E,SAAS1mF,IAAI17B,KAAKo7C,UAAWp7C,MAEzCA,KAAKE,KAAKgkC,MAAM+9E,MAEhBjiH,KAAKi7C,WAIbj7C,KAAKE,KAAKsmC,QAAQ9K,IAAI17B,KAAKg0I,SAAUh0I,MACrCA,KAAKE,KAAKwmC,SAAShL,IAAI17B,KAAKi0I,UAAWj0I,MAEvCA,KAAKktE,MAAM3+B,iBAAiB,QAASvuC,KAAK8oB,SAASkL,KAAKh0B,OAAO,GAE3DujE,EAEAvjE,KAAKktE,MAAM3J,KAAO,OAIlBvjE,KAAKktE,MAAM3J,KAAO,GAGtBvjE,KAAKktE,MAAM6mE,aAAeA,EAEtB/zI,KAAK4vG,YAEL5vG,KAAKwyI,UAAW,GAIhBxyI,KAAKwyI,UAAW,EAEC,OAAbxyI,KAAKuU,MAEyB,IAA1BvU,KAAKktE,MAAM6kB,YAEX/xF,KAAKqyI,MAAQryI,KAAKoyI,WAClBpyI,KAAKuyI,SAAWjgI,OAAO0/E,WAAWhyF,KAAK6zI,mBAAmB7/G,KAAKh0B,MAAOA,KAAKsyI,gBAI3EtyI,KAAKktE,MAAM3+B,iBAAiB,UAAWvuC,KAAKk0I,YAAYlgH,KAAKh0B,OAAO,IAI5EA,KAAKktE,MAAM7J,OAEXrjE,KAAKogH,OAAO34E,SAASznC,KAAMujE,EAAMwwE,IAG9B/zI,MAUXk0I,YAAa,WAETl0I,KAAKktE,MAAMz9B,oBAAoB,UAAWzvC,KAAKk0I,YAAYlgH,KAAKh0B,OAEhEA,KAAKuX,iBAkBTzM,KAAM,WAoDF,MAlDI9K,MAAKE,KAAKgkC,MAAMo8E,SAEhBtgH,KAAKE,KAAKgkC,MAAMo8E,OAAO5vG,OAAO1Q,KAAKi7C,QAASj7C,MAC5CA,KAAKE,KAAKgkC,MAAMk+E,SAAS1xG,OAAO1Q,KAAKo7C,UAAWp7C,OAGpDA,KAAKE,KAAKsmC,QAAQ91B,OAAO1Q,KAAKg0I,SAAUh0I,MACxCA,KAAKE,KAAKwmC,SAASh2B,OAAO1Q,KAAKi0I,UAAWj0I,MAItCA,KAAKmyI,aAEDnyI,KAAKktE,MAAMumE,cAEXzzI,KAAKktE,MAAMumE,aAAa3oI,OACxB9K,KAAKktE,MAAM/8D,IAAM,OAIjBnQ,KAAKktE,MAAM/8D,IAAM,GAEbnQ,KAAKkyI,YAAoB,OAEzBlyI,KAAKkyI,YAAYzpG,QAAS,EAI1BzoC,KAAKkyI,YAAYpnI,QAIzB9K,KAAKkyI,YAAc,KACnBlyI,KAAKmyI,aAAc,IAInBnyI,KAAKktE,MAAMz9B,oBAAoB,QAASzvC,KAAK8oB,SAASkL,KAAKh0B,OAAO,GAClEA,KAAKktE,MAAMz9B,oBAAoB,UAAWzvC,KAAKk0I,YAAYlgH,KAAKh0B,OAAO,GAEnEA,KAAK4vG,YAEL5vG,KAAKwyI,UAAW,EAIhBxyI,KAAKktE,MAAMzmC,SAIZzmC,MAYX07B,IAAK,SAAU+uC,GAEX,GAAI9pE,MAAMoR,QAAQ04D,GAEd,IAAK,GAAIxnE,GAAI,EAAGA,EAAIwnE,EAAOvnE,OAAQD,IAE3BwnE,EAAOxnE,GAAgB,aAEvBwnE,EAAOxnE,GAAGsyC,YAAYv1C,UAM9ByqE,GAAOl1B,YAAYv1C,KAGvB,OAAOA,OAgBXmsC,WAAY,SAAU9mC,EAAGC,EAAG8mC,EAASC,EAAStpB,EAAQE,GAElDF,EAASA,GAAU,EACnBE,EAASA,GAAU,CAEnB,IAAIuG,GAAQxpB,KAAKE,KAAKw7B,IAAIlS,MAAMnkB,EAAGC,EAAGtF,KAKtC,OAHAwpB,GAAMxhB,OAAOxE,IAAI4oC,EAASC,GAC1B7iB,EAAMnoB,MAAMmC,IAAIuf,EAAQE,GAEjBuG,GAWX1iB,OAAQ,YAEC9G,KAAKoxE,sBAAwBpxE,KAAKm0I,SAEnCn0I,KAAK2L,YAAY8H,SAWzBwnC,QAAS,WAEDj7C,KAAK2gH,SAKT3gH,KAAK2gH,QAAS,EAEd3gH,KAAKktE,MAAMy0C,OAAQ,IAUvBvmE,UAAW,WAEFp7C,KAAK2gH,SAAU3gH,KAAKsiH,aAKzBtiH,KAAK2gH,QAAS,EAEd3gH,KAAKktE,MAAMy0C,OAAQ,IAUvBqyB,SAAU,WAEFh0I,KAAKy3C,SAAWz3C,KAAK4vG,cAKzB5vG,KAAKy3C,SAAU,EAEfz3C,KAAKktE,MAAMzmC,UAUfwtG,UAAW,YAEFj0I,KAAKy3C,SAAWz3C,KAAK03C,aAAe13C,KAAK4vG,cAK9C5vG,KAAKy3C,SAAU,EAEVz3C,KAAKktE,MAAMknE,OAEZp0I,KAAKktE,MAAM7J,SA0BnBgxE,aAAc,SAAUlkI,EAAK8qG,GAwBzB,MAtBiB1xG,UAAb0xG,IAA0BA,GAAW,GAGzCj7G,KAAK4H,QAAQqE,OAAQ,EAErBjM,KAAKktE,MAAMzmC,QAEXzmC,KAAKqyI,MAAQryI,KAAKoyI,WAElBpyI,KAAKuyI,SAAWjgI,OAAO0/E,WAAWhyF,KAAK6zI,mBAAmB7/G,KAAKh0B,MAAOA,KAAKsyI,eAE3EtyI,KAAKktE,MAAM/8D,IAAMA,EAEjBnQ,KAAKktE,MAAMlpC,OAEXhkC,KAAKyyI,UAAYx3B,EAEZA,IAEDj7G,KAAK4kC,QAAS,GAGX5kC,MAUX6zI,mBAAoB,WAGc,IAA1B7zI,KAAKktE,MAAM6kB,WAGX/xF,KAAKuX,iBAILvX,KAAKqyI,QAEDryI,KAAKqyI,MAAQ,EAEbryI,KAAKuyI,SAAWjgI,OAAO0/E,WAAWhyF,KAAK6zI,mBAAmB7/G,KAAKh0B,MAAOA,KAAKsyI,eAI3E//H,QAAQ2iB,KAAK,0DAA2Dl1B,KAAKmyI,eAYzFlvB,aAAc,WAEVjjH,KAAKE,KAAK6jC,MAAMsZ,MAAM6O,qBAAqBlsD,KAAKkjH,OAAQljH,MACxDA,KAAK4vG,aAAc,GAWvBsT,OAAQ,WAQJ,GANAljH,KAAK4vG,aAAc,EAEnB5vG,KAAKktE,MAAM7J,OAEXrjE,KAAKogH,OAAO34E,SAASznC,KAAMA,KAAKujE,KAAMvjE,KAAK+zI,cAEvC/zI,KAAKuU,IACT,CACI,GAAIm+H,GAAS1yI,KAAKE,KAAK4jC,MAAMwvE,SAAStzG,KAAKuU,IAEvCm+H,KAAWA,EAAO9hC,SAElB8hC,EAAOtxF,QAAS,GAIxB,OAAO,GAiBXkzF,KAAM,SAAU15H,EAAOpZ,EAAO0C,GAM1B,MAJcqF,UAAVqR,IAAuBA,GAAQ,GACrBrR,SAAV/H,IAAuBA,EAAQ,GACjB+H,SAAdrF,IAA2BA,EAAY,MAErB,OAAlBlE,KAAK+yI,aAELxgI,SAAQ2iB,KAAK,mEAIbta,GAEA5a,KAAK+yI,SAAS1hE,MAGlBrxE,KAAK+yI,SAASx7G,KAAKv3B,KAAKktE,MAAO,EAAG,EAAGltE,KAAK2G,MAAO3G,KAAK4G,OAAQ,EAAG,EAAG5G,KAAK2G,MAAO3G,KAAK4G,OAAQ,EAAG,EAAG,EAAG,EAAG,EAAGpF,EAAO0C,GAE5GlE,KAAK+yI,WAUhBK,mBAAoB,WAEhB,GAAKpzI,KAAKktE,MAAV,CAUA,IALIltE,KAAKktE,MAAM0pB,YAEX52F,KAAKktE,MAAM0pB,WAAWnuF,YAAYzI,KAAKktE,OAGpCltE,KAAKktE,MAAMqnE,iBAEdv0I,KAAKktE,MAAMzkE,YAAYzI,KAAKktE,MAAMsnE,WAGtCx0I,MAAKktE,MAAMunE,gBAAgB,YAC3Bz0I,KAAKktE,MAAMunE,gBAAgB,OAE3Bz0I,KAAKktE,MAAQ,OAUjBnqE,QAAS,WAEL/C,KAAK8K,OAEL9K,KAAKozI,qBAEDpzI,KAAK4vG,aAEL5vG,KAAKE,KAAK6jC,MAAMsZ,MAAM+O,wBAAwBpsD,KAAKkjH,OAAQljH,MAG3DA,KAAKuyI,UAELjgI,OAAOwlF,aAAa93F,KAAKuyI,YAWrCnvI,OAAOC,eAAe6kB,EAAOs9C,MAAM3iE,UAAW,eAE1CS,IAAK,WAED,MAAQtD,MAAU,MAAIA,KAAKktE,MAAM8xC,YAAc,GAInDx7G,IAAK,SAAUC,GAEXzD,KAAKktE,MAAM8xC,YAAcv7G,KAWjCL,OAAOC,eAAe6kB,EAAOs9C,MAAM3iE,UAAW,YAE1CS,IAAK,WAED,MAAQtD,MAAU,MAAIA,KAAKktE,MAAM7mB,SAAW,KAWpDjjD,OAAOC,eAAe6kB,EAAOs9C,MAAM3iE,UAAW,YAE1CS,IAAK,WAED,MAAQtD,MAAU,MAAKA,KAAKktE,MAAM8xC,YAAch/G,KAAKktE,MAAM7mB,SAAY,KAU/EjjD,OAAOC,eAAe6kB,EAAOs9C,MAAM3iE,UAAW,QAE1CS,IAAK,WAED,MAAOtD,MAAK2gH,QAIhBn9G,IAAK,SAAUC,GAIX,GAFAA,EAAQA,GAAS,KAGjB,CACI,GAAIzD,KAAK2gH,OAEL,MAGJ3gH,MAAKsiH,YAAa,EAClBtiH,KAAKi7C,cAGT,CACI,IAAKj7C,KAAK2gH,OAEN,MAGJ3gH,MAAKsiH,YAAa,EAClBtiH,KAAKo7C,gBAajBh4C,OAAOC,eAAe6kB,EAAOs9C,MAAM3iE,UAAW,UAE1CS,IAAK,WAED,MAAOtD,MAAKy3C,SAIhBj0C,IAAK,SAAUC,GAIX,GAFAA,EAAQA,GAAS,MAEbzD,KAAK4vG,YAKT,GAAInsG,EACJ,CACI,GAAIzD,KAAKy3C,QAEL,MAGJz3C,MAAK03C,aAAc,EACnB13C,KAAKg0I,eAGT,CACI,IAAKh0I,KAAKy3C,QAEN,MAGJz3C,MAAK03C,aAAc,EACnB13C,KAAKi0I,gBAUjB7wI,OAAOC,eAAe6kB,EAAOs9C,MAAM3iE,UAAW,UAE1CS,IAAK,WAED,MAAQtD,MAAU,MAAIA,KAAKktE,MAAMprC,OAAS,GAI9Ct+B,IAAK,SAAUC,GAEC,EAARA,EAEAA,EAAQ,EAEHA,EAAQ,IAEbA,EAAQ,GAGRzD,KAAKktE,QAELltE,KAAKktE,MAAMprC,OAASr+B,MAWhCL,OAAOC,eAAe6kB,EAAOs9C,MAAM3iE,UAAW,gBAE1CS,IAAK,WAED,MAAQtD,MAAU,MAAIA,KAAKktE,MAAM6mE,aAAe,GAIpDvwI,IAAK,SAAUC,GAEPzD,KAAKktE,QAELltE,KAAKktE,MAAM6mE,aAAetwI,MAetCL,OAAOC,eAAe6kB,EAAOs9C,MAAM3iE,UAAW,QAE1CS,IAAK,WAED,MAAQtD,MAAU,MAAIA,KAAKktE,MAAM3J,MAAO,GAI5C//D,IAAK,SAAUC,GAEPA,GAASzD,KAAKktE,MAEdltE,KAAKktE,MAAM3J,KAAO,OAEbvjE,KAAKktE,QAEVltE,KAAKktE,MAAM3J,KAAO,OAY9BngE,OAAOC,eAAe6kB,EAAOs9C,MAAM3iE,UAAW,WAE1CS,IAAK,WAED,QAAStD,KAAKktE,MAAMtoC,QAAU5kC,KAAKktE,MAAMknE,UAMjDlsH,EAAOs9C,MAAM3iE,UAAUC,YAAcolB,EAAOs9C,MAWpBj8D,SAApBtJ,KAAKkE,aAELlE,KAAKkE,WAAa+jB,EAAO/jB,YAGLoF,SAApBtJ,KAAKqN,aAELrN,KAAKqN,WAAa4a,EAAO5a,YAGK/D,SAA9BtJ,KAAKoL,QAAQC,eAEbrL,KAAKoL,QAAQC,aAAe,GAAIrL,MAAKoL,QAAQ,GAAIpL,MAAK4oB,cAGnBtf,SAAnCtJ,KAAKiB,cAAc2F,cAEnB5G,KAAKiB,cAAc2F,YAAc,GAAI5G,MAAK+B,QAGRuH,SAAlCtJ,KAAKyG,cAAcikB,aAEnB1qB,KAAKyG,cAAcikB,WAAa,GAAI1qB,MAAK+B,QAGzC/B,KAAKugD,UAAmCj3C,SAAvBtJ,KAAKugD,SAASk8B,OAE/Bz8E,KAAKugD,SAASk8B,KAAOx0D,EAAOyK,QAC5B1yB,KAAKugD,SAAS27B,KAAOj0D,EAAOmL,UAC5BpzB,KAAKugD,SAAS67B,KAAOn0D,EAAOkL,OAC5BnzB,KAAKugD,SAAS87B,KAAOp0D,EAAO6K,QAC5B9yB,KAAKugD,SAAS47B,KAAOl0D,EAAOuL,kBAGhCxzB,KAAK4pB,mBAAoB,EAQE,mBAAZ8G,UACe,mBAAXC,SAA0BA,OAAOD,UACxCA,QAAUC,OAAOD,QAAUzI,GAE/ByI,QAAQzI,OAASA,GACQ,mBAAX2I,SAA0BA,OAAOC,IAC/CD,OAAO,SAAU,WAAc,MAAO9wB,GAAKmoB,OAASA,MAEpDnoB,EAAKmoB,OAASA,EAGXA,GACRxiB,KAAK1F"} \ No newline at end of file +{"version":3,"file":"phaser-arcade-physics.min.js","sources":["phaser-arcade-physics.js"],"names":["root","this","PIXI","game","WEBGL_RENDERER","CANVAS_RENDERER","VERSION","_UID","Float32Array","Uint16Array","Uint32Array","ArrayBuffer","Array","PI_2","Math","PI","RAD_TO_DEG","DEG_TO_RAD","RETINA_PREFIX","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","stage","worldAlpha","worldTransform","Matrix","worldPosition","worldScale","worldRotation","_sr","_cr","filterArea","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","Object","defineProperty","get","item","set","value","isMask","_filters","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","_generateCachedSprite","updateTransform","p","world","a","b","c","d","tx","ty","pt","wt","rotationCache","sin","cos","x","y","sqrt","atan2","transformCallback","call","transformCallbackContext","displayObjectUpdateTransform","getBounds","matrix","EmptyRectangle","getLocalBounds","identityMatrix","setStageReference","preUpdate","generateTexture","resolution","scaleMode","renderer","bounds","renderTexture","RenderTexture","width","height","_tempMatrix","render","updateCache","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","gl","Sprite","_renderWebGL","_renderCanvas","texture","resize","tempFilters","filters","anchor","DisplayObjectContainer","create","_width","_height","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeStageReference","undefined","removeChildren","beginIndex","endIndex","begin","end","range","removed","displayObjectContainerUpdateTransform","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","matrixCache","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","mask","start","popMask","popFilter","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","baseTexture","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","w0","w1","h0","h1","temp","x1","y1","x2","y2","x3","y3","x4","y4","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","scaleModes","LINEAR","dx","trim","dy","roundPixels","setTransform","cw","ch","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","fromFrame","frameId","TextureCache","fromImage","imageId","crossorigin","SpriteBatch","textureThing","ready","initWebGL","fastSpriteBatch","WebGLFastSpriteBatch","setContext","shaderManager","setShader","fastShader","transform","isRotated","childTransform","hex2rgb","hex","rgb2hex","rgb","canUseNewCanvasBlendModes","document","pngHead","pngEnd","magenta","Image","src","yellow","canvas","CanvasPool","getContext","getImageData","data","remove","getNextPowerOfTwo","number","result","isPowerOfTwo","idx","getFirst","container","createElement","pool","removeByCanvas","getTotal","getFree","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","isArray","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","console","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","PixiShader","program","textureCount","firstRun","dirty","attributes","init","defaultVertexSrc","useProgram","uSampler","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","key","uniforms","uniformLocation","initUniforms","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","activeTexture","bindTexture","TEXTURE_2D","_glTextures","id","textureData","magFilter","minFilter","wrapS","CLAMP_TO_EDGE","wrapT","format","LUMINANCE","RGBA","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","texImage2D","UNSIGNED_BYTE","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","drawCount","initContext","mapBlendModes","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","contextLost","viewport","bindFramebuffer","FRAMEBUFFER","clearColor","_bgColor","r","g","clear","COLOR_BUFFER_BIT","renderDisplayObject","displayObject","buffer","setBlendMode","style","createTexture","UNPACK_PREMULTIPLY_ALPHA_WEBGL","NEAREST","mipmap","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","indices","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","uniform1f","toArray","uniform2f","uniform3fv","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","stripShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","numVerts","numIndices","vertices","positions","colors","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","AbstractFilter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","TEXTURE0","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorBuffer","colorArray","createFramebuffer","DEFAULT","framebufferTexture2D","COLOR_ATTACHMENT0","renderBuffer","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","pixels","canHandleAlpha","putImageData","checkInverseAlpha","s1","s2","canUseMultiply","CanvasRenderer","refresh","Phaser","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","BaseTextureCache","BaseTextureCacheIdGenerator","BaseTexture","complete","naturalWidth","naturalHeight","imageUrl","forceLoaded","unloadFromGPU","updateSourceImage","newSrc","glTexture","image","crossOrigin","fromCanvas","_pixiId","TextureCacheIdGenerator","FrameCache","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","addTextureToCache","removeTextureFromCache","textureBuffer","renderWebGL","renderCanvas","tempMatrix","updateBase","identity","translate","append","realResolution","getImage","getBase64","getCanvas","toDataURL","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","Strip","canvasPadding","drawMode","DrawModes","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","centerX","centerY","normX","normY","dist","beginPath","moveTo","lineTo","closePath","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","fill","updateFrame","n","rawX","rawY","Rope","points","lastPoint","point","amount","total","nextPoint","perp","ratio","perpLength","num","TilingSprite","textureDebug","canvasBuffer","tilePattern","refreshTexture","frameWidth","frameHeight","generateTilingTexture","needsUpdate","createPattern","sessionBlendMode","forcePowerOfTwo","targetWidth","_frame","sourceSizeW","targetHeight","sourceSizeH","trimmed","spriteSourceSizeX","spriteSourceSizeY","strokeStyle","strokeRect","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","trunc","ceil","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","warn","Utils","getProperty","obj","prop","parts","split","last","l","current","setProperty","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","hasOwnProperty","e","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","to","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","xDist","halfHeight","yDist","xCornerDist","yCornerDist","xCornerDistSq","yCornerDistSq","maxCornerDistSq","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","center","fromAngle","rotate","rotateAround","line","asSegment","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","normalAngle","fromArray","array","pos","newPos","tx1","d1","invert","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","dot","cross","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","pointslength","parse","xProp","yProp","Polygon","area","_points","closed","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","empty","inflatePoint","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","MIN_VALUE","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","_targetPosition","_edge","_position","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","follow","helper","unfollow","focusOn","setPosition","focusOnXY","update","updateTarget","checkBounds","setBoundsToWorld","setSize","reset","State","make","camera","cache","input","load","math","sound","time","tweens","particles","physics","rnd","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","Signal","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","boot","onPause","pause","onResume","resume","state","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","dispatch","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","exists","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","webkitHidden","mozHidden","msHidden","hidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addToHash","events","onAddedToGroup$dispatch","addMultiple","moveAll","addAt","updateZ","getAt","createMultiple","quantity","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","oldChild","newChild","hasProperty","operation","force","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","addAll","property","subAll","multiplyAll","divideAll","callAllExists","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","checkExists","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","getFirstExists","createIfNull","resetChild","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","destroyPhase","onRemovedFromGroup$dispatch","group","removeBetween","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","horizontal","vertical","between","Game","physicsConfig","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Cache","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","chrome","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","addMoveCallback","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","limit","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","worldVisible","TileSprite","Graphics","graphicsData","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","duration","justReleased","pointerMode","CONTACT","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchLockCallbacks","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","addTouchLockCallback","onEnd","removeTouchLockCallback","cb","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStartPoint","snapPoint","_dragPoint","_dragPhase","_wasEnabled","_tempPoint","_pointerData","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","flagged","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","_draggedPointerID","updateDrag","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","startDrag","onInputUp$dispatch","stopDrag","fromStart","globalToLocalX","py","globalToLocalY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","onDragStart$dispatch","grid","boundsFluid","scaleFluidInversed","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","singlePad","validConnections","rawIndices","padIndices","connected","k","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_rawPad","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","BringToTop","Core","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","rect","updateCrop","resetFrame","Delta","Destroy","destroyTexture","onDestroy$dispatch","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","inputEnabled","InWorld","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","img","base","frameData","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","object","creature","mesh","Creature","tween","physicsGroup","audio","audioSprite","addSprite","tileSprite","rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","Tilemap","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","align","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","STATE_OVER","STATE_OUT","STATE_DOWN","STATE_UP","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","changedUp","ctx","imageData","textureFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","addImage","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","direction","scan","newWidth","newHeight","op","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","arc","lineWidth","stroke","textureLine","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","fillAlpha","lineColor","currentPath","boundsPadding","_localBounds","webGLDirty","cachedSpriteDirty","lineStyle","lineAlpha","drawShape","quadraticCurveTo","cpX","cpY","toX","toY","xa","ya","fromX","fromY","bezierCurveTo","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qx","qy","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","real","beginFill","fillColor","endFill","drawRect","drawRoundedRect","drawCircle","drawEllipse","drawPolygon","path","clearDirty","updateCachedSpriteTexture","_prevTint","updateLocalBounds","tempPoint","RECT","RREC","CIRC","ELIP","cachedSprite","destroyCachedSprite","GraphicsData","POLY","_lineTint","_fillTint","PolyK","Triangulate","sign","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","earFound","_convex","vi","_PointInTriangle","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","EarCut","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","list","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","graphicsDataPool","switchMode","canDrawUsingSimple","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","getPt","n1","n2","perc","diff","xb","yb","circleData","totalSegs","seg","firstPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","pdist","indexCount","indexStart","glPoints","glIndicies","updateGraphicsTint","kappa","ox","oy","xe","ye","xm","ym","maxRadius","tintR","tintG","tintB","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawTriangles","point1","point2","point3","renderXY","renderRawXY","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","wrappedLines","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","exec","parseFloat","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","FrameData","currentX","currentY","addFrame","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","updateAnimation","_updateAnimation","difference","_scroll","def","physicsElapsed","autoScroll","stopScroll","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ie","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkOS","vita","kindle","RegExp","$1","_checkFeatures","getItem","error","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkInput","documentElement","maxTouchPoints","msPointerEnabled","pointerEnabled","_checkFullScreenSupport","fs","cfs","Element","_checkBrowser","$3","process","require","versions","_checkVideo","videoElement","canPlayType","_checkAudio","audioElement","_checkDevice","Int8Array","_checkIsLittleEndian","Uint8ClampedArray","Int32Array","_checkIsUint8ClampedImageData","vibrate","webkitVibrate","mozVibrate","msVibrate","elem","createImageData","_checkCSS3D","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","canPlayAudio","canPlayVideo","isConsoleOpen","profile","profileEnd","isAndroidStockBrowser","matches","skipPool","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","fuzzyEqual","epsilon","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","val","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","radians","linearInterpolation","linear","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","percent","degreeToRadiansFactor","radianToDegreesFactor","degrees","seeds","s0","sow","integer","frac","integerInRange","realInRange","normal","pick","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","substring","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","getAll","pendingDelete","removeFrom","_manager","addTweens","numTweens","isTweening","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","elapsedMS","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","useLocalFrameIndex","frameIndex","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","rotated","rotationDirection","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","row","column","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","signature","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","_cache","binary","bitmapFont","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","addCanvas","removeImage","_resolveURL","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","LoaderParser","jsonBitmapFont","xmlBitmapFont","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getJSON","getXML","getVideo","getShader","getRenderTexture","getBaseTexture","getFrameCount","getFrameByIndex","getPixiTexture","getPixiBaseTexture","getURL","getKeys","removeCanvas","removeFromPixi","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","atlas","baseURL","isLoading","preloadSprite","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","extension","syncPoint","currentFile","replaceInFileList","pack","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onload","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","Blob","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","onFadeComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","mute","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","fakeiOSTouchLock","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","reflowGame","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","currentColor","soundInfo","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","filled","rectangle","ropeSegments","self","segment","spriteInfo","spriteCoords","lineInfo","geom","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","PORTRAIT","LANDSCAPE","matchMedia","documentBounds","pageXOffset","pageYOffset","treatAsDesktop","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","shuffle","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","POSITIVE_INFINITY","numberArray","numberArrayStep","LinkedList","entity","palettes",1,2,3,4,5,6,7,8,9,"PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","cellWidth","cellHeight","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","object1","object2","overlapCallback","processCallback","collideHandler","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","group1","group2","body1","body2","separateX","separateY","immovable","maxOverlap","deltaAbsX","embedded","touching","none","overlapX","customSeparateX","bounce","moves","friction","nv1","mass","nv2","avg","deltaAbsY","overlapY","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","worldAngleToPointer","allowRotation","preRotation","newVelocity","deltaMax","facing","collideWorldBounds","any","wasTouching","blocked","tilePadding","syncBounds","_sx","_sy","updateBounds","asx","asy","check","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","separateTile","tile","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","collides","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","collision","currentLayer","debugMap","_results","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","found","createFromTiles","replacements","getLayer","customClass","lw","lh","createLayer","getLayerIndex","TilemapLayer","indexes","bodies","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","getTileRight","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","map","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","baseY","normStartX","normStartY","tileColor","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","fields","sliced","curl","compression","encoding","binaryString","atob","bytes","opacity","flippedVal","curi","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","curo","polyline","polygon","ellipse","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","Particle","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","on","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","_minParticleScale","_maxParticleScale","_quantity","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particle","rndKey","rndFrame","explode","flow","forceQuantity","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","at","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute"],"mappings":"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"} \ No newline at end of file diff --git a/build/custom/phaser-arcade-physics.min.js b/build/custom/phaser-arcade-physics.min.js index 8b33937a6..ba8c1efdd 100644 --- a/build/custom/phaser-arcade-physics.min.js +++ b/build/custom/phaser-arcade-physics.min.js @@ -1,21 +1,22 @@ -/* Phaser v2.4.4 - http://phaser.io - @photonstorm - (c) 2015 Photon Storm Ltd. */ +/* Phaser v2.4.5 - http://phaser.io - @photonstorm - (c) 2015 Photon Storm Ltd. */ -(function(){var a=this,b=b||{};return b.game=null,b.WEBGL_RENDERER=0,b.CANVAS_RENDERER=1,b.VERSION="v2.2.9",b._UID=0,"undefined"!=typeof Float32Array?(b.Float32Array=Float32Array,b.Uint16Array=Uint16Array,b.Uint32Array=Uint32Array,b.ArrayBuffer=ArrayBuffer):(b.Float32Array=Array,b.Uint16Array=Array),b.PI_2=2*Math.PI,b.RAD_TO_DEG=180/Math.PI,b.DEG_TO_RAD=Math.PI/180,b.RETINA_PREFIX="@2x",b.DisplayObject=function(){this.position=new b.Point(0,0),this.scale=new b.Point(1,1),this.pivot=new b.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.stage=null,this.worldAlpha=1,this.worldTransform=new b.Matrix,this.worldPosition=new b.Point(0,0),this.worldScale=new b.Point(1,1),this.worldRotation=0,this._sr=0,this._cr=1,this.filterArea=null,this._bounds=new b.Rectangle(0,0,1,1),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},b.DisplayObject.prototype.constructor=b.DisplayObject,b.DisplayObject.prototype.destroy=function(){if(this.children){for(var a=this.children.length;a--;)this.children[a].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.stage=null,this.worldTransform=null,this.filterArea=null,this._bounds=null,this._currentBounds=null,this._mask=null,this.renderable=!1,this._destroyCachedSprite()},Object.defineProperty(b.DisplayObject.prototype,"worldVisible",{get:function(){var a=this;do{if(!a.visible)return!1;a=a.parent}while(a);return!0}}),Object.defineProperty(b.DisplayObject.prototype,"mask",{get:function(){return this._mask},set:function(a){this._mask&&(this._mask.isMask=!1),this._mask=a,this._mask&&(this._mask.isMask=!0)}}),Object.defineProperty(b.DisplayObject.prototype,"filters",{get:function(){return this._filters},set:function(a){if(a){for(var c=[],d=0;d=0&&b<=this.children.length)return a.parent&&a.parent.removeChild(a),a.parent=this,this.children.splice(b,0,a),this.stage&&a.setStageReference(this.stage),a;throw new Error(a+"addChildAt: The index "+b+" supplied is out of bounds "+this.children.length)},b.DisplayObjectContainer.prototype.swapChildren=function(a,b){if(a!==b){var c=this.getChildIndex(a),d=this.getChildIndex(b);if(0>c||0>d)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[c]=b,this.children[d]=a}},b.DisplayObjectContainer.prototype.getChildIndex=function(a){var b=this.children.indexOf(a);if(-1===b)throw new Error("The supplied DisplayObject must be a child of the caller");return b},b.DisplayObjectContainer.prototype.setChildIndex=function(a,b){if(0>b||b>=this.children.length)throw new Error("The supplied index is out of bounds");var c=this.getChildIndex(a);this.children.splice(c,1),this.children.splice(b,0,a)},b.DisplayObjectContainer.prototype.getChildAt=function(a){if(0>a||a>=this.children.length)throw new Error("getChildAt: Supplied index "+a+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[a]},b.DisplayObjectContainer.prototype.removeChild=function(a){var b=this.children.indexOf(a);if(-1!==b)return this.removeChildAt(b)},b.DisplayObjectContainer.prototype.removeChildAt=function(a){var b=this.getChildAt(a);return this.stage&&b.removeStageReference(),b.parent=void 0,this.children.splice(a,1),b},b.DisplayObjectContainer.prototype.removeChildren=function(a,b){var c=a||0,d="number"==typeof b?b:this.children.length,e=d-c;if(e>0&&d>=e){for(var f=this.children.splice(c,e),g=0;gj;j++){var l=this.children[j];l.visible&&(i=!0,a=this.children[j].getBounds(),e=ec?g:c,h=h>d?h:d)}if(!i)return b.EmptyRectangle;var m=this._bounds;return m.x=e,m.y=f,m.width=g-e,m.height=h-f,m},b.DisplayObjectContainer.prototype.getLocalBounds=function(){var a=this.worldTransform;this.worldTransform=b.identityMatrix;for(var c=0,d=this.children.length;d>c;c++)this.children[c].updateTransform();var e=this.getBounds();return this.worldTransform=a,e},b.DisplayObjectContainer.prototype.setStageReference=function(a){this.stage=a;for(var b=0;bi){i*=-1;var s=d;d=-e,e=-s}if(0>l){l*=-1;var s=f;f=-g,g=-s}q=i*e+m,o=i*d+m,r=l*g+n,p=l*f+n}else{var t=i*e+k*g+m,u=l*g+j*e+n,v=i*d+k*g+m,w=l*g+j*d+n,x=i*d+k*f+m,y=l*f+j*d+n,z=i*e+k*f+m,A=l*f+j*e+n;q=q>t?t:q,q=q>v?v:q,q=q>x?x:q,q=q>z?z:q,r=r>u?u:r,r=r>w?w:r,r=r>y?y:r,r=r>A?A:r,o=t>o?t:o,o=v>o?v:o,o=x>o?x:o,o=z>o?z:o,p=u>p?u:p,p=w>p?w:p,p=y>p?y:p,p=A>p?A:p}var B=this._bounds;return B.x=q,B.width=o-q,B.y=r,B.height=p-r,this._currentBounds=B,B},b.Sprite.prototype._renderWebGL=function(a,b){if(this.visible&&!(this.alpha<=0)&&this.renderable){var c=this.worldTransform;if(b&&(c=b),this._mask||this._filters){var d=a.spriteBatch;this._filters&&(d.flush(),a.filterManager.pushFilter(this._filterBlock)),this._mask&&(d.stop(),a.maskManager.pushMask(this.mask,a),d.start()),d.render(this);for(var e=0;e>16&255)/255,(a>>8&255)/255,(255&a)/255]},b.rgb2hex=function(a){return(255*a[0]<<16)+(255*a[1]<<8)+255*a[2]},b.canUseNewCanvasBlendModes=function(){if(void 0===document)return!1;var a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/",c="AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",d=new Image;d.src=a+"AP804Oa6"+c;var e=new Image;e.src=a+"/wCKxvRF"+c;var f=b.CanvasPool.create(this,6,1),g=f.getContext("2d");if(g.globalCompositeOperation="multiply",g.drawImage(d,0,0),g.drawImage(e,2,0),!g.getImageData(2,0,1,1))return!1;var h=g.getImageData(2,0,1,1).data;return b.CanvasPool.remove(this),255===h[0]&&0===h[1]&&0===h[2]},b.getNextPowerOfTwo=function(a){if(a>0&&0===(a&a-1))return a;for(var b=1;a>b;)b<<=1;return b},b.isPowerOfTwo=function(a,b){return a>0&&0===(a&a-1)&&b>0&&0===(b&b-1)},b.CanvasPool={create:function(a,c,d){var e,f=b.CanvasPool.getFirst();if(-1===f){var g={parent:a,canvas:document.createElement("canvas")};b.CanvasPool.pool.push(g),e=g.canvas}else b.CanvasPool.pool[f].parent=a,e=b.CanvasPool.pool[f].canvas;return void 0!==c&&(e.width=c,e.height=d),e},getFirst:function(){for(var a=b.CanvasPool.pool,c=0;cd;d+=6,e+=4)this.indices[d+0]=e+0,this.indices[d+1]=e+1,this.indices[d+2]=e+2,this.indices[d+3]=e+0,this.indices[d+4]=e+2,this.indices[d+5]=e+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.dirty=!0,this.textures=[],this.blendModes=[],this.shaders=[],this.sprites=[],this.defaultShader=new b.AbstractFilter(["precision lowp float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;","}"])},b.WebGLSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW),this.currentBlendMode=99999;var c=new b.PixiShader(a);c.fragmentSrc=this.defaultShader.fragmentSrc,c.uniforms={},c.init(),this.defaultShader.shaders[a.id]=c},b.WebGLSpriteBatch.prototype.begin=function(a){this.renderSession=a,this.shader=this.renderSession.shaderManager.defaultShader,this.start()},b.WebGLSpriteBatch.prototype.end=function(){this.flush()},b.WebGLSpriteBatch.prototype.render=function(a,b){var c=a.texture,d=a.worldTransform;b&&(d=b),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture);var e=c._uvs;if(e){var f,g,h,i,j=a.anchor.x,k=a.anchor.y;if(c.trim){var l=c.trim;g=l.x-j*l.width,f=g+c.crop.width,i=l.y-k*l.height,h=i+c.crop.height}else f=c.frame.width*(1-j),g=c.frame.width*-j,h=c.frame.height*(1-k),i=c.frame.height*-k;var m=4*this.currentBatchSize*this.vertSize,n=c.baseTexture.resolution,o=d.a/n,p=d.b/n,q=d.c/n,r=d.d/n,s=d.tx,t=d.ty,u=this.colors,v=this.positions;this.renderSession.roundPixels?(v[m]=o*g+q*i+s|0,v[m+1]=r*i+p*g+t|0,v[m+5]=o*f+q*i+s|0,v[m+6]=r*i+p*f+t|0,v[m+10]=o*f+q*h+s|0,v[m+11]=r*h+p*f+t|0,v[m+15]=o*g+q*h+s|0,v[m+16]=r*h+p*g+t|0):(v[m]=o*g+q*i+s,v[m+1]=r*i+p*g+t,v[m+5]=o*f+q*i+s,v[m+6]=r*i+p*f+t,v[m+10]=o*f+q*h+s,v[m+11]=r*h+p*f+t,v[m+15]=o*g+q*h+s,v[m+16]=r*h+p*g+t),v[m+2]=e.x0,v[m+3]=e.y0,v[m+7]=e.x1,v[m+8]=e.y1,v[m+12]=e.x2,v[m+13]=e.y2,v[m+17]=e.x3,v[m+18]=e.y3;var w=a.tint;u[m+4]=u[m+9]=u[m+14]=u[m+19]=(w>>16)+(65280&w)+((255&w)<<16)+(255*a.worldAlpha<<24),this.sprites[this.currentBatchSize++]=a}},b.WebGLSpriteBatch.prototype.renderTilingSprite=function(a){var c=a.tilingTexture;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture),a._uvs||(a._uvs=new b.TextureUvs);var d=a._uvs,e=c.baseTexture.width,f=c.baseTexture.height;a.tilePosition.x%=e*a.tileScaleOffset.x,a.tilePosition.y%=f*a.tileScaleOffset.y;var g=a.tilePosition.x/(e*a.tileScaleOffset.x),h=a.tilePosition.y/(f*a.tileScaleOffset.y),i=a.width/e/(a.tileScale.x*a.tileScaleOffset.x),j=a.height/f/(a.tileScale.y*a.tileScaleOffset.y);d.x0=0-g,d.y0=0-h,d.x1=1*i-g,d.y1=0-h,d.x2=1*i-g,d.y2=1*j-h,d.x3=0-g,d.y3=1*j-h;var k=a.tint,l=(k>>16)+(65280&k)+((255&k)<<16)+(255*a.worldAlpha<<24),m=this.positions,n=this.colors,o=a.width,p=a.height,q=a.anchor.x,r=a.anchor.y,s=o*(1-q),t=o*-q,u=p*(1-r),v=p*-r,w=4*this.currentBatchSize*this.vertSize,x=c.baseTexture.resolution,y=a.worldTransform,z=y.a/x,A=y.b/x,B=y.c/x,C=y.d/x,D=y.tx,E=y.ty;m[w++]=z*t+B*v+D,m[w++]=C*v+A*t+E,m[w++]=d.x0,m[w++]=d.y0,n[w++]=l,m[w++]=z*s+B*v+D,m[w++]=C*v+A*s+E,m[w++]=d.x1,m[w++]=d.y1,n[w++]=l,m[w++]=z*s+B*u+D,m[w++]=C*u+A*s+E,m[w++]=d.x2,m[w++]=d.y2,n[w++]=l,m[w++]=z*t+B*u+D,m[w++]=C*u+A*t+E,m[w++]=d.x3,m[w++]=d.y3,n[w++]=l,this.sprites[this.currentBatchSize++]=a},b.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a,c=this.gl;if(this.dirty){this.dirty=!1,c.activeTexture(c.TEXTURE0),c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a=this.defaultShader.shaders[c.id];var d=4*this.vertSize;c.vertexAttribPointer(a.aVertexPosition,2,c.FLOAT,!1,d,0),c.vertexAttribPointer(a.aTextureCoord,2,c.FLOAT,!1,d,8),c.vertexAttribPointer(a.colorAttribute,4,c.UNSIGNED_BYTE,!0,d,16)}if(this.currentBatchSize>.5*this.size)c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices);else{var e=this.positions.subarray(0,4*this.currentBatchSize*this.vertSize);c.bufferSubData(c.ARRAY_BUFFER,0,e)}for(var f,g,h,i,j=0,k=0,l=null,m=this.renderSession.blendModeManager.currentBlendMode,n=null,o=!1,p=!1,q=0,r=this.currentBatchSize;r>q;q++){if(i=this.sprites[q],f=i.tilingTexture?i.tilingTexture.baseTexture:i.texture.baseTexture,g=i.blendMode,h=i.shader||this.defaultShader,o=m!==g,p=n!==h,(l!==f&&!f.skipRender||o||p)&&(this.renderBatch(l,j,k),k=q,j=0,l=f,o&&(m=g,this.renderSession.blendModeManager.setBlendMode(m)),p)){n=h,a=n.shaders[c.id],a||(a=new b.PixiShader(c),a.fragmentSrc=n.fragmentSrc,a.uniforms=n.uniforms,a.init(),n.shaders[c.id]=a),this.renderSession.shaderManager.setShader(a),a.dirty&&a.syncUniforms();var s=this.renderSession.projection;c.uniform2f(a.projectionVector,s.x,s.y);var t=this.renderSession.offset;c.uniform2f(a.offsetVector,t.x,t.y)}j++}this.renderBatch(l,j,k),this.currentBatchSize=0}},b.WebGLSpriteBatch.prototype.renderBatch=function(a,b,c){if(0!==b){var d=this.gl;if(a._dirty[d.id]){if(!this.renderSession.renderer.updateTexture(a))return}else d.bindTexture(d.TEXTURE_2D,a._glTextures[d.id]);d.drawElements(d.TRIANGLES,6*b,d.UNSIGNED_SHORT,6*c*2),this.renderSession.drawCount++}},b.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},b.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},b.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},b.WebGLFastSpriteBatch=function(a){this.vertSize=10,this.maxSize=6e3,this.size=this.maxSize;var c=4*this.size*this.vertSize,d=6*this.maxSize;this.vertices=new b.Float32Array(c),this.indices=new b.Uint16Array(d),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var e=0,f=0;d>e;e+=6,f+=4)this.indices[e+0]=f+0,this.indices[e+1]=f+1,this.indices[e+2]=f+2,this.indices[e+3]=f+0,this.indices[e+4]=f+2,this.indices[e+5]=f+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.currentBlendMode=0,this.renderSession=null,this.shader=null,this.matrix=null,this.setContext(a)},b.WebGLFastSpriteBatch.prototype.constructor=b.WebGLFastSpriteBatch,b.WebGLFastSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW)},b.WebGLFastSpriteBatch.prototype.begin=function(a,b){this.renderSession=b,this.shader=this.renderSession.shaderManager.fastShader,this.matrix=a.worldTransform.toArray(!0),this.start()},b.WebGLFastSpriteBatch.prototype.end=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.render=function(a){var b=a.children,c=b[0];if(c.texture._uvs){this.currentBaseTexture=c.texture.baseTexture,c.blendMode!==this.renderSession.blendModeManager.currentBlendMode&&(this.flush(),this.renderSession.blendModeManager.setBlendMode(c.blendMode));for(var d=0,e=b.length;e>d;d++)this.renderSprite(b[d]);this.flush()}},b.WebGLFastSpriteBatch.prototype.renderSprite=function(a){if(a.visible&&(a.texture.baseTexture===this.currentBaseTexture||a.texture.baseTexture.skipRender||(this.flush(),this.currentBaseTexture=a.texture.baseTexture,a.texture._uvs))){var b,c,d,e,f,g,h,i,j=this.vertices;if(b=a.texture._uvs,c=a.texture.frame.width,d=a.texture.frame.height,a.texture.trim){var k=a.texture.trim;f=k.x-a.anchor.x*k.width,e=f+a.texture.crop.width,h=k.y-a.anchor.y*k.height,g=h+a.texture.crop.height}else e=a.texture.frame.width*(1-a.anchor.x),f=a.texture.frame.width*-a.anchor.x,g=a.texture.frame.height*(1-a.anchor.y),h=a.texture.frame.height*-a.anchor.y;i=4*this.currentBatchSize*this.vertSize,j[i++]=f,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x0,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x1,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x2,j[i++]=b.y2,j[i++]=a.alpha,j[i++]=f,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x3,j[i++]=b.y3,j[i++]=a.alpha,this.currentBatchSize++,this.currentBatchSize>=this.size&&this.flush()}},b.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a=this.gl;if(this.currentBaseTexture._glTextures[a.id]||this.renderSession.renderer.updateTexture(this.currentBaseTexture,a),a.bindTexture(a.TEXTURE_2D,this.currentBaseTexture._glTextures[a.id]),this.currentBatchSize>.5*this.size)a.bufferSubData(a.ARRAY_BUFFER,0,this.vertices);else{var b=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);a.bufferSubData(a.ARRAY_BUFFER,0,b)}a.drawElements(a.TRIANGLES,6*this.currentBatchSize,a.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}},b.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.start=function(){var a=this.gl;a.activeTexture(a.TEXTURE0),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var b=this.renderSession.projection;a.uniform2f(this.shader.projectionVector,b.x,b.y),a.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var c=4*this.vertSize;a.vertexAttribPointer(this.shader.aVertexPosition,2,a.FLOAT,!1,c,0),a.vertexAttribPointer(this.shader.aPositionCoord,2,a.FLOAT,!1,c,8),a.vertexAttribPointer(this.shader.aScale,2,a.FLOAT,!1,c,16),a.vertexAttribPointer(this.shader.aRotation,1,a.FLOAT,!1,c,24),a.vertexAttribPointer(this.shader.aTextureCoord,2,a.FLOAT,!1,c,28),a.vertexAttribPointer(this.shader.colorAttribute,1,a.FLOAT,!1,c,36)},b.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},b.WebGLFilterManager.prototype.constructor=b.WebGLFilterManager,b.WebGLFilterManager.prototype.setContext=function(a){this.gl=a,this.texturePool=[],this.initShaderBuffers()},b.WebGLFilterManager.prototype.begin=function(a,b){this.renderSession=a,this.defaultShader=a.shaderManager.defaultShader;var c=this.renderSession.projection;this.width=2*c.x,this.height=2*-c.y,this.buffer=b},b.WebGLFilterManager.prototype.pushFilter=function(a){var c=this.gl,d=this.renderSession.projection,e=this.renderSession.offset;a._filterArea=a.target.filterArea||a.target.getBounds(),this.filterStack.push(a);var f=a.filterPasses[0];this.offsetX+=a._filterArea.x,this.offsetY+=a._filterArea.y;var g=this.texturePool.pop();g?g.resize(this.width,this.height):g=new b.FilterTexture(this.gl,this.width,this.height),c.bindTexture(c.TEXTURE_2D,g.texture);var h=a._filterArea,i=f.padding;h.x-=i,h.y-=i,h.width+=2*i,h.height+=2*i,h.x<0&&(h.x=0),h.width>this.width&&(h.width=this.width),h.y<0&&(h.y=0),h.height>this.height&&(h.height=this.height),c.bindFramebuffer(c.FRAMEBUFFER,g.frameBuffer),c.viewport(0,0,h.width,h.height),d.x=h.width/2,d.y=-h.height/2,e.x=-h.x,e.y=-h.y,c.colorMask(!0,!0,!0,!0),c.clearColor(0,0,0,0),c.clear(c.COLOR_BUFFER_BIT),a._glFilterTexture=g},b.WebGLFilterManager.prototype.popFilter=function(){var a=this.gl,c=this.filterStack.pop(),d=c._filterArea,e=c._glFilterTexture,f=this.renderSession.projection,g=this.renderSession.offset;if(c.filterPasses.length>1){a.viewport(0,0,d.width,d.height),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=d.height,this.vertexArray[2]=d.width,this.vertexArray[3]=d.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=d.width,this.vertexArray[7]=0,a.bufferSubData(a.ARRAY_BUFFER,0,this.vertexArray),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=d.width/this.width,this.uvArray[5]=d.height/this.height,this.uvArray[6]=d.width/this.width,this.uvArray[7]=d.height/this.height,a.bufferSubData(a.ARRAY_BUFFER,0,this.uvArray);var h=e,i=this.texturePool.pop();i||(i=new b.FilterTexture(this.gl,this.width,this.height)),i.resize(this.width,this.height),a.bindFramebuffer(a.FRAMEBUFFER,i.frameBuffer),a.clear(a.COLOR_BUFFER_BIT),a.disable(a.BLEND);for(var j=0;j=0;a--){var c=this._glTextures[a],d=b.glContexts[a];d&&c&&d.deleteTexture(c)}this._glTextures.length=0,this.dirty()},b.BaseTexture.fromImage=function(a,c,d){var e=b.BaseTextureCache[a];if(void 0===c&&-1===a.indexOf("data:")&&(c=!0),!e){var f=new Image;c&&(f.crossOrigin=""),f.src=a,e=new b.BaseTexture(f,d),e.imageUrl=a,b.BaseTextureCache[a]=e,-1!==a.indexOf(b.RETINA_PREFIX+".")&&(e.resolution=2)}return e},b.BaseTexture.fromCanvas=function(a,c){a._pixiId||(a._pixiId="canvas_"+b.TextureCacheIdGenerator++),0===a.width&&(a.width=1),0===a.height&&(a.height=1);var d=b.BaseTextureCache[a._pixiId];return d||(d=new b.BaseTexture(a,c),b.BaseTextureCache[a._pixiId]=d),d},b.TextureCache={},b.FrameCache={},b.TextureSilentFail=!1,b.TextureCacheIdGenerator=0,b.Texture=function(a,c,d,e){this.noFrame=!1,c||(this.noFrame=!0,c=new b.Rectangle(0,0,1,1)),a instanceof b.Texture&&(a=a.baseTexture),this.baseTexture=a,this.frame=c,this.trim=e,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=d||new b.Rectangle(0,0,1,1),a.hasLoaded&&(this.noFrame&&(c=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(c))},b.Texture.prototype.constructor=b.Texture,b.Texture.prototype.onBaseTextureLoaded=function(){var a=this.baseTexture;this.noFrame&&(this.frame=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(this.frame)},b.Texture.prototype.destroy=function(a){a&&this.baseTexture.destroy(),this.valid=!1},b.Texture.prototype.setFrame=function(a){if(this.noFrame=!1,this.frame=a,this.width=a.width,this.height=a.height,this.crop.x=a.x,this.crop.y=a.y,this.crop.width=a.width,this.crop.height=a.height,!this.trim&&(a.x+a.width>this.baseTexture.width||a.y+a.height>this.baseTexture.height)){if(!b.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);return void(this.valid=!1)}this.valid=a&&a.width&&a.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()},b.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new b.TextureUvs);var a=this.crop,c=this.baseTexture.width,d=this.baseTexture.height;this._uvs.x0=a.x/c,this._uvs.y0=a.y/d,this._uvs.x1=(a.x+a.width)/c,this._uvs.y1=a.y/d,this._uvs.x2=(a.x+a.width)/c,this._uvs.y2=(a.y+a.height)/d,this._uvs.x3=a.x/c,this._uvs.y3=(a.y+a.height)/d},b.Texture.fromImage=function(a,c,d){var e=b.TextureCache[a];return e||(e=new b.Texture(b.BaseTexture.fromImage(a,c,d)),b.TextureCache[a]=e),e},b.Texture.fromFrame=function(a){var c=b.TextureCache[a];if(!c)throw new Error('The frameId "'+a+'" does not exist in the texture cache ');return c},b.Texture.fromCanvas=function(a,c){var d=b.BaseTexture.fromCanvas(a,c);return new b.Texture(d)},b.Texture.addTextureToCache=function(a,c){b.TextureCache[c]=a},b.Texture.removeTextureFromCache=function(a){var c=b.TextureCache[a];return delete b.TextureCache[a],delete b.BaseTextureCache[a],c},b.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},b.RenderTexture=function(a,c,d,e,f){if(this.width=a||100,this.height=c||100,this.resolution=f||1,this.frame=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.baseTexture=new b.BaseTexture,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=e||b.scaleModes.DEFAULT,this.baseTexture.hasLoaded=!0,b.Texture.call(this,this.baseTexture,new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution)),this.renderer=d||b.defaultRenderer,this.renderer.type===b.WEBGL_RENDERER){var g=this.renderer.gl;this.baseTexture._dirty[g.id]=!1,this.textureBuffer=new b.FilterTexture(g,this.width,this.height,this.baseTexture.scaleMode),this.baseTexture._glTextures[g.id]=this.textureBuffer.texture,this.render=this.renderWebGL,this.projection=new b.Point(.5*this.width,.5*-this.height)}else this.render=this.renderCanvas,this.textureBuffer=new b.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new Phaser.Matrix,this._updateUvs()},b.RenderTexture.prototype=Object.create(b.Texture.prototype),b.RenderTexture.prototype.constructor=b.RenderTexture,b.RenderTexture.prototype.resize=function(a,c,d){(a!==this.width||c!==this.height)&&(this.valid=a>0&&c>0,this.width=a,this.height=c,this.frame.width=this.crop.width=a*this.resolution,this.frame.height=this.crop.height=c*this.resolution,d&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===b.WEBGL_RENDERER&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},b.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===b.WEBGL_RENDERER&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},b.RenderTexture.prototype.renderWebGL=function(a,b,c){if(this.valid&&0!==a.alpha){var d=a.worldTransform;d.identity(),d.translate(0,2*this.projection.y),b&&d.append(b),d.scale(1,-1);for(var e=0;ea;a++)this.shaders[a].dirty=!0},b.Strip=function(a){b.DisplayObjectContainer.call(this),this.texture=a,this.uvs=new b.Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new b.Float32Array([0,0,100,0,100,100,0,100]),this.colors=new b.Float32Array([1,1,1,1]),this.indices=new b.Uint16Array([0,1,2,3]),this.dirty=!0,this.blendMode=b.blendModes.NORMAL,this.canvasPadding=0,this.drawMode=b.Strip.DrawModes.TRIANGLE_STRIP},b.Strip.prototype=Object.create(b.DisplayObjectContainer.prototype),b.Strip.prototype.constructor=b.Strip,b.Strip.prototype._renderWebGL=function(a){!this.visible||this.alpha<=0||(a.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(a),a.shaderManager.setShader(a.shaderManager.stripShader),this._renderStrip(a),a.spriteBatch.start())},b.Strip.prototype._initWebGL=function(a){var b=a.gl;this._vertexBuffer=b.createBuffer(),this._indexBuffer=b.createBuffer(),this._uvBuffer=b.createBuffer(),this._colorBuffer=b.createBuffer(),b.bindBuffer(b.ARRAY_BUFFER,this._vertexBuffer),b.bufferData(b.ARRAY_BUFFER,this.vertices,b.DYNAMIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._uvBuffer),b.bufferData(b.ARRAY_BUFFER,this.uvs,b.STATIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._colorBuffer),b.bufferData(b.ARRAY_BUFFER,this.colors,b.STATIC_DRAW),b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,this._indexBuffer),b.bufferData(b.ELEMENT_ARRAY_BUFFER,this.indices,b.STATIC_DRAW)},b.Strip.prototype._renderStrip=function(a){var c=a.gl,d=a.projection,e=a.offset,f=a.shaderManager.stripShader,g=this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?c.TRIANGLE_STRIP:c.TRIANGLES;a.blendModeManager.setBlendMode(this.blendMode),c.uniformMatrix3fv(f.translationMatrix,!1,this.worldTransform.toArray(!0)),c.uniform2f(f.projectionVector,d.x,-d.y),c.uniform2f(f.offsetVector,-e.x,-e.y),c.uniform1f(f.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferData(c.ARRAY_BUFFER,this.vertices,c.STATIC_DRAW),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.bufferData(c.ARRAY_BUFFER,this.uvs,c.STATIC_DRAW),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer),c.bufferData(c.ELEMENT_ARRAY_BUFFER,this.indices,c.STATIC_DRAW)):(c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),c.drawElements(g,this.indices.length,c.UNSIGNED_SHORT,0)},b.Strip.prototype._renderCanvas=function(a){var c=a.context,d=this.worldTransform;a.roundPixels?c.setTransform(d.a,d.b,d.c,d.d,0|d.tx,0|d.ty):c.setTransform(d.a,d.b,d.c,d.d,d.tx,d.ty),this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(c):this._renderCanvasTriangles(c)},b.Strip.prototype._renderCanvasTriangleStrip=function(a){var b=this.vertices,c=this.uvs,d=b.length/2;this.count++;for(var e=0;d-2>e;e++){var f=2*e;this._renderCanvasDrawTriangle(a,b,c,f,f+2,f+4)}},b.Strip.prototype._renderCanvasTriangles=function(a){var b=this.vertices,c=this.uvs,d=this.indices,e=d.length;this.count++;for(var f=0;e>f;f+=3){var g=2*d[f],h=2*d[f+1],i=2*d[f+2];this._renderCanvasDrawTriangle(a,b,c,g,h,i)}},b.Strip.prototype._renderCanvasDrawTriangle=function(a,b,c,d,e,f){var g=this.texture.baseTexture.source,h=this.texture.width,i=this.texture.height,j=b[d],k=b[e],l=b[f],m=b[d+1],n=b[e+1],o=b[f+1],p=c[d]*h,q=c[e]*h,r=c[f]*h,s=c[d+1]*i,t=c[e+1]*i,u=c[f+1]*i;if(this.canvasPadding>0){var v=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,x=(j+k+l)/3,y=(m+n+o)/3,z=j-x,A=m-y,B=Math.sqrt(z*z+A*A);j=x+z/B*(B+v),m=y+A/B*(B+w),z=k-x,A=n-y,B=Math.sqrt(z*z+A*A),k=x+z/B*(B+v),n=y+A/B*(B+w),z=l-x,A=o-y,B=Math.sqrt(z*z+A*A),l=x+z/B*(B+v),o=y+A/B*(B+w)}a.save(),a.beginPath(),a.moveTo(j,m),a.lineTo(k,n),a.lineTo(l,o),a.closePath(),a.clip();var C=p*t+s*r+q*u-t*r-s*q-p*u,D=j*t+s*l+k*u-t*l-s*k-j*u,E=p*k+j*r+q*l-k*r-j*q-p*l,F=p*t*l+s*k*r+j*q*u-j*t*r-s*q*l-p*k*u,G=m*t+s*o+n*u-t*o-s*n-m*u,H=p*n+m*r+q*o-n*r-m*q-p*o,I=p*t*o+s*n*r+m*q*u-m*t*r-s*q*o-p*n*u;a.transform(D/C,G/C,E/C,H/C,F/C,I/C),a.drawImage(g,0,0),a.restore()},b.Strip.prototype.renderStripFlat=function(a){var b=this.context,c=a.vertices,d=c.length/2;this.count++,b.beginPath();for(var e=1;d-2>e;e++){var f=2*e,g=c[f],h=c[f+2],i=c[f+4],j=c[f+1],k=c[f+3],l=c[f+5];b.moveTo(g,j),b.lineTo(h,k),b.lineTo(i,l)}b.fillStyle="#FF0000",b.fill(),b.closePath()},b.Strip.prototype.onTextureUpdate=function(){this.updateFrame=!0},b.Strip.prototype.getBounds=function(a){for(var c=a||this.worldTransform,d=c.a,e=c.b,f=c.c,g=c.d,h=c.tx,i=c.ty,j=-(1/0),k=-(1/0),l=1/0,m=1/0,n=this.vertices,o=0,p=n.length;p>o;o+=2){var q=n[o],r=n[o+1],s=d*q+f*r+h,t=g*r+e*q+i;l=l>s?s:l,m=m>t?t:m,j=s>j?s:j,k=t>k?t:k}if(l===-(1/0)||k===1/0)return b.EmptyRectangle;var u=this._bounds;return u.x=l,u.width=j-l,u.y=m,u.height=k-m,this._currentBounds=u,u},b.Strip.DrawModes={TRIANGLE_STRIP:0,TRIANGLES:1},b.Rope=function(a,c){b.Strip.call(this,a),this.points=c,this.vertices=new b.Float32Array(4*c.length),this.uvs=new b.Float32Array(4*c.length),this.colors=new b.Float32Array(2*c.length),this.indices=new b.Uint16Array(2*c.length),this.refresh()},b.Rope.prototype=Object.create(b.Strip.prototype),b.Rope.prototype.constructor=b.Rope,b.Rope.prototype.refresh=function(){var a=this.points;if(!(a.length<1)){var b=this.uvs,c=a[0],d=this.indices,e=this.colors;this.count-=.2,b[0]=0,b[1]=0,b[2]=0,b[3]=1,e[0]=1,e[1]=1,d[0]=0,d[1]=1;for(var f,g,h,i=a.length,j=1;i>j;j++)f=a[j],g=4*j,h=j/(i-1),j%2?(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1):(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1),g=2*j,e[g]=1,e[g+1]=1,g=2*j,d[g]=g,d[g+1]=g+1,c=f}},b.Rope.prototype.updateTransform=function(){var a=this.points;if(!(a.length<1)){var c,d=a[0],e={x:0,y:0};this.count-=.2;for(var f,g,h,i,j,k=this.vertices,l=a.length,m=0;l>m;m++)f=a[m],g=4*m,c=m1&&(h=1),i=Math.sqrt(e.x*e.x+e.y*e.y),j=this.texture.height/2,e.x/=i,e.y/=i,e.x*=j,e.y*=j,k[g]=f.x+e.x,k[g+1]=f.y+e.y,k[g+2]=f.x-e.x,k[g+3]=f.y-e.y,d=f;b.DisplayObjectContainer.prototype.updateTransform.call(this)}},b.Rope.prototype.setTexture=function(a){this.texture=a},b.TilingSprite=function(a,c,d){b.Sprite.call(this,a),this._width=c||128,this._height=d||128,this.tileScale=new b.Point(1,1),this.tileScaleOffset=new b.Point(1,1),this.tilePosition=new b.Point,this.renderable=!0,this.tint=16777215,this.textureDebug=!1,this.blendMode=b.blendModes.NORMAL,this.canvasBuffer=null,this.tilingTexture=null,this.tilePattern=null,this.refreshTexture=!0,this.frameWidth=0,this.frameHeight=0},b.TilingSprite.prototype=Object.create(b.Sprite.prototype),b.TilingSprite.prototype.constructor=b.TilingSprite,b.TilingSprite.prototype.setTexture=function(a){this.texture!==a&&(this.texture=a,this.refreshTexture=!0,this.cachedTint=16777215)},b.TilingSprite.prototype._renderWebGL=function(a){if(this.visible!==!1&&0!==this.alpha){if(this._mask&&(a.spriteBatch.stop(),a.maskManager.pushMask(this.mask,a),a.spriteBatch.start()),this._filters&&(a.spriteBatch.flush(),a.filterManager.pushFilter(this._filterBlock)),this.refreshTexture){if(this.generateTilingTexture(!0,a),!this.tilingTexture)return;this.tilingTexture.needsUpdate&&(a.renderer.updateTexture(this.tilingTexture.baseTexture),this.tilingTexture.needsUpdate=!1)}a.spriteBatch.renderTilingSprite(this);for(var b=0;bn?n:x,x=x>p?p:x,x=x>r?r:x,x=x>t?t:x,y=y>o?o:y,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=n>v?n:v,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=o>w?o:w,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w;var z=this._bounds;return z.x=x,z.width=v-x,z.y=y,z.height=w-y,this._currentBounds=z,z},b.TilingSprite.prototype.destroy=function(){b.Sprite.prototype.destroy.call(this),this.canvasBuffer&&(this.canvasBuffer.destroy(),this.canvasBuffer=null),this.tileScale=null,this.tileScaleOffset=null,this.tilePosition=null,this.tilingTexture&&(this.tilingTexture.destroy(!0),this.tilingTexture=null)},Object.defineProperty(b.TilingSprite.prototype,"width",{get:function(){return this._width},set:function(a){this._width=a}}),Object.defineProperty(b.TilingSprite.prototype,"height",{get:function(){return this._height},set:function(a){this._height=a}}),"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=b),exports.PIXI=b):"undefined"!=typeof define&&define.amd?define("PIXI",function(){return a.PIXI=b}()):a.PIXI=b,b}).call(this),function(){function a(a,b){this._scaleFactor=a,this._deltaMode=b,this.originalEvent=null}var b=this,c=c||{VERSION:"2.4.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,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},PIXI:PIXI||{}};if(Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)}),Function.prototype.bind||(Function.prototype.bind=function(){var a=Array.prototype.slice;return function(b){function c(){var f=e.concat(a.call(arguments));d.apply(this instanceof c?this:b,f)}var d=this,e=a.call(arguments,1);if("function"!=typeof d)throw new TypeError;return c.prototype=function f(a){return a&&(f.prototype=a),this instanceof f?void 0:new f}(d.prototype),c}}()),Array.isArray||(Array.isArray=function(a){return"[object Array]"==Object.prototype.toString.call(a)}),Array.prototype.forEach||(Array.prototype.forEach=function(a){"use strict";if(void 0===this||null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!=typeof a)throw new TypeError;for(var d=arguments.length>=2?arguments[1]:void 0,e=0;c>e;e++)e in b&&a.call(d,b[e],e,b)}),"function"!=typeof window.Uint32Array&&"object"!=typeof window.Uint32Array){var d=function(a){var b=new Array;window[a]=function(a){if("number"==typeof a){Array.call(this,a),this.length=a;for(var b=0;bf&&(a=a[g]);)g=c[f],f++;return a?a[d]:null},setProperty:function(a,b,c){for(var d=b.split("."),e=d.pop(),f=d.length,g=1,h=d[0];f>g&&(a=a[h]);)h=d[g],g++;return a&&(a[e]=c),a},chanceRoll:function(a){return void 0===a&&(a=50),a>0&&100*Math.random()<=a},randomChoice:function(a,b){return Math.random()<.5?a:b},parseDimension:function(a,b){var c=0,d=0;return"string"==typeof a?"%"===a.substr(-1)?(c=parseInt(a,10)/100,d=0===b?window.innerWidth*c:window.innerHeight*c):d=parseInt(a,10):d=a,d},pad:function(a,b,c,d){if(void 0===b)var b=0;if(void 0===c)var c=" ";if(void 0===d)var d=3;var e=0;if(b+1>=a.length)switch(d){case 1:a=new Array(b+1-a.length).join(c)+a;break;case 3:var f=Math.ceil((e=b-a.length)/2),g=e-f;a=new Array(g+1).join(c)+a+new Array(f+1).join(c);break;default:a+=new Array(b+1-a.length).join(c)}return a},isPlainObject:function(a){if("object"!=typeof a||a.nodeType||a===a.window)return!1;try{if(a.constructor&&!{}.hasOwnProperty.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(b){return!1}return!0},extend:function(){var a,b,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(b in a)d=h[b],e=a[b],h!==e&&(k&&e&&(c.Utils.isPlainObject(e)||(f=Array.isArray(e)))?(f?(f=!1,g=d&&Array.isArray(d)?d:[]):g=d&&c.Utils.isPlainObject(d)?d:{},h[b]=c.Utils.extend(k,g,e)):void 0!==e&&(h[b]=e));return h},mixinPrototype:function(a,b,c){void 0===c&&(c=!1);for(var d=Object.keys(b),e=0;e0&&(this._radius=.5*d),this.type=c.CIRCLE},c.Circle.prototype={circumference:function(){return 2*(Math.PI*this._radius)},random:function(a){void 0===a&&(a=new c.Point);var b=2*Math.PI*Math.random(),d=Math.random()+Math.random(),e=d>1?2-d:d,f=e*Math.cos(b),g=e*Math.sin(b);return a.x=this.x+f*this.radius,a.y=this.y+g*this.radius,a},getBounds:function(){return new c.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(a,b,c){return this.x=a,this.y=b,this._diameter=c,this._radius=.5*c,this},copyFrom:function(a){return this.setTo(a.x,a.y,a.diameter)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.diameter=this._diameter,a},distance:function(a,b){var d=c.Math.distance(this.x,this.y,a.x,a.y);return b?Math.round(d):d},clone:function(a){return void 0===a||null===a?a=new c.Circle(this.x,this.y,this.diameter):a.setTo(this.x,this.y,this.diameter),a},contains:function(a,b){return c.Circle.contains(this,a,b)},circumferencePoint:function(a,b,d){return c.Circle.circumferencePoint(this,a,b,d)},offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},c.Circle.prototype.constructor=c.Circle,Object.defineProperty(c.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(a){a>0&&(this._diameter=a,this._radius=.5*a)}}),Object.defineProperty(c.Circle.prototype,"radius",{get:function(){return this._radius},set:function(a){a>0&&(this._radius=a,this._diameter=2*a)}}),Object.defineProperty(c.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(a){a>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-a}}),Object.defineProperty(c.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(a){athis.y?(this._radius=0,this._diameter=0):this.radius=this.y-a}}),Object.defineProperty(c.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(a){a0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(c.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(a){a===!0&&this.setTo(0,0,0)}}),c.Circle.contains=function(a,b,c){if(a.radius>0&&b>=a.left&&b<=a.right&&c>=a.top&&c<=a.bottom){var d=(a.x-b)*(a.x-b),e=(a.y-c)*(a.y-c);return d+e<=a.radius*a.radius}return!1},c.Circle.equals=function(a,b){return a.x==b.x&&a.y==b.y&&a.diameter==b.diameter},c.Circle.intersects=function(a,b){return c.Math.distance(a.x,a.y,b.x,b.y)<=a.radius+b.radius},c.Circle.circumferencePoint=function(a,b,d,e){return void 0===d&&(d=!1),void 0===e&&(e=new c.Point),d===!0&&(b=c.Math.degToRad(b)),e.x=a.x+a.radius*Math.cos(b),e.y=a.y+a.radius*Math.sin(b),e},c.Circle.intersectsRectangle=function(a,b){var c=Math.abs(a.x-b.x-b.halfWidth),d=b.halfWidth+a.radius;if(c>d)return!1;var e=Math.abs(a.y-b.y-b.halfHeight),f=b.halfHeight+a.radius;if(e>f)return!1;if(c<=b.halfWidth||e<=b.halfHeight)return!0;var g=c-b.halfWidth,h=e-b.halfHeight,i=g*g,j=h*h,k=a.radius*a.radius;return k>=i+j},PIXI.Circle=c.Circle,c.Ellipse=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.ELLIPSE},c.Ellipse.prototype={setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},getBounds:function(){return new c.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},clone:function(a){return void 0===a||null===a?a=new c.Ellipse(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a},contains:function(a,b){return c.Ellipse.contains(this,a,b)},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random()*Math.PI*2,d=Math.random();return a.x=Math.sqrt(d)*Math.cos(b),a.y=Math.sqrt(d)*Math.sin(b),a.x=this.x+a.x*this.width/2,a.y=this.y+a.y*this.height/2,a},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},c.Ellipse.prototype.constructor=c.Ellipse,Object.defineProperty(c.Ellipse.prototype,"left",{get:function(){return this.x},set:function(a){this.x=a}}),Object.defineProperty(c.Ellipse.prototype,"right",{get:function(){return this.x+this.width; -},set:function(a){ad+e},PIXI.Ellipse=c.Ellipse,c.Line=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.start=new c.Point(a,b),this.end=new c.Point(d,e),this.type=c.LINE},c.Line.prototype={setTo:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(c,d),this},fromSprite:function(a,b,c){return void 0===c&&(c=!1),c?this.setTo(a.center.x,a.center.y,b.center.x,b.center.y):this.setTo(a.x,a.y,b.x,b.y)},fromAngle:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(a+Math.cos(c)*d,b+Math.sin(c)*d),this},rotate:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2;return this.start.rotate(c,d,a,b),this.end.rotate(c,d,a,b),this},rotateAround:function(a,b,c,d){return this.start.rotate(a,b,c,d),this.end.rotate(a,b,c,d),this},intersects:function(a,b,d){return c.Line.intersectsPoints(this.start,this.end,a.start,a.end,b,d)},reflect:function(a){return c.Line.reflect(this,a)},midPoint:function(a){return void 0===a&&(a=new c.Point),a.x=(this.start.x+this.end.x)/2,a.y=(this.start.y+this.end.y)/2,a},centerOn:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2,e=a-c,f=b-d;this.start.add(e,f),this.end.add(e,f)},pointOnLine:function(a,b){return(a-this.start.x)*(this.end.y-this.start.y)===(this.end.x-this.start.x)*(b-this.start.y)},pointOnSegment:function(a,b){var c=Math.min(this.start.x,this.end.x),d=Math.max(this.start.x,this.end.x),e=Math.min(this.start.y,this.end.y),f=Math.max(this.start.y,this.end.y);return this.pointOnLine(a,b)&&a>=c&&d>=a&&b>=e&&f>=b},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random();return a.x=this.start.x+b*(this.end.x-this.start.x),a.y=this.start.y+b*(this.end.y-this.start.y),a},coordinatesOnLine:function(a,b){void 0===a&&(a=1),void 0===b&&(b=[]);var c=Math.round(this.start.x),d=Math.round(this.start.y),e=Math.round(this.end.x),f=Math.round(this.end.y),g=Math.abs(e-c),h=Math.abs(f-d),i=e>c?1:-1,j=f>d?1:-1,k=g-h;b.push([c,d]);for(var l=1;c!=e||d!=f;){var m=k<<1;m>-h&&(k-=h,c+=i),g>m&&(k+=g,d+=j),l%a===0&&b.push([c,d]),l++}return b},clone:function(a){return void 0===a||null===a?a=new c.Line(this.start.x,this.start.y,this.end.x,this.end.y):a.setTo(this.start.x,this.start.y,this.end.x,this.end.y),a}},Object.defineProperty(c.Line.prototype,"length",{get:function(){return Math.sqrt((this.end.x-this.start.x)*(this.end.x-this.start.x)+(this.end.y-this.start.y)*(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"angle",{get:function(){return Math.atan2(this.end.y-this.start.y,this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"slope",{get:function(){return(this.end.y-this.start.y)/(this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"perpSlope",{get:function(){return-((this.end.x-this.start.x)/(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"x",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"y",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"left",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"right",{get:function(){return Math.max(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"top",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"bottom",{get:function(){return Math.max(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"width",{get:function(){return Math.abs(this.start.x-this.end.x)}}),Object.defineProperty(c.Line.prototype,"height",{get:function(){return Math.abs(this.start.y-this.end.y)}}),Object.defineProperty(c.Line.prototype,"normalX",{get:function(){return Math.cos(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalY",{get:function(){return Math.sin(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalAngle",{get:function(){return c.Math.wrap(this.angle-1.5707963267948966,-Math.PI,Math.PI)}}),c.Line.intersectsPoints=function(a,b,d,e,f,g){void 0===f&&(f=!0),void 0===g&&(g=new c.Point);var h=b.y-a.y,i=e.y-d.y,j=a.x-b.x,k=d.x-e.x,l=b.x*a.y-a.x*b.y,m=e.x*d.y-d.x*e.y,n=h*k-i*j;if(0===n)return null;if(g.x=(j*m-k*l)/n,g.y=(i*l-h*m)/n,f){var o=(e.y-d.y)*(b.x-a.x)-(e.x-d.x)*(b.y-a.y),p=((e.x-d.x)*(a.y-d.y)-(e.y-d.y)*(a.x-d.x))/o,q=((b.x-a.x)*(a.y-d.y)-(b.y-a.y)*(a.x-d.x))/o;return p>=0&&1>=p&&q>=0&&1>=q?g:null}return g},c.Line.intersects=function(a,b,d,e){return c.Line.intersectsPoints(a.start,a.end,b.start,b.end,d,e)},c.Line.reflect=function(a,b){return 2*b.normalAngle-3.141592653589793-a.angle},c.Matrix=function(a,b,d,e,f,g){a=a||1,b=b||0,d=d||0,e=e||1,f=f||0,g=g||0,this.a=a,this.b=b,this.c=d,this.d=e,this.tx=f,this.ty=g,this.type=c.MATRIX},c.Matrix.prototype={fromArray:function(a){return this.setTo(a[0],a[1],a[3],a[4],a[2],a[5])},setTo:function(a,b,c,d,e,f){return this.a=a,this.b=b,this.c=c,this.d=d,this.tx=e,this.ty=f,this},clone:function(a){return void 0===a||null===a?a=new c.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(a.a=this.a,a.b=this.b,a.c=this.c,a.d=this.d,a.tx=this.tx,a.ty=this.ty),a},copyTo:function(a){return a.copyFrom(this),a},copyFrom:function(a){return this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.tx=a.tx,this.ty=a.ty,this},toArray:function(a,b){return void 0===b&&(b=new PIXI.Float32Array(9)),a?(b[0]=this.a,b[1]=this.b,b[2]=0,b[3]=this.c,b[4]=this.d,b[5]=0,b[6]=this.tx,b[7]=this.ty,b[8]=1):(b[0]=this.a,b[1]=this.c,b[2]=this.tx,b[3]=this.b,b[4]=this.d,b[5]=this.ty,b[6]=0,b[7]=0,b[8]=1),b},apply:function(a,b){return void 0===b&&(b=new c.Point),b.x=this.a*a.x+this.c*a.y+this.tx,b.y=this.b*a.x+this.d*a.y+this.ty,b},applyInverse:function(a,b){void 0===b&&(b=new c.Point);var d=1/(this.a*this.d+this.c*-this.b),e=a.x,f=a.y;return b.x=this.d*d*e+-this.c*d*f+(this.ty*this.c-this.tx*this.d)*d,b.y=this.a*d*f+-this.b*d*e+(-this.ty*this.a+this.tx*this.b)*d,b},translate:function(a,b){return this.tx+=a,this.ty+=b,this},scale:function(a,b){return this.a*=a,this.d*=b,this.c*=a,this.b*=b,this.tx*=a,this.ty*=b,this},rotate:function(a){var b=Math.cos(a),c=Math.sin(a),d=this.a,e=this.c,f=this.tx;return this.a=d*b-this.b*c,this.b=d*c+this.b*b,this.c=e*b-this.d*c,this.d=e*c+this.d*b,this.tx=f*b-this.ty*c,this.ty=f*c+this.ty*b,this},append:function(a){var b=this.a,c=this.b,d=this.c,e=this.d;return this.a=a.a*b+a.b*d,this.b=a.a*c+a.b*e,this.c=a.c*b+a.d*d,this.d=a.c*c+a.d*e,this.tx=a.tx*b+a.ty*d+this.tx,this.ty=a.tx*c+a.ty*e+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},c.identityMatrix=new c.Matrix,PIXI.Matrix=c.Matrix,PIXI.identityMatrix=c.identityMatrix,c.Point=function(a,b){a=a||0,b=b||0,this.x=a,this.y=b,this.type=c.POINT},c.Point.prototype={copyFrom:function(a){return this.setTo(a.x,a.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},set:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},add:function(a,b){return this.x+=a,this.y+=b,this},subtract:function(a,b){return this.x-=a,this.y-=b,this},multiply:function(a,b){return this.x*=a,this.y*=b,this},divide:function(a,b){return this.x/=a,this.y/=b,this},clampX:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this},clampY:function(a,b){return this.y=c.Math.clamp(this.y,a,b),this},clamp:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this.y=c.Math.clamp(this.y,a,b),this},clone:function(a){return void 0===a||null===a?a=new c.Point(this.x,this.y):a.setTo(this.x,this.y),a},copyTo:function(a){return a.x=this.x,a.y=this.y,a},distance:function(a,b){return c.Point.distance(this,a,b)},equals:function(a){return a.x===this.x&&a.y===this.y},angle:function(a,b){return void 0===b&&(b=!1),b?c.Math.radToDeg(Math.atan2(a.y-this.y,a.x-this.x)):Math.atan2(a.y-this.y,a.x-this.x)},rotate:function(a,b,d,e,f){return c.Point.rotate(this,a,b,d,e,f)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(a){return this.normalize().multiply(a,a)},normalize:function(){if(!this.isZero()){var a=this.getMagnitude();this.x/=a,this.y/=a}return this},isZero:function(){return 0===this.x&&0===this.y},dot:function(a){return this.x*a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},c.Point.prototype.constructor=c.Point,c.Point.add=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x+b.x,d.y=a.y+b.y,d},c.Point.subtract=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x-b.x,d.y=a.y-b.y,d},c.Point.multiply=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x*b.x,d.y=a.y*b.y,d},c.Point.divide=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x/b.x,d.y=a.y/b.y,d},c.Point.equals=function(a,b){return a.x===b.x&&a.y===b.y},c.Point.angle=function(a,b){return Math.atan2(a.y-b.y,a.x-b.x)},c.Point.negative=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.x,-a.y)},c.Point.multiplyAdd=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+b.x*d,a.y+b.y*d)},c.Point.interpolate=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+(b.x-a.x)*d,a.y+(b.y-a.y)*d)},c.Point.perp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.y,a.x)},c.Point.rperp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(a.y,-a.x)},c.Point.distance=function(a,b,d){var e=c.Math.distance(a.x,a.y,b.x,b.y);return d?Math.round(e):e},c.Point.project=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b)/b.getMagnitudeSq();return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.projectUnit=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b);return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.normalRightHand=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-1*a.y,a.x)},c.Point.normalize=function(a,b){void 0===b&&(b=new c.Point);var d=a.getMagnitude();return 0!==d&&b.setTo(a.x/d,a.y/d),b},c.Point.rotate=function(a,b,d,e,f,g){if(f&&(e=c.Math.degToRad(e)),void 0===g){a.subtract(b,d);var h=Math.sin(e),i=Math.cos(e),j=i*a.x-h*a.y,k=h*a.x+i*a.y;a.x=j+b,a.y=k+d}else{var l=e+Math.atan2(a.y-d,a.x-b);a.x=b+g*Math.cos(l),a.y=d+g*Math.sin(l)}return a},c.Point.centroid=function(a,b){if(void 0===b&&(b=new c.Point),"[object Array]"!==Object.prototype.toString.call(a))throw new Error("Phaser.Point. Parameter 'points' must be an array");var d=a.length;if(1>d)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===d)return b.copyFrom(a[0]),b;for(var e=0;d>e;e++)c.Point.add(b,a[e],b);return b.divide(d,d),b},c.Point.parse=function(a,b,d){b=b||"x",d=d||"y";var e=new c.Point;return a[b]&&(e.x=parseInt(a[b],10)),a[d]&&(e.y=parseInt(a[d],10)),e},PIXI.Point=c.Point,c.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.type=c.POLYGON},c.Polygon.prototype={toNumberArray:function(a){void 0===a&&(a=[]);for(var b=0;b=h&&j>b||b>=j&&h>b)&&(i-g)*(b-h)/(j-h)+g>a&&(d=!d)}return d},setTo:function(a){if(this.area=0,this._points=[],arguments.length>0){Array.isArray(a)||(a=Array.prototype.slice.call(arguments));for(var b=Number.MAX_VALUE,c=0,d=a.length;d>c;c++){if("number"==typeof a[c]){var e=new PIXI.Point(a[c],a[c+1]);c++}else var e=new PIXI.Point(a[c].x,a[c].y);this._points.push(e),e.yf;f++)b=this._points[f],c=f===g-1?this._points[0]:this._points[f+1],d=(b.y-a+(c.y-a))/2,e=b.x-c.x,this.area+=d*e;return this.area}},c.Polygon.prototype.constructor=c.Polygon,Object.defineProperty(c.Polygon.prototype,"points",{get:function(){return this._points},set:function(a){null!=a?this.setTo(a):this.setTo()}}),PIXI.Polygon=c.Polygon,c.Rectangle=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.RECTANGLE},c.Rectangle.prototype={offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},scale:function(a,b){return void 0===b&&(b=a),this.width*=a,this.height*=b,this},centerOn:function(a,b){return this.centerX=a,this.centerY=b,this},floor:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y)},floorAll:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.width=Math.floor(this.width),this.height=Math.floor(this.height)},ceil:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y)},ceilAll:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.width=Math.ceil(this.width),this.height=Math.ceil(this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},inflate:function(a,b){return c.Rectangle.inflate(this,a,b)},size:function(a){return c.Rectangle.size(this,a)},resize:function(a,b){return this.width=a,this.height=b,this},clone:function(a){return c.Rectangle.clone(this,a)},contains:function(a,b){return c.Rectangle.contains(this,a,b)},containsRect:function(a){return c.Rectangle.containsRect(a,this)},equals:function(a){return c.Rectangle.equals(this,a)},intersection:function(a,b){return c.Rectangle.intersection(this,a,b)},intersects:function(a){return c.Rectangle.intersects(this,a)},intersectsRaw:function(a,b,d,e,f){return c.Rectangle.intersectsRaw(this,a,b,d,e,f)},union:function(a,b){return c.Rectangle.union(this,a,b)},random:function(a){return void 0===a&&(a=new c.Point),a.x=this.randomX,a.y=this.randomY,a},toString:function(){return"[{Rectangle (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+" empty="+this.empty+")}]"}},Object.defineProperty(c.Rectangle.prototype,"halfWidth",{get:function(){return Math.round(this.width/2)}}),Object.defineProperty(c.Rectangle.prototype,"halfHeight",{get:function(){return Math.round(this.height/2)}}),Object.defineProperty(c.Rectangle.prototype,"bottom",{get:function(){return this.y+this.height},set:function(a){a<=this.y?this.height=0:this.height=a-this.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomLeft",{get:function(){return new c.Point(this.x,this.bottom)},set:function(a){this.x=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomRight",{get:function(){return new c.Point(this.right,this.bottom)},set:function(a){this.right=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"left",{get:function(){return this.x},set:function(a){a>=this.right?this.width=0:this.width=this.right-a,this.x=a}}),Object.defineProperty(c.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(a){a<=this.x?this.width=0:this.width=a-this.x}}),Object.defineProperty(c.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(c.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(c.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(a){this.x=a-this.halfWidth}}),Object.defineProperty(c.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(a){this.y=a-this.halfHeight}}),Object.defineProperty(c.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(c.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(c.Rectangle.prototype,"top",{get:function(){return this.y},set:function(a){a>=this.bottom?(this.height=0,this.y=a):this.height=this.bottom-a}}),Object.defineProperty(c.Rectangle.prototype,"topLeft",{get:function(){return new c.Point(this.x,this.y)},set:function(a){this.x=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"topRight",{get:function(){return new c.Point(this.x+this.width,this.y)},set:function(a){this.right=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(a){a===!0&&this.setTo(0,0,0,0)}}),c.Rectangle.prototype.constructor=c.Rectangle,c.Rectangle.inflate=function(a,b,c){return a.x-=b,a.width+=2*b,a.y-=c,a.height+=2*c,a},c.Rectangle.inflatePoint=function(a,b){return c.Rectangle.inflate(a,b.x,b.y)},c.Rectangle.size=function(a,b){return void 0===b||null===b?b=new c.Point(a.width,a.height):b.setTo(a.width,a.height),b},c.Rectangle.clone=function(a,b){return void 0===b||null===b?b=new c.Rectangle(a.x,a.y,a.width,a.height):b.setTo(a.x,a.y,a.width,a.height),b},c.Rectangle.contains=function(a,b,c){return a.width<=0||a.height<=0?!1:b>=a.x&&b=a.y&&c=a&&a+c>e&&f>=b&&b+d>f},c.Rectangle.containsPoint=function(a,b){return c.Rectangle.contains(a,b.x,b.y)},c.Rectangle.containsRect=function(a,b){return a.volume>b.volume?!1:a.x>=b.x&&a.y>=b.y&&a.rightb.right||a.y>b.bottom)},c.Rectangle.intersectsRaw=function(a,b,c,d,e,f){return void 0===f&&(f=0),!(b>a.right+f||ca.bottom+f||ed&&(d=a.x),a.xf&&(f=a.y),a.y=c&&a<=c+this.width){var d=this.y;if(b>=d&&b<=d+this.height)return!0}return!1}},c.RoundedRectangle.prototype.constructor=c.RoundedRectangle,PIXI.RoundedRectangle=c.RoundedRectangle,c.Camera=function(a,b,d,e,f,g){this.game=a,this.world=a.world,this.id=0,this.view=new c.Rectangle(d,e,f,g),this.bounds=new c.Rectangle(d,e,f,g),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this._targetPosition=new c.Point,this._edge=0,this._position=new c.Point},c.Camera.FOLLOW_LOCKON=0,c.Camera.FOLLOW_PLATFORMER=1,c.Camera.FOLLOW_TOPDOWN=2,c.Camera.FOLLOW_TOPDOWN_TIGHT=3,c.Camera.prototype={preUpdate:function(){this.totalInView=0},follow:function(a,b){void 0===b&&(b=c.Camera.FOLLOW_LOCKON),this.target=a;var d;switch(b){case c.Camera.FOLLOW_PLATFORMER:var e=this.width/8,f=this.height/3;this.deadzone=new c.Rectangle((this.width-e)/2,(this.height-f)/2-.25*f,e,f);break;case c.Camera.FOLLOW_TOPDOWN:d=Math.max(this.width,this.height)/4,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_TOPDOWN_TIGHT:d=Math.max(this.width,this.height)/8,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_LOCKON:this.deadzone=null;break;default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(a){this.setPosition(Math.round(a.x-this.view.halfWidth),Math.round(a.y-this.view.halfHeight))},focusOnXY:function(a,b){this.setPosition(Math.round(a-this.view.halfWidth),Math.round(b-this.view.halfHeight))},update:function(){this.target&&this.updateTarget(),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateTarget:function(){this._targetPosition.copyFrom(this.target),this.target.parent&&this._targetPosition.multiply(this.target.parent.worldTransform.a,this.target.parent.worldTransform.d),this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this._targetPosition.x-this.deadzone.right),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this._targetPosition.y-this.deadzone.bottom)):(this.view.x=this._targetPosition.x-this.view.halfWidth,this.view.y=this._targetPosition.y-this.view.halfHeight)},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1,this.view.x<=this.bounds.x&&(this.atLimit.x=!0,this.view.x=this.bounds.x),this.view.right>=this.bounds.right&&(this.atLimit.x=!0,this.view.x=this.bounds.right-this.width),this.view.y<=this.bounds.top&&(this.atLimit.y=!0,this.view.y=this.bounds.top),this.view.bottom>=this.bounds.bottom&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom-this.height)},setPosition:function(a,b){this.view.x=a,this.view.y=b,this.bounds&&this.checkBounds()},setSize:function(a,b){this.view.width=a,this.view.height=b},reset:function(){this.target=null,this.view.x=0,this.view.y=0}},c.Camera.prototype.constructor=c.Camera,Object.defineProperty(c.Camera.prototype,"x",{get:function(){return this.view.x},set:function(a){this.view.x=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"y",{get:function(){return this.view.y},set:function(a){this.view.y=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"position",{get:function(){return this._position.set(this.view.centerX,this.view.centerY),this._position},set:function(a){"undefined"!=typeof a.x&&(this.view.x=a.x),"undefined"!=typeof a.y&&(this.view.y=a.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"width",{get:function(){return this.view.width},set:function(a){this.view.width=a}}),Object.defineProperty(c.Camera.prototype,"height",{get:function(){return this.view.height},set:function(a){this.view.height=a}}),c.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},c.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},c.State.prototype.constructor=c.State,c.StateManager=function(a,b){this.game=a,this.states={},this._pendingState=null,"undefined"!=typeof b&&null!==b&&(this._pendingState=b),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new c.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},c.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(a,b,d){void 0===d&&(d=!1);var e;return b instanceof c.State?e=b:"object"==typeof b?(e=b,e.game=this.game):"function"==typeof b&&(e=new b(this.game)),this.states[a]=e,d&&(this.game.isBooted?this.start(a):this._pendingState=a),e},remove:function(a){this.current===a&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[a]},start:function(a,b,c){void 0===b&&(b=!0),void 0===c&&(c=!1),this.checkState(a)&&(this._pendingState=a,this._clearWorld=b,this._clearCache=c,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!1),this._pendingState=this.current,this._clearWorld=a,this._clearCache=b,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var a=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,a),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache===!0&&this.game.cache.destroy()))},checkState:function(a){if(this.states[a]){var b=!1;return(this.states[a].preload||this.states[a].create||this.states[a].update||this.states[a].render)&&(b=!0),b===!1?(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):!0}return console.warn("Phaser.StateManager - No state found with the key: "+a),!1},link:function(a){this.states[a].game=this.game,this.states[a].add=this.game.add,this.states[a].make=this.game.make,this.states[a].camera=this.game.camera,this.states[a].cache=this.game.cache,this.states[a].input=this.game.input,this.states[a].load=this.game.load,this.states[a].math=this.game.math,this.states[a].sound=this.game.sound,this.states[a].scale=this.game.scale,this.states[a].state=this,this.states[a].stage=this.game.stage,this.states[a].time=this.game.time,this.states[a].tweens=this.game.tweens,this.states[a].world=this.game.world,this.states[a].particles=this.game.particles,this.states[a].rnd=this.game.rnd,this.states[a].physics=this.game.physics,this.states[a].key=a},unlink:function(a){this.states[a]&&(this.states[a].game=null,this.states[a].add=null,this.states[a].make=null,this.states[a].camera=null,this.states[a].cache=null,this.states[a].input=null,this.states[a].load=null,this.states[a].math=null,this.states[a].sound=null,this.states[a].scale=null,this.states[a].state=null,this.states[a].stage=null,this.states[a].time=null,this.states[a].tweens=null,this.states[a].world=null,this.states[a].particles=null,this.states[a].rnd=null,this.states[a].physics=null)},setCurrentState:function(a){this.callbackContext=this.states[a],this.link(a),this.onInitCallback=this.states[a].init||this.dummy,this.onPreloadCallback=this.states[a].preload||null,this.onLoadRenderCallback=this.states[a].loadRender||null,this.onLoadUpdateCallback=this.states[a].loadUpdate||null,this.onCreateCallback=this.states[a].create||null,this.onUpdateCallback=this.states[a].update||null,this.onPreRenderCallback=this.states[a].preRender||null,this.onRenderCallback=this.states[a].render||null,this.onResizeCallback=this.states[a].resize||null,this.onPausedCallback=this.states[a].paused||null,this.onResumedCallback=this.states[a].resumed||null,this.onPauseUpdateCallback=this.states[a].pauseUpdate||null,this.onShutDownCallback=this.states[a].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=a,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),a===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){this._created===!1&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(a){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,a)},resize:function(a,b){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,a,b)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===c.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null, -this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},c.StateManager.prototype.constructor=c.StateManager,Object.defineProperty(c.StateManager.prototype,"created",{get:function(){return this._created}}),c.Signal=function(){},c.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!0,validateListener:function(a,b){if("function"!=typeof a)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",b))},_registerListener:function(a,b,d,e,f){var g,h=this._indexOfListener(a,d);if(-1!==h){if(g=this._bindings[h],g.isOnce()!==b)throw new Error("You cannot add"+(b?"":"Once")+"() then add"+(b?"Once":"")+"() the same listener without removing the relationship first.")}else g=new c.SignalBinding(this,a,b,d,e,f),this._addBinding(g);return this.memorize&&this._prevParams&&g.execute(this._prevParams),g},_addBinding:function(a){this._bindings||(this._bindings=[]);var b=this._bindings.length;do b--;while(this._bindings[b]&&a._priority<=this._bindings[b]._priority);this._bindings.splice(b+1,0,a)},_indexOfListener:function(a,b){if(!this._bindings)return-1;void 0===b&&(b=null);for(var c,d=this._bindings.length;d--;)if(c=this._bindings[d],c._listener===a&&c.context===b)return d;return-1},has:function(a,b){return-1!==this._indexOfListener(a,b)},add:function(a,b,c){this.validateListener(a,"add");var d=[];if(arguments.length>3)for(var e=3;e3)for(var e=3;ea||a>=this.children.length?-1:this.getChildAt(a)},c.Group.prototype.create=function(a,b,c,d,e){void 0===e&&(e=!0);var f=new this.classType(this.game,a,b,c,d);return f.exists=e,f.visible=e,f.alive=e,this.addChild(f),f.z=this.children.length,this.enableBody&&this.game.physics.enable(f,this.physicsBodyType,this.enableBodyDebug),f.events&&f.events.onAddedToGroup$dispatch(f,this),null===this.cursor&&(this.cursor=f),f},c.Group.prototype.createMultiple=function(a,b,c,d){void 0===d&&(d=!1);for(var e=0;a>e;e++)this.create(0,0,b,c,d)},c.Group.prototype.updateZ=function(){for(var a=this.children.length;a--;)this.children[a].z=a},c.Group.prototype.resetCursor=function(a){return void 0===a&&(a=0),a>this.children.length-1&&(a=0),this.cursor?(this.cursorIndex=a,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.next=function(){return this.cursor?(this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.previous=function(){return this.cursor?(0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.swap=function(a,b){this.swapChildren(a,b),this.updateZ()},c.Group.prototype.bringToTop=function(a){return a.parent===this&&this.getIndex(a)0&&(this.remove(a,!1,!0),this.addAt(a,0,!0)),a},c.Group.prototype.moveUp=function(a){if(a.parent===this&&this.getIndex(a)0){var b=this.getIndex(a),c=this.getAt(b-1);c&&this.swap(a,c)}return a},c.Group.prototype.xy=function(a,b,c){return 0>a||a>this.children.length?-1:(this.getChildAt(a).x=b,void(this.getChildAt(a).y=c))},c.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},c.Group.prototype.getIndex=function(a){return this.children.indexOf(a)},c.Group.prototype.replace=function(a,b){var d=this.getIndex(a);return-1!==d?(b.parent&&(b.parent instanceof c.Group?b.parent.remove(b):b.parent.removeChild(b)),this.remove(a),this.addAt(b,d),a):void 0},c.Group.prototype.hasProperty=function(a,b){var c=b.length;return 1===c&&b[0]in a?!0:2===c&&b[0]in a&&b[1]in a[b[0]]?!0:3===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]?!0:4===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]&&b[3]in a[b[0]][b[1]][b[2]]?!0:!1},c.Group.prototype.setProperty=function(a,b,c,d,e){if(void 0===e&&(e=!1),d=d||0,!this.hasProperty(a,b)&&(!e||d>0))return!1;var f=b.length;return 1===f?0===d?a[b[0]]=c:1==d?a[b[0]]+=c:2==d?a[b[0]]-=c:3==d?a[b[0]]*=c:4==d&&(a[b[0]]/=c):2===f?0===d?a[b[0]][b[1]]=c:1==d?a[b[0]][b[1]]+=c:2==d?a[b[0]][b[1]]-=c:3==d?a[b[0]][b[1]]*=c:4==d&&(a[b[0]][b[1]]/=c):3===f?0===d?a[b[0]][b[1]][b[2]]=c:1==d?a[b[0]][b[1]][b[2]]+=c:2==d?a[b[0]][b[1]][b[2]]-=c:3==d?a[b[0]][b[1]][b[2]]*=c:4==d&&(a[b[0]][b[1]][b[2]]/=c):4===f&&(0===d?a[b[0]][b[1]][b[2]][b[3]]=c:1==d?a[b[0]][b[1]][b[2]][b[3]]+=c:2==d?a[b[0]][b[1]][b[2]][b[3]]-=c:3==d?a[b[0]][b[1]][b[2]][b[3]]*=c:4==d&&(a[b[0]][b[1]][b[2]][b[3]]/=c)),!0},c.Group.prototype.checkProperty=function(a,b,d,e){return void 0===e&&(e=!1),!c.Utils.getProperty(a,b)&&e?!1:c.Utils.getProperty(a,b)!==d?!1:!0},c.Group.prototype.set=function(a,b,c,d,e,f,g){return void 0===g&&(g=!1),b=b.split("."),void 0===d&&(d=!1),void 0===e&&(e=!1),(d===!1||d&&a.alive)&&(e===!1||e&&a.visible)?this.setProperty(a,b,c,f,g):void 0},c.Group.prototype.setAll=function(a,b,c,d,e,f){void 0===c&&(c=!1),void 0===d&&(d=!1),void 0===f&&(f=!1),a=a.split("."),e=e||0;for(var g=0;g2){c=[];for(var d=2;d2){e=[];for(var f=2;f2){d=[null];for(var e=2;e2){d=[null];for(var e=2;e2){d=[null];for(var e=2;eb[this._sortProperty]?1:a.zb[this._sortProperty]?-1:0},c.Group.prototype.iterate=function(a,b,d,e,f,g){if(d===c.Group.RETURN_TOTAL&&0===this.children.length)return 0;for(var h=0,i=0;i0?this.children[this.children.length-1]:void 0},c.Group.prototype.getBottom=function(){return this.children.length>0?this.children[0]:void 0},c.Group.prototype.countLiving=function(){return this.iterate("alive",!0,c.Group.RETURN_TOTAL)},c.Group.prototype.countDead=function(){return this.iterate("alive",!1,c.Group.RETURN_TOTAL)},c.Group.prototype.getRandom=function(a,b){return 0===this.children.length?null:(a=a||0,b=b||this.children.length,c.ArrayUtils.getRandomItem(this.children,a,b))},c.Group.prototype.remove=function(a,b,c){if(void 0===b&&(b=!1),void 0===c&&(c=!1),0===this.children.length||-1===this.children.indexOf(a))return!1;c||!a.events||a.destroyPhase||a.events.onRemovedFromGroup$dispatch(a,this);var d=this.removeChild(a);return this.removeFromHash(a),this.updateZ(),this.cursor===a&&this.next(),b&&d&&d.destroy(!0),!0},c.Group.prototype.moveAll=function(a,b){if(void 0===b&&(b=!1),this.children.length>0&&a instanceof c.Group){do a.add(this.children[0],b);while(this.children.length>0);this.hash=[],this.cursor=null}return a},c.Group.prototype.removeAll=function(a,b){if(void 0===a&&(a=!1),void 0===b&&(b=!1),0!==this.children.length){do{!b&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var c=this.removeChild(this.children[0]);this.removeFromHash(c),a&&c&&c.destroy(!0)}while(this.children.length>0);this.hash=[],this.cursor=null}},c.Group.prototype.removeBetween=function(a,b,c,d){if(void 0===b&&(b=this.children.length-1),void 0===c&&(c=!1),void 0===d&&(d=!1),0!==this.children.length){if(a>b||0>a||b>this.children.length)return!1;for(var e=b;e>=a;){!d&&this.children[e].events&&this.children[e].events.onRemovedFromGroup$dispatch(this.children[e],this);var f=this.removeChild(this.children[e]);this.removeFromHash(f),c&&f&&f.destroy(!0),this.cursor===this.children[e]&&(this.cursor=null),e--}this.updateZ()}},c.Group.prototype.destroy=function(a,b){null===this.game||this.ignoreDestroy||(void 0===a&&(a=!0),void 0===b&&(b=!1),this.onDestroy.dispatch(this,a,b),this.removeAll(a),this.cursor=null,this.filters=null,this.pendingDestroy=!1,b||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(c.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,c.Group.RETURN_TOTAL)}}),Object.defineProperty(c.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(c.Group.prototype,"angle",{get:function(){return c.Math.radToDeg(this.rotation)},set:function(a){this.rotation=c.Math.degToRad(a)}}),c.World=function(a){c.Group.call(this,a,null,"__world",!1),this.bounds=new c.Rectangle(0,0,a.width,a.height),this.camera=null,this._definedSize=!1,this._width=a.width,this._height=a.height,this.game.state.onStateChange.add(this.stateChange,this)},c.World.prototype=Object.create(c.Group.prototype),c.World.prototype.constructor=c.World,c.World.prototype.boot=function(){this.camera=new c.Camera(this.game,0,0,0,this.game.width,this.game.height),this.camera.displayObject=this,this.camera.scale=this.scale,this.game.camera=this.camera,this.game.stage.addChild(this)},c.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},c.World.prototype.setBounds=function(a,b,c,d){this._definedSize=!0,this._width=c,this._height=d,this.bounds.setTo(a,b,c,d),this.x=a,this.y=b,this.camera.bounds&&this.camera.bounds.setTo(a,b,Math.max(c,this.game.width),Math.max(d,this.game.height)),this.game.physics.setBoundsToWorld()},c.World.prototype.resize=function(a,b){this._definedSize&&(athis.bounds.right&&(a.x=this.bounds.left)),e&&(a.y+a._currentBounds.heightthis.bounds.bottom&&(a.y=this.bounds.top))):(d&&a.x+bthis.bounds.right&&(a.x=this.bounds.left-b),e&&a.y+bthis.bounds.bottom&&(a.y=this.bounds.top-b))},Object.defineProperty(c.World.prototype,"width",{get:function(){return this.bounds.width},set:function(a){ag;g++)e>g?f.push("color: #ff2424; background: #fff"):f.push("color: #959595; background: #fff");console.log.apply(console,f)}else window.console&&console.log("Phaser v"+a+" | Pixi.js "+PIXI.VERSION+" | "+b+" | "+d+" | http://phaser.io")}},setUpRenderer:function(){if(this.canvas=c.Canvas.create(this,this.width,this.height,this.config.canvasID,!0),this.config.canvasStyle?this.canvas.style=this.config.canvasStyle:this.canvas.style["-webkit-full-screen"]="width: 100%; height: 100%",this.renderType===c.HEADLESS||this.renderType===c.CANVAS||this.renderType===c.AUTO&&!this.device.webGL){if(!this.device.canvas)throw new Error("Phaser.Game - Cannot create Canvas or WebGL context, aborting.");this.renderType=c.CANVAS,this.renderer=new PIXI.CanvasRenderer(this),this.context=this.renderer.context}else this.renderType=c.WEBGL,this.renderer=new PIXI.WebGLRenderer(this),this.context=null,this.canvas.addEventListener("webglcontextlost",this.contextLost.bind(this),!1),this.canvas.addEventListener("webglcontextrestored",this.contextRestored.bind(this),!1);this.device.cocoonJS&&(this.canvas.screencanvas=this.renderType===c.CANVAS?!0:!1),this.renderType!==c.HEADLESS&&(this.stage.smoothed=this.antialias,c.Canvas.addToDOM(this.canvas,this.parent,!1),c.Canvas.setTouchAction(this.canvas))},contextLost:function(a){a.preventDefault(),this.renderer.contextLost=!0},contextRestored:function(){this.renderer.initContext(),this.cache.clearGLTextures(),this.renderer.contextLost=!1},update:function(a){if(this.time.update(a),this._kickstart)return this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),this.updateRender(this.time.slowMotion*this.time.desiredFps),void(this._kickstart=!1);if(this._spiraling>1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var b=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*b,this.time.elapsed),0);var c=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/b),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=b&&(this._deltaTime-=b,this.currentUpdateID=c,this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),c++,!this.forceSingleUpdate||1!==c);)this.time.refresh();c>this._lastCount?this._spiraling++:c=c.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+c.Input.MAX_POINTERS+" pointers reached."),null;var a=this.pointers.length+1,b=new c.Pointer(this.game,a,c.PointerMode.TOUCH);return this.pointers.push(b),this["pointer"+a]=b,b},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(a);if(!this.pointer2.active)return this.pointer2.start(a);for(var b=2;b0;c++){var d=this.pointers[c];d.active&&b--}return a-b},getPointer:function(a){void 0===a&&(a=!1);for(var b=0;b=g&&this._localPoint.x=h&&this._localPoint.y=g&&this._localPoint.x=h&&this._localPoint.yi;i++)if(this.hitTest(a.children[i],b,d))return!0;return!1},onClickTrampoline:function(){this.activePointer.processClickTrampolines()}},c.Input.prototype.constructor=c.Input,Object.defineProperty(c.Input.prototype,"x",{get:function(){return this._x},set:function(a){this._x=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"y",{get:function(){return this._y},set:function(a){this._y=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"pollLocked",{get:function(){return this.pollRate>0&&this._pollCounterthis.game.time.time},justReleased:function(a){return a=a||250,this.isUp&&this.timeUp+a>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},c.DeviceButton.prototype.constructor=c.DeviceButton,Object.defineProperty(c.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),c.Pointer=function(a,b,d){this.game=a,this.id=b,this.type=c.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=d||c.PointerMode.CURSOR|c.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new c.DeviceButton(this,c.Pointer.LEFT_BUTTON),this.middleButton=new c.DeviceButton(this,c.Pointer.MIDDLE_BUTTON),this.rightButton=new c.DeviceButton(this,c.Pointer.RIGHT_BUTTON),this.backButton=new c.DeviceButton(this,c.Pointer.BACK_BUTTON),this.forwardButton=new c.DeviceButton(this,c.Pointer.FORWARD_BUTTON),this.eraserButton=new c.DeviceButton(this,c.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===b,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.active=!1,this.dirty=!1,this.position=new c.Point,this.positionDown=new c.Point,this.positionUp=new c.Point,this.circle=new c.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},c.Pointer.NO_BUTTON=0,c.Pointer.LEFT_BUTTON=1,c.Pointer.RIGHT_BUTTON=2,c.Pointer.MIDDLE_BUTTON=4,c.Pointer.BACK_BUTTON=8,c.Pointer.FORWARD_BUTTON=16,c.Pointer.ERASER_BUTTON=32,c.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(a,b){c.Pointer.LEFT_BUTTON&a&&this.leftButton.start(b),c.Pointer.RIGHT_BUTTON&a&&this.rightButton.start(b),c.Pointer.MIDDLE_BUTTON&a&&this.middleButton.start(b),c.Pointer.BACK_BUTTON&a&&this.backButton.start(b),c.Pointer.FORWARD_BUTTON&a&&this.forwardButton.start(b),c.Pointer.ERASER_BUTTON&a&&this.eraserButton.start(b)},processButtonsUp:function(a,b){a===c.Mouse.LEFT_BUTTON&&this.leftButton.stop(b),a===c.Mouse.RIGHT_BUTTON&&this.rightButton.stop(b),a===c.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(b),a===c.Mouse.BACK_BUTTON&&this.backButton.stop(b),a===c.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(b),5===a&&this.eraserButton.stop(b)},updateButtons:function(a){this.button=a.button;var b="down"===a.type.toLowerCase().substr(-4);void 0!==a.buttons?b?this.processButtonsDown(a.buttons,a):this.processButtonsUp(a.button,a):b?this.leftButton.start(a):(this.leftButton.stop(a),this.rightButton.stop(a)),a.ctrlKey&&this.leftButton.isDown&&this.rightButton.start(a),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(a){var b=this.game.input;return a.pointerId&&(this.pointerId=a.pointerId),this.identifier=a.identifier,this.target=a.target,this.isMouse?this.updateButtons(a):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(a,!0),this.positionDown.setTo(this.x,this.y),(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.x=this.x,b.y=this.y,b.position.setTo(this.x,this.y),b.onDown.dispatch(this,a),b.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var a=this.game.input;this.active&&(this.dirty&&(a.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),this._holdSent===!1&&this.duration>=a.holdRate&&((a.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||a.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||a.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===a.totalActivePointers)&&a.onHold.dispatch(this),this._holdSent=!0),a.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+a.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>a.recordLimit&&this._history.shift()))},move:function(a,b){var d=this.game.input;if(!d.pollLocked){if(void 0===b&&(b=!1),void 0!==a.button&&(this.button=a.button),b&&this.isMouse&&this.updateButtons(a),this.clientX=a.clientX,this.clientY=a.clientY,this.pageX=a.pageX,this.pageY=a.pageY,this.screenX=a.screenX,this.screenY=a.screenY,this.isMouse&&d.mouse.locked&&!b&&(this.rawMovementX=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.rawMovementY=a.movementY||a.mozMovementY||a.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*d.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*d.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(d.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||d.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||d.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===d.totalActivePointers)&&(d.activePointer=this,d.x=this.x,d.y=this.y,d.position.setTo(d.x,d.y),d.circle.x=d.x,d.circle.y=d.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY),this.game.paused)return this;for(var e=d.moveCallbacks.length;e--;)d.moveCallbacks[e].callback.call(d.moveCallbacks[e].context,this,this.x,this.y,b); -return null!==this.targetObject&&this.targetObject.isDragged===!0?this.targetObject.update(this)===!1&&(this.targetObject=null):d.interactiveItems.total>0&&this.processInteractiveObjects(b),this}},processInteractiveObjects:function(a){for(var b=Number.MAX_VALUE,c=-1,d=null,e=this.game.input.interactiveItems.first;e;)e.checked=!1,e.validForInput(c,b,!1)&&(e.checked=!0,(a&&e.checkPointerDown(this,!0)||!a&&e.checkPointerOver(this,!0))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e)),e=this.game.input.interactiveItems.next;for(var e=this.game.input.interactiveItems.first;e;)!e.checked&&e.validForInput(c,b,!0)&&(a&&e.checkPointerDown(this,!1)||!a&&e.checkPointerOver(this,!1))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e),e=this.game.input.interactiveItems.next;return null===d?this.targetObject&&(this.targetObject._pointerOutHandler(this),this.targetObject=null):null===this.targetObject?(this.targetObject=d,d._pointerOverHandler(this)):this.targetObject===d?d.update(this)===!1&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this),this.targetObject=d,this.targetObject._pointerOverHandler(this)),null!==this.targetObject},leave:function(a){this.withinGame=!1,this.move(a,!1)},stop:function(a){var b=this.game.input;return this._stateReset&&this.withinGame?void a.preventDefault():(this.timeUp=this.game.time.time,(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.onUp.dispatch(this,a),this.duration>=0&&this.duration<=b.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(a.pageX,a.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),this.isMouse===!1&&b.currentPointers--,b.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this)},justPressed:function(a){return a=a||this.game.input.justPressedRate,this.isDown===!0&&this.timeDown+a>this.game.time.time},justReleased:function(a){return a=a||this.game.input.justReleasedRate,this.isUp&&this.timeUp+a>this.game.time.time},addClickTrampoline:function(a,b,c,d){if(this.isDown){for(var e=this._clickTrampolines=this._clickTrampolines||[],f=0;fd;d++)this._pointerData[d]={id:d,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1};this.snapOffset=new c.Point,this.enabled=!0,this._wasEnabled=!0}return this.sprite.events.onAddedToGroup.add(this.addedToGroup,this),this.sprite.events.onRemovedFromGroup.add(this.removedFromGroup,this),this.flagged=!1,this.sprite},addedToGroup:function(){this._dragPhase||this._wasEnabled&&!this.enabled&&this.start()},removedFromGroup:function(){this._dragPhase||(this.enabled?(this._wasEnabled=!0,this.stop()):this._wasEnabled=!1)},reset:function(){this.enabled=!1,this.flagged=!1;for(var a=0;10>a;a++)this._pointerData[a]={id:a,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1}},stop:function(){this.enabled!==!1&&(this.enabled=!1,this.game.input.interactiveItems.remove(this))},destroy:function(){this.sprite&&(this._setHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.enabled=!1,this.game.input.interactiveItems.remove(this),this._pointerData.length=0,this.boundsRect=null,this.boundsSprite=null,this.sprite=null)},validForInput:function(a,b,c){return void 0===c&&(c=!0),!this.enabled||0===this.sprite.scale.x||0===this.sprite.scale.y||this.priorityIDa||this.priorityID===a&&this.sprite.renderOrderIDb;b++)if(this._pointerData[b].isOver)return!0},pointerOut:function(a){if(!this.enabled)return!1;if(void 0!==a)return this._pointerData[a].isOut;for(var b=0;10>b;b++)if(this._pointerData[b].isOut)return!0},pointerTimeOver:function(a){return a=a||0,this._pointerData[a].timeOver},pointerTimeOut:function(a){return a=a||0,this._pointerData[a].timeOut},pointerDragged:function(a){return a=a||0,this._pointerData[a].isDragged},checkPointerDown:function(a,b){return a.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectClick?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPointerOver:function(a,b){return this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectOver?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPixel:function(a,b,c){if(this.sprite.texture.baseTexture.source){if(null===a&&null===b){this.game.input.getLocalPosition(this.sprite,c,this._tempPoint);var a=this._tempPoint.x,b=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(a-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(b-=-this.sprite.texture.frame.height*this.sprite.anchor.y),a+=this.sprite.texture.frame.x,b+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(a-=this.sprite.texture.trim.x,b-=this.sprite.texture.trim.y,athis.sprite.texture.crop.right||bthis.sprite.texture.crop.bottom))return this._dx=a,this._dy=b,!1;this._dx=a,this._dy=b,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,a,b,1,1,0,0,1,1);var d=this.game.input.hitContext.getImageData(0,0,1,1);if(d.data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(a){return null!==this.sprite&&void 0!==this.sprite.parent?this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this.draggable&&this._draggedPointerID===a.id?this.updateDrag(a):this._pointerData[a.id].isOver?this.checkPointerOver(a)?(this._pointerData[a.id].x=a.x-this.sprite.x,this._pointerData[a.id].y=a.y-this.sprite.y,!0):(this._pointerOutHandler(a),!1):void 0:(this._pointerOutHandler(a),!1):void 0},_pointerOverHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];(b.isOver===!1||a.dirty)&&(b.isOver=!0,b.isOut=!1,b.timeOver=this.game.time.time,b.x=a.x-this.sprite.x,b.y=a.y-this.sprite.y,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,a))}},_pointerOutHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];b.isOver=!1,b.isOut=!0,b.timeOut=this.game.time.time,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.sprite&&this.sprite.events&&this.sprite.events.onInputOut$dispatch(this.sprite,a)}},_touchedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(!b.isDown&&b.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,a))return;b.isDown=!0,b.isUp=!1,b.timeDown=this.game.time.time,this.sprite&&this.sprite.events&&this.sprite.events.onInputDown$dispatch(this.sprite,a),a.dirty=!0,this.draggable&&this.isDragged===!1&&this.startDrag(a),this.bringToTop&&this.sprite.bringToTop()}return this.consumePointerEvent}},_releasedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(b.isDown&&a.isUp){b.isDown=!1,b.isUp=!0,b.timeUp=this.game.time.time,b.downDuration=b.timeUp-b.timeDown;var c=this.checkPointerOver(a);this.sprite&&this.sprite.events&&(this.sprite.events.onInputUp$dispatch(this.sprite,a,c),c&&(c=this.checkPointerOver(a))),b.isOver=c,!c&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),a.dirty=!0,this.draggable&&this.isDragged&&this._draggedPointerID===a.id&&this.stopDrag(a)}}},updateDrag:function(a){if(a.isUp)return this.stopDrag(a),!1;var b=this.globalToLocalX(a.x)+this._dragPoint.x+this.dragOffset.x,c=this.globalToLocalY(a.y)+this._dragPoint.y+this.dragOffset.y;return this.sprite.fixedToCamera?(this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=b),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=c),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y))):(this.allowHorizontalDrag&&(this.sprite.x=b),this.allowVerticalDrag&&(this.sprite.y=c),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))),this.sprite.events.onDragUpdate.dispatch(this.sprite,a,b,c,this.snapPoint),!0},justOver:function(a,b){return a=a||0,b=b||500,this._pointerData[a].isOver&&this.overDuration(a)a;a++)this._pointerData[a].isDragged=!1;this.draggable=!1,this.isDragged=!1,this._draggedPointerID=-1},startDrag:function(a){var b=this.sprite.x,c=this.sprite.y;if(this.isDragged=!0,this._draggedPointerID=a.id,this._pointerData[a.id].isDragged=!0,this.sprite.fixedToCamera)this.dragFromCenter?(this.sprite.centerOn(a.x,a.y),this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y)):this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y);else{if(this.dragFromCenter){var d=this.sprite.getBounds();this.sprite.x=this.globalToLocalX(a.x)+(this.sprite.x-d.centerX),this.sprite.y=this.globalToLocalY(a.y)+(this.sprite.y-d.centerY)}this._dragPoint.setTo(this.sprite.x-this.globalToLocalX(a.x),this.sprite.y-this.globalToLocalY(a.y))}this.updateDrag(a),this.bringToTop&&(this._dragPhase=!0,this.sprite.bringToTop()),this.dragStartPoint.set(b,c),this.sprite.events.onDragStart$dispatch(this.sprite,a,b,c)},globalToLocalX:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.x,a*=this.game.scale.grid.scaleFluidInversed.x),a},globalToLocalY:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.y,a*=this.game.scale.grid.scaleFluidInversed.y),a},stopDrag:function(a){this.isDragged=!1,this._draggedPointerID=-1,this._pointerData[a.id].isDragged=!1,this._dragPhase=!1,this.snapOnRelease&&(this.sprite.fixedToCamera?(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY):(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY)),this.sprite.events.onDragStop$dispatch(this.sprite,a),this.checkPointerOver(a)===!1&&this._pointerOutHandler(a)},setDragLock:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!0),this.allowHorizontalDrag=a,this.allowVerticalDrag=b},enableSnap:function(a,b,c,d,e,f){void 0===c&&(c=!0),void 0===d&&(d=!1),void 0===e&&(e=0),void 0===f&&(f=0),this.snapX=a,this.snapY=b,this.snapOffsetX=e,this.snapOffsetY=f,this.snapOnDrag=c,this.snapOnRelease=d},disableSnap:function(){this.snapOnDrag=!1,this.snapOnRelease=!1},checkBoundsRect:function(){this.sprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},c.InputHandler.prototype.constructor=c.InputHandler,c.Gamepad=function(a){this.game=a,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!=navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this)]},c.Gamepad.prototype={addCallbacks:function(a,b){"undefined"!=typeof b&&(this.onConnectCallback="function"==typeof b.onConnect?b.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof b.onDisconnect?b.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof b.onDown?b.onDown:this.onDownCallback,this.onUpCallback="function"==typeof b.onUp?b.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof b.onAxis?b.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof b.onFloat?b.onFloat:this.onFloatCallback,this.callbackContext=a)},start:function(){if(!this._active){this._active=!0;var a=this;this._onGamepadConnected=function(b){return a.onGamepadConnected(b)},this._onGamepadDisconnected=function(b){return a.onGamepadDisconnected(b)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(a){var b=a.gamepad;this._rawPads.push(b),this._gamepads[b.index].connect(b)},onGamepadDisconnected:function(a){var b=a.gamepad;for(var c in this._rawPads)this._rawPads[c].index===b.index&&this._rawPads.splice(c,1);this._gamepads[b.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(navigator.getGamepads)var a=navigator.getGamepads();else if(navigator.webkitGetGamepads)var a=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var a=navigator.webkitGamepads();if(a){this._rawPads=[];for(var b=!1,c=0;c0&&d>this.deadZone||0>d&&d<-this.deadZone?this.processAxisChange(c,d):this.processAxisChange(c,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(a){var b=!this.connected;this.connected=!0,this.index=a.index,this._rawPad=a,this._buttons=[],this._buttonsLen=a.buttons.length,this._axes=[],this._axesLen=a.axes.length;for(var d=0;dthis.maxHealth&&(this.health=this.maxHealth)),this}},c.Component.InCamera=function(){},c.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},c.Component.InputEnabled=function(){},c.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(a){a?null===this.input?(this.input=new c.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},c.Component.InWorld=function(){},c.Component.InWorld.preUpdate=function(){if((this.autoCull||this.checkWorldBounds)&&(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull&&(this.game.world.camera.view.intersects(this._bounds)?(this.renderable=!0,this.game.world.camera.totalInView++):this.renderable=!1),this.checkWorldBounds))if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1;return!0},c.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},c.Component.LifeSpan=function(){},c.Component.LifeSpan.preUpdate=function(){return this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0)?(this.kill(),!1):!0},c.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(a){return void 0===a&&(a=1),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.heal&&this.heal(a),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},c.Component.LoadTexture=function(){},c.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(a,b,d){b=b||0,(d||void 0===d)&&this.animations&&this.animations.stop(),this.key=a,this.customRender=!1;var e=this.game.cache,f=!0,g=!this.texture.baseTexture.scaleMode;if(c.RenderTexture&&a instanceof c.RenderTexture)this.key=a.key,this.setTexture(a);else if(c.BitmapData&&a instanceof c.BitmapData)this.customRender=!0,this.setTexture(a.texture),e.hasFrameData(a.key,c.Cache.BITMAPDATA)&&(f=!this.animations.loadFrameData(e.getFrameData(a.key,c.Cache.BITMAPDATA),b));else if(c.Video&&a instanceof c.Video){this.customRender=!0;var h=a.texture.valid;this.setTexture(a.texture),this.setFrame(a.texture.frame.clone()),a.onChangeSource.add(this.resizeFrame,this),this.texture.valid=h}else if(a instanceof PIXI.Texture)this.setTexture(a);else{var i=e.getImage(a,!0);this.key=i.key,this.setTexture(new PIXI.Texture(i.base)),f=!this.animations.loadFrameData(i.frameData,b)}f&&(this._frame=c.Rectangle.clone(this.texture.frame)),g||(this.texture.baseTexture.scaleMode=1)},setFrame:function(a){this._frame=a,this.texture.frame.x=a.x,this.texture.frame.y=a.y,this.texture.frame.width=a.width,this.texture.frame.height=a.height,this.texture.crop.x=a.x,this.texture.crop.y=a.y,this.texture.crop.width=a.width,this.texture.crop.height=a.height,a.trimmed?(this.texture.trim?(this.texture.trim.x=a.spriteSourceSizeX,this.texture.trim.y=a.spriteSourceSizeY,this.texture.trim.width=a.sourceSizeW,this.texture.trim.height=a.sourceSizeH):this.texture.trim={x:a.spriteSourceSizeX,y:a.spriteSourceSizeY,width:a.sourceSizeW,height:a.sourceSizeH},this.texture.width=a.sourceSizeW,this.texture.height=a.sourceSizeH,this.texture.frame.width=a.sourceSizeW,this.texture.frame.height=a.sourceSizeH):!a.trimmed&&this.texture.trim&&(this.texture.trim=null),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(a,b,c){this.texture.frame.resize(b,c),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(a){this.animations.frame=a}},frameName:{get:function(){return this.animations.frameName},set:function(a){this.animations.frameName=a}}},c.Component.Overlap=function(){},c.Component.Overlap.prototype={overlap:function(a){return c.Rectangle.intersects(this.getBounds(),a.getBounds())}},c.Component.PhysicsBody=function(){},c.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this._exists&&this.parent.exists?!0:(this.renderOrderID=-1,!1))},c.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},c.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(a){this.position.x=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(a){this.position.y=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},c.Component.Reset=function(){},c.Component.Reset.prototype.reset=function(a,b,c){return void 0===c&&(c=1),this.world.set(a,b),this.position.set(a,b),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=c),this.components.PhysicsBody&&this.body&&this.body.reset(a,b,!1,!1),this},c.Component.ScaleMinMax=function(){},c.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(a){this.scaleMin&&(a.athis.scaleMax.x&&(a.a=this.scaleMax.x),a.d>this.scaleMax.y&&(a.d=this.scaleMax.y))},setScaleMinMax:function(a,b,d,e){void 0===b?b=d=e=a:void 0===d&&(d=e=b,b=a),null===a?this.scaleMin=null:this.scaleMin?this.scaleMin.set(a,b):this.scaleMin=new c.Point(a,b),null===d?this.scaleMax=null:this.scaleMax?this.scaleMax.set(d,e):this.scaleMax=new c.Point(d,e),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},c.Component.Smoothed=function(){},c.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(a){a?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},c.GameObjectFactory=function(a){this.game=a,this.world=this.game.world},c.GameObjectFactory.prototype={existing:function(a){return this.world.add(a)},image:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Image(this.game,a,b,d,e))},sprite:function(a,b,c,d,e){return void 0===e&&(e=this.world),e.create(a,b,c,d)},creature:function(a,b,d,e,f){void 0===f&&(f=this.world);var g=new c.Creature(this.game,a,b,d,e);return f.add(g),g},tween:function(a){return this.game.tweens.create(a)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},physicsGroup:function(a,b,d,e){return new c.Group(this.game,b,d,e,!0,a)},spriteBatch:function(a,b,d){return void 0===a&&(a=null),void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},tileSprite:function(a,b,d,e,f,g,h){return void 0===h&&(h=this.world),h.add(new c.TileSprite(this.game,a,b,d,e,f,g))},rope:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.Rope(this.game,a,b,d,e,f))},text:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Text(this.game,a,b,d,e))},button:function(a,b,d,e,f,g,h,i,j,k){return void 0===k&&(k=this.world),k.add(new c.Button(this.game,a,b,d,e,f,g,h,i,j))},graphics:function(a,b,d){return void 0===d&&(d=this.world),d.add(new c.Graphics(this.game,a,b))},emitter:function(a,b,d){return this.game.particles.add(new c.Particles.Arcade.Emitter(this.game,a,b,d))},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.BitmapText(this.game,a,b,d,e,f))},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},video:function(a,b){return new c.Video(this.game,a,b)},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a},plugin:function(a){return this.game.plugins.add(a)}},c.GameObjectFactory.prototype.constructor=c.GameObjectFactory,c.GameObjectCreator=function(a){this.game=a,this.world=this.game.world},c.GameObjectCreator.prototype={image:function(a,b,d,e){return new c.Image(this.game,a,b,d,e)},sprite:function(a,b,d,e){return new c.Sprite(this.game,a,b,d,e)},tween:function(a){return new c.Tween(a,this.game,this.game.tweens)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},spriteBatch:function(a,b,d){return void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},tileSprite:function(a,b,d,e,f,g){return new c.TileSprite(this.game,a,b,d,e,f,g)},rope:function(a,b,d,e,f){return new c.Rope(this.game,a,b,d,e,f)},text:function(a,b,d,e){return new c.Text(this.game,a,b,d,e)},button:function(a,b,d,e,f,g,h,i,j){return new c.Button(this.game,a,b,d,e,f,g,h,i,j)},graphics:function(a,b){return new c.Graphics(this.game,a,b)},emitter:function(a,b,d){return new c.Particles.Arcade.Emitter(this.game,a,b,d)},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return new c.BitmapText(this.game,a,b,d,e,f,g)},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a}},c.GameObjectCreator.prototype.constructor=c.GameObjectCreator,c.Sprite=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.SPRITE,this.physicsType=c.SPRITE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Sprite.prototype=Object.create(PIXI.Sprite.prototype),c.Sprite.prototype.constructor=c.Sprite,c.Component.Core.install.call(c.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Sprite.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Sprite.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Sprite.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Sprite.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Sprite.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Image=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.IMAGE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Image.prototype=Object.create(PIXI.Sprite.prototype),c.Image.prototype.constructor=c.Image,c.Component.Core.install.call(c.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","Smoothed"]),c.Image.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Image.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Image.prototype.preUpdate=function(){return this.preUpdateInWorld()?this.preUpdateCore():!1},c.Button=function(a,b,d,e,f,g,h,i,j,k){b=b||0,d=d||0,e=e||null,f=f||null,g=g||this,c.Image.call(this,a,b,d,e,i),this.type=c.BUTTON,this.physicsType=c.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new c.Signal,this.onInputOut=new c.Signal,this.onInputDown=new c.Signal,this.onInputUp=new c.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=c.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(h,i,j,k),null!==f&&this.onInputUp.add(f,g),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},c.Button.prototype=Object.create(c.Image.prototype),c.Button.prototype.constructor=c.Button;var g="Over",h="Out",i="Down",j="Up";c.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},c.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},c.Button.prototype.setStateFrame=function(a,b,c){var d="_on"+a+"Frame";null!==b?(this[d]=b,c&&this.changeStateFrame(a)):this[d]=null},c.Button.prototype.changeStateFrame=function(a){if(this.freezeFrames)return!1;var b="_on"+a+"Frame",c=this[b];return"string"==typeof c?(this.frameName=c,!0):"number"==typeof c?(this.frame=c,!0):!1},c.Button.prototype.setFrames=function(a,b,c,d){this.setStateFrame(g,a,this.input.pointerOver()),this.setStateFrame(h,b,!this.input.pointerOver()),this.setStateFrame(i,c,this.input.pointerDown()),this.setStateFrame(j,d,this.input.pointerUp())},c.Button.prototype.setStateSound=function(a,b,d){var e="on"+a+"Sound",f="on"+a+"SoundMarker";b instanceof c.Sound||b instanceof c.AudioSprite?(this[e]=b, -this[f]="string"==typeof d?d:""):(this[e]=null,this[f]="")},c.Button.prototype.playStateSound=function(a){var b="on"+a+"Sound",c=this[b];if(c){var d="on"+a+"SoundMarker",e=this[d];return c.play(e),!0}return!1},c.Button.prototype.setSounds=function(a,b,c,d,e,f,k,l){this.setStateSound(g,a,b),this.setStateSound(h,e,f),this.setStateSound(i,c,d),this.setStateSound(j,k,l)},c.Button.prototype.setOverSound=function(a,b){this.setStateSound(g,a,b)},c.Button.prototype.setOutSound=function(a,b){this.setStateSound(h,a,b)},c.Button.prototype.setDownSound=function(a,b){this.setStateSound(i,a,b)},c.Button.prototype.setUpSound=function(a,b){this.setStateSound(j,a,b)},c.Button.prototype.onInputOverHandler=function(a,b){b.justReleased()&&(this.justReleasedPreventsOver&b.pointerMode)===b.pointerMode||(this.changeStateFrame(g),(!this.onOverMouseOnly||b.isMouse)&&(this.playStateSound(g),this.onInputOver&&this.onInputOver.dispatch(this,b)))},c.Button.prototype.onInputOutHandler=function(a,b){this.changeStateFrame(h),this.playStateSound(h),this.onInputOut&&this.onInputOut.dispatch(this,b)},c.Button.prototype.onInputDownHandler=function(a,b){this.changeStateFrame(i),this.playStateSound(i),this.onInputDown&&this.onInputDown.dispatch(this,b)},c.Button.prototype.onInputUpHandler=function(a,b,c){if(this.playStateSound(j),this.onInputUp&&this.onInputUp.dispatch(this,b,c),!this.freezeFrames)if(this.forceOut===!0||(this.forceOut&b.pointerMode)===b.pointerMode)this.changeStateFrame(h);else{var d=this.changeStateFrame(j);d||(c?this.changeStateFrame(g):this.changeStateFrame(h))}},c.SpriteBatch=function(a,b,d,e){(void 0===b||null===b)&&(b=a.world),PIXI.SpriteBatch.call(this),c.Group.call(this,a,b,d,e),this.type=c.SPRITEBATCH},c.SpriteBatch.prototype=c.Utils.extend(!0,c.SpriteBatch.prototype,c.Group.prototype,PIXI.SpriteBatch.prototype),c.SpriteBatch.prototype.constructor=c.SpriteBatch,c.BitmapData=function(a,b,d,e){(void 0===d||0===d)&&(d=256),(void 0===e||0===e)&&(e=256),this.game=a,this.key=b,this.width=d,this.height=e,this.canvas=PIXI.CanvasPool.create(this,d,e),this.context=this.canvas.getContext("2d",{alpha:!0}),this.ctx=this.context,this.imageData=this.context.getImageData(0,0,d,e),this.data=null,this.imageData&&(this.data=this.imageData.data),this.pixels=null,this.data&&(this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data),this.baseTexture=new PIXI.BaseTexture(this.canvas),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,d,e,"bitmapData"),this.texture.frame=this.textureFrame,this.type=c.BITMAPDATA,this.disableTextureUpload=!1,this.dirty=!1,this.cls=this.clear,this._image=null,this._pos=new c.Point,this._size=new c.Point,this._scale=new c.Point,this._rotate=0,this._alpha={prev:1,current:1},this._anchor=new c.Point,this._tempR=0,this._tempG=0,this._tempB=0,this._circle=new c.Circle,this._swapCanvas=PIXI.CanvasPool.create(this,d,e)},c.BitmapData.prototype={move:function(a,b,c){return 0!==a&&this.moveH(a,c),0!==b&&this.moveV(b,c),this},moveH:function(a,b){void 0===b&&(b=!0);var c=this._swapCanvas,d=c.getContext("2d"),e=this.height,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),0>a){a=Math.abs(a);var g=this.width-a;b&&d.drawImage(f,0,0,a,e,g,0,a,e),d.drawImage(f,a,0,g,e,0,0,g,e)}else{var g=this.width-a;b&&d.drawImage(f,g,0,a,e,0,0,a,e),d.drawImage(f,0,0,g,e,a,0,g,e)}return this.clear(),this.copy(this._swapCanvas)},moveV:function(a,b){void 0===b&&(b=!0);var c=this._swapCanvas,d=c.getContext("2d"),e=this.width,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),0>a){a=Math.abs(a);var g=this.height-a;b&&d.drawImage(f,0,0,e,a,0,g,e,a),d.drawImage(f,0,a,e,g,0,0,e,g)}else{var g=this.height-a;b&&d.drawImage(f,0,g,e,a,0,0,e,a),d.drawImage(f,0,0,e,g,0,a,e,g)}return this.clear(),this.copy(this._swapCanvas)},add:function(a){if(Array.isArray(a))for(var b=0;bm;m++)for(var n=d;h>n;n++)c.Color.unpackPixel(this.getPixel32(n,m),j),k=a.call(b,j,n,m),k!==!1&&null!==k&&void 0!==k&&(this.setPixel32(n,m,k.r,k.g,k.b,k.a,!1),l=!0);return l&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},processPixel:function(a,b,c,d,e,f){void 0===c&&(c=0),void 0===d&&(d=0),void 0===e&&(e=this.width),void 0===f&&(f=this.height);for(var g=c+e,h=d+f,i=0,j=0,k=!1,l=d;h>l;l++)for(var m=c;g>m;m++)i=this.getPixel32(m,l),j=a.call(b,i,m,l),j!==i&&(this.pixels[l*this.width+m]=j,k=!0);return k&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},replaceRGB:function(a,b,d,e,f,g,h,i,j){var k=0,l=0,m=this.width,n=this.height,o=c.Color.packPixel(a,b,d,e);void 0!==j&&j instanceof c.Rectangle&&(k=j.x,l=j.y,m=j.width,n=j.height);for(var p=0;n>p;p++)for(var q=0;m>q;q++)this.getPixel32(k+q,l+p)===o&&this.setPixel32(k+q,l+p,f,g,h,i,!1);return this.context.putImageData(this.imageData,0,0),this.dirty=!0,this},setHSL:function(a,b,d,e){if((void 0===a||null===a)&&(a=!1),(void 0===b||null===b)&&(b=!1),(void 0===d||null===d)&&(d=!1),a||b||d){void 0===e&&(e=new c.Rectangle(0,0,this.width,this.height));for(var f=c.Color.createColor(),g=e.y;g=0&&a<=this.width&&b>=0&&b<=this.height&&(c.Device.LITTLE_ENDIAN?this.pixels[b*this.width+a]=g<<24|f<<16|e<<8|d:this.pixels[b*this.width+a]=d<<24|e<<16|f<<8|g,h&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(a,b,c,d,e,f){return this.setPixel32(a,b,c,d,e,255,f)},getPixel:function(a,b,d){d||(d=c.Color.createColor());var e=~~(a+b*this.width);return e*=4,d.r=this.data[e],d.g=this.data[++e],d.b=this.data[++e],d.a=this.data[++e],d},getPixel32:function(a,b){return a>=0&&a<=this.width&&b>=0&&b<=this.height?this.pixels[b*this.width+a]:void 0},getPixelRGB:function(a,b,d,e,f){return c.Color.unpackPixel(this.getPixel32(a,b),d,e,f)},getPixels:function(a){return this.context.getImageData(a.x,a.y,a.width,a.height)},getFirstPixel:function(a){void 0===a&&(a=0);var b=c.Color.createColor(),d=0,e=0,f=1,g=!1;1===a?(f=-1,e=this.height):3===a&&(f=-1,d=this.width);do c.Color.unpackPixel(this.getPixel32(d,e),b),0===a||1===a?(d++,d===this.width&&(d=0,e+=f,(e>=this.height||0>=e)&&(g=!0))):(2===a||3===a)&&(e++,e===this.height&&(e=0,d+=f,(d>=this.width||0>=d)&&(g=!0)));while(0===b.a&&!g);return b.x=d,b.y=e,b},getBounds:function(a){return void 0===a&&(a=new c.Rectangle),a.x=this.getFirstPixel(2).x,a.x===this.width?a.setTo(0,0,0,0):(a.y=this.getFirstPixel(0).y,a.width=this.getFirstPixel(3).x-a.x+1,a.height=this.getFirstPixel(1).y-a.y+1,a)},addToWorld:function(a,b,c,d,e,f){e=e||1,f=f||1;var g=this.game.add.image(a,b,this);return g.anchor.set(c,d),g.scale.set(e,f),g},copy:function(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){if((void 0===a||null===a)&&(a=this),this._image=a,a instanceof c.Sprite||a instanceof c.Image||a instanceof c.Text||a instanceof PIXI.Sprite)this._pos.set(a.texture.crop.x,a.texture.crop.y),this._size.set(a.texture.crop.width,a.texture.crop.height),this._scale.set(a.scale.x,a.scale.y),this._anchor.set(a.anchor.x,a.anchor.y),this._rotate=a.rotation,this._alpha.current=a.alpha,this._image=a.texture.baseTexture.source,(void 0===g||null===g)&&(g=a.x),(void 0===h||null===h)&&(h=a.y),a.texture.trim&&(g+=a.texture.trim.x-a.anchor.x*a.texture.trim.width,h+=a.texture.trim.y-a.anchor.y*a.texture.trim.height),16777215!==a.tint&&(a.cachedTint!==a.tint&&(a.cachedTint=a.tint,a.tintedTexture=PIXI.CanvasTinter.getTintedTexture(a,a.tint)),this._image=a.tintedTexture);else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,a instanceof c.BitmapData)this._image=a.canvas;else if("string"==typeof a){if(a=this.game.cache.getImage(a),null===a)return;this._image=a}this._size.set(this._image.width,this._image.height)}if((void 0===b||null===b)&&(b=0),(void 0===d||null===d)&&(d=0),e&&(this._size.x=e),f&&(this._size.y=f),(void 0===g||null===g)&&(g=b),(void 0===h||null===h)&&(h=d),(void 0===i||null===i)&&(i=this._size.x),(void 0===j||null===j)&&(j=this._size.y),"number"==typeof k&&(this._rotate=k),"number"==typeof l&&(this._anchor.x=l),"number"==typeof m&&(this._anchor.y=m),"number"==typeof n&&(this._scale.x=n),"number"==typeof o&&(this._scale.y=o),"number"==typeof p&&(this._alpha.current=p),void 0===q&&(q=null),void 0===r&&(r=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var s=this.context;return this._alpha.prev=s.globalAlpha,s.save(),s.globalAlpha=this._alpha.current,q&&(this.op=q),r&&(g|=0,h|=0),s.translate(g,h),s.scale(this._scale.x,this._scale.y),s.rotate(this._rotate),s.drawImage(this._image,this._pos.x+b,this._pos.y+d,this._size.x,this._size.y,-i*this._anchor.x,-j*this._anchor.y,i,j),s.restore(),s.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyRect:function(a,b,c,d,e,f,g){return this.copy(a,b.x,b.y,b.width,b.height,c,d,b.width,b.height,0,0,0,1,1,e,f,g)},draw:function(a,b,c,d,e,f,g){return this.copy(a,null,null,null,null,b,c,d,e,null,null,null,null,null,null,f,g)},drawGroup:function(a,b,c){return a.total>0&&a.forEachExists(this.copy,this,null,null,null,null,null,null,null,null,null,null,null,null,null,null,b,c),this},drawFull:function(a,b,d){if(a.worldVisible===!1||0===a.worldAlpha||a.hasOwnProperty("exists")&&a.exists===!1)return this;if(a.type!==c.GROUP&&a.type!==c.EMITTER&&a.type!==c.BITMAPTEXT)if(a.type===c.GRAPHICS){var e=a.getBounds();this.ctx.save(),this.ctx.translate(e.x,e.y),PIXI.CanvasGraphics.renderGraphics(a,this.ctx),this.ctx.restore()}else this.copy(a,null,null,null,null,a.worldPosition.x,a.worldPosition.y,null,null,a.worldRotation,null,null,a.worldScale.x,a.worldScale.y,a.worldAlpha,b,d);if(a.children)for(var f=0;fb.width&&(e=b.width);var f=this.context;return f.fillStyle=f.createPattern(b,d),this._circle=new c.Circle(a.start.x,a.start.y,b.height),this._circle.circumferencePoint(a.angle-1.5707963267948966,!1,this._pos),f.save(),f.translate(this._pos.x,this._pos.y),f.rotate(a.angle),f.fillRect(0,0,e,b.height),f.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){PIXI.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this}},Object.defineProperty(c.BitmapData.prototype,"smoothed",{get:function(){c.Canvas.getSmoothingEnabled(this.context)},set:function(a){c.Canvas.setSmoothingEnabled(this.context,a)}}),Object.defineProperty(c.BitmapData.prototype,"op",{get:function(){return this.context.globalCompositeOperation},set:function(a){this.context.globalCompositeOperation=a}}),c.BitmapData.getTransform=function(a,b,c,d,e,f){return"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),"number"!=typeof c&&(c=1),"number"!=typeof d&&(d=1),"number"!=typeof e&&(e=0),"number"!=typeof f&&(f=0),{sx:c,sy:d,scaleX:c,scaleY:d,skewX:e,skewY:f,translateX:a,translateY:b,tx:a,ty:b}},c.BitmapData.prototype.constructor=c.BitmapData,PIXI.Graphics=function(){PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new PIXI.Rectangle(0,0,1,1),this.dirty=!0,this.webGLDirty=!1,this.cachedSpriteDirty=!1},PIXI.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),PIXI.Graphics.prototype.constructor=PIXI.Graphics,PIXI.Graphics.prototype.lineStyle=function(a,b,c){return this.lineWidth=a||0,this.lineColor=b||0,this.lineAlpha=void 0===c?1:c,this.currentPath&&(this.currentPath.shape.points.length?this.drawShape(new PIXI.Polygon(this.currentPath.shape.points.slice(-2))):(this.currentPath.lineWidth=this.lineWidth,this.currentPath.lineColor=this.lineColor,this.currentPath.lineAlpha=this.lineAlpha)),this},PIXI.Graphics.prototype.moveTo=function(a,b){return this.drawShape(new PIXI.Polygon([a,b])),this},PIXI.Graphics.prototype.lineTo=function(a,b){return this.currentPath||this.moveTo(0,0),this.currentPath.shape.points.push(a,b),this.dirty=!0,this},PIXI.Graphics.prototype.quadraticCurveTo=function(a,b,c,d){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);var e,f,g=20,h=this.currentPath.shape.points;0===h.length&&this.moveTo(0,0);for(var i=h[h.length-2],j=h[h.length-1],k=0,l=1;g>=l;++l)k=l/g,e=i+(a-i)*k,f=j+(b-j)*k,h.push(e+(a+(c-a)*k-e)*k,f+(b+(d-b)*k-f)*k);return this.dirty=!0,this},PIXI.Graphics.prototype.bezierCurveTo=function(a,b,c,d,e,f){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);for(var g,h,i,j,k,l=20,m=this.currentPath.shape.points,n=m[m.length-2],o=m[m.length-1],p=0,q=1;l>=q;++q)p=q/l,g=1-p,h=g*g,i=h*g,j=p*p,k=j*p,m.push(i*n+3*h*p*a+3*g*j*c+k*e,i*o+3*h*p*b+3*g*j*d+k*f);return this.dirty=!0,this},PIXI.Graphics.prototype.arcTo=function(a,b,c,d,e){this.currentPath?0===this.currentPath.shape.points.length&&this.currentPath.shape.points.push(a,b):this.moveTo(a,b);var f=this.currentPath.shape.points,g=f[f.length-2],h=f[f.length-1],i=h-b,j=g-a,k=d-b,l=c-a,m=Math.abs(i*l-j*k);if(1e-8>m||0===e)(f[f.length-2]!==a||f[f.length-1]!==b)&&f.push(a,b);else{var n=i*i+j*j,o=k*k+l*l,p=i*k+j*l,q=e*Math.sqrt(n)/m,r=e*Math.sqrt(o)/m,s=q*p/n,t=r*p/o,u=q*l+r*j,v=q*k+r*i,w=j*(r+s),x=i*(r+s),y=l*(q+t),z=k*(q+t),A=Math.atan2(x-v,w-u),B=Math.atan2(z-v,y-u);this.arc(u+a,v+b,e,A,B,j*k>l*i)}return this.dirty=!0,this},PIXI.Graphics.prototype.arc=function(a,b,c,d,e,f){if(d===e)return this;void 0===f&&(f=!1),!f&&d>=e?e+=2*Math.PI:f&&e>=d&&(d+=2*Math.PI);var g=f?-1*(d-e):e-d,h=40*Math.ceil(Math.abs(g)/(2*Math.PI));if(0===g)return this;var i=a+Math.cos(d)*c,j=b+Math.sin(d)*c;f&&this.filling?this.moveTo(a,b):this.moveTo(i,j);for(var k=this.currentPath.shape.points,l=g/(2*h),m=2*l,n=Math.cos(l),o=Math.sin(l),p=h-1,q=p%1/p,r=0;p>=r;r++){var s=r+q*r,t=l+d+m*s,u=Math.cos(t),v=-Math.sin(t);k.push((n*u+o*v)*c+a,(n*-v+o*u)*c+b)}return this.dirty=!0,this},PIXI.Graphics.prototype.beginFill=function(a,b){return this.filling=!0,this.fillColor=a||0,this.fillAlpha=void 0===b?1:b,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},PIXI.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},PIXI.Graphics.prototype.drawRect=function(a,b,c,d){return this.drawShape(new PIXI.Rectangle(a,b,c,d)),this},PIXI.Graphics.prototype.drawRoundedRect=function(a,b,c,d,e){return this.drawShape(new PIXI.RoundedRectangle(a,b,c,d,e)),this},PIXI.Graphics.prototype.drawCircle=function(a,b,c){return this.drawShape(new PIXI.Circle(a,b,c)),this},PIXI.Graphics.prototype.drawEllipse=function(a,b,c,d){return this.drawShape(new PIXI.Ellipse(a,b,c,d)),this},PIXI.Graphics.prototype.drawPolygon=function(a){(a instanceof c.Polygon||a instanceof PIXI.Polygon)&&(a=a.points);var b=a;if(!Array.isArray(b)){b=new Array(arguments.length);for(var d=0;dp?p:x,x=x>r?r:x,x=x>t?t:x,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w,this._bounds.x=x,this._bounds.width=v-x,this._bounds.y=y,this._bounds.height=w-y,this._currentBounds=this._bounds}return this._currentBounds},PIXI.Graphics.prototype.containsPoint=function(a){this.worldTransform.applyInverse(a,tempPoint);for(var b=this.graphicsData,c=0;ch?h:a,b=h+j>b?h+j:b,d=d>i?i:d,e=i+k>e?i+k:e;else if(n===PIXI.Graphics.CIRC)h=f.x,i=f.y,j=f.radius+o/2,k=f.radius+o/2,a=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?i+k:e;else if(n===PIXI.Graphics.ELIP)h=f.x,i=f.y,j=f.width+o/2,k=f.height+o/2,a=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?i+k:e;else{g=f.points;for(var p=0;ph-o?h-o:a,b=h+o>b?h+o:b,d=d>i-o?i-o:d,e=i+o>e?i+o:e}}else a=0,b=0,d=0,e=0;var q=this.boundsPadding;this._localBounds.x=a-q,this._localBounds.width=b-a+2*q,this._localBounds.y=d-q,this._localBounds.height=e-d+2*q},PIXI.Graphics.prototype._generateCachedSprite=function(){var a=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(a.width,a.height);else{var b=new PIXI.CanvasBuffer(a.width,a.height),c=PIXI.Texture.fromCanvas(b.canvas);this._cachedSprite=new PIXI.Sprite(c),this._cachedSprite.buffer=b,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-(a.x/a.width),this._cachedSprite.anchor.y=-(a.y/a.height),this._cachedSprite.buffer.context.translate(-a.x,-a.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},PIXI.Graphics.prototype.updateCachedSpriteTexture=function(){var a=this._cachedSprite,b=a.texture,c=a.buffer.canvas;b.baseTexture.width=c.width,b.baseTexture.height=c.height,b.crop.width=b.frame.width=c.width,b.crop.height=b.frame.height=c.height,a._width=c.width,a._height=c.height,b.baseTexture.dirty()},PIXI.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},PIXI.Graphics.prototype.drawShape=function(a){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,a instanceof c.Polygon&&(a=a.clone(),a.flatten());var b=new PIXI.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,a);return this.graphicsData.push(b),b.type===PIXI.Graphics.POLY&&(b.shape.closed=this.filling,this.currentPath=b),this.dirty=!0,b},Object.defineProperty(PIXI.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(a){this._cacheAsBitmap=a,this._cacheAsBitmap?this._generateCachedSprite():(this.destroyCachedSprite(),this.dirty=!0)}}),PIXI.GraphicsData=function(a,b,c,d,e,f,g){this.lineWidth=a,this.lineColor=b,this.lineAlpha=c,this._lineTint=b,this.fillColor=d,this.fillAlpha=e,this._fillTint=d,this.fill=f,this.shape=g,this.type=g.type},PIXI.GraphicsData.prototype.constructor=PIXI.GraphicsData,PIXI.GraphicsData.prototype.clone=function(){return new GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},PIXI.PolyK={},PIXI.PolyK.Triangulate=function(a){var b=!0,c=a.length>>1;if(3>c)return[];for(var d=[],e=[],f=0;c>f;f++)e.push(f);f=0;for(var g=c;g>3;){var h=e[(f+0)%g],i=e[(f+1)%g],j=e[(f+2)%g],k=a[2*h],l=a[2*h+1],m=a[2*i],n=a[2*i+1],o=a[2*j],p=a[2*j+1],q=!1;if(PIXI.PolyK._convex(k,l,m,n,o,p,b)){q=!0;for(var r=0;g>r;r++){var s=e[r];if(s!==h&&s!==i&&s!==j&&PIXI.PolyK._PointInTriangle(a[2*s],a[2*s+1],k,l,m,n,o,p)){q=!1;break}}}if(q)d.push(h,i,j),e.splice((f+1)%g,1),g--,f=0;else if(f++>3*g){if(!b)return null;for(d=[],e=[],f=0;c>f;f++)e.push(f);f=0,g=c,b=!1}}return d.push(e[0],e[1],e[2]),d},PIXI.PolyK._PointInTriangle=function(a,b,c,d,e,f,g,h){var i=g-c,j=h-d,k=e-c,l=f-d,m=a-c,n=b-d,o=i*i+j*j,p=i*k+j*l,q=i*m+j*n,r=k*k+l*l,s=k*m+l*n,t=1/(o*r-p*p),u=(r*q-p*s)*t,v=(o*s-p*q)*t;return u>=0&&v>=0&&1>u+v},PIXI.PolyK._convex=function(a,b,c,d,e,f,g){return(b-d)*(e-c)+(c-a)*(f-d)>=0===g},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.renderGraphics=function(a,b){var c,d=b.gl,e=b.projection,f=b.offset,g=b.shaderManager.primitiveShader;a.dirty&&PIXI.WebGLGraphics.updateGraphics(a,d);for(var h=a._webGL[d.id],i=0;i=6)if(g.points.length<12){f=PIXI.WebGLGraphics.switchMode(c,0);var h=PIXI.WebGLGraphics.buildPoly(g,f);h||(f=PIXI.WebGLGraphics.switchMode(c,1),PIXI.WebGLGraphics.buildComplexPoly(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,1),PIXI.WebGLGraphics.buildComplexPoly(g,f);g.lineWidth>0&&(f=PIXI.WebGLGraphics.switchMode(c,0),PIXI.WebGLGraphics.buildLine(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,0),g.type===PIXI.Graphics.RECT?PIXI.WebGLGraphics.buildRectangle(g,f):g.type===PIXI.Graphics.CIRC||g.type===PIXI.Graphics.ELIP?PIXI.WebGLGraphics.buildCircle(g,f):g.type===PIXI.Graphics.RREC&&PIXI.WebGLGraphics.buildRoundedRectangle(g,f);c.lastIndex++}for(d=0;d=q;q++)p=q/n,h=g(a,c,p),i=g(b,d,p),j=g(c,e,p),k=g(d,f,p),l=g(h,j,p),m=g(i,k,p),o.push(l,m);return o},PIXI.WebGLGraphics.buildCircle=function(a,b){var c,d,e=a.shape,f=e.x,g=e.y;a.type===PIXI.Graphics.CIRC?(c=e.radius,d=e.radius):(c=e.width,d=e.height);var h=40,i=2*Math.PI/h,j=0;if(a.fill){var k=PIXI.hex2rgb(a.fillColor),l=a.fillAlpha,m=k[0]*l,n=k[1]*l,o=k[2]*l,p=b.points,q=b.indices,r=p.length/6;for(q.push(r),j=0;h+1>j;j++)p.push(f,g,m,n,o,l),p.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d,m,n,o,l),q.push(r++,r++);q.push(r-1)}if(a.lineWidth){var s=a.points;for(a.points=[],j=0;h+1>j;j++)a.points.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d);PIXI.WebGLGraphics.buildLine(a,b),a.points=s}},PIXI.WebGLGraphics.buildLine=function(a,b){var c=0,d=a.points;if(0!==d.length){if(a.lineWidth%2)for(c=0;cc;c++)k=d[2*(c-1)],l=d[2*(c-1)+1],m=d[2*c],n=d[2*c+1],o=d[2*(c+1)],p=d[2*(c+1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,s=-(n-p),t=m-o,E=Math.sqrt(s*s+t*t),s/=E,t/=E,s*=K,t*=K,w=-r+l-(-r+n),x=-q+m-(-q+k),y=(-q+k)*(-r+n)-(-q+m)*(-r+l),z=-t+p-(-t+n),A=-s+m-(-s+o),B=(-s+o)*(-t+n)-(-s+m)*(-t+p),C=w*A-z*x,Math.abs(C)<.1?(C+=10.1,F.push(m-q,n-r,N,O,P,M),F.push(m+q,n+r,N,O,P,M)):(i=(x*B-A*y)/C,j=(z*y-w*B)/C,D=(i-m)*(i-m)+(j-n)+(j-n),D>19600?(u=q-s,v=r-t,E=Math.sqrt(u*u+v*v),u/=E,v/=E,u*=K,v*=K,F.push(m-u,n-v),F.push(N,O,P,M),F.push(m+u,n+v),F.push(N,O,P,M),F.push(m-u,n-v),F.push(N,O,P,M),I++):(F.push(i,j),F.push(N,O,P,M),F.push(m-(i-m),n-(j-n)),F.push(N,O,P,M)));for(k=d[2*(H-2)],l=d[2*(H-2)+1],m=d[2*(H-1)],n=d[2*(H-1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,F.push(m-q,n-r),F.push(N,O,P,M),F.push(m+q,n+r),F.push(N,O,P,M),G.push(J),c=0;I>c;c++)G.push(J++);G.push(J-1)}},PIXI.WebGLGraphics.buildComplexPoly=function(a,b){var c=a.points.slice();if(!(c.length<6)){var d=b.indices;b.points=c,b.alpha=a.fillAlpha,b.color=PIXI.hex2rgb(a.fillColor);for(var e,f,g=1/0,h=-(1/0),i=1/0,j=-(1/0),k=0;ke?e:g,h=e>h?e:h,i=i>f?f:i,j=f>j?f:j;c.push(g,i,h,i,h,j,g,j);var l=c.length/2;for(k=0;l>k;k++)d.push(k)}},PIXI.WebGLGraphics.buildPoly=function(a,b){var c=a.points;if(!(c.length<6)){var d=b.points,e=b.indices,f=c.length/2,g=PIXI.hex2rgb(a.fillColor),h=a.fillAlpha,i=g[0]*h,j=g[1]*h,k=g[2]*h,l=PIXI.PolyK.Triangulate(c);if(!l)return!1;var m=d.length/6,n=0;for(n=0;nn;n++)d.push(c[2*n],c[2*n+1],i,j,k,h);return!0}},PIXI.WebGLGraphics.graphicsDataPool=[],PIXI.WebGLGraphicsData=function(a){this.gl=a,this.color=[0,0,0],this.points=[],this.indices=[],this.buffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),this.mode=1,this.alpha=1,this.dirty=!0},PIXI.WebGLGraphicsData.prototype.reset=function(){this.points=[],this.indices=[]},PIXI.WebGLGraphicsData.prototype.upload=function(){var a=this.gl;this.glPoints=new PIXI.Float32Array(this.points),a.bindBuffer(a.ARRAY_BUFFER,this.buffer),a.bufferData(a.ARRAY_BUFFER,this.glPoints,a.STATIC_DRAW),this.glIndicies=new PIXI.Uint16Array(this.indices),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.glIndicies,a.STATIC_DRAW),this.dirty=!1},PIXI.CanvasGraphics=function(){},PIXI.CanvasGraphics.renderGraphics=function(a,b){var c=a.worldAlpha;a.dirty&&(this.updateGraphicsTint(a),a.dirty=!1);for(var d=0;dA?A:z,b.beginPath(),b.moveTo(v,w+z),b.lineTo(v,w+y-z),b.quadraticCurveTo(v,w+y,v+z,w+y),b.lineTo(v+x-z,w+y),b.quadraticCurveTo(v+x,w+y,v+x,w+y-z),b.lineTo(v+x,w+z),b.quadraticCurveTo(v+x,w,v+x-z,w),b.lineTo(v+z,w),b.quadraticCurveTo(v,w,v,w+z),b.closePath(),(e.fillColor||0===e.fillColor)&&(b.globalAlpha=e.fillAlpha*c,b.fillStyle="#"+("00000"+(0|g).toString(16)).substr(-6),b.fill()),e.lineWidth&&(b.globalAlpha=e.lineAlpha*c,b.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),b.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(a,b){var c=a.graphicsData.length;if(0!==c){b.beginPath();for(var d=0;c>d;d++){var e=a.graphicsData[d],f=e.shape;if(e.type===PIXI.Graphics.POLY){var g=f.points;b.moveTo(g[0],g[1]);for(var h=1;hy?y:x,b.moveTo(t,u+x),b.lineTo(t,u+w-x),b.quadraticCurveTo(t,u+w,t+x,u+w),b.lineTo(t+v-x,u+w),b.quadraticCurveTo(t+v,u+w,t+v,u+w-x),b.lineTo(t+v,u+x),b.quadraticCurveTo(t+v,u,t+v-x,u),b.lineTo(t+x,u),b.quadraticCurveTo(t,u,t,u+x),b.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(a){if(16777215!==a.tint)for(var b=(a.tint>>16&255)/255,c=(a.tint>>8&255)/255,d=(255&a.tint)/255,e=0;e>16&255)/255*b*255<<16)+((g>>8&255)/255*c*255<<8)+(255&g)/255*d*255,f._lineTint=((h>>16&255)/255*b*255<<16)+((h>>8&255)/255*c*255<<8)+(255&h)/255*d*255}},c.Graphics=function(a,b,d){void 0===b&&(b=0),void 0===d&&(d=0),this.type=c.GRAPHICS,this.physicsType=c.SPRITE,PIXI.Graphics.call(this),c.Component.Core.init.call(this,a,b,d,"",null)},c.Graphics.prototype=Object.create(PIXI.Graphics.prototype),c.Graphics.prototype.constructor=c.Graphics,c.Component.Core.install.call(c.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),c.Graphics.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Graphics.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Graphics.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Graphics.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Graphics.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Graphics.prototype.destroy=function(a){this.clear(),c.Component.Destroy.prototype.destroy.call(this,a)},c.Graphics.prototype.drawTriangle=function(a,b){void 0===b&&(b=!1);var d=new c.Polygon(a);if(b){var e=new c.Point(this.game.camera.x-a[0].x,this.game.camera.y-a[0].y),f=new c.Point(a[1].x-a[0].x,a[1].y-a[0].y),g=new c.Point(a[1].x-a[2].x,a[1].y-a[2].y),h=g.cross(f);e.dot(h)>0&&this.drawPolygon(d)}else this.drawPolygon(d)},c.Graphics.prototype.drawTriangles=function(a,b,d){void 0===d&&(d=!1);var e,f=new c.Point,g=new c.Point,h=new c.Point,i=[];if(b)if(a[0]instanceof c.Point)for(e=0;e0&&(j+=c[k-1]),h=j+l}else for(var k=0;kp&&Math.abs(p)>n&&(p=-n),0!==p){var m=p*(b.length-1);o+=m}this.canvas.height=o*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var q,r;for(this._charCount=0,g=0;g0&&(r+=p*g),"right"===this.style.align?q+=e-d[g]:"center"===this.style.align&&(q+=(e-d[g])/2),this.autoRound&&(q=Math.round(q),r=Math.round(r)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(b[g],q,r):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===c?this.context.strokeText(b[g],q,r):this.renderTabLine(b[g],q,r,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===c?this.context.fillText(b[g],q,r):this.renderTabLine(b[g],q,r,!0)));this.updateTexture()},c.Text.prototype.renderTabLine=function(a,b,c,d){var e=a.split(/(?:\t)/),f=this.style.tabs,g=0;if(Array.isArray(f))for(var h=0,i=0;i0&&(h+=f[i-1]),g=b+h,d?this.context.fillText(e[i],g,c):this.context.strokeText(e[i],g,c);else for(var i=0;i0||this.fontStyles.length>0){var f=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(f.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(f.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(f)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(e,b,c)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(e,b,c)),b+=this.context.measureText(e).width,this._charCount++}},c.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},c.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},c.Text.prototype.addColor=function(a,b){return this.colors[b]=a,this.dirty=!0,this},c.Text.prototype.addStrokeColor=function(a,b){return this.strokeColors[b]=a,this.dirty=!0,this},c.Text.prototype.addFontStyle=function(a,b){return this.fontStyles[b]=a,this.dirty=!0,this},c.Text.prototype.addFontWeight=function(a,b){return this.fontWeights[b]=a,this.dirty=!0,this},c.Text.prototype.runWordWrap=function(a){for(var b="",c=a.split("\n"),d=0;de?(g>0&&(b+="\n"),b+=f[g]+" ",e=this.style.wordWrapWidth-h):(e-=i,b+=f[g]+" ")}dd&&(this.style.wordWrapWidth=d)),this.updateTexture(),this},c.Text.prototype.updateTexture=function(){var a=this.texture.baseTexture,b=this.texture.crop,c=this.texture.frame,d=this.canvas.width,e=this.canvas.height;if(a.width=d,a.height=e,b.width=d,b.height=e,c.width=d,c.height=e,this.texture.width=d,this.texture.height=e,this._width=d,this._height=e,this.textBounds){var f=this.textBounds.x,g=this.textBounds.y;"right"===this.style.boundsAlignH?f+=this.textBounds.width-this.canvas.width:"center"===this.style.boundsAlignH&&(f+=this.textBounds.halfWidth-this.canvas.width/2),"bottom"===this.style.boundsAlignV?g+=this.textBounds.height-this.canvas.height:"middle"===this.style.boundsAlignV&&(g+=this.textBounds.halfHeight-this.canvas.height/2),this.pivot.x=-f,this.pivot.y=-g}this.renderable=0!==d&&0!==e,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},c.Text.prototype._renderWebGL=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,a)},c.Text.prototype._renderCanvas=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,a)},c.Text.prototype.determineFontProperties=function(a){var b=c.Text.fontPropertiesCache[a];if(!b){b={};var d=c.Text.fontPropertiesCanvas,e=c.Text.fontPropertiesContext;e.font=a;var f=Math.ceil(e.measureText("|MÉq").width),g=Math.ceil(e.measureText("|MÉq").width),h=2*g;if(g=1.4*g|0,d.width=f,d.height=h,e.fillStyle="#f00",e.fillRect(0,0,f,h),e.font=a,e.textBaseline="alphabetic",e.fillStyle="#000",e.fillText("|MÉq",0,g),!e.getImageData(0,0,f,h))return b.ascent=g,b.descent=g+6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b,b;var i,j,k=e.getImageData(0,0,f,h).data,l=k.length,m=4*f,n=0,o=!1;for(i=0;g>i;i++){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n+=m}for(b.ascent=g-i,n=l-m,o=!1,i=h;i>g;i--){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n-=m}b.descent=i-g,b.descent+=6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b}return b},c.Text.prototype.getBounds=function(a){return this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype.getBounds.call(this,a)},Object.defineProperty(c.Text.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"cssFont",{get:function(){return this.componentsToFont(this._fontComponents)},set:function(a){a=a||"bold 20pt Arial",this._fontComponents=this.fontToComponents(a),this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"font",{get:function(){return this._fontComponents.fontFamily},set:function(a){a=a||"Arial",a=a.trim(),/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(a)||/['",]/.exec(a)||(a="'"+a+"'"),this._fontComponents.fontFamily=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontSize",{get:function(){var a=this._fontComponents.fontSize;return a&&/(?:^0$|px$)/.exec(a)?parseInt(a,10):a},set:function(a){a=a||"0","number"==typeof a&&(a+="px"),this._fontComponents.fontSize=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontWeight",{get:function(){return this._fontComponents.fontWeight||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontWeight=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontStyle",{get:function(){return this._fontComponents.fontStyle||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontStyle=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontVariant",{get:function(){return this._fontComponents.fontVariant||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontVariant=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fill",{get:function(){return this.style.fill},set:function(a){a!==this.style.fill&&(this.style.fill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"align",{get:function(){return this.style.align},set:function(a){a!==this.style.align&&(this.style.align=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"resolution",{get:function(){return this._res},set:function(a){a!==this._res&&(this._res=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"tabs",{get:function(){return this.style.tabs},set:function(a){a!==this.style.tabs&&(this.style.tabs=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignH",{get:function(){return this.style.boundsAlignH},set:function(a){a!==this.style.boundsAlignH&&(this.style.boundsAlignH=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignV",{get:function(){return this.style.boundsAlignV},set:function(a){a!==this.style.boundsAlignV&&(this.style.boundsAlignV=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"stroke",{get:function(){return this.style.stroke},set:function(a){a!==this.style.stroke&&(this.style.stroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"strokeThickness",{get:function(){return this.style.strokeThickness},set:function(a){a!==this.style.strokeThickness&&(this.style.strokeThickness=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrap",{get:function(){return this.style.wordWrap},set:function(a){a!==this.style.wordWrap&&(this.style.wordWrap=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrapWidth",{get:function(){return this.style.wordWrapWidth},set:function(a){a!==this.style.wordWrapWidth&&(this.style.wordWrapWidth=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"lineSpacing",{get:function(){return this._lineSpacing},set:function(a){a!==this._lineSpacing&&(this._lineSpacing=parseFloat(a),this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"shadowOffsetX",{get:function(){return this.style.shadowOffsetX},set:function(a){a!==this.style.shadowOffsetX&&(this.style.shadowOffsetX=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowOffsetY",{get:function(){return this.style.shadowOffsetY},set:function(a){a!==this.style.shadowOffsetY&&(this.style.shadowOffsetY=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowColor",{get:function(){return this.style.shadowColor},set:function(a){a!==this.style.shadowColor&&(this.style.shadowColor=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowBlur",{get:function(){return this.style.shadowBlur},set:function(a){a!==this.style.shadowBlur&&(this.style.shadowBlur=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowStroke",{get:function(){return this.style.shadowStroke},set:function(a){a!==this.style.shadowStroke&&(this.style.shadowStroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowFill",{get:function(){return this.style.shadowFill},set:function(a){a!==this.style.shadowFill&&(this.style.shadowFill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"width",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*this.texture.frame.width},set:function(a){this.scale.x=a/this.texture.frame.width,this._width=a}}),Object.defineProperty(c.Text.prototype,"height",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*this.texture.frame.height},set:function(a){this.scale.y=a/this.texture.frame.height,this._height=a}}),c.Text.fontPropertiesCache={},c.Text.fontPropertiesCanvas=PIXI.CanvasPool.create(c.Text.fontPropertiesCanvas),c.Text.fontPropertiesContext=c.Text.fontPropertiesCanvas.getContext("2d"),c.BitmapText=function(a,b,d,e,f,g,h){b=b||0,d=d||0,e=e||"",f=f||"",g=g||32,h=h||"left",PIXI.DisplayObjectContainer.call(this),this.type=c.BITMAPTEXT,this.physicsType=c.SPRITE,this.textWidth=0,this.textHeight=0,this.anchor=new c.Point,this._prevAnchor=new c.Point,this._glyphs=[],this._maxWidth=0,this._text=f,this._data=a.cache.getBitmapFont(e),this._font=e,this._fontSize=g,this._align=h,this._tint=16777215,this.updateText(),this.dirty=!1,c.Component.Core.init.call(this,a,b,d,"",null)},c.BitmapText.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),c.BitmapText.prototype.constructor=c.BitmapText,c.Component.Core.install.call(c.BitmapText.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),c.BitmapText.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.BitmapText.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.BitmapText.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.BitmapText.prototype.preUpdateCore=c.Component.Core.preUpdate,c.BitmapText.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.BitmapText.prototype.postUpdate=function(){c.Component.PhysicsBody.postUpdate.call(this),c.Component.FixedToCamera.postUpdate.call(this),this.body&&this.body.type===c.Physics.ARCADE&&(this.textWidth!==this.body.sourceWidth||this.textHeight!==this.body.sourceHeight)&&this.body.setSize(this.textWidth,this.textHeight)},c.BitmapText.prototype.setText=function(a){this.text=a},c.BitmapText.prototype.scanLine=function(a,b,c){for(var d=0,e=0,f=-1,g=null,h=this._maxWidth>0?this._maxWidth:null,i=[],j=0;j=h&&f>-1)return{width:e,text:c.substr(0,j-(j-f)),end:k,chars:i};e+=m.xAdvance*b,i.push(d+m.xOffset*b),d+=m.xAdvance*b,g=l}}return{width:e,text:c,end:k,chars:i}},c.BitmapText.prototype.updateText=function(){var a=this._data.font;if(a){var b=this.text,c=this._fontSize/a.size,d=[],e=0;this.textWidth=0;do{var f=this.scanLine(a,c,b);f.y=e,d.push(f),f.width>this.textWidth&&(this.textWidth=f.width),e+=a.lineHeight*c,b=b.substr(f.text.length+1)}while(f.end===!1);this.textHeight=e;for(var g=0,h=0,i=this.textWidth*this.anchor.x,j=this.textHeight*this.anchor.y,k=0;k0&&(this._fontSize=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(a){a!==this._maxWidth&&(this._maxWidth=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(a){a?this._data.base.scaleMode=0:this._data.base.scaleMode=1}}),c.RetroFont=function(a,b,d,e,f,g,h,i,j,k){if(!a.cache.checkImageKey(b))return!1;(void 0===g||null===g)&&(g=a.cache.getImage(b).width/d),this.characterWidth=d,this.characterHeight=e,this.characterSpacingX=h||0,this.characterSpacingY=i||0,this.characterPerRow=g,this.offsetX=j||0,this.offsetY=k||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=a.cache.getImage(b),this._text="",this.grabData=[],this.frameData=new c.FrameData;for(var l=this.offsetX,m=this.offsetY,n=0,o=0;o?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",c.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",c.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",c.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",c.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",c.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",c.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",c.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",c.RetroFont.prototype.setFixedWidth=function(a,b){void 0===b&&(b="left"),this.fixedWidth=a,this.align=b},c.RetroFont.prototype.setText=function(a,b,c,d,e,f){this.multiLine=b||!1,this.customSpacingX=c||0,this.customSpacingY=d||0,this.align=e||"left",f?this.autoUpperCase=!1:this.autoUpperCase=!0,a.length>0&&(this.text=a)},c.RetroFont.prototype.buildRetroFontText=function(){var a=0,b=0;if(this.clear(),this.multiLine){var d=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var e=0;ea&&(a=0),this.pasteLine(d[e],a,b,this.customSpacingX),b+=this.characterHeight+this.customSpacingY}else this.fixedWidth>0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),a=0,this.align===c.RetroFont.ALIGN_RIGHT?a=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===c.RetroFont.ALIGN_CENTER&&(a=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,a+=this.customSpacingX/2),0>a&&(a=0),this.pasteLine(this._text,a,0,this.customSpacingX);this.requiresReTint=!0},c.RetroFont.prototype.pasteLine=function(a,b,c,d){for(var e=0;e=0&&(this.stamp.frame=this.grabData[a.charCodeAt(e)],this.renderXY(this.stamp,b,c,!1),b+=this.characterWidth+d,b>this.width))break},c.RetroFont.prototype.getLongestLine=function(){var a=0;if(this._text.length>0)for(var b=this._text.split("\n"),c=0;ca&&(a=b[c].length);return a},c.RetroFont.prototype.removeUnsupportedCharacters=function(a){for(var b="",c=0;c=0||!a&&"\n"===d)&&(b=b.concat(d))}return b},c.RetroFont.prototype.updateOffset=function(a,b){if(this.offsetX!==a||this.offsetY!==b){for(var c=a-this.offsetX,d=b-this.offsetY,e=this.game.cache.getFrameData(this.stamp.key).getFrames(),f=e.length;f--;)e[f].x+=c,e[f].y+=d;this.buildRetroFontText()}},Object.defineProperty(c.RetroFont.prototype,"text",{get:function(){return this._text},set:function(a){var b;b=this.autoUpperCase?a.toUpperCase():a,b!==this._text&&(this._text=b,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(c.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(a){this.stamp.smoothed=a,this.buildRetroFontText()}}),c.Rope=function(a,b,d,e,f,g){this.points=[],this.points=g,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.ROPE,PIXI.Rope.call(this,PIXI.TextureCache.__default,this.points),c.Component.Core.init.call(this,a,b,d,e,f)},c.Rope.prototype=Object.create(PIXI.Rope.prototype),c.Rope.prototype.constructor=c.Rope,c.Component.Core.install.call(c.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Rope.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Rope.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Rope.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Rope.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Rope.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},c.Rope.prototype.reset=function(a,b){return c.Component.Reset.prototype.reset.call(this,a,b),this},Object.defineProperty(c.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(a){a&&"function"==typeof a?(this._hasUpdateAnimation=!0,this._updateAnimation=a):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(c.Rope.prototype,"segments",{get:function(){for(var a,b,d,e,f,g,h,i,j=[],k=0;k=1)&&(l.touch=!0),(window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(l.mspointer=!0),l.cocoonJS||("onwheel"in window||l.ie&&"WheelEvent"in window?l.wheelEvent="wheel":"onmousewheel"in window?l.wheelEvent="mousewheel":l.firefox&&"MouseScrollEvent"in window&&(l.wheelEvent="DOMMouseScroll"))}function d(){for(var a=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],b=document.createElement("div"),c=0;c0&&"none"!==a}var l=this;a(),g(),f(),e(),k(),h(),b(),d(),c()},c.Device.canPlayAudio=function(a){return"mp3"===a&&this.mp3?!0:"ogg"===a&&(this.ogg||this.opus)?!0:"m4a"===a&&this.m4a?!0:"opus"===a&&this.opus?!0:"wav"===a&&this.wav?!0:"webm"===a&&this.webm?!0:!1},c.Device.canPlayVideo=function(a){return"webm"===a&&(this.webmVideo||this.vp9Video)?!0:"mp4"===a&&(this.mp4Video||this.h264Video)?!0:"ogg"!==a&&"ogv"!==a||!this.oggVideo?"mpeg"===a&&this.hlsVideo?!0:!1:!0},c.Device.isConsoleOpen=function(){return window.console&&window.console.firebug?!0:window.console&&(console.profile(),console.profileEnd(),console.clear&&console.clear(),console.profiles)?console.profiles.length>0:!1},c.Device.isAndroidStockBrowser=function(){var a=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return a&&a[1]<537},c.Canvas={create:function(a,b,c,d,e){if(b=b||256,c=c||256,void 0===e)var f=PIXI.CanvasPool.create(a,b,c);else var f=document.createElement("canvas");return"string"==typeof d&&""!==d&&(f.id=d),f.width=b,f.height=c,f.style.display="block",f},setBackgroundColor:function(a,b){return b=b||"rgb(0,0,0)",a.style.backgroundColor=b,a},setTouchAction:function(a,b){return b=b||"none",a.style.msTouchAction=b,a.style["ms-touch-action"]=b,a.style["touch-action"]=b,a},setUserSelect:function(a,b){return b=b||"none",a.style["-webkit-touch-callout"]=b,a.style["-webkit-user-select"]=b,a.style["-khtml-user-select"]=b,a.style["-moz-user-select"]=b,a.style["-ms-user-select"]=b,a.style["user-select"]=b,a.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",a},addToDOM:function(a,b,c){var d;return void 0===c&&(c=!0),b&&("string"==typeof b?d=document.getElementById(b):"object"==typeof b&&1===b.nodeType&&(d=b)),d||(d=document.body),c&&d.style&&(d.style.overflow="hidden"),d.appendChild(a),a},removeFromDOM:function(a){a.parentNode&&a.parentNode.removeChild(a)},setTransform:function(a,b,c,d,e,f,g){return a.setTransform(d,f,g,e,b,c),a},setSmoothingEnabled:function(a,b){var d=c.Canvas.getSmoothingPrefix(a);return d&&(a[d]=b),a},getSmoothingPrefix:function(a){var b=["i","webkitI","msI","mozI","oI"];for(var c in b){var d=b[c]+"mageSmoothingEnabled";if(d in a)return d}return null},getSmoothingEnabled:function(a){var b=c.Canvas.getSmoothingPrefix(a);return b?a[b]:void 0},setImageRenderingCrisp:function(a){for(var b=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],c=0;ca},fuzzyGreaterThan:function(a,b,c){return void 0===c&&(c=1e-4),a>b-c},fuzzyCeil:function(a,b){return void 0===b&&(b=1e-4),Math.ceil(a-b)},fuzzyFloor:function(a,b){return void 0===b&&(b=1e-4),Math.floor(a+b)},average:function(){for(var a=0,b=arguments.length,c=0;b>c;c++)a+=+arguments[c];return a/b},shear:function(a){return a%1},snapTo:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.round(a/b),c+a)},snapToFloor:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.floor(a/b),c+a)},snapToCeil:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.ceil(a/b),c+a)},roundTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.round(a*d)/d},floorTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.floor(a*d)/d},ceilTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.ceil(a*d)/d},angleBetween:function(a,b,c,d){return Math.atan2(d-b,c-a)},angleBetweenY:function(a,b,c,d){return Math.atan2(c-a,d-b)},angleBetweenPoints:function(a,b){return Math.atan2(b.y-a.y,b.x-a.x)},angleBetweenPointsY:function(a,b){return Math.atan2(b.x-a.x,b.y-a.y)},reverseAngle:function(a){return this.normalizeAngle(a+Math.PI,!0)},normalizeAngle:function(a){return a%=2*Math.PI,a>=0?a:a+2*Math.PI},maxAdd:function(a,b,c){return Math.min(a+b,c)},minSub:function(a,b,c){return Math.max(a-b,c)},wrap:function(a,b,c){var d=c-b;if(0>=d)return 0;var e=(a-b)%d;return 0>e&&(e+=d),e+b},wrapValue:function(a,b,c){var d;return a=Math.abs(a),b=Math.abs(b),c=Math.abs(c),d=(a+b)%c},isOdd:function(a){return!!(1&a)},isEven:function(a){return!(1&a)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])var a=arguments[0];else var a=arguments;for(var b=1,c=0,d=a.length;d>b;b++)a[b]b;b++)a[b]>a[c]&&(c=b);return a[c]},minProperty:function(a){if(2===arguments.length&&"object"==typeof arguments[1])var b=arguments[1];else var b=arguments.slice(1);for(var c=1,d=0,e=b.length;e>c;c++)b[c][a]c;c++)b[c][a]>b[d][a]&&(d=c);return b[d][a]},wrapAngle:function(a,b){return b?this.wrap(a,-Math.PI,Math.PI):this.wrap(a,-180,180)},linearInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return 0>b?this.linear(a[0],a[1],d):b>1?this.linear(a[c],a[c-1],c-d):this.linear(a[e],a[e+1>c?c:e+1],d-e)},bezierInterpolation:function(a,b){for(var c=0,d=a.length-1,e=0;d>=e;e++)c+=Math.pow(1-b,d-e)*Math.pow(b,e)*a[e]*this.bernstein(d,e);return c},catmullRomInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return a[0]===a[c]?(0>b&&(e=Math.floor(d=c*(1+b))),this.catmullRom(a[(e-1+c)%c],a[e],a[(e+1)%c],a[(e+2)%c],d-e)):0>b?a[0]-(this.catmullRom(a[0],a[0],a[1],a[1],-d)-a[0]):b>1?a[c]-(this.catmullRom(a[c],a[c],a[c-1],a[c-1],d-c)-a[c]):this.catmullRom(a[e?e-1:0],a[e],a[e+1>c?c:e+1],a[e+2>c?c:e+2],d-e)},linear:function(a,b,c){return(b-a)*c+a},bernstein:function(a,b){return this.factorial(a)/this.factorial(b)/this.factorial(a-b)},factorial:function(a){if(0===a)return 1;for(var b=a;--a;)b*=a;return b},catmullRom:function(a,b,c,d,e){var f=.5*(c-a),g=.5*(d-b),h=e*e,i=e*h;return(2*b-2*c+f+g)*i+(-3*b+3*c-2*f-g)*h+f*e+b},difference:function(a,b){return Math.abs(a-b)},roundAwayFromZero:function(a){return a>0?Math.ceil(a):Math.floor(a)},sinCosGenerator:function(a,b,c,d){void 0===b&&(b=1),void 0===c&&(c=1),void 0===d&&(d=1);for(var e=b,f=c,g=d*Math.PI/a,h=[],i=[],j=0;a>j;j++)f-=e*g,e+=f*g,h[j]=f,i[j]=e;return{sin:i,cos:h,length:a}},distance:function(a,b,c,d){var e=a-c,f=b-d;return Math.sqrt(e*e+f*f)},distanceSq:function(a,b,c,d){var e=a-c,f=b-d;return e*e+f*f},distancePow:function(a,b,c,d,e){return void 0===e&&(e=2),Math.sqrt(Math.pow(c-a,e)+Math.pow(d-b,e))},clamp:function(a,b,c){return b>a?b:a>c?c:a},clampBottom:function(a,b){return b>a?b:a},within:function(a,b,c){return Math.abs(a-b)<=c},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},smoothstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*(3-2*a)},smootherstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*a*(a*(6*a-15)+10)},sign:function(a){return 0>a?-1:a>0?1:0},percent:function(a,b,c){return void 0===c&&(c=0),a>b||c>b?1:c>a||c>a?0:(a-c)/b}};var k=Math.PI/180,l=180/Math.PI;return c.Math.degToRad=function(a){return a*k},c.Math.radToDeg=function(a){return a*l},c.RandomDataGenerator=function(a){void 0===a&&(a=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof a?this.state(a):this.sow(a)},c.RandomDataGenerator.prototype={rnd:function(){var a=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|a,this.s0=this.s1,this.s1=this.s2,this.s2=a-this.c,this.s2},sow:function(a){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,a)for(var b=0;b>>0,b-=d,b*=d,d=b>>>0,b-=d,d+=4294967296*b;return 2.3283064365386963e-10*(d>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(a,b){return Math.floor(this.realInRange(0,b-a+1)+a)},between:function(a,b){return this.integerInRange(a,b)},realInRange:function(a,b){return this.frac()*(b-a)+a},normal:function(){return 1-2*this.frac()},uuid:function(){var a="",b="";for(b=a="";a++<36;b+=~a%5|3*a&4?(15^a?8^this.frac()*(20^a?16:4):4).toString(16):"-");return b},pick:function(a){return a[this.integerInRange(0,a.length-1)]},weightedPick:function(a){return a[~~(Math.pow(this.frac(),2)*(a.length-1)+.5)]},timestamp:function(a,b){return this.realInRange(a||9466848e5,b||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(a){return"string"==typeof a&&a.match(/^!rnd/)&&(a=a.split(","),this.c=parseFloat(a[1]),this.s0=parseFloat(a[2]),this.s1=parseFloat(a[3]),this.s2=parseFloat(a[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},c.RandomDataGenerator.prototype.constructor=c.RandomDataGenerator,c.QuadTree=function(a,b,c,d,e,f,g){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(a,b,c,d,e,f,g)},c.QuadTree.prototype={reset:function(a,b,c,d,e,f,g){this.maxObjects=e||10,this.maxLevels=f||4,this.level=g||0,this.bounds={x:Math.round(a),y:Math.round(b),width:c,height:d,subWidth:Math.floor(c/2),subHeight:Math.floor(d/2),right:Math.round(a)+Math.floor(c/2),bottom:Math.round(b)+Math.floor(d/2)},this.objects.length=0,this.nodes.length=0},populate:function(a){a.forEach(this.populateHandler,this,!0)},populateHandler:function(a){a.body&&a.exists&&this.insert(a.body)},split:function(){this.nodes[0]=new c.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new c.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new c.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new c.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(a){var b,c=0;if(null!=this.nodes[0]&&(b=this.getIndex(a),-1!==b))return void this.nodes[b].insert(a);if(this.objects.push(a),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(b=2):a.x>this.bounds.right&&(a.ythis.bounds.bottom&&(b=3)),b},retrieve:function(a){if(a instanceof c.Rectangle)var b=this.objects,d=this.getIndex(a);else{if(!a.body)return this._empty;var b=this.objects,d=this.getIndex(a.body)}return this.nodes[0]&&(-1!==d?b=b.concat(this.nodes[d].retrieve(a)):(b=b.concat(this.nodes[0].retrieve(a)),b=b.concat(this.nodes[1].retrieve(a)),b=b.concat(this.nodes[2].retrieve(a)),b=b.concat(this.nodes[3].retrieve(a)))),b},clear:function(){this.objects.length=0;for(var a=this.nodes.length;a--;)this.nodes[a].clear(), -this.nodes.splice(a,1);this.nodes.length=0}},c.QuadTree.prototype.constructor=c.QuadTree,c.Net=function(a){this.game=a},c.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(a){return-1!==window.location.hostname.indexOf(a)},updateQueryString:function(a,b,c,d){void 0===c&&(c=!1),(void 0===d||""===d)&&(d=window.location.href);var e="",f=new RegExp("([?|&])"+a+"=.*?(&|#|$)(.*)","gi");if(f.test(d))e="undefined"!=typeof b&&null!==b?d.replace(f,"$1"+a+"="+b+"$2$3"):d.replace(f,"$1$3").replace(/(&|\?)$/,"");else if("undefined"!=typeof b&&null!==b){var g=-1!==d.indexOf("?")?"&":"?",h=d.split("#");d=h[0]+g+a+"="+b,h[1]&&(d+="#"+h[1]),e=d}else e=d;return c?void(window.location.href=e):e},getQueryString:function(a){void 0===a&&(a="");var b={},c=location.search.substring(1).split("&");for(var d in c){var e=c[d].split("=");if(e.length>1){if(a&&a==this.decodeURI(e[0]))return this.decodeURI(e[1]);b[this.decodeURI(e[0])]=this.decodeURI(e[1])}}return b},decodeURI:function(a){return decodeURIComponent(a.replace(/\+/g," "))}},c.Net.prototype.constructor=c.Net,c.TweenManager=function(a){this.game=a,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:c.Easing.Power0,Power1:c.Easing.Power1,Power2:c.Easing.Power2,Power3:c.Easing.Power3,Power4:c.Easing.Power4,Linear:c.Easing.Linear.None,Quad:c.Easing.Quadratic.Out,Cubic:c.Easing.Cubic.Out,Quart:c.Easing.Quartic.Out,Quint:c.Easing.Quintic.Out,Sine:c.Easing.Sinusoidal.Out,Expo:c.Easing.Exponential.Out,Circ:c.Easing.Circular.Out,Elastic:c.Easing.Elastic.Out,Back:c.Easing.Back.Out,Bounce:c.Easing.Bounce.Out,"Quad.easeIn":c.Easing.Quadratic.In,"Cubic.easeIn":c.Easing.Cubic.In,"Quart.easeIn":c.Easing.Quartic.In,"Quint.easeIn":c.Easing.Quintic.In,"Sine.easeIn":c.Easing.Sinusoidal.In,"Expo.easeIn":c.Easing.Exponential.In,"Circ.easeIn":c.Easing.Circular.In,"Elastic.easeIn":c.Easing.Elastic.In,"Back.easeIn":c.Easing.Back.In,"Bounce.easeIn":c.Easing.Bounce.In,"Quad.easeOut":c.Easing.Quadratic.Out,"Cubic.easeOut":c.Easing.Cubic.Out,"Quart.easeOut":c.Easing.Quartic.Out,"Quint.easeOut":c.Easing.Quintic.Out,"Sine.easeOut":c.Easing.Sinusoidal.Out,"Expo.easeOut":c.Easing.Exponential.Out,"Circ.easeOut":c.Easing.Circular.Out,"Elastic.easeOut":c.Easing.Elastic.Out,"Back.easeOut":c.Easing.Back.Out,"Bounce.easeOut":c.Easing.Bounce.Out,"Quad.easeInOut":c.Easing.Quadratic.InOut,"Cubic.easeInOut":c.Easing.Cubic.InOut,"Quart.easeInOut":c.Easing.Quartic.InOut,"Quint.easeInOut":c.Easing.Quintic.InOut,"Sine.easeInOut":c.Easing.Sinusoidal.InOut,"Expo.easeInOut":c.Easing.Exponential.InOut,"Circ.easeInOut":c.Easing.Circular.InOut,"Elastic.easeInOut":c.Easing.Elastic.InOut,"Back.easeInOut":c.Easing.Back.InOut,"Bounce.easeInOut":c.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},c.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var a=0;ad;d++)this.removeFrom(a[d]);else if(a.type===c.GROUP&&b)for(var d=0,e=a.children.length;e>d;d++)this.removeFrom(a.children[d]);else{for(d=0,e=this._tweens.length;e>d;d++)a===this._tweens[d].target&&this.remove(this._tweens[d]);for(d=0,e=this._add.length;e>d;d++)a===this._add[d].target&&this.remove(this._add[d])}},add:function(a){a._manager=this,this._add.push(a)},create:function(a){return new c.Tween(a,this.game,this)},remove:function(a){var b=this._tweens.indexOf(a);-1!==b?this._tweens[b].pendingDelete=!0:(b=this._add.indexOf(a),-1!==b&&(this._add[b].pendingDelete=!0))},update:function(){var a=this._add.length,b=this._tweens.length;if(0===b&&0===a)return!1;for(var c=0;b>c;)this._tweens[c].update(this.game.time.time)?c++:(this._tweens.splice(c,1),b--);return a>0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(a){return this._tweens.some(function(b){return b.target===a})},_pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._pause()},_resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._resume()},pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].pause()},resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].resume(!0)}},c.TweenManager.prototype.constructor=c.TweenManager,c.Tween=function(a,b,d){this.game=b,this.target=a,this.manager=d,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new c.Signal,this.onLoop=new c.Signal,this.onRepeat=new c.Signal,this.onChildComplete=new c.Signal,this.onComplete=new c.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=d.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},c.Tween.prototype={to:function(a,b,d,e,f,g,h){return(void 0===b||0>=b)&&(b=1e3),(void 0===d||null===d)&&(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).to(a,b,d,f,g,h)),e&&this.start(),this)},from:function(a,b,d,e,f,g,h){return void 0===b&&(b=1e3),(void 0===d||null===d)&&(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).from(a,b,d,f,g,h)),e&&this.start(),this)},start:function(a){if(void 0===a&&(a=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(var b=0;ba||a>this.timeline.length-1)&&(a=0),this.current=a,this.timeline[this.current].start(),this},stop:function(a){return void 0===a&&(a=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,a&&(this.onComplete.dispatch(this.target,this),this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(a,b,c){if(0===this.timeline.length)return this;if(void 0===c&&(c=0),-1===c)for(var d=0;d0?arguments[a-1].chainedTween=arguments[a]:this.chainedTween=arguments[a];return this},loop:function(a){return void 0===a&&(a=!0),a?this.repeatAll(-1):this.repeatCounter=0,this},onUpdateCallback:function(a,b){return this._onUpdateCallback=a,this._onUpdateCallbackContext=b,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var a=0;a0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(a,b){if(null===this.game||null===this.target)return null;void 0===a&&(a=60),void 0===b&&(b=[]);for(var c=0;c0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a],this.parent.target[a]=this.vStart[a];return this.value=0,this.yoyoCounter=0,this},loadValues:function(){for(var a in this.parent.properties){if(this.vStart[a]=this.parent.properties[a],Array.isArray(this.vEnd[a])){if(0===this.vEnd[a].length)continue;0===this.percent&&(this.vEnd[a]=[this.vStart[a]].concat(this.vEnd[a]))}"undefined"!=typeof this.vEnd[a]?("string"==typeof this.vEnd[a]&&(this.vEnd[a]=this.vStart[a]+parseFloat(this.vEnd[a],10)),this.parent.properties[a]=this.vEnd[a]):this.vEnd[a]=this.vStart[a],this.vStartCache[a]=this.vStart[a],this.vEndCache[a]=this.vEnd[a]}return this},update:function(a){if(this.isRunning){if(a=this.startTime))return c.TweenData.PENDING;this.isRunning=!0}var b=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=b*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=b*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var d in this.vEnd){var e=this.vStart[d],f=this.vEnd[d];Array.isArray(f)?this.parent.target[d]=this.interpolationFunction.call(this.interpolationContext,f,this.value):this.parent.target[d]=e+(f-e)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():c.TweenData.RUNNING},generateData:function(a){this.parent.reverse?this.dt=this.duration:this.dt=0;var b=[],c=!1,d=1/a*1e3;do{this.parent.reverse?(this.dt-=d,this.dt=Math.max(this.dt,0)):(this.dt+=d,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var e={};for(var f in this.vEnd){var g=this.vStart[f],h=this.vEnd[f];Array.isArray(h)?e[f]=this.interpolationFunction(h,this.value):e[f]=g+(h-g)*this.value}b.push(e),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(c=!0)}while(!c);if(this.yoyo){var i=b.slice();i.reverse(),b=b.concat(i)}return b},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter)return c.TweenData.COMPLETE;this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return c.TweenData.COMPLETE;if(this.inReverse)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a];else{for(var a in this.vStartCache)this.vStart[a]=this.vStartCache[a],this.vEnd[a]=this.vEndCache[a];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,c.TweenData.LOOPED}},c.TweenData.prototype.constructor=c.TweenData,c.Easing={Linear:{None:function(a){return a}},Quadratic:{In:function(a){return a*a},Out:function(a){return a*(2-a)},InOut:function(a){return(a*=2)<1?.5*a*a:-.5*(--a*(a-2)-1)}},Cubic:{In:function(a){return a*a*a},Out:function(a){return--a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a:.5*((a-=2)*a*a+2)}},Quartic:{In:function(a){return a*a*a*a},Out:function(a){return 1- --a*a*a*a},InOut:function(a){return(a*=2)<1?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2)}},Quintic:{In:function(a){return a*a*a*a*a},Out:function(a){return--a*a*a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)}},Sinusoidal:{In:function(a){return 0===a?0:1===a?1:1-Math.cos(a*Math.PI/2)},Out:function(a){return 0===a?0:1===a?1:Math.sin(a*Math.PI/2)},InOut:function(a){return 0===a?0:1===a?1:.5*(1-Math.cos(Math.PI*a))}},Exponential:{In:function(a){return 0===a?0:Math.pow(1024,a-1)},Out:function(a){return 1===a?1:1-Math.pow(2,-10*a)},InOut:function(a){return 0===a?0:1===a?1:(a*=2)<1?.5*Math.pow(1024,a-1):.5*(-Math.pow(2,-10*(a-1))+2)}},Circular:{In:function(a){return 1-Math.sqrt(1-a*a)},Out:function(a){return Math.sqrt(1- --a*a)},InOut:function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)}},Elastic:{In:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),-(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)))},Out:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),c*Math.pow(2,-10*a)*Math.sin((a-b)*(2*Math.PI)/d)+1)},InOut:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),(a*=2)<1?-.5*(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)):c*Math.pow(2,-10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)*.5+1)}},Back:{In:function(a){var b=1.70158;return a*a*((b+1)*a-b)},Out:function(a){var b=1.70158;return--a*a*((b+1)*a+b)+1},InOut:function(a){var b=2.5949095;return(a*=2)<1?.5*(a*a*((b+1)*a-b)):.5*((a-=2)*a*((b+1)*a+b)+2)}},Bounce:{In:function(a){return 1-c.Easing.Bounce.Out(1-a)},Out:function(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},InOut:function(a){return.5>a?.5*c.Easing.Bounce.In(2*a):.5*c.Easing.Bounce.Out(2*a-1)+.5}}},c.Easing.Default=c.Easing.Linear.None,c.Easing.Power0=c.Easing.Linear.None,c.Easing.Power1=c.Easing.Quadratic.Out,c.Easing.Power2=c.Easing.Cubic.Out,c.Easing.Power3=c.Easing.Quartic.Out,c.Easing.Power4=c.Easing.Quintic.Out,c.Time=function(a){this.game=a,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new c.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},c.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(a){return this._timers.push(a),a},create:function(a){void 0===a&&(a=!0);var b=new c.Timer(this.game,a);return this._timers.push(b),b},removeAll:function(){for(var a=0;aa;)this._timers[a].update(this.time)?a++:(this._timers.splice(a,1),b--)},updateAdvancedTiming:function(){this._frameCount++,this._elapsedAccumulator+=this.elapsed,this._frameCount>=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var a=this._timers.length;a--;)this._timers[a]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var a=this._timers.length;a--;)this._timers[a]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(a){return this.time-a},elapsedSecondsSince:function(a){return.001*(this.time-a)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(c.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(a){this._desiredFps=a,this.physicsElapsed=1/a,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/a}}),c.Time.prototype.constructor=c.Time,c.Timer=function(a,b){void 0===b&&(b=!0),this.game=a,this.running=!1,this.autoDestroy=b,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new c.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},c.Timer.MINUTE=6e4,c.Timer.SECOND=1e3,c.Timer.HALF=500,c.Timer.QUARTER=250,c.Timer.prototype={create:function(a,b,d,e,f,g){a=Math.round(a);var h=a;h+=0===this._now?this.game.time.time:this._now;var i=new c.TimerEvent(this,a,h,d,b,e,f,g);return this.events.push(i),this.order(),this.expired=!1,i},add:function(a,b,c){return this.create(a,!1,0,b,c,Array.prototype.slice.call(arguments,3))},repeat:function(a,b,c,d){return this.create(a,!1,b,c,d,Array.prototype.slice.call(arguments,4))},loop:function(a,b,c){return this.create(a,!0,0,b,c,Array.prototype.slice.call(arguments,3))},start:function(a){if(!this.running){this._started=this.game.time.time+(a||0),this.running=!0;for(var b=0;b0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(a,b){return a.tickb.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(a){if(this.paused)return!0;if(this.elapsed=a-this._now,this._now=a,this.elapsed>this.timeCap&&this.adjustEvents(a-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=this.events[this._i].tick&&!this.events[this._i].pendingDelete;)this._newTick=this._now+this.events[this._i].delay-(this._now-this.events[this._i].tick),this._newTick<0&&(this._newTick=this._now+this.events[this._i].delay),this.events[this._i].loop===!0?(this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):this.events[this._i].repeatCount>0?(this.events[this._i].repeatCount--,this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):(this._marked++,this.events[this._i].pendingDelete=!0,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)),this._i++;this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return this.expired&&this.autoDestroy?!1:!0},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(a){for(var b=0;bc&&(c=0),this.events[b].tick=this._now+c}var d=this.nextTick-a;0>d?this.nextTick=this._now:this.nextTick=this._now+d},resume:function(){if(this.paused){var a=this.game.time.time;this._pauseTotal+=a-this._now,this._now=a,this.adjustEvents(this._pauseStarted),this.paused=!1,this._codePaused=!1}},_resume:function(){this._codePaused||this.resume()},removeAll:function(){this.onComplete.removeAll(),this.events.length=0,this._len=0,this._i=0},destroy:function(){this.onComplete.removeAll(),this.running=!1,this.events=[],this._len=0,this._i=0}},Object.defineProperty(c.Timer.prototype,"next",{get:function(){return this.nextTick}}),Object.defineProperty(c.Timer.prototype,"duration",{get:function(){return this.running&&this.nextTick>this._now?this.nextTick-this._now:0}}),Object.defineProperty(c.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(c.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(c.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),c.Timer.prototype.constructor=c.Timer,c.TimerEvent=function(a,b,c,d,e,f,g,h){this.timer=a,this.delay=b,this.tick=c,this.repeatCount=d-1,this.loop=e,this.callback=f,this.callbackContext=g,this.args=h,this.pendingDelete=!1},c.TimerEvent.prototype.constructor=c.TimerEvent,c.AnimationManager=function(a){this.sprite=a,this.game=a.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},c.AnimationManager.prototype={loadFrameData:function(a,b){if(void 0===a)return!1;if(this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(a);return this._frameData=a,void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},copyFrameData:function(a,b){if(this._frameData=a.clone(),this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(this._frameData);return void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},add:function(a,b,d,e,f){return b=b||[],d=d||60,void 0===e&&(e=!1),void 0===f&&(f=b&&"number"==typeof b[0]?!0:!1),this._outputFrames=[],this._frameData.getFrameIndexes(b,f,this._outputFrames),this._anims[a]=new c.Animation(this.game,this.sprite,a,this._frameData,this._outputFrames,d,e),this.currentAnim=this._anims[a],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[a]},validateFrames:function(a,b){void 0===b&&(b=!0);for(var c=0;cthis._frameData.total)return!1}else if(this._frameData.checkFrameName(a[c])===!1)return!1;return!0},play:function(a,b,c,d){return this._anims[a]?this.currentAnim===this._anims[a]?this.currentAnim.isPlaying===!1?(this.currentAnim.paused=!1,this.currentAnim.play(b,c,d)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[a],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(b,c,d)):void 0},stop:function(a,b){void 0===b&&(b=!1),"string"==typeof a?this._anims[a]&&(this.currentAnim=this._anims[a],this.currentAnim.stop(b)):this.currentAnim&&this.currentAnim.stop(b)},update:function(){return this.updateIfVisible&&!this.sprite.visible?!1:this.currentAnim&&this.currentAnim.update()?(this.currentFrame=this.currentAnim.currentFrame,!0):!1},next:function(a){this.currentAnim&&(this.currentAnim.next(a),this.currentFrame=this.currentAnim.currentFrame)},previous:function(a){this.currentAnim&&(this.currentAnim.previous(a),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(a){return"string"==typeof a&&this._anims[a]?this._anims[a]:null},refreshFrame:function(){this.sprite.setTexture(PIXI.TextureCache[this.currentFrame.uuid])},destroy:function(){var a=null;for(var a in this._anims)this._anims.hasOwnProperty(a)&&this._anims[a].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},c.AnimationManager.prototype.constructor=c.AnimationManager,Object.defineProperty(c.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(c.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(c.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(a){this.currentAnim.paused=a}}),Object.defineProperty(c.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(c.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(a){"number"==typeof a&&this._frameData&&null!==this._frameData.getFrame(a)&&(this.currentFrame=this._frameData.getFrame(a),this.currentFrame&&this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(c.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(a){"string"==typeof a&&this._frameData&&null!==this._frameData.getFrameByName(a)?(this.currentFrame=this._frameData.getFrameByName(a),this.currentFrame&&(this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame))):console.warn("Cannot set frameName: "+a)}}),c.Animation=function(a,b,d,e,f,g,h){void 0===h&&(h=!1),this.game=a,this._parent=b,this._frameData=e,this.name=d,this._frames=[],this._frames=this._frames.concat(f),this.delay=1e3/g,this.loop=h,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new c.Signal,this.onUpdate=null,this.onComplete=new c.Signal,this.onLoop=new c.Signal,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},c.Animation.prototype={play:function(a,b,c){return"number"==typeof a&&(this.delay=1e3/a),"boolean"==typeof b&&(this.loop=b),"undefined"!=typeof c&&(this.killOnComplete=c),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},setFrame:function(a,b){var c;if(void 0===b&&(b=!1),"string"==typeof a)for(var d=0;d=this._timeNextFrame?(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this._frameIndex+=this._frameSkip,this._frameIndex>=this._frames.length?this.loop?(this._frameIndex%=this._frames.length,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),this.onUpdate?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0):(this.complete(),!1):this.updateCurrentFrame(!0)):!1},updateCurrentFrame:function(a,b){if(void 0===b&&(b=!1),!this._frameData)return!1; -var c=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(b||!b&&c!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),this.onUpdate&&a?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0},next:function(a){void 0===a&&(a=1);var b=this._frameIndex+a;b>=this._frames.length&&(this.loop?b%=this._frames.length:b=this._frames.length-1),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},previous:function(a){void 0===a&&(a=1);var b=this._frameIndex-a;0>b&&(this.loop?b=this._frames.length+b:b++),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},updateFrameData:function(a){this._frameData=a,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},c.Animation.prototype.constructor=c.Animation,Object.defineProperty(c.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(a){this.isPaused=a,a?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(c.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(c.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(a){this.currentFrame=this._frameData.getFrame(this._frames[a]),null!==this.currentFrame&&(this._frameIndex=a,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(c.Animation.prototype,"speed",{get:function(){return Math.round(1e3/this.delay)},set:function(a){a>=1&&(this.delay=1e3/a)}}),Object.defineProperty(c.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(a){a&&null===this.onUpdate?this.onUpdate=new c.Signal:a||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),c.Animation.generateFrameNames=function(a,b,d,e,f){void 0===e&&(e="");var g=[],h="";if(d>b)for(var i=b;d>=i;i++)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);else for(var i=b;i>=d;i--)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);return g},c.Frame=function(a,b,d,e,f,g){this.index=a,this.x=b,this.y=d,this.width=e,this.height=f,this.name=g,this.centerX=Math.floor(e/2),this.centerY=Math.floor(f/2),this.distance=c.Math.distance(0,0,e,f),this.rotated=!1,this.rotationDirection="cw",this.trimmed=!1,this.sourceSizeW=e,this.sourceSizeH=f,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},c.Frame.prototype={resize:function(a,b){this.width=a,this.height=b,this.centerX=Math.floor(a/2),this.centerY=Math.floor(b/2),this.distance=c.Math.distance(0,0,a,b),this.sourceSizeW=a,this.sourceSizeH=b,this.right=this.x+a,this.bottom=this.y+b},setTrim:function(a,b,c,d,e,f,g){this.trimmed=a,a&&(this.sourceSizeW=b,this.sourceSizeH=c,this.centerX=Math.floor(b/2),this.centerY=Math.floor(c/2),this.spriteSourceSizeX=d,this.spriteSourceSizeY=e,this.spriteSourceSizeW=f,this.spriteSourceSizeH=g)},clone:function(){var a=new c.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var b in this)this.hasOwnProperty(b)&&(a[b]=this[b]);return a},getRect:function(a){return void 0===a?a=new c.Rectangle(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a}},c.Frame.prototype.constructor=c.Frame,c.FrameData=function(){this._frames=[],this._frameNames=[]},c.FrameData.prototype={addFrame:function(a){return a.index=this._frames.length,this._frames.push(a),""!==a.name&&(this._frameNames[a.name]=a.index),a},getFrame:function(a){return a>=this._frames.length&&(a=0),this._frames[a]},getFrameByName:function(a){return"number"==typeof this._frameNames[a]?this._frames[this._frameNames[a]]:null},checkFrameName:function(a){return null==this._frameNames[a]?!1:!0},clone:function(){for(var a=new c.FrameData,b=0;b=d;d++)c.push(this._frames[d]);return c},getFrames:function(a,b,c){if(void 0===b&&(b=!0),void 0===c&&(c=[]),void 0===a||0===a.length)for(var d=0;d=d&&(d=Math.floor(-j/Math.min(-1,d))),0>=e&&(e=Math.floor(-k/Math.min(-1,e)));var l=Math.floor((j-g)/(d+h)),m=Math.floor((k-g)/(e+h)),n=l*m;if(-1!==f&&(n=f),0===j||0===k||d>j||e>k||0===n)return console.warn("Phaser.AnimationParser.spriteSheet: '"+b+"'s width/height zero or width/height < given frameWidth/frameHeight"),null;for(var o=new c.FrameData,p=g,q=g,r=0;n>r;r++)o.addFrame(new c.Frame(r,p,q,d,e,"")),p+=d+h,p+d>j&&(p=g,q+=e+h);return o},JSONData:function(a,b){if(!b.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(b);for(var d,e=new c.FrameData,f=b.frames,g=0;g tag");for(var d,e,f,g,h,i,j,k,l,m,n,o=new c.FrameData,p=b.getElementsByTagName("SubTexture"),q=0;q-1},getAssetIndex:function(a,b){for(var c=-1,d=0;d-1?{index:c,file:this._fileList[c]}:!1},reset:function(a,b){void 0===b&&(b=!1),this.resetLocked||(a&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,b&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(a,b,c,d,e,f){if(void 0===e&&(e=!1),void 0===b||""===b)return console.warn("Phaser.Loader: Invalid or no key given of type "+a),this;if(void 0===c||null===c){if(!f)return console.warn("Phaser.Loader: No URL given for file type: "+a+" key: "+b),this;c=b+f}var g={type:a,key:b,path:this.path,url:c,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(d)for(var h in d)g[h]=d[h];var i=this.getAssetIndex(a,b);if(e&&i>-1){var j=this._fileList[i];j.loading||j.loaded?(this._fileList.push(g),this._totalFileCount++):this._fileList[i]=g}else-1===i&&(this._fileList.push(g),this._totalFileCount++);return this},replaceInFileList:function(a,b,c,d){return this.addToFileList(a,b,c,d,!0)},pack:function(a,b,c,d){if(void 0===b&&(b=null),void 0===c&&(c=null),void 0===d&&(d=null),!b&&!c)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var e={type:"packfile",key:a,url:b,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:d};c&&("string"==typeof c&&(c=JSON.parse(c)),e.data=c||{},e.loaded=!0);for(var f=0;f=e||d&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var f=this;setTimeout(function(){f.finishedLoading(!0)},2e3)}},finishedLoading:function(a){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,a||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.onLoadComplete.dispatch(),this.reset(),this.game.state.loadComplete())},asyncComplete:function(a,b){void 0===b&&(b=""),a.loaded=!0,a.error=!!b,b&&(a.errorMessage=b,console.warn("Phaser.Loader - "+a.type+"["+a.key+"]: "+b)),this.processLoadQueue()},processPack:function(a){var b=a.data[a.key];if(!b)return void console.warn("Phaser.Loader - "+a.key+": pack has data, but not for pack key");for(var d=0;d=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var f=new window.XDomainRequest;f.open("GET",b,!0),f.responseType=c,f.timeout=3e3,e=e||this.fileError;var g=this;f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.ontimeout=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.onprogress=function(){},f.onload=function(){try{return d.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,setTimeout(function(){f.send()},0)},getVideoURL:function(a){for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayVideo(c))return a[b]}return null},getAudioURL:function(a){if(this.game.sound.noAudio)return null;for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayAudio(c))return a[b]}return null},fileError:function(a,b,c){var d=a.requestUrl||this.transformUrl(a.url,a),e="error loading asset from URL "+d;!c&&b&&(c=b.status),c&&(e=e+" ("+c+")"),this.asyncComplete(a,e)},fileComplete:function(a,b){var d=!0;switch(a.type){case"packfile":var e=JSON.parse(b.responseText);a.data=e||{};break;case"image":this.cache.addImage(a.key,a.url,a.data);break;case"spritesheet":this.cache.addSpriteSheet(a.key,a.url,a.data,a.frameWidth,a.frameHeight,a.frameMax,a.margin,a.spacing);break;case"textureatlas":if(null==a.atlasURL)this.cache.addTextureAtlas(a.key,a.url,a.data,a.atlasData,a.format);else if(d=!1,a.format==c.Loader.TEXTURE_ATLAS_JSON_ARRAY||a.format==c.Loader.TEXTURE_ATLAS_JSON_HASH||a.format==c.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.jsonLoadComplete);else{if(a.format!=c.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+a.format);this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.xmlLoadComplete)}break;case"bitmapfont":a.atlasURL?(d=!1,this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",function(a,b){var c;try{c=JSON.parse(b.responseText)}catch(d){}c?(a.atlasType="json",this.jsonLoadComplete(a,b)):(a.atlasType="xml",this.xmlLoadComplete(a,b))})):this.cache.addBitmapFont(a.key,a.url,a.data,a.atlasData,a.atlasType,a.xSpacing,a.ySpacing);break;case"video":if(a.asBlob)try{a.data=new Blob([new Uint8Array(b.response)])}catch(f){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+a.key)}this.cache.addVideo(a.key,a.url,a.data,a.asBlob);break;case"audio":this.game.sound.usingWebAudio?(a.data=b.response,this.cache.addSound(a.key,a.url,a.data,!0,!1),a.autoDecode&&this.game.sound.decode(a.key)):this.cache.addSound(a.key,a.url,a.data,!1,!0);break;case"text":a.data=b.responseText,this.cache.addText(a.key,a.url,a.data);break;case"shader":a.data=b.responseText,this.cache.addShader(a.key,a.url,a.data);break;case"physics":var e=JSON.parse(b.responseText);this.cache.addPhysicsData(a.key,a.url,e,a.format);break;case"script":a.data=document.createElement("script"),a.data.language="javascript",a.data.type="text/javascript",a.data.defer=!1,a.data.text=b.responseText,document.head.appendChild(a.data),a.callback&&(a.data=a.callback.call(a.callbackContext,a.key,b.responseText));break;case"binary":a.callback?a.data=a.callback.call(a.callbackContext,a.key,b.response):a.data=b.response,this.cache.addBinary(a.key,a.data)}d&&this.asyncComplete(a)},jsonLoadComplete:function(a,b){var c=JSON.parse(b.responseText);"tilemap"===a.type?this.cache.addTilemap(a.key,a.url,c,a.format):"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,c,a.atlasType,a.xSpacing,a.ySpacing):"json"===a.type?this.cache.addJSON(a.key,a.url,c):this.cache.addTextureAtlas(a.key,a.url,a.data,c,a.format),this.asyncComplete(a)},csvLoadComplete:function(a,b){var c=b.responseText;this.cache.addTilemap(a.key,a.url,c,a.format),this.asyncComplete(a)},xmlLoadComplete:function(a,b){var c=b.responseText,d=this.parseXml(c);if(!d){var e=b.responseType||b.contentType;return console.warn("Phaser.Loader - "+a.key+": invalid XML ("+e+")"),void this.asyncComplete(a,"invalid XML")}"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,d,a.atlasType,a.xSpacing,a.ySpacing):"textureatlas"===a.type?this.cache.addTextureAtlas(a.key,a.url,a.data,d,a.format):"xml"===a.type&&this.cache.addXML(a.key,a.url,d),this.asyncComplete(a)},parseXml:function(a){var b;try{if(window.DOMParser){var c=new DOMParser;b=c.parseFromString(a,"text/xml")}else b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)}catch(d){b=null}return b&&b.documentElement&&!b.getElementsByTagName("parsererror").length?b:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(c.Loader.prototype,"progressFloat",{get:function(){var a=this._loadedFileCount/this._totalFileCount*100;return c.Math.clamp(a||0,0,100)}}),Object.defineProperty(c.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),c.Loader.prototype.constructor=c.Loader,c.LoaderParser={bitmapFont:function(a,b,c,d){return this.xmlBitmapFont(a,b,c,d)},xmlBitmapFont:function(a,b,c,d){var e={},f=a.getElementsByTagName("info")[0],g=a.getElementsByTagName("common")[0];e.font=f.getAttribute("face"),e.size=parseInt(f.getAttribute("size"),10),e.lineHeight=parseInt(g.getAttribute("lineHeight"),10)+d,e.chars={};for(var h=a.getElementsByTagName("char"),i=0;i=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop())))):void this.destroy()},loopFull:function(a){this.play(null,0,a,!0)},play:function(a,b,c,d,e){if((void 0===a||a===!1||null===a)&&(a=""),void 0===e&&(e=!0),this.isPlaying&&!this.allowMultiple&&!e&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||e))if(this.usingWebAudio)if(this.externalNode?this._sound.disconnect(this.externalNode):this._sound.disconnect(this.gainNode),void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(f){}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(""===a&&Object.keys(this.markers).length>0)return this;if(""!==a){if(this.currentMarker=a,!this.markers[a])return this;this.position=this.markers[a].start,this.volume=this.markers[a].volume,this.loop=this.markers[a].loop,this.duration=this.markers[a].duration,this.durationMS=this.markers[a].durationMS,"undefined"!=typeof c&&(this.volume=c),"undefined"!=typeof d&&(this.loop=d),this._tempMarker=a,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else b=b||0,void 0===c&&(c=this._volume),void 0===d&&(d=this.loop),this.position=b,this.volume=c,this.loop=d,this.duration=0,this.durationMS=0,this._tempMarker=a,this._tempPosition=b,this._tempVolume=c,this._tempLoop=d;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===a&&(this._sound.loop=!0),this.loop||""!==a||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===a?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).isDecoding===!1&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(a,b,c,d){a=a||"",b=b||0,c=c||1,void 0===d&&(d=!1),this.play(a,b,c,d,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var a=this.position+this.pausedPosition/1e3;this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var b=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,a,b):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,a):this._sound.start(0,a,b)}else this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio)if(this.externalNode?this._sound.disconnect(this.externalNode):this._sound.disconnect(this.gainNode),void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(a){}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.pendingPlayback=!1,this.isPlaying=!1;var b=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.paused||this.onStop.dispatch(this,b)},fadeIn:function(a,b,c){void 0===b&&(b=!1),void 0===c&&(c=this.currentMarker),this.paused||(this.play(c,0,0,b),this.fadeTo(a,1))},fadeOut:function(a){this.fadeTo(a,0)},fadeTo:function(a,b){if(this.isPlaying&&!this.paused&&b!==this.volume){if(void 0===a&&(a=1e3),void 0===b)return void console.warn("Phaser.Sound.fadeTo: No Volume Specified.");this.fadeTween=this.game.add.tween(this).to({volume:b},a,c.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)}},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},destroy:function(a){void 0===a&&(a=!0),this.stop(),a?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},c.Sound.prototype.constructor=c.Sound,Object.defineProperty(c.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(c.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(c.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(a){a=a||!1,a!==this._muted&&(a?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(c.Sound.prototype,"volume",{get:function(){return this._volume},set:function(a){return this.game.device.firefox&&this.usingAudioTag&&(a=this.game.math.clamp(a,0,1)),this._muted?void(this._muteVolume=a):(this._tempVolume=a,this._volume=a,void(this.usingWebAudio?this.gainNode.gain.value=a:this.usingAudioTag&&this._sound&&(this._sound.volume=a)))}}),c.SoundManager=function(a){this.game=a,this.onSoundDecode=new c.Signal,this.onVolumeChange=new c.Signal,this.onMute=new c.Signal,this.onUnMute=new c.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new c.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},c.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&this.game.device.webAudio===!1&&(this.channels=1),window.PhaserGlobal){if(window.PhaserGlobal.disableAudio===!0)return this.noAudio=!0,void(this.touchLocked=!1);if(window.PhaserGlobal.disableWebAudio===!0)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||(!this.game.device.cocoonJS&&this.game.device.iOS||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)&&this.setTouchLock()},setTouchLock:function(){this.game.device.iOSVersion>8?this.game.input.touch.addTouchLockCallback(this.unlock,this,!0):this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var a=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=a,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0)}return!0},stopAll:function(){if(!this.noAudio)for(var a=0;aa?a=0:a>1&&(a=1),this._volume!==a){if(this._volume=a,this.usingWebAudio)this.masterGain.gain.value=a;else for(var b=0;b=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var b=this._parentBounds.width,d=this._parentBounds.height,e=this.getParentBounds(this._parentBounds),f=e.width!==b||e.height!==d,g=this.updateOrientationState();(f||g)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,e),this.updateLayout(),this.signalSizeChange());var h=2*this._updateThrottle;this._updateThrottle=b||0>=c)return a;var e=b,f=a.height*b/a.width,g=a.width*c/a.height,h=c,i=g>b;return i=i?d:!d,i?(a.width=Math.floor(e),a.height=Math.floor(f)):(a.width=Math.floor(g),a.height=Math.floor(h)),a},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},c.ScaleManager.prototype.constructor=c.ScaleManager,Object.defineProperty(c.ScaleManager.prototype,"boundingParent",{get:function(){if(this.parentIsWindow||this.isFullScreen&&!this._createdFullScreenTarget)return null;var a=this.game.canvas&&this.game.canvas.parentNode;return a||null}}),Object.defineProperty(c.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(a){return a!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=a),this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(a){return a!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=a,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=a),this._fullScreenScaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(a){a!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(a){a!==this._pageAlignVertically&&(this._pageAlignVertically=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(c.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(c.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),c.Utils.Debug=function(a){this.game=a,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1},c.Utils.Debug.prototype={boot:function(){this.game.renderType===c.CANVAS?this.context=this.game.context:(this.bmd=this.game.make.bitmapData(this.game.width,this.game.height),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.canvas=PIXI.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d"))},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(a,b,c,d){"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),c=c||"rgb(255,255,255)",void 0===d&&(d=0),this.currentX=a,this.currentY=b,this.currentColor=c,this.columnWidth=d,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=c,this.context.fillStyle=c,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var a=this.currentX,b=0;b=0&&c.right>=0&&c.top<=this.layoutBounds.width&&c.left<=this.layoutBounds.height},getScreenOrientation:function(a){var b=window.screen,c=b.orientation||b.mozOrientation||b.msOrientation;if(c&&"string"==typeof c.type)return c.type;if("string"==typeof c)return c;var d="portrait-primary",e="landscape-primary";if("screen"===a)return b.height>b.width?d:e;if("viewport"===a)return this.visualBounds.height>this.visualBounds.width?d:e;if("window.orientation"===a&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?d:e;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return d;if(window.matchMedia("(orientation: landscape)").matches)return e}return this.visualBounds.height>this.visualBounds.width?d:e},visualBounds:new c.Rectangle,layoutBounds:new c.Rectangle,documentBounds:new c.Rectangle},c.Device.whenReady(function(a){var b=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},d=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};Object.defineProperty(c.DOM,"scrollX",{get:b}),Object.defineProperty(c.DOM,"scrollY",{get:d}),Object.defineProperty(c.DOM.visualBounds,"x",{get:b}),Object.defineProperty(c.DOM.visualBounds,"y",{get:d}),Object.defineProperty(c.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(c.DOM.layoutBounds,"y",{value:0});var e=a.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight;if(e){var f=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},g=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(c.DOM.visualBounds,"width",{get:f}),Object.defineProperty(c.DOM.visualBounds,"height",{get:g}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:f}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:g})}else Object.defineProperty(c.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(c.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:function(){var a=document.documentElement.clientWidth,b=window.innerWidth;return b>a?b:a}}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:function(){var a=document.documentElement.clientHeight,b=window.innerHeight;return b>a?b:a}});Object.defineProperty(c.DOM.documentBounds,"x",{value:0}),Object.defineProperty(c.DOM.documentBounds,"y",{value:0}),Object.defineProperty(c.DOM.documentBounds,"width",{get:function(){var a=document.documentElement;return Math.max(a.clientWidth,a.offsetWidth,a.scrollWidth)}}),Object.defineProperty(c.DOM.documentBounds,"height",{get:function(){var a=document.documentElement;return Math.max(a.clientHeight,a.offsetHeight,a.scrollHeight)}})},null,!0),c.ArraySet=function(a){this.position=0,this.list=a||[]},c.ArraySet.prototype={add:function(a){return this.exists(a)||this.list.push(a),a},getIndex:function(a){return this.list.indexOf(a)},getByKey:function(a,b){for(var c=this.list.length;c--;)if(this.list[c][a]===b)return this.list[c];return null},exists:function(a){return this.list.indexOf(a)>-1},reset:function(){this.list.length=0},remove:function(a){var b=this.list.indexOf(a);return b>-1?(this.list.splice(b,1),a):void 0},setAll:function(a,b){for(var c=this.list.length;c--;)this.list[c]&&(this.list[c][a]=b)},callAll:function(a){for(var b=Array.prototype.slice.call(arguments,1),c=this.list.length;c--;)this.list[c]&&this.list[c][a]&&this.list[c][a].apply(this.list[c],b)},removeAll:function(a){void 0===a&&(a=!1);for(var b=this.list.length;b--;)if(this.list[b]){var c=this.remove(this.list[b]);a&&c.destroy()}this.position=0,this.list=[]}},Object.defineProperty(c.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(c.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(c.ArraySet.prototype,"next",{get:function(){return this.position0;b--){var c=Math.floor(Math.random()*(b+1)),d=a[b];a[b]=a[c],a[c]=d}return a},transposeMatrix:function(a){for(var b=a.length,c=a[0].length,d=new Array(c),e=0;c>e;e++){d[e]=new Array(b);for(var f=b-1;f>-1;f--)d[e][f]=a[f][e]}return d},rotateMatrix:function(a,b){if("string"!=typeof b&&(b=(b%360+360)%360),90===b||-270===b||"rotateLeft"===b)a=c.ArrayUtils.transposeMatrix(a),a=a.reverse();else if(-90===b||270===b||"rotateRight"===b)a=a.reverse(),a=c.ArrayUtils.transposeMatrix(a);else if(180===Math.abs(b)||"rotate180"===b){for(var d=0;d=e-a?e:d},rotate:function(a){var b=a.shift();return a.push(b),b},numberArray:function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},numberArrayStep:function(a,b,d){(void 0===a||null===a)&&(a=0),(void 0===b||null===b)&&(b=a,a=0),void 0===d&&(d=1);for(var e=[],f=Math.max(c.Math.roundAwayFromZero((b-a)/(d||1)),0),g=0;f>g;g++)e.push(a),a+=d;return e}},c.LinkedList=function(){this.next=null,this.prev=null,this.first=null,this.last=null,this.total=0},c.LinkedList.prototype={add:function(a){return 0===this.total&&null===this.first&&null===this.last?(this.first=a,this.last=a,this.next=a,a.prev=this,this.total++,a):(this.last.next=a,a.prev=this.last,this.last=a,this.total++,a)},reset:function(){this.first=null,this.last=null,this.next=null,this.prev=null,this.total=0},remove:function(a){return 1===this.total?(this.reset(), -void(a.next=a.prev=null)):(a===this.first?this.first=this.first.next:a===this.last&&(this.last=this.last.prev),a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),a.next=a.prev=null,null===this.first&&(this.last=null),void this.total--)},callAll:function(a){if(this.first&&this.last){var b=this.first;do b&&b[a]&&b[a].call(b),b=b.next;while(b!=this.last.next)}}},c.LinkedList.prototype.constructor=c.LinkedList,c.Create=function(a){this.game=a,this.bmd=null,this.canvas=null,this.ctx=null,this.palettes=[{0:"#000",1:"#9D9D9D",2:"#FFF",3:"#BE2633",4:"#E06F8B",5:"#493C2B",6:"#A46422",7:"#EB8931",8:"#F7E26B",9:"#2F484E",A:"#44891A",B:"#A3CE27",C:"#1B2632",D:"#005784",E:"#31A2F2",F:"#B2DCEF"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#f5f4eb"},{0:"#000",1:"#2234d1",2:"#0c7e45",3:"#44aacc",4:"#8a3622",5:"#5c2e78",6:"#aa5c3d",7:"#b5b5b5",8:"#5e606e",9:"#4c81fb",A:"#6cd947",B:"#7be2f9",C:"#eb8a60",D:"#e23d69",E:"#ffd93f",F:"#fff"},{0:"#000",1:"#fff",2:"#8b4131",3:"#7bbdc5",4:"#8b41ac",5:"#6aac41",6:"#3931a4",7:"#d5de73",8:"#945a20",9:"#5a4100",A:"#bd736a",B:"#525252",C:"#838383",D:"#acee8b",E:"#7b73de",F:"#acacac"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#fff"}]},c.Create.PALETTE_ARNE=0,c.Create.PALETTE_JMP=1,c.Create.PALETTE_CGA=2,c.Create.PALETTE_C64=3,c.Create.PALETTE_JAPANESE_MACHINE=4,c.Create.prototype={texture:function(a,b,c,d,e){void 0===c&&(c=8),void 0===d&&(d=c),void 0===e&&(e=0);var f=b[0].length*c,g=b.length*d;null===this.bmd&&(this.bmd=this.game.make.bitmapData(),this.canvas=this.bmd.canvas,this.ctx=this.bmd.context),this.bmd.resize(f,g),this.bmd.clear();for(var h=0;hg;g+=e)this.ctx.fillRect(0,g,b,1);for(var h=0;b>h;h+=d)this.ctx.fillRect(h,0,1,c);return this.bmd.generateTexture(a)}},c.Create.prototype.constructor=c.Create,c.FlexGrid=function(a,b,d){this.game=a.game,this.manager=a,this.width=b,this.height=d,this.boundsCustom=new c.Rectangle(0,0,b,d),this.boundsFluid=new c.Rectangle(0,0,b,d),this.boundsFull=new c.Rectangle(0,0,b,d),this.boundsNone=new c.Rectangle(0,0,b,d),this.positionCustom=new c.Point(0,0),this.positionFluid=new c.Point(0,0),this.positionFull=new c.Point(0,0),this.positionNone=new c.Point(0,0),this.scaleCustom=new c.Point(1,1),this.scaleFluid=new c.Point(1,1),this.scaleFluidInversed=new c.Point(1,1),this.scaleFull=new c.Point(1,1),this.scaleNone=new c.Point(1,1),this.customWidth=0,this.customHeight=0,this.customOffsetX=0,this.customOffsetY=0,this.ratioH=b/d,this.ratioV=d/b,this.multiplier=0,this.layers=[]},c.FlexGrid.prototype={setSize:function(a,b){this.width=a,this.height=b,this.ratioH=a/b,this.ratioV=b/a,this.scaleNone=new c.Point(1,1),this.boundsNone.width=this.width,this.boundsNone.height=this.height,this.refresh()},createCustomLayer:function(a,b,d,e){void 0===e&&(e=!0),this.customWidth=a,this.customHeight=b,this.boundsCustom.width=a,this.boundsCustom.height=b;var f=new c.FlexLayer(this,this.positionCustom,this.boundsCustom,this.scaleCustom);return e&&this.game.world.add(f),this.layers.push(f),"undefined"!=typeof d&&null!==typeof d&&f.addMultiple(d),f},createFluidLayer:function(a,b){void 0===b&&(b=!0);var d=new c.FlexLayer(this,this.positionFluid,this.boundsFluid,this.scaleFluid);return b&&this.game.world.add(d),this.layers.push(d),"undefined"!=typeof a&&null!==typeof a&&d.addMultiple(a),d},createFullLayer:function(a){var b=new c.FlexLayer(this,this.positionFull,this.boundsFull,this.scaleFluid);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},createFixedLayer:function(a){var b=new c.FlexLayer(this,this.positionNone,this.boundsNone,this.scaleNone);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},reset:function(){for(var a=this.layers.length;a--;)this.layers[a].persist||(this.layers[a].position=null,this.layers[a].scale=null,this.layers.slice(a,1))},onResize:function(a,b){this.ratioH=a/b,this.ratioV=b/a,this.refresh(a,b)},refresh:function(){this.multiplier=Math.min(this.manager.height/this.height,this.manager.width/this.width),this.boundsFluid.width=Math.round(this.width*this.multiplier),this.boundsFluid.height=Math.round(this.height*this.multiplier),this.scaleFluid.set(this.boundsFluid.width/this.width,this.boundsFluid.height/this.height),this.scaleFluidInversed.set(this.width/this.boundsFluid.width,this.height/this.boundsFluid.height),this.scaleFull.set(this.boundsFull.width/this.width,this.boundsFull.height/this.height),this.boundsFull.width=Math.round(this.manager.width*this.scaleFluidInversed.x),this.boundsFull.height=Math.round(this.manager.height*this.scaleFluidInversed.y),this.boundsFluid.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.boundsNone.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.positionFluid.set(this.boundsFluid.x,this.boundsFluid.y),this.positionNone.set(this.boundsNone.x,this.boundsNone.y)},fitSprite:function(a){this.manager.scaleSprite(a),a.x=this.manager.bounds.centerX,a.y=this.manager.bounds.centerY},debug:function(){this.game.debug.text(this.boundsFluid.width+" x "+this.boundsFluid.height,this.boundsFluid.x+4,this.boundsFluid.y+16),this.game.debug.geom(this.boundsFluid,"rgba(255,0,0,0.9",!1)}},c.FlexGrid.prototype.constructor=c.FlexGrid,c.FlexLayer=function(a,b,d,e){c.Group.call(this,a.game,null,"__flexLayer"+a.game.rnd.uuid(),!1),this.manager=a.manager,this.grid=a,this.persist=!1,this.position=b,this.bounds=d,this.scale=e,this.topLeft=d.topLeft,this.topMiddle=new c.Point(d.halfWidth,0),this.topRight=d.topRight,this.bottomLeft=d.bottomLeft,this.bottomMiddle=new c.Point(d.halfWidth,d.bottom),this.bottomRight=d.bottomRight},c.FlexLayer.prototype=Object.create(c.Group.prototype),c.FlexLayer.prototype.constructor=c.FlexLayer,c.FlexLayer.prototype.resize=function(){},c.FlexLayer.prototype.debug=function(){this.game.debug.text(this.bounds.width+" x "+this.bounds.height,this.bounds.x+4,this.bounds.y+16),this.game.debug.geom(this.bounds,"rgba(0,0,255,0.9",!1),this.game.debug.geom(this.topLeft,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topMiddle,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topRight,"rgba(255,255,255,0.9")},c.Color={packPixel:function(a,b,d,e){return c.Device.LITTLE_ENDIAN?(e<<24|d<<16|b<<8|a)>>>0:(a<<24|b<<16|d<<8|e)>>>0},unpackPixel:function(a,b,d,e){return(void 0===b||null===b)&&(b=c.Color.createColor()),(void 0===d||null===d)&&(d=!1),(void 0===e||null===e)&&(e=!1),c.Device.LITTLE_ENDIAN?(b.a=(4278190080&a)>>>24,b.b=(16711680&a)>>>16,b.g=(65280&a)>>>8,b.r=255&a):(b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a),b.color=a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a/255+")",d&&c.Color.RGBtoHSL(b.r,b.g,b.b,b),e&&c.Color.RGBtoHSV(b.r,b.g,b.b,b),b},fromRGBA:function(a,b){return b||(b=c.Color.createColor()),b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a+")",b},toRGBA:function(a,b,c,d){return a<<24|b<<16|c<<8|d},RGBtoHSL:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,1)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d);if(e.h=0,e.s=0,e.l=(g+f)/2,g!==f){var h=g-f;e.s=e.l>.5?h/(2-g-f):h/(g+f),g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6}return e},HSLtoRGB:function(a,b,d,e){if(e?(e.r=d,e.g=d,e.b=d):e=c.Color.createColor(d,d,d),0!==b){var f=.5>d?d*(1+b):d+b-d*b,g=2*d-f;e.r=c.Color.hueToColor(g,f,a+1/3),e.g=c.Color.hueToColor(g,f,a),e.b=c.Color.hueToColor(g,f,a-1/3)}return e.r=Math.floor(255*e.r|0),e.g=Math.floor(255*e.g|0),e.b=Math.floor(255*e.b|0),c.Color.updateColor(e),e},RGBtoHSV:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,255)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d),h=g-f;return e.h=0,e.s=0===g?0:h/g,e.v=g,g!==f&&(g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6),e},HSVtoRGB:function(a,b,d,e){void 0===e&&(e=c.Color.createColor(0,0,0,1,a,b,0,d));var f,g,h,i=Math.floor(6*a),j=6*a-i,k=d*(1-b),l=d*(1-j*b),m=d*(1-(1-j)*b);switch(i%6){case 0:f=d,g=m,h=k;break;case 1:f=l,g=d,h=k;break;case 2:f=k,g=d,h=m;break;case 3:f=k,g=l,h=d;break;case 4:f=m,g=k,h=d;break;case 5:f=d,g=k,h=l}return e.r=Math.floor(255*f),e.g=Math.floor(255*g),e.b=Math.floor(255*h),c.Color.updateColor(e),e},hueToColor:function(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a},createColor:function(a,b,d,e,f,g,h,i){var j={r:a||0,g:b||0,b:d||0,a:e||1,h:f||0,s:g||0,l:h||0,v:i||0,color:0,color32:0,rgba:""};return c.Color.updateColor(j)},updateColor:function(a){return a.rgba="rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+a.a.toString()+")",a.color=c.Color.getColor(a.r,a.g,a.b),a.color32=c.Color.getColor32(a.a,a.r,a.g,a.b),a},getColor32:function(a,b,c,d){return a<<24|b<<16|c<<8|d},getColor:function(a,b,c){return a<<16|b<<8|c},RGBtoString:function(a,b,d,e,f){return void 0===e&&(e=255),void 0===f&&(f="#"),"#"===f?"#"+((1<<24)+(a<<16)+(b<<8)+d).toString(16).slice(1):"0x"+c.Color.componentToHex(e)+c.Color.componentToHex(a)+c.Color.componentToHex(b)+c.Color.componentToHex(d)},hexToRGB:function(a){var b=c.Color.hexToColor(a);return b?c.Color.getColor32(b.a,b.r,b.g,b.b):void 0},hexToColor:function(a,b){a=a.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,b,c,d){return b+b+c+c+d+d});var d=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);if(d){var e=parseInt(d[1],16),f=parseInt(d[2],16),g=parseInt(d[3],16);b?(b.r=e,b.g=f,b.b=g):b=c.Color.createColor(e,f,g)}return b},webToColor:function(a,b){b||(b=c.Color.createColor());var d=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(a);return d&&(b.r=parseInt(d[1],10),b.g=parseInt(d[2],10),b.b=parseInt(d[3],10),b.a=void 0!==d[4]?parseFloat(d[4]):1,c.Color.updateColor(b)),b},valueToColor:function(a,b){if(b||(b=c.Color.createColor()),"string"==typeof a)return 0===a.indexOf("rgb")?c.Color.webToColor(a,b):(b.a=1,c.Color.hexToColor(a,b));if("number"==typeof a){var d=c.Color.getRGB(a);return b.r=d.r,b.g=d.g,b.b=d.b,b.a=d.a/255,b}return b},componentToHex:function(a){var b=a.toString(16);return 1==b.length?"0"+b:b},HSVColorWheel:function(a,b){void 0===a&&(a=1),void 0===b&&(b=1);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSVtoRGB(e/359,a,b));return d},HSLColorWheel:function(a,b){void 0===a&&(a=.5),void 0===b&&(b=.5);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSLtoRGB(e/359,a,b));return d},interpolateColor:function(a,b,d,e,f){void 0===f&&(f=255);var g=c.Color.getRGB(a),h=c.Color.getRGB(b),i=(h.red-g.red)*e/d+g.red,j=(h.green-g.green)*e/d+g.green,k=(h.blue-g.blue)*e/d+g.blue;return c.Color.getColor32(f,i,j,k)},interpolateColorWithRGB:function(a,b,d,e,f,g){var h=c.Color.getRGB(a),i=(b-h.red)*g/f+h.red,j=(d-h.green)*g/f+h.green,k=(e-h.blue)*g/f+h.blue;return c.Color.getColor(i,j,k)},interpolateRGB:function(a,b,d,e,f,g,h,i){var j=(e-a)*i/h+a,k=(f-b)*i/h+b,l=(g-d)*i/h+d;return c.Color.getColor(j,k,l)},getRandomColor:function(a,b,d){if(void 0===a&&(a=0),void 0===b&&(b=255),void 0===d&&(d=255),b>255||a>b)return c.Color.getColor(255,255,255);var e=a+Math.round(Math.random()*(b-a)),f=a+Math.round(Math.random()*(b-a)),g=a+Math.round(Math.random()*(b-a));return c.Color.getColor32(d,e,f,g)},getRGB:function(a){return a>16777215?{alpha:a>>>24,red:a>>16&255,green:a>>8&255,blue:255&a,a:a>>>24,r:a>>16&255,g:a>>8&255,b:255&a}:{alpha:255,red:a>>16&255,green:a>>8&255,blue:255&a,a:255,r:a>>16&255,g:a>>8&255,b:255&a}},getWebRGB:function(a){if("object"==typeof a)return"rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+(a.a/255).toString()+")";var b=c.Color.getRGB(a);return"rgba("+b.r.toString()+","+b.g.toString()+","+b.b.toString()+","+(b.a/255).toString()+")"},getAlpha:function(a){return a>>>24},getAlphaFloat:function(a){return(a>>>24)/255},getRed:function(a){return a>>16&255},getGreen:function(a){return a>>8&255},getBlue:function(a){return 255&a},blendNormal:function(a){return a},blendLighten:function(a,b){return b>a?b:a},blendDarken:function(a,b){return b>a?a:b},blendMultiply:function(a,b){return a*b/255},blendAverage:function(a,b){return(a+b)/2},blendAdd:function(a,b){return Math.min(255,a+b)},blendSubtract:function(a,b){return Math.max(0,a+b-255)},blendDifference:function(a,b){return Math.abs(a-b)},blendNegation:function(a,b){return 255-Math.abs(255-a-b)},blendScreen:function(a,b){return 255-((255-a)*(255-b)>>8)},blendExclusion:function(a,b){return a+b-2*a*b/255},blendOverlay:function(a,b){return 128>b?2*a*b/255:255-2*(255-a)*(255-b)/255},blendSoftLight:function(a,b){return 128>b?2*((a>>1)+64)*(b/255):255-2*(255-((a>>1)+64))*(255-b)/255},blendHardLight:function(a,b){return c.Color.blendOverlay(b,a)},blendColorDodge:function(a,b){return 255===b?b:Math.min(255,(a<<8)/(255-b))},blendColorBurn:function(a,b){return 0===b?b:Math.max(0,255-(255-a<<8)/b)},blendLinearDodge:function(a,b){return c.Color.blendAdd(a,b)},blendLinearBurn:function(a,b){return c.Color.blendSubtract(a,b)},blendLinearLight:function(a,b){return 128>b?c.Color.blendLinearBurn(a,2*b):c.Color.blendLinearDodge(a,2*(b-128))},blendVividLight:function(a,b){return 128>b?c.Color.blendColorBurn(a,2*b):c.Color.blendColorDodge(a,2*(b-128))},blendPinLight:function(a,b){return 128>b?c.Color.blendDarken(a,2*b):c.Color.blendLighten(a,2*(b-128))},blendHardMix:function(a,b){return c.Color.blendVividLight(a,b)<128?0:255},blendReflect:function(a,b){return 255===b?b:Math.min(255,a*a/(255-b))},blendGlow:function(a,b){return c.Color.blendReflect(b,a)},blendPhoenix:function(a,b){return Math.min(a,b)-Math.max(a,b)+255}},c.Physics=function(a,b){b=b||{},this.game=a,this.config=b,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},c.Physics.ARCADE=0,c.Physics.P2JS=1,c.Physics.NINJA=2,c.Physics.BOX2D=3,c.Physics.CHIPMUNK=4,c.Physics.MATTERJS=5,c.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&this.config.arcade!==!0||!c.Physics.hasOwnProperty("Arcade")||(this.arcade=new c.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&this.config.ninja===!0&&c.Physics.hasOwnProperty("Ninja")&&(this.ninja=new c.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&this.config.p2===!0&&c.Physics.hasOwnProperty("P2")&&(this.p2=new c.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&this.config.box2d===!0&&c.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new c.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&this.config.matter===!0&&c.Physics.hasOwnProperty("Matter")&&(this.matter=new c.Physics.Matter(this.game,this.config))},startSystem:function(a){a===c.Physics.ARCADE?this.arcade=new c.Physics.Arcade(this.game):a===c.Physics.P2JS?null===this.p2?this.p2=new c.Physics.P2(this.game,this.config):this.p2.reset():a===c.Physics.NINJA?this.ninja=new c.Physics.Ninja(this.game):a===c.Physics.BOX2D?null===this.box2d?this.box2d=new c.Physics.Box2D(this.game,this.config):this.box2d.reset():a===c.Physics.MATTERJS&&(null===this.matter?this.matter=new c.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(a,b,d){void 0===b&&(b=c.Physics.ARCADE),void 0===d&&(d=!1),b===c.Physics.ARCADE?this.arcade.enable(a):b===c.Physics.P2JS&&this.p2?this.p2.enable(a,d):b===c.Physics.NINJA&&this.ninja?this.ninja.enableAABB(a):b===c.Physics.BOX2D&&this.box2d?this.box2d.enable(a):b===c.Physics.MATTERJS&&this.matter&&this.matter.enable(a)},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},c.Physics.prototype.constructor=c.Physics,c.Physics.Arcade=function(a){this.game=a,this.gravity=new c.Point,this.bounds=new c.Rectangle(0,0,a.world.width,a.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=c.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new c.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},c.Physics.Arcade.prototype.constructor=c.Physics.Arcade,c.Physics.Arcade.SORT_NONE=0,c.Physics.Arcade.LEFT_RIGHT=1,c.Physics.Arcade.RIGHT_LEFT=2,c.Physics.Arcade.TOP_BOTTOM=3,c.Physics.Arcade.BOTTOM_TOP=4,c.Physics.Arcade.prototype={setBounds:function(a,b,c,d){this.bounds.setTo(a,b,c,d)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(a,b){void 0===b&&(b=!0);var d=1;if(Array.isArray(a))for(d=a.length;d--;)a[d]instanceof c.Group?this.enable(a[d].children,b):(this.enableBody(a[d]),b&&a[d].hasOwnProperty("children")&&a[d].children.length>0&&this.enable(a[d],!0));else a instanceof c.Group?this.enable(a.children,b):(this.enableBody(a),b&&a.hasOwnProperty("children")&&a.children.length>0&&this.enable(a.children,!0))},enableBody:function(a){a.hasOwnProperty("body")&&null===a.body&&(a.body=new c.Physics.Arcade.Body(a),a.parent&&a.parent instanceof c.Group&&a.parent.addToHash(a))},updateMotion:function(a){var b=this.computeVelocity(0,a,a.angularVelocity,a.angularAcceleration,a.angularDrag,a.maxAngular)-a.angularVelocity;a.angularVelocity+=b,a.rotation+=a.angularVelocity*this.game.time.physicsElapsed,a.velocity.x=this.computeVelocity(1,a,a.velocity.x,a.acceleration.x,a.drag.x,a.maxVelocity.x),a.velocity.y=this.computeVelocity(2,a,a.velocity.y,a.acceleration.y,a.drag.y,a.maxVelocity.y)},computeVelocity:function(a,b,c,d,e,f){return void 0===f&&(f=1e4),1===a&&b.allowGravity?c+=(this.gravity.x+b.gravity.x)*this.game.time.physicsElapsed:2===a&&b.allowGravity&&(c+=(this.gravity.y+b.gravity.y)*this.game.time.physicsElapsed),d?c+=d*this.game.time.physicsElapsed:e&&(e*=this.game.time.physicsElapsed,c-e>0?c-=e:0>c+e?c+=e:c=0),c>f?c=f:-f>c&&(c=-f),c},overlap:function(a,b,c,d,e){if(c=c||null,d=d||null,e=e||c,this._total=0,!Array.isArray(a)&&Array.isArray(b))for(var f=0;f0},collide:function(a,b,c,d,e){if(c=c||null,d=d||null,e=e||c,this._total=0,!Array.isArray(a)&&Array.isArray(b))for(var f=0;f0},sortLeftRight:function(a,b){return a.body&&b.body?a.body.x-b.body.x:0},sortRightLeft:function(a,b){return a.body&&b.body?b.body.x-a.body.x:0},sortTopBottom:function(a,b){return a.body&&b.body?a.body.y-b.body.y:0},sortBottomTop:function(a,b){return a.body&&b.body?b.body.y-a.body.y:0},sort:function(a,b){null!==a.physicsSortDirection?b=a.physicsSortDirection:void 0===b&&(b=this.sortDirection),b===c.Physics.Arcade.LEFT_RIGHT?a.hash.sort(this.sortLeftRight):b===c.Physics.Arcade.RIGHT_LEFT?a.hash.sort(this.sortRightLeft):b===c.Physics.Arcade.TOP_BOTTOM?a.hash.sort(this.sortTopBottom):b===c.Physics.Arcade.BOTTOM_TOP&&a.hash.sort(this.sortBottomTop)},collideHandler:function(a,b,d,e,f,g){return void 0===b&&a.physicsType===c.GROUP?(this.sort(a),void this.collideGroupVsSelf(a,d,e,f,g)):void(a&&b&&a.exists&&b.exists&&(this.sortDirection!==c.Physics.Arcade.SORT_NONE&&(a.physicsType===c.GROUP&&this.sort(a),b.physicsType===c.GROUP&&this.sort(b)),a.physicsType===c.SPRITE?b.physicsType===c.SPRITE?this.collideSpriteVsSprite(a,b,d,e,f,g):b.physicsType===c.GROUP?this.collideSpriteVsGroup(a,b,d,e,f,g):b.physicsType===c.TILEMAPLAYER&&this.collideSpriteVsTilemapLayer(a,b,d,e,f,g):a.physicsType===c.GROUP?b.physicsType===c.SPRITE?this.collideSpriteVsGroup(b,a,d,e,f,g):b.physicsType===c.GROUP?this.collideGroupVsGroup(a,b,d,e,f,g):b.physicsType===c.TILEMAPLAYER&&this.collideGroupVsTilemapLayer(a,b,d,e,f,g):a.physicsType===c.TILEMAPLAYER&&(b.physicsType===c.SPRITE?this.collideSpriteVsTilemapLayer(b,a,d,e,f,g):b.physicsType===c.GROUP&&this.collideGroupVsTilemapLayer(b,a,d,e,f,g))))},collideSpriteVsSprite:function(a,b,c,d,e,f){return a.body&&b.body?(this.separate(a.body,b.body,d,e,f)&&(c&&c.call(e,a,b),this._total++),!0):!1},collideSpriteVsGroup:function(a,b,d,e,f,g){if(0!==b.length&&a.body){var h;if(this.skipQuadTree||a.body.skipQuadTree){for(var i=0;ih.right)break;if(h.x>a.body.right)continue}else if(this.sortDirection===c.Physics.Arcade.TOP_BOTTOM){if(a.body.bottomh.bottom)break;if(h.y>a.body.bottom)continue}this.collideSpriteVsSprite(a,b.hash[i],d,e,f,g)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(b);for(var j=this.quadTree.retrieve(a),i=0;ij.body.right)continue;if(j.body.x>h.body.right)break}else if(this.sortDirection===c.Physics.Arcade.TOP_BOTTOM){if(h.body.bottomj.body.bottom)continue;if(j.body.y>h.body.bottom)break}this.collideSpriteVsSprite(h,j,b,d,e,f)}},collideGroupVsGroup:function(a,b,d,e,f,g){if(0!==a.length&&0!==b.length)for(var h=0;h=b.right?!1:a.position.y>=b.bottom?!1:!0},separateX:function(a,b,c){if(a.immovable&&b.immovable)return!1;var d=0;if(this.intersects(a,b)){var e=a.deltaAbsX()+b.deltaAbsX()+this.OVERLAP_BIAS;if(0===a.deltaX()&&0===b.deltaX()?(a.embedded=!0,b.embedded=!0):a.deltaX()>b.deltaX()?(d=a.right-b.x,d>e||a.checkCollision.right===!1||b.checkCollision.left===!1?d=0:(a.touching.none=!1,a.touching.right=!0,b.touching.none=!1,b.touching.left=!0)):a.deltaX()e||a.checkCollision.left===!1||b.checkCollision.right===!1?d=0:(a.touching.none=!1,a.touching.left=!0,b.touching.none=!1,b.touching.right=!0)),a.overlapX=d,b.overlapX=d,0!==d){if(c||a.customSeparateX||b.customSeparateX)return!0;var f=a.velocity.x,g=b.velocity.x;if(a.immovable||b.immovable)a.immovable?b.immovable||(b.x+=d,b.velocity.x=f-g*b.bounce.x,a.moves&&(b.y+=(a.y-a.prev.y)*a.friction.y)):(a.x=a.x-d,a.velocity.x=g-f*a.bounce.x,b.moves&&(a.y+=(b.y-b.prev.y)*b.friction.y));else{d*=.5,a.x=a.x-d,b.x+=d;var h=Math.sqrt(g*g*b.mass/a.mass)*(g>0?1:-1),i=Math.sqrt(f*f*a.mass/b.mass)*(f>0?1:-1),j=.5*(h+i);h-=j,i-=j,a.velocity.x=j+h*a.bounce.x,b.velocity.x=j+i*b.bounce.x}return!0}}return!1},separateY:function(a,b,c){if(a.immovable&&b.immovable)return!1;var d=0;if(this.intersects(a,b)){var e=a.deltaAbsY()+b.deltaAbsY()+this.OVERLAP_BIAS;if(0===a.deltaY()&&0===b.deltaY()?(a.embedded=!0,b.embedded=!0):a.deltaY()>b.deltaY()?(d=a.bottom-b.y,d>e||a.checkCollision.down===!1||b.checkCollision.up===!1?d=0:(a.touching.none=!1,a.touching.down=!0,b.touching.none=!1,b.touching.up=!0)):a.deltaY()e||a.checkCollision.up===!1||b.checkCollision.down===!1?d=0:(a.touching.none=!1,a.touching.up=!0,b.touching.none=!1,b.touching.down=!0)),a.overlapY=d,b.overlapY=d,0!==d){if(c||a.customSeparateY||b.customSeparateY)return!0;var f=a.velocity.y,g=b.velocity.y;if(a.immovable||b.immovable)a.immovable?b.immovable||(b.y+=d,b.velocity.y=f-g*b.bounce.y,a.moves&&(b.x+=(a.x-a.prev.x)*a.friction.x)):(a.y=a.y-d,a.velocity.y=g-f*a.bounce.y,b.moves&&(a.x+=(b.x-b.prev.x)*b.friction.x));else{d*=.5,a.y=a.y-d,b.y+=d;var h=Math.sqrt(g*g*b.mass/a.mass)*(g>0?1:-1),i=Math.sqrt(f*f*a.mass/b.mass)*(f>0?1:-1),j=.5*(h+i);h-=j,i-=j,a.velocity.y=j+h*a.bounce.y,b.velocity.y=j+i*b.bounce.y}return!0}}return!1},getObjectsUnderPointer:function(a,b,c,d){return 0!==b.length&&a.exists?this.getObjectsAtLocation(a.x,a.y,b,c,d,a):void 0},getObjectsAtLocation:function(a,b,d,e,f,g){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(d);for(var h=new c.Rectangle(a,b,1,1),i=[],j=this.quadTree.retrieve(h),k=0;k0&&(c=this.distanceBetween(a,b)/(d/1e3)),a.body.velocity.x=Math.cos(e)*c,a.body.velocity.y=Math.sin(e)*c,e},moveToPointer:function(a,b,c,d){void 0===b&&(b=60),c=c||this.game.input.activePointer,void 0===d&&(d=0);var e=this.angleToPointer(a,c);return d>0&&(b=this.distanceToPointer(a,c)/(d/1e3)),a.body.velocity.x=Math.cos(e)*b,a.body.velocity.y=Math.sin(e)*b,e},moveToXY:function(a,b,c,d,e){void 0===d&&(d=60),void 0===e&&(e=0);var f=Math.atan2(c-a.y,b-a.x);return e>0&&(d=this.distanceToXY(a,b,c)/(e/1e3)),a.body.velocity.x=Math.cos(f)*d,a.body.velocity.y=Math.sin(f)*d,f},velocityFromAngle:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(this.game.math.degToRad(a))*b,Math.sin(this.game.math.degToRad(a))*b)},velocityFromRotation:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(a)*b,Math.sin(a)*b)},accelerationFromRotation:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(a)*b,Math.sin(a)*b)},accelerateToObject:function(a,b,c,d,e){void 0===c&&(c=60),void 0===d&&(d=1e3),void 0===e&&(e=1e3);var f=this.angleBetween(a,b);return a.body.acceleration.setTo(Math.cos(f)*c,Math.sin(f)*c),a.body.maxVelocity.setTo(d,e),f},accelerateToPointer:function(a,b,c,d,e){void 0===c&&(c=60),void 0===b&&(b=this.game.input.activePointer),void 0===d&&(d=1e3),void 0===e&&(e=1e3);var f=this.angleToPointer(a,b);return a.body.acceleration.setTo(Math.cos(f)*c,Math.sin(f)*c),a.body.maxVelocity.setTo(d,e),f},accelerateToXY:function(a,b,c,d,e,f){void 0===d&&(d=60),void 0===e&&(e=1e3),void 0===f&&(f=1e3);var g=this.angleToXY(a,b,c);return a.body.acceleration.setTo(Math.cos(g)*d,Math.sin(g)*d),a.body.maxVelocity.setTo(e,f),g},distanceBetween:function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)},distanceToXY:function(a,b,c){var d=a.x-b,e=a.y-c;return Math.sqrt(d*d+e*e)},distanceToPointer:function(a,b){b=b||this.game.input.activePointer;var c=a.x-b.worldX,d=a.y-b.worldY;return Math.sqrt(c*c+d*d)},angleBetween:function(a,b){var c=b.x-a.x,d=b.y-a.y;return Math.atan2(d,c)},angleToXY:function(a,b,c){var d=b-a.x,e=c-a.y;return Math.atan2(e,d)},angleToPointer:function(a,b){b=b||this.game.input.activePointer;var c=b.worldX-a.x,d=b.worldY-a.y;return Math.atan2(d,c)}},c.Physics.Arcade.Body=function(a){this.sprite=a,this.game=a.game,this.type=c.Physics.ARCADE,this.enable=!0,this.offset=new c.Point,this.position=new c.Point(a.x,a.y),this.prev=new c.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=a.rotation,this.preRotation=a.rotation,this.width=a.width,this.height=a.height,this.sourceWidth=a.width,this.sourceHeight=a.height,a.texture&&(this.sourceWidth=a.texture.frame.width,this.sourceHeight=a.texture.frame.height),this.halfWidth=Math.abs(a.width/2),this.halfHeight=Math.abs(a.height/2),this.center=new c.Point(a.x+this.halfWidth,a.y+this.halfHeight),this.velocity=new c.Point,this.newVelocity=new c.Point(0,0),this.deltaMax=new c.Point(0,0),this.acceleration=new c.Point,this.drag=new c.Point,this.allowGravity=!0,this.gravity=new c.Point(0,0),this.bounce=new c.Point,this.maxVelocity=new c.Point(1e4,1e4),this.friction=new c.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=c.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,any:!0,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={up:!1,down:!1,left:!1,right:!1},this.tilePadding=new c.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this._reset=!0,this._sx=a.scale.x,this._sy=a.scale.y,this._dx=0,this._dy=0},c.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var a=this.sprite.getBounds();a.ceilAll(),(a.width!==this.width||a.height!==this.height)&&(this.width=a.width,this.height=a.height,this._reset=!0)}else{var b=Math.abs(this.sprite.scale.x),c=Math.abs(this.sprite.scale.y);(b!==this._sx||c!==this._sy)&&(this.width=this.sourceWidth*b,this.height=this.sourceHeight*c,this._sx=b,this._sy=c,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight))},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down, -this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.width+this.offset.x,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.height+this.offset.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,(this.position.x!==this.prev.x||this.position.y!==this.prev.y)&&(this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.collideWorldBounds&&this.checkWorldBounds()),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},postUpdate:function(){this.enable&&this.dirty&&(this.dirty=!1,this.deltaX()<0?this.facing=c.LEFT:this.deltaX()>0&&(this.facing=c.RIGHT),this.deltaY()<0?this.facing=c.UP:this.deltaY()>0&&(this.facing=c.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof c.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null},checkWorldBounds:function(){var a=this.position,b=this.game.physics.arcade.bounds,c=this.game.physics.arcade.checkCollision;a.xb.right&&c.right&&(a.x=b.right-this.width,this.velocity.x*=-this.bounce.x,this.blocked.right=!0),a.yb.bottom&&c.down&&(a.y=b.bottom-this.height,this.velocity.y*=-this.bounce.y,this.blocked.down=!0)},setSize:function(a,b,c,d){void 0===c&&(c=this.offset.x),void 0===d&&(d=this.offset.y),this.sourceWidth=a,this.sourceHeight=b,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(c,d),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},reset:function(a,b){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0,this.position.x=a-this.sprite.anchor.x*this.width+this.offset.x,this.position.y=b-this.sprite.anchor.y*this.height+this.offset.y,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this._sx=this.sprite.scale.x,this._sy=this.sprite.scale.y,this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},hitTest:function(a,b){return c.Rectangle.contains(this,a,b)},onFloor:function(){return this.blocked.down},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation}},Object.defineProperty(c.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(a){this.position.x=a}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(a){this.position.y=a}}),c.Physics.Arcade.Body.render=function(a,b,c,d){void 0===d&&(d=!0),c=c||"rgba(0,255,0,0.4)",d?(a.fillStyle=c,a.fillRect(b.position.x-b.game.camera.x,b.position.y-b.game.camera.y,b.width,b.height)):(a.strokeStyle=c,a.strokeRect(b.position.x-b.game.camera.x,b.position.y-b.game.camera.y,b.width,b.height))},c.Physics.Arcade.Body.renderBodyInfo=function(a,b){a.line("x: "+b.x.toFixed(2),"y: "+b.y.toFixed(2),"width: "+b.width,"height: "+b.height),a.line("velocity x: "+b.velocity.x.toFixed(2),"y: "+b.velocity.y.toFixed(2),"deltaX: "+b._dx.toFixed(2),"deltaY: "+b._dy.toFixed(2)),a.line("acceleration x: "+b.acceleration.x.toFixed(2),"y: "+b.acceleration.y.toFixed(2),"speed: "+b.speed.toFixed(2),"angle: "+b.angle.toFixed(2)),a.line("gravity x: "+b.gravity.x,"y: "+b.gravity.y,"bounce x: "+b.bounce.x.toFixed(2),"y: "+b.bounce.y.toFixed(2)),a.line("touching left: "+b.touching.left,"right: "+b.touching.right,"up: "+b.touching.up,"down: "+b.touching.down),a.line("blocked left: "+b.blocked.left,"right: "+b.blocked.right,"up: "+b.blocked.up,"down: "+b.blocked.down)},c.Physics.Arcade.Body.prototype.constructor=c.Physics.Arcade.Body,c.Physics.Arcade.TilemapCollision=function(){},c.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(a,b,c,d,e,f){if(a.body){var g=b.getTiles(a.body.position.x-a.body.tilePadding.x,a.body.position.y-a.body.tilePadding.y,a.body.width+a.body.tilePadding.x,a.body.height+a.body.tilePadding.y,!1,!1);if(0!==g.length)for(var h=0;hb.deltaAbsY()?g=-1:b.deltaAbsX()g){if((c.faceLeft||c.faceRight)&&(e=this.tileCheckX(b,c),0!==e&&!c.intersects(b.position.x,b.position.y,b.right,b.bottom)))return!0;(c.faceTop||c.faceBottom)&&(f=this.tileCheckY(b,c))}else{if((c.faceTop||c.faceBottom)&&(f=this.tileCheckY(b,c),0!==f&&!c.intersects(b.position.x,b.position.y,b.right,b.bottom)))return!0;(c.faceLeft||c.faceRight)&&(e=this.tileCheckX(b,c))}return 0!==e||0!==f},tileCheckX:function(a,b){var c=0;return a.deltaX()<0&&!a.blocked.left&&b.collideRight&&a.checkCollision.left?b.faceRight&&a.x0&&!a.blocked.right&&b.collideLeft&&a.checkCollision.right&&b.faceLeft&&a.right>b.left&&(c=a.right-b.left,c>this.TILE_BIAS&&(c=0)),0!==c&&(a.customSeparateX?a.overlapX=c:this.processTileSeparationX(a,c)),c},tileCheckY:function(a,b){var c=0;return a.deltaY()<0&&!a.blocked.up&&b.collideDown&&a.checkCollision.up?b.faceBottom&&a.y0&&!a.blocked.down&&b.collideUp&&a.checkCollision.down&&b.faceTop&&a.bottom>b.top&&(c=a.bottom-b.top,c>this.TILE_BIAS&&(c=0)),0!==c&&(a.customSeparateY?a.overlapY=c:this.processTileSeparationY(a,c)),c},processTileSeparationX:function(a,b){0>b?a.blocked.left=!0:b>0&&(a.blocked.right=!0),a.position.x-=b,0===a.bounce.x?a.velocity.x=0:a.velocity.x=-a.velocity.x*a.bounce.x},processTileSeparationY:function(a,b){0>b?a.blocked.up=!0:b>0&&(a.blocked.down=!0),a.position.y-=b,0===a.bounce.y?a.velocity.y=0:a.velocity.y=-a.velocity.y*a.bounce.y}},c.Utils.mixinPrototype(c.Physics.Arcade.prototype,c.Physics.Arcade.TilemapCollision.prototype),c.ImageCollection=function(a,b,c,d,e,f,g){(void 0===c||0>=c)&&(c=32),(void 0===d||0>=d)&&(d=32),void 0===e&&(e=0),void 0===f&&(f=0),this.name=a,this.firstgid=0|b,this.imageWidth=0|c,this.imageHeight=0|d,this.imageMargin=0|e,this.imageSpacing=0|f,this.properties=g||{},this.images=[],this.total=0},c.ImageCollection.prototype={containsImageIndex:function(a){return a>=this.firstgid&&athis.right||b>this.bottom)},intersects:function(a,b,c,d){return c<=this.worldX?!1:d<=this.worldY?!1:a>=this.worldX+this.width?!1:b>=this.worldY+this.height?!1:!0},setCollisionCallback:function(a,b){this.collisionCallback=a,this.collisionCallbackContext=b},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(a,b,c,d){this.collideLeft=a,this.collideRight=b,this.collideUp=c,this.collideDown=d,this.faceLeft=a,this.faceRight=b,this.faceTop=c,this.faceBottom=d},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(a,b){return a&&b?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:a?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:b?this.faceTop||this.faceBottom||this.faceLeft||this.faceRight:!1},copy:function(a){this.index=a.index,this.alpha=a.alpha,this.properties=a.properties,this.collideUp=a.collideUp,this.collideDown=a.collideDown,this.collideLeft=a.collideLeft,this.collideRight=a.collideRight,this.collisionCallback=a.collisionCallback,this.collisionCallbackContext=a.collisionCallbackContext}},c.Tile.prototype.constructor=c.Tile,Object.defineProperty(c.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(c.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(c.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(c.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(c.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(c.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),c.Tilemap=function(a,b,d,e,f,g){this.game=a,this.key=b;var h=c.TilemapParser.parse(this.game,b,d,e,f,g);null!==h&&(this.width=h.width,this.height=h.height,this.tileWidth=h.tileWidth,this.tileHeight=h.tileHeight,this.orientation=h.orientation,this.format=h.format,this.version=h.version,this.properties=h.properties,this.widthInPixels=h.widthInPixels,this.heightInPixels=h.heightInPixels,this.layers=h.layers,this.tilesets=h.tilesets,this.imagecollections=h.imagecollections,this.tiles=h.tiles,this.objects=h.objects,this.collideIndexes=[],this.collision=h.collision,this.images=h.images,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},c.Tilemap.CSV=0,c.Tilemap.TILED_JSON=1,c.Tilemap.NORTH=0,c.Tilemap.EAST=1,c.Tilemap.SOUTH=2,c.Tilemap.WEST=3,c.Tilemap.prototype={create:function(a,b,c,d,e,f){return void 0===f&&(f=this.game.world),this.width=b,this.height=c,this.setTileSize(d,e),this.layers.length=0,this.createBlankLayer(a,b,c,d,e,f)},setTileSize:function(a,b){this.tileWidth=a,this.tileHeight=b,this.widthInPixels=this.width*a,this.heightInPixels=this.height*b},addTilesetImage:function(a,b,d,e,f,g,h){if(void 0===a)return null;void 0===d&&(d=this.tileWidth),void 0===e&&(e=this.tileHeight),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=0),0===d&&(d=32),0===e&&(e=32);var i=null;if((void 0===b||null===b)&&(b=a),b instanceof c.BitmapData)i=b.canvas;else{if(!this.game.cache.checkImageKey(b))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+b+'"'),null;i=this.game.cache.getImage(b)}var j=this.getTilesetIndex(a);if(null===j&&this.format===c.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+b+'"'),null;if(this.tilesets[j])return this.tilesets[j].setImage(i),this.tilesets[j];var k=new c.Tileset(a,h,d,e,f,g,{});k.setImage(i),this.tilesets.push(k);for(var l=this.tilesets.length-1,m=f,n=f,o=0,p=0,q=0,r=h;rl;l++)if(-1!==a.indexOf(this._results[l].index)){j=new g.customClass(this.game,this._results[l].worldX,this._results[l].worldY,d);for(var n in g)j[n]=g[n];f.add(j),k++}if(1===b.length)for(l=0;l1)for(l=0;lthis.layers.length?void console.warn("Tilemap.createLayer: Invalid layer ID given: "+f):e.add(new c.TilemapLayer(this.game,this,f,b,d))},createBlankLayer:function(a,b,d,e,f,g){if(void 0===g&&(g=this.game.world),null!==this.getLayerIndex(a))return void console.warn("Tilemap.createBlankLayer: Layer with matching name already exists");for(var h,i={name:a,x:0,y:0,width:b,height:d,widthInPixels:b*e,heightInPixels:d*f,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},j=[],k=0;d>k;k++){h=[];for(var l=0;b>l;l++)h.push(new c.Tile(i,-1,l,k,e,f));j.push(h)}i.data=j,this.layers.push(i),this.currentLayer=this.layers.length-1;var m=i.widthInPixels,n=i.heightInPixels;m>this.game.width&&(m=this.game.width),n>this.game.height&&(n=this.game.height);var j=new c.TilemapLayer(this.game,this,this.layers.length-1,m,n);return j.name=a,g.add(j)},getIndex:function(a,b){for(var c=0;ce;e++)this.layers[d].callbacks[a[e]]={callback:b,callbackContext:c}},setTileLocationCallback:function(a,b,c,d,e,f,g){if(g=this.getLayer(g),this.copy(a,b,c,d,g),!(this._results.length<2))for(var h=1;hb)){for(var f=a;b>=f;f++)this.setCollisionByIndex(f,c,d,!1);e&&this.calculateFaces(d)}},setCollisionByExclusion:function(a,b,c,d){void 0===b&&(b=!0),void 0===d&&(d=!0),c=this.getLayer(c);for(var e=0,f=this.tiles.length;f>e;e++)-1===a.indexOf(e)&&this.setCollisionByIndex(e,b,c,!1);d&&this.calculateFaces(c)},setCollisionByIndex:function(a,b,c,d){if(void 0===b&&(b=!0),void 0===c&&(c=this.currentLayer),void 0===d&&(d=!0),b)this.collideIndexes.push(a);else{var e=this.collideIndexes.indexOf(a);e>-1&&this.collideIndexes.splice(e,1)}for(var f=0;ff;f++)for(var h=0,i=this.layers[a].width;i>h;h++){var j=this.layers[a].data[f][h];j&&(b=this.getTileAbove(a,h,f),c=this.getTileBelow(a,h,f),d=this.getTileLeft(a,h,f),e=this.getTileRight(a,h,f),j.collides&&(j.faceTop=!0,j.faceBottom=!0,j.faceLeft=!0,j.faceRight=!0),b&&b.collides&&(j.faceTop=!1),c&&c.collides&&(j.faceBottom=!1),d&&d.collides&&(j.faceLeft=!1),e&&e.collides&&(j.faceRight=!1))}},getTileAbove:function(a,b,c){return c>0?this.layers[a].data[c-1][b]:null},getTileBelow:function(a,b,c){return c0?this.layers[a].data[c][b-1]:null},getTileRight:function(a,b,c){return b-1},removeTile:function(a,b,d){if(d=this.getLayer(d),a>=0&&a=0&&b=0&&b=0&&d-1?this.layers[e].data[d][b].setCollision(!0,!0,!0,!0):this.layers[e].data[d][b].resetCollision(),this.layers[e].dirty=!0,this.calculateFaces(e),this.layers[e].data[d][b]}return null},putTileWorldXY:function(a,b,c,d,e,f){return f=this.getLayer(f),b=this.game.math.snapToFloor(b,d)/d,c=this.game.math.snapToFloor(c,e)/e,this.putTile(a,b,c,f)},searchTileIndex:function(a,b,c,d){void 0===b&&(b=0),void 0===c&&(c=!1),d=this.getLayer(d);var e=0;if(c){for(var f=this.layers[d].height-1;f>=0;f--)for(var g=this.layers[d].width-1;g>=0;g--)if(this.layers[d].data[f][g].index===a){if(e===b)return this.layers[d].data[f][g];e++}}else for(var f=0;f=0&&a=0&&ba&&(a=0),0>b&&(b=0),c>this.layers[e].width&&(c=this.layers[e].width),d>this.layers[e].height&&(d=this.layers[e].height),this._results.length=0,this._results.push({x:a,y:b,width:c,height:d,layer:e});for(var f=b;b+d>f;f++)for(var g=a;a+c>g;g++)this._results.push(this.layers[e].data[f][g]);return this._results},paste:function(a,b,c,d){if(void 0===a&&(a=0),void 0===b&&(b=0),d=this.getLayer(d),c&&!(c.length<2)){for(var e=a-c[1].x,f=b-c[1].y,g=1;g1?this.debugMap[this.layers[this.currentLayer].data[c][d]]?b.push("background: "+this.debugMap[this.layers[this.currentLayer].data[c][d]]):b.push("background: #ffffff"):b.push("background: rgb(0, 0, 0)");a+="\n"}b[0]=a,console.log.apply(console,b)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},c.Tilemap.prototype.constructor=c.Tilemap,Object.defineProperty(c.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(a){a!==this.currentLayer&&this.setLayer(a)}}),c.TilemapLayer=function(a,b,d,e,f){e|=0,f|=0,c.Sprite.call(this,a,0,0),this.map=b,this.index=d,this.layer=b.layers[d],this.canvas=PIXI.CanvasPool.create(this,e,f),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas))),this.type=c.TILEMAPLAYER,this.physicsType=c.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!1,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:b.tileWidth,tileHeight:b.tileHeight,cw:b.tileWidth,ch:b.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this._results=[],a.device.canvasBitBltShift||(this.renderSettings.copyCanvas=c.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},c.TilemapLayer.prototype=Object.create(c.Sprite.prototype),c.TilemapLayer.prototype.constructor=c.TilemapLayer,c.TilemapLayer.prototype.preUpdateCore=c.Component.Core.preUpdate,c.TilemapLayer.sharedCopyCanvas=null,c.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=c.Canvas.create(2,2)),this.sharedCopyCanvas},c.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},c.TilemapLayer.prototype.postUpdate=function(){c.Component.FixedToCamera.postUpdate.call(this);var a=this.game.camera;this.scrollX=a.x*this.scrollFactorX/this.scale.x,this.scrollY=a.y*this.scrollFactorY/this.scale.y,this.render()},c.TilemapLayer.prototype.destroy=function(){PIXI.CanvasPool.remove(this),c.Component.Destroy.prototype.destroy.call(this)},c.TilemapLayer.prototype.resize=function(a,b){this.canvas.width=a,this.canvas.height=b,this.texture.frame.resize(a,b),this.texture.width=a,this.texture.height=b,this.texture.crop.width=a,this.texture.crop.height=b,this.texture.baseTexture.width=a,this.texture.baseTexture.height=b,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},c.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},c.TilemapLayer.prototype._fixX=function(a){return 0>a&&(a=0),1===this.scrollFactorX?a:this._scrollX+(a-this._scrollX/this.scrollFactorX)},c.TilemapLayer.prototype._unfixX=function(a){return 1===this.scrollFactorX?a:this._scrollX/this.scrollFactorX+(a-this._scrollX)},c.TilemapLayer.prototype._fixY=function(a){return 0>a&&(a=0),1===this.scrollFactorY?a:this._scrollY+(a-this._scrollY/this.scrollFactorY)},c.TilemapLayer.prototype._unfixY=function(a){return 1===this.scrollFactorY?a:this._scrollY/this.scrollFactorY+(a-this._scrollY)},c.TilemapLayer.prototype.getTileX=function(a){return Math.floor(this._fixX(a)/this._mc.tileWidth)},c.TilemapLayer.prototype.getTileY=function(a){return Math.floor(this._fixY(a)/this._mc.tileHeight)},c.TilemapLayer.prototype.getTileXY=function(a,b,c){return c.x=this.getTileX(a),c.y=this.getTileY(b),c},c.TilemapLayer.prototype.getRayCastTiles=function(a,b,c,d){b||(b=this.rayStepRate),void 0===c&&(c=!1),void 0===d&&(d=!1);var e=this.getTiles(a.x,a.y,a.width,a.height,c,d);if(0===e.length)return[];for(var f=a.coordinatesOnLine(b),g=[],h=0;hl;l++)for(var m=h;h+j>m;m++){var n=this.layer.data[l];n&&n[m]&&(g||n[m].isInteresting(e,f))&&this._results.push(n[m])}return this._results.slice()},c.TilemapLayer.prototype.resolveTileset=function(a){var b=this._mc.tilesets;if(2e3>a)for(;b.lengthb&&(g=-b,i=0),0>c&&(h=-c,j=0);var k=this.renderSettings.copyCanvas;if(k){(k.width=c&&(c=Math.max(0,c),e=Math.min(h-1,e)),f>=d&&(d=Math.max(0,d),f=Math.min(i-1,f)));var n,o,p,q,r,s,t=c*j-a,u=d*k-b,v=(c+(1<<20)*h)%h,w=(d+(1<<20)*i)%i;for(g.fillStyle=this.tileColor,q=w,s=f-d,o=u;s>=0;q++,s--,o+=k){q>=i&&(q-=i);var x=this.layer.data[q];for(p=v,r=e-c,n=t;r>=0;p++,r--,n+=j){p>=h&&(p-=h);var y=x[p];if(y&&!(y.index<0)){var z=y.index,A=l[z];void 0===A&&(A=this.resolveTileset(z)),y.alpha===m||this.debug||(g.globalAlpha=y.alpha,m=y.alpha),A?y.rotation||y.flipped?(g.save(),g.translate(n+y.centerX,o+y.centerY),g.rotate(y.rotation),y.flipped&&g.scale(-1,1),A.draw(g,-y.centerX,-y.centerY,z),g.restore()):A.draw(g,n,o,z):this.debugSettings.missingImageFill&&(g.fillStyle=this.debugSettings.missingImageFill,g.fillRect(n,o,j,k)),y.debug&&this.debugSettings.debuggedTileOverfill&&(g.fillStyle=this.debugSettings.debuggedTileOverfill,g.fillRect(n,o,j,k))}}}},c.TilemapLayer.prototype.renderDeltaScroll=function(a,b){var c=this._mc.scrollX,d=this._mc.scrollY,e=this.canvas.width,f=this.canvas.height,g=this._mc.tileWidth,h=this._mc.tileHeight,i=0,j=-g,k=0,l=-h; -if(0>a?(i=e+a,j=e-1):a>0&&(j=a),0>b?(k=f+b,l=f-1):b>0&&(l=b),this.shiftCanvas(this.context,a,b),i=Math.floor((i+c)/g),j=Math.floor((j+c)/g),k=Math.floor((k+d)/h),l=Math.floor((l+d)/h),j>=i){this.context.clearRect(i*g-c,0,(j-i+1)*g,f);var m=Math.floor((0+d)/h),n=Math.floor((f-1+d)/h);this.renderRegion(c,d,i,m,j,n)}if(l>=k){this.context.clearRect(0,k*h-d,e,(l-k+1)*h);var o=Math.floor((0+c)/g),p=Math.floor((e-1+c)/g);this.renderRegion(c,d,o,k,p,l)}},c.TilemapLayer.prototype.renderFull=function(){var a=this._mc.scrollX,b=this._mc.scrollY,c=this.canvas.width,d=this.canvas.height,e=this._mc.tileWidth,f=this._mc.tileHeight,g=Math.floor(a/e),h=Math.floor((c-1+a)/e),i=Math.floor(b/f),j=Math.floor((d-1+b)/f);this.context.clearRect(0,0,c,d),this.renderRegion(a,b,g,i,h,j)},c.TilemapLayer.prototype.render=function(){var a=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,a=!0);var b=this.canvas.width,c=this.canvas.height,d=0|this._scrollX,e=0|this._scrollY,f=this._mc,g=f.scrollX-d,h=f.scrollY-e;if(a||0!==g||0!==h||f.renderWidth!==b||f.renderHeight!==c)return this.context.save(),f.scrollX=d,f.scrollY=e,(f.renderWidth!==b||f.renderHeight!==c)&&(f.renderWidth=b,f.renderHeight=c),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(a=!0)),!a&&this.renderSettings.enableScrollDelta&&Math.abs(g)+Math.abs(h)=0;d++,f--,b+=o){d>=m&&(d-=m);var x=this.layer.data[d];for(c=v,e=q-p,a=t;e>=0;c++,e--,a+=n){c>=l&&(c-=l);var y=x[c];!y||y.index<0||!y.collides||(this.debugSettings.collidingTileOverfill&&(i.fillStyle=this.debugSettings.collidingTileOverfill,i.fillRect(a,b,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(i.beginPath(),y.faceTop&&(i.moveTo(a,b),i.lineTo(a+this._mc.cw,b)),y.faceBottom&&(i.moveTo(a,b+this._mc.ch),i.lineTo(a+this._mc.cw,b+this._mc.ch)),y.faceLeft&&(i.moveTo(a,b),i.lineTo(a,b+this._mc.ch)),y.faceRight&&(i.moveTo(a+this._mc.cw,b),i.lineTo(a+this._mc.cw,b+this._mc.ch)),i.stroke()))}}},Object.defineProperty(c.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(a){this._wrap=a,this.dirty=!0}}),Object.defineProperty(c.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(a){this._scrollX=a}}),Object.defineProperty(c.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(a){this._scrollY=a}}),Object.defineProperty(c.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(a){this._mc.cw=0|a,this.dirty=!0}}),Object.defineProperty(c.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(a){this._mc.ch=0|a,this.dirty=!0}}),c.TilemapParser={INSERT_NULL:!1,parse:function(a,b,d,e,f,g){if(void 0===d&&(d=32),void 0===e&&(e=32),void 0===f&&(f=10),void 0===g&&(g=10),void 0===b)return this.getEmptyData();if(null===b)return this.getEmptyData(d,e,f,g);var h=a.cache.getTilemapData(b);if(h){if(h.format===c.Tilemap.CSV)return this.parseCSV(b,h.data,d,e);if(!h.format||h.format===c.Tilemap.TILED_JSON)return this.parseTiledJSON(h.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+b)},parseCSV:function(a,b,d,e){var f=this.getEmptyData();b=b.trim();for(var g=[],h=b.split("\n"),i=h.length,j=0,k=0;kf;f+=4)j[f/4]=(h.charCodeAt(f)|h.charCodeAt(f+1)<<8|h.charCodeAt(f+2)<<16|h.charCodeAt(f+3)<<24)>>>0;g.data=j}var k={name:g.name,x:g.x,y:g.y,width:g.width,height:g.height,widthInPixels:g.width*a.tilewidth,heightInPixels:g.height*a.tileheight,alpha:g.opacity,visible:g.visible,properties:{},indexes:[],callbacks:[],bodies:[]};g.properties&&(k.properties=g.properties);for(var l,m,n,o,p=0,q=[],r=[],s=0,i=g.data.length;i>s;s++){if(l=0,m=!1,o=g.data[s],o>536870912)switch(n=0,o>2147483648&&(o-=2147483648,n+=4),o>1073741824&&(o-=1073741824,n+=2),o>536870912&&(o-=536870912,n+=1),n){case 5:l=Math.PI/2;break;case 6:l=Math.PI;break;case 3:l=3*Math.PI/2;break;case 4:l=0,m=!0;break;case 7:l=Math.PI/2,m=!0;break;case 2:l=Math.PI,m=!0;break;case 1:l=3*Math.PI/2,m=!0}o>0?(q.push(new c.Tile(k,o,p,r.length,a.tilewidth,a.tileheight)),q[q.length-1].rotation=l,q[q.length-1].flipped=m):c.TilemapParser.INSERT_NULL?q.push(null):q.push(new c.Tile(k,-1,p,r.length,a.tilewidth,a.tileheight)),p++,p===g.width&&(r.push(q),p=0,q=[])}k.data=r,e.push(k)}d.layers=e;for(var t=[],f=0;fE;E++)if(D.objects[E].gid){var F={gid:D.objects[E].gid,name:D.objects[E].name,type:D.objects[E].hasOwnProperty("type")?D.objects[E].type:"",x:D.objects[E].x,y:D.objects[E].y,visible:D.objects[E].visible,properties:D.objects[E].properties};D.objects[E].rotation&&(F.rotation=D.objects[E].rotation),B[D.name].push(F)}else if(D.objects[E].polyline){var F={name:D.objects[E].name,type:D.objects[E].type,x:D.objects[E].x,y:D.objects[E].y,width:D.objects[E].width,height:D.objects[E].height,visible:D.objects[E].visible,properties:D.objects[E].properties};D.objects[E].rotation&&(F.rotation=D.objects[E].rotation),F.polyline=[];for(var G=0;G=c)&&(c=32),(void 0===d||0>=d)&&(d=32),void 0===e&&(e=0),void 0===f&&(f=0),this.name=a,this.firstgid=0|b,this.tileWidth=0|c,this.tileHeight=0|d,this.tileMargin=0|e,this.tileSpacing=0|f,this.properties=g||{},this.image=null,this.rows=0,this.columns=0,this.total=0,this.drawCoords=[]},c.Tileset.prototype={draw:function(a,b,c,d){var e=d-this.firstgid<<1;e>=0&&e+1=this.firstgid&&a=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(var a=0;a=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._quantity>0&&this._counter>=this._quantity&&(this.on=!1));for(var a=this.children.length;a--;)this.children[a].exists&&this.children[a].update()},c.Particles.Arcade.Emitter.prototype.makeParticles=function(a,b,c,d,e){void 0===b&&(b=0),void 0===c&&(c=this.maxParticles),void 0===d&&(d=!1),void 0===e&&(e=!1);var f,g=0,h=a,i=b;for(this._frames=b,c>this.maxParticles&&(this.maxParticles=c);c>g;)Array.isArray(a)&&(h=this.game.rnd.pick(a)),Array.isArray(b)&&(i=this.game.rnd.pick(b)),f=new this.particleClass(this.game,0,0,h,i),this.game.physics.arcade.enable(f,!1),d?(f.body.checkCollision.any=!0,f.body.checkCollision.none=!1):f.body.checkCollision.none=!0,f.body.collideWorldBounds=e,f.body.skipQuadTree=!0,f.exists=!1,f.visible=!1,f.anchor.copyFrom(this.particleAnchor),this.add(f),g++;return this},c.Particles.Arcade.Emitter.prototype.kill=function(){this.on=!1,this.alive=!1,this.exists=!1},c.Particles.Arcade.Emitter.prototype.revive=function(){this.alive=!0,this.exists=!0},c.Particles.Arcade.Emitter.prototype.explode=function(a,b){this._flowTotal=0,this.start(!0,a,0,b,!1)},c.Particles.Arcade.Emitter.prototype.flow=function(a,b,c,d,e){(void 0===c||0===c)&&(c=1),void 0===d&&(d=-1),void 0===e&&(e=!0),c>this.maxParticles&&(c=this.maxParticles),this._counter=0,this._flowQuantity=c,this._flowTotal=d,e?(this.start(!0,a,b,c),this._counter+=c,this.on=!0,this._timer=this.game.time.time+b*this.game.time.slowMotion):this.start(!1,a,b,c)},c.Particles.Arcade.Emitter.prototype.start=function(a,b,c,d,e){if(void 0===a&&(a=!0),void 0===b&&(b=0),(void 0===c||null===c)&&(c=250),void 0===d&&(d=0),void 0===e&&(e=!1),d>this.maxParticles&&(d=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=b,this.frequency=c,a||e)for(var f=0;d>f;f++)this.emitParticle();else this.on=!0,this._quantity+=d,this._counter=0,this._timer=this.game.time.time+c*this.game.time.slowMotion},c.Particles.Arcade.Emitter.prototype.emitParticle=function(a,b,c,d){void 0===a&&(a=null),void 0===b&&(b=null);var e=this.getFirstExists(!1);if(null===e)return!1;var f=this.game.rnd;void 0!==c&&void 0!==d?e.loadTexture(c,d):void 0!==c&&e.loadTexture(c);var g=this.emitX,h=this.emitY;null!==a?g=a:this.width>1&&(g=f.between(this.left,this.right)),null!==b?h=b:this.height>1&&(h=f.between(this.top,this.bottom)),e.reset(g,h),e.angle=0,e.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(e):this.particleSendToBack&&this.sendToBack(e),this.autoScale?e.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?e.scale.set(f.realInRange(this.minParticleScale,this.maxParticleScale)):(this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y)&&e.scale.set(f.realInRange(this._minParticleScale.x,this._maxParticleScale.x),f.realInRange(this._minParticleScale.y,this._maxParticleScale.y)),void 0===d&&(Array.isArray(this._frames)?e.frame=this.game.rnd.pick(this._frames):e.frame=this._frames),this.autoAlpha?e.setAlphaData(this.alphaData):e.alpha=f.realInRange(this.minParticleAlpha,this.maxParticleAlpha),e.blendMode=this.blendMode;var i=e.body;return i.updateBounds(),i.bounce.copyFrom(this.bounce),i.drag.copyFrom(this.particleDrag),i.velocity.x=f.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),i.velocity.y=f.between(this.minParticleSpeed.y,this.maxParticleSpeed.y),i.angularVelocity=f.between(this.minRotation,this.maxRotation),i.gravity.y=this.gravity,i.angularDrag=this.angularDrag,e.onEmit(),!0},c.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),c.Group.prototype.destroy.call(this,!0,!1)},c.Particles.Arcade.Emitter.prototype.setSize=function(a,b){this.area.width=a,this.area.height=b},c.Particles.Arcade.Emitter.prototype.setXSpeed=function(a,b){a=a||0,b=b||0,this.minParticleSpeed.x=a,this.maxParticleSpeed.x=b},c.Particles.Arcade.Emitter.prototype.setYSpeed=function(a,b){a=a||0,b=b||0,this.minParticleSpeed.y=a,this.maxParticleSpeed.y=b},c.Particles.Arcade.Emitter.prototype.setRotation=function(a,b){a=a||0,b=b||0,this.minRotation=a,this.maxRotation=b},c.Particles.Arcade.Emitter.prototype.setAlpha=function(a,b,d,e,f){if(void 0===a&&(a=1),void 0===b&&(b=1),void 0===d&&(d=0),void 0===e&&(e=c.Easing.Linear.None),void 0===f&&(f=!1),this.minParticleAlpha=a,this.maxParticleAlpha=b,this.autoAlpha=!1,d>0&&a!==b){var g={v:a},h=this.game.make.tween(g).to({v:b},d,e);h.yoyo(f),this.alphaData=h.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}},c.Particles.Arcade.Emitter.prototype.setScale=function(a,b,d,e,f,g,h){if(void 0===a&&(a=1),void 0===b&&(b=1),void 0===d&&(d=1),void 0===e&&(e=1),void 0===f&&(f=0),void 0===g&&(g=c.Easing.Linear.None),void 0===h&&(h=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(a,d),this._maxParticleScale.set(b,e),this.autoScale=!1,f>0&&(a!==b||d!==e)){var i={x:a,y:d},j=this.game.make.tween(i).to({x:b,y:e},f,g);j.yoyo(h),this.scaleData=j.generateData(60),this.scaleData.reverse(),this.autoScale=!0}},c.Particles.Arcade.Emitter.prototype.at=function(a){a.center?(this.emitX=a.center.x,this.emitY=a.center.y):(this.emitX=a.world.x+a.anchor.x*a.width,this.emitY=a.world.y+a.anchor.y*a.height)},Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(a){this.area.width=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(a){this.area.height=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(a){this.emitX=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(a){this.emitY=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),c.Video=function(a,b,d){if(void 0===b&&(b=null),void 0===d&&(d=null),this.game=a,this.key=b,this.width=0,this.height=0,this.type=c.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new c.Signal,this.onChangeSource=new c.Signal,this.onComplete=new c.Signal,this.onAccess=new c.Signal,this.onError=new c.Signal,this.onTimeout=new c.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._autoplay=!1,b&&this.game.cache.checkVideoKey(b)){var e=this.game.cache.getVideo(b);e.isBlob?this.createVideoFromBlob(e.data):this.video=e.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else d&&this.createVideoFromURL(d,!1);this.video&&!d?(this.baseTexture=new PIXI.BaseTexture(this.video),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(PIXI.TextureCache.__default.baseTexture.source),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==b&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,c.BitmapData&&(this.snapshot=new c.BitmapData(this.game,"",this.width,this.height)),!this.game.device.cocoonJS&&(this.game.device.iOS||this.game.device.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock?this.setTouchLock():e&&(e.locked=!1)},c.Video.prototype={connectToMediaStream:function(a,b){return a&&b&&(this.video=a,this.videoStream=b,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(a,b,c){if(void 0===a&&(a=!1),void 0===b&&(b=null),void 0===c&&(c=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==b&&(this.video.width=b),null!==c&&(this.video.height=c),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:a,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(d){this.getUserMediaError(d)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(a){clearTimeout(this._timeOutID),this.onError.dispatch(this,a)},getUserMediaSuccess:function(a){clearTimeout(this._timeOutID),this.videoStream=a,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=a:this.video.src=window.URL&&window.URL.createObjectURL(a)||a;var b=this;this.video.onloadeddata=function(){function a(){if(c>0)if(b.video.videoWidth>0){var d=b.video.videoWidth,e=b.video.videoHeight;isNaN(b.video.videoHeight)&&(e=d/(4/3)),b.video.play(),b.isStreaming=!0,b.baseTexture.source=b.video,b.updateTexture(null,d,e),b.onAccess.dispatch(b)}else window.setTimeout(a,500);else console.warn("Unable to connect to video stream. Webcam error?");c--}var c=10;a()}},createVideoFromBlob:function(a){var b=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(a){b.updateTexture(a)},!0),this.video.src=window.URL.createObjectURL(a),this.video.canplay=!0,this},createVideoFromURL:function(a,b){return void 0===b&&(b=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,b&&this.video.setAttribute("autoplay","autoplay"),this.video.src=a,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=a,this},updateTexture:function(a,b,c){var d=!1;(void 0===b||null===b)&&(b=this.video.videoWidth,d=!0),(void 0===c||null===c)&&(c=this.video.videoHeight),this.width=b,this.height=c,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(b,c),this.texture.frame.resize(b,c),this.texture.width=b,this.texture.height=c,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(b,c),d&&null!==this.key&&(this.onChangeSource.dispatch(this,b,c),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(a,b){return void 0===a&&(a=!1),void 0===b&&(b=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this.video.addEventListener("ended",this.complete.bind(this),!0),a?this.video.loop="loop":this.video.loop="",this.video.playbackRate=b,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):this.video.addEventListener("playing",this.playHandler.bind(this),!0)),this.video.play(),this.onPlay.dispatch(this,a,b)),this},playHandler:function(){this.video.removeEventListener("playing",this.playHandler.bind(this)),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this.complete.bind(this),!0),this.video.removeEventListener("playing",this.playHandler.bind(this),!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(a){if(Array.isArray(a))for(var b=0;b0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming))},setTouchLock:function(){this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var a=this.game.cache.getVideo(this.key);a&&!a.isBlob&&(a.locked=!1)}return!0},grab:function(a,b,c){return void 0===a&&(a=!1),void 0===b&&(b=1),void 0===c&&(c=null),null===this.snapshot?void console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable"):(a&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,b,c),this.snapshot)},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(c.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(a){this.video.currentTime=a}}),Object.defineProperty(c.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(c.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(c.Video.prototype,"mute",{get:function(){return this._muted},set:function(a){if(a=a||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(c.Video.prototype,"paused",{get:function(){return this._paused},set:function(a){if(a=a||null,!this.touchLocked)if(a){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(c.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(a){0>a?a=0:a>1&&(a=1),this.video&&(this.video.volume=a)}}),Object.defineProperty(c.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(a){this.video&&(this.video.playbackRate=a)}}),Object.defineProperty(c.Video.prototype,"loop",{get:function(){return this.video?this.video.loop:!1},set:function(a){a&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(c.Video.prototype,"playing",{get:function(){return!(this.video.paused&&this.video.ended)}}),c.Video.prototype.constructor=c.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=c.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=c.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new PIXI.Matrix),void 0===PIXI.RenderTexture.tempMatrix&&(PIXI.RenderTexture.tempMatrix=new PIXI.Matrix),PIXI.Graphics&&void 0===PIXI.Graphics.POLY&&(PIXI.Graphics.POLY=c.POLYGON,PIXI.Graphics.RECT=c.RECTANGLE,PIXI.Graphics.CIRC=c.CIRCLE,PIXI.Graphics.ELIP=c.ELLIPSE,PIXI.Graphics.RREC=c.ROUNDEDRECTANGLE),PIXI.TextureSilentFail=!0,"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=c),exports.Phaser=c):"undefined"!=typeof define&&define.amd?define("Phaser",function(){return b.Phaser=c}()):b.Phaser=c,c}.call(this); +(function(){var a=this,b=b||{};return b.game=null,b.WEBGL_RENDERER=0,b.CANVAS_RENDERER=1,b.VERSION="v2.2.9",b._UID=0,"undefined"!=typeof Float32Array?(b.Float32Array=Float32Array,b.Uint16Array=Uint16Array,b.Uint32Array=Uint32Array,b.ArrayBuffer=ArrayBuffer):(b.Float32Array=Array,b.Uint16Array=Array),b.PI_2=2*Math.PI,b.RAD_TO_DEG=180/Math.PI,b.DEG_TO_RAD=Math.PI/180,b.RETINA_PREFIX="@2x",b.DisplayObject=function(){this.position=new b.Point(0,0),this.scale=new b.Point(1,1),this.pivot=new b.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.stage=null,this.worldAlpha=1,this.worldTransform=new b.Matrix,this.worldPosition=new b.Point(0,0),this.worldScale=new b.Point(1,1),this.worldRotation=0,this._sr=0,this._cr=1,this.filterArea=null,this._bounds=new b.Rectangle(0,0,1,1),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},b.DisplayObject.prototype.constructor=b.DisplayObject,b.DisplayObject.prototype.destroy=function(){if(this.children){for(var a=this.children.length;a--;)this.children[a].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.stage=null,this.worldTransform=null,this.filterArea=null,this._bounds=null,this._currentBounds=null,this._mask=null,this.renderable=!1,this._destroyCachedSprite()},Object.defineProperty(b.DisplayObject.prototype,"worldVisible",{get:function(){var a=this;do{if(!a.visible)return!1;a=a.parent}while(a);return!0}}),Object.defineProperty(b.DisplayObject.prototype,"mask",{get:function(){return this._mask},set:function(a){this._mask&&(this._mask.isMask=!1),this._mask=a,this._mask&&(this._mask.isMask=!0)}}),Object.defineProperty(b.DisplayObject.prototype,"filters",{get:function(){return this._filters},set:function(a){if(a){for(var c=[],d=0;d=0&&b<=this.children.length)return a.parent&&a.parent.removeChild(a),a.parent=this,this.children.splice(b,0,a),this.stage&&a.setStageReference(this.stage),a;throw new Error(a+"addChildAt: The index "+b+" supplied is out of bounds "+this.children.length)},b.DisplayObjectContainer.prototype.swapChildren=function(a,b){if(a!==b){var c=this.getChildIndex(a),d=this.getChildIndex(b);if(0>c||0>d)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[c]=b,this.children[d]=a}},b.DisplayObjectContainer.prototype.getChildIndex=function(a){var b=this.children.indexOf(a);if(-1===b)throw new Error("The supplied DisplayObject must be a child of the caller");return b},b.DisplayObjectContainer.prototype.setChildIndex=function(a,b){if(0>b||b>=this.children.length)throw new Error("The supplied index is out of bounds");var c=this.getChildIndex(a);this.children.splice(c,1),this.children.splice(b,0,a)},b.DisplayObjectContainer.prototype.getChildAt=function(a){if(0>a||a>=this.children.length)throw new Error("getChildAt: Supplied index "+a+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[a]},b.DisplayObjectContainer.prototype.removeChild=function(a){var b=this.children.indexOf(a);if(-1!==b)return this.removeChildAt(b)},b.DisplayObjectContainer.prototype.removeChildAt=function(a){var b=this.getChildAt(a);return this.stage&&b.removeStageReference(),b.parent=void 0,this.children.splice(a,1),b},b.DisplayObjectContainer.prototype.removeChildren=function(a,b){var c=a||0,d="number"==typeof b?b:this.children.length,e=d-c;if(e>0&&d>=e){for(var f=this.children.splice(c,e),g=0;gj;j++){var l=this.children[j];l.visible&&(i=!0,a=this.children[j].getBounds(),e=ec?g:c,h=h>d?h:d)}if(!i)return b.EmptyRectangle;var m=this._bounds;return m.x=e,m.y=f,m.width=g-e,m.height=h-f,m},b.DisplayObjectContainer.prototype.getLocalBounds=function(){var a=this.worldTransform;this.worldTransform=b.identityMatrix;for(var c=0,d=this.children.length;d>c;c++)this.children[c].updateTransform();var e=this.getBounds();return this.worldTransform=a,e},b.DisplayObjectContainer.prototype.setStageReference=function(a){this.stage=a;for(var b=0;bi){i*=-1;var s=d;d=-e,e=-s}if(0>l){l*=-1;var s=f;f=-g,g=-s}q=i*e+m,o=i*d+m,r=l*g+n,p=l*f+n}else{var t=i*e+k*g+m,u=l*g+j*e+n,v=i*d+k*g+m,w=l*g+j*d+n,x=i*d+k*f+m,y=l*f+j*d+n,z=i*e+k*f+m,A=l*f+j*e+n;q=q>t?t:q,q=q>v?v:q,q=q>x?x:q,q=q>z?z:q,r=r>u?u:r,r=r>w?w:r,r=r>y?y:r,r=r>A?A:r,o=t>o?t:o,o=v>o?v:o,o=x>o?x:o,o=z>o?z:o,p=u>p?u:p,p=w>p?w:p,p=y>p?y:p,p=A>p?A:p}var B=this._bounds;return B.x=q,B.width=o-q,B.y=r,B.height=p-r,this._currentBounds=B,B},b.Sprite.prototype._renderWebGL=function(a,b){if(this.visible&&!(this.alpha<=0)&&this.renderable){var c=this.worldTransform;if(b&&(c=b),this._mask||this._filters){var d=a.spriteBatch;this._filters&&(d.flush(),a.filterManager.pushFilter(this._filterBlock)),this._mask&&(d.stop(),a.maskManager.pushMask(this.mask,a),d.start()),d.render(this);for(var e=0;e>16&255)/255,(a>>8&255)/255,(255&a)/255]},b.rgb2hex=function(a){return(255*a[0]<<16)+(255*a[1]<<8)+255*a[2]},b.canUseNewCanvasBlendModes=function(){if(void 0===document)return!1;var a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/",c="AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",d=new Image;d.src=a+"AP804Oa6"+c;var e=new Image;e.src=a+"/wCKxvRF"+c;var f=b.CanvasPool.create(this,6,1),g=f.getContext("2d");if(g.globalCompositeOperation="multiply",g.drawImage(d,0,0),g.drawImage(e,2,0),!g.getImageData(2,0,1,1))return!1;var h=g.getImageData(2,0,1,1).data;return b.CanvasPool.remove(this),255===h[0]&&0===h[1]&&0===h[2]},b.getNextPowerOfTwo=function(a){if(a>0&&0===(a&a-1))return a;for(var b=1;a>b;)b<<=1;return b},b.isPowerOfTwo=function(a,b){return a>0&&0===(a&a-1)&&b>0&&0===(b&b-1)},b.CanvasPool={create:function(a,c,d){var e,f=b.CanvasPool.getFirst();if(-1===f){var g={parent:a,canvas:document.createElement("canvas")};b.CanvasPool.pool.push(g),e=g.canvas}else b.CanvasPool.pool[f].parent=a,e=b.CanvasPool.pool[f].canvas;return void 0!==c&&(e.width=c,e.height=d),e},getFirst:function(){for(var a=b.CanvasPool.pool,c=0;cd;d+=6,e+=4)this.indices[d+0]=e+0,this.indices[d+1]=e+1,this.indices[d+2]=e+2,this.indices[d+3]=e+0,this.indices[d+4]=e+2,this.indices[d+5]=e+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.dirty=!0,this.textures=[],this.blendModes=[],this.shaders=[],this.sprites=[],this.defaultShader=new b.AbstractFilter(["precision lowp float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;","}"])},b.WebGLSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW),this.currentBlendMode=99999;var c=new b.PixiShader(a);c.fragmentSrc=this.defaultShader.fragmentSrc,c.uniforms={},c.init(),this.defaultShader.shaders[a.id]=c},b.WebGLSpriteBatch.prototype.begin=function(a){this.renderSession=a,this.shader=this.renderSession.shaderManager.defaultShader,this.start()},b.WebGLSpriteBatch.prototype.end=function(){this.flush()},b.WebGLSpriteBatch.prototype.render=function(a,b){var c=a.texture,d=a.worldTransform;b&&(d=b),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture);var e=c._uvs;if(e){var f,g,h,i,j=a.anchor.x,k=a.anchor.y;if(c.trim){var l=c.trim;g=l.x-j*l.width,f=g+c.crop.width,i=l.y-k*l.height,h=i+c.crop.height}else f=c.frame.width*(1-j),g=c.frame.width*-j,h=c.frame.height*(1-k),i=c.frame.height*-k;var m=4*this.currentBatchSize*this.vertSize,n=c.baseTexture.resolution,o=d.a/n,p=d.b/n,q=d.c/n,r=d.d/n,s=d.tx,t=d.ty,u=this.colors,v=this.positions;this.renderSession.roundPixels?(v[m]=o*g+q*i+s|0,v[m+1]=r*i+p*g+t|0,v[m+5]=o*f+q*i+s|0,v[m+6]=r*i+p*f+t|0,v[m+10]=o*f+q*h+s|0,v[m+11]=r*h+p*f+t|0,v[m+15]=o*g+q*h+s|0,v[m+16]=r*h+p*g+t|0):(v[m]=o*g+q*i+s,v[m+1]=r*i+p*g+t,v[m+5]=o*f+q*i+s,v[m+6]=r*i+p*f+t,v[m+10]=o*f+q*h+s,v[m+11]=r*h+p*f+t,v[m+15]=o*g+q*h+s,v[m+16]=r*h+p*g+t),v[m+2]=e.x0,v[m+3]=e.y0,v[m+7]=e.x1,v[m+8]=e.y1,v[m+12]=e.x2,v[m+13]=e.y2,v[m+17]=e.x3,v[m+18]=e.y3;var w=a.tint;u[m+4]=u[m+9]=u[m+14]=u[m+19]=(w>>16)+(65280&w)+((255&w)<<16)+(255*a.worldAlpha<<24),this.sprites[this.currentBatchSize++]=a}},b.WebGLSpriteBatch.prototype.renderTilingSprite=function(a){var c=a.tilingTexture;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture),a._uvs||(a._uvs=new b.TextureUvs);var d=a._uvs,e=c.baseTexture.width,f=c.baseTexture.height;a.tilePosition.x%=e*a.tileScaleOffset.x,a.tilePosition.y%=f*a.tileScaleOffset.y;var g=a.tilePosition.x/(e*a.tileScaleOffset.x),h=a.tilePosition.y/(f*a.tileScaleOffset.y),i=a.width/e/(a.tileScale.x*a.tileScaleOffset.x),j=a.height/f/(a.tileScale.y*a.tileScaleOffset.y);d.x0=0-g,d.y0=0-h,d.x1=1*i-g,d.y1=0-h,d.x2=1*i-g,d.y2=1*j-h,d.x3=0-g,d.y3=1*j-h;var k=a.tint,l=(k>>16)+(65280&k)+((255&k)<<16)+(255*a.worldAlpha<<24),m=this.positions,n=this.colors,o=a.width,p=a.height,q=a.anchor.x,r=a.anchor.y,s=o*(1-q),t=o*-q,u=p*(1-r),v=p*-r,w=4*this.currentBatchSize*this.vertSize,x=c.baseTexture.resolution,y=a.worldTransform,z=y.a/x,A=y.b/x,B=y.c/x,C=y.d/x,D=y.tx,E=y.ty;m[w++]=z*t+B*v+D,m[w++]=C*v+A*t+E,m[w++]=d.x0,m[w++]=d.y0,n[w++]=l,m[w++]=z*s+B*v+D,m[w++]=C*v+A*s+E,m[w++]=d.x1,m[w++]=d.y1,n[w++]=l,m[w++]=z*s+B*u+D,m[w++]=C*u+A*s+E,m[w++]=d.x2,m[w++]=d.y2,n[w++]=l,m[w++]=z*t+B*u+D,m[w++]=C*u+A*t+E,m[w++]=d.x3,m[w++]=d.y3,n[w++]=l,this.sprites[this.currentBatchSize++]=a},b.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a,c=this.gl;if(this.dirty){this.dirty=!1,c.activeTexture(c.TEXTURE0),c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a=this.defaultShader.shaders[c.id];var d=4*this.vertSize;c.vertexAttribPointer(a.aVertexPosition,2,c.FLOAT,!1,d,0),c.vertexAttribPointer(a.aTextureCoord,2,c.FLOAT,!1,d,8),c.vertexAttribPointer(a.colorAttribute,4,c.UNSIGNED_BYTE,!0,d,16)}if(this.currentBatchSize>.5*this.size)c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices);else{var e=this.positions.subarray(0,4*this.currentBatchSize*this.vertSize);c.bufferSubData(c.ARRAY_BUFFER,0,e)}for(var f,g,h,i,j=0,k=0,l=null,m=this.renderSession.blendModeManager.currentBlendMode,n=null,o=!1,p=!1,q=0,r=this.currentBatchSize;r>q;q++){i=this.sprites[q],f=i.tilingTexture?i.tilingTexture.baseTexture:i.texture.baseTexture,g=i.blendMode,h=i.shader||this.defaultShader,o=m!==g,p=n!==h;var s=f.skipRender;if(s&&i.children.length>0&&(s=!1),(l!==f&&!s||o||p)&&(this.renderBatch(l,j,k),k=q,j=0,l=f,o&&(m=g,this.renderSession.blendModeManager.setBlendMode(m)),p)){n=h,a=n.shaders[c.id],a||(a=new b.PixiShader(c),a.fragmentSrc=n.fragmentSrc,a.uniforms=n.uniforms,a.init(),n.shaders[c.id]=a),this.renderSession.shaderManager.setShader(a),a.dirty&&a.syncUniforms();var t=this.renderSession.projection;c.uniform2f(a.projectionVector,t.x,t.y);var u=this.renderSession.offset;c.uniform2f(a.offsetVector,u.x,u.y)}j++}this.renderBatch(l,j,k),this.currentBatchSize=0}},b.WebGLSpriteBatch.prototype.renderBatch=function(a,b,c){if(0!==b){var d=this.gl;if(a._dirty[d.id]){if(!this.renderSession.renderer.updateTexture(a))return}else d.bindTexture(d.TEXTURE_2D,a._glTextures[d.id]);d.drawElements(d.TRIANGLES,6*b,d.UNSIGNED_SHORT,6*c*2),this.renderSession.drawCount++}},b.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},b.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},b.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},b.WebGLFastSpriteBatch=function(a){this.vertSize=10,this.maxSize=6e3,this.size=this.maxSize;var c=4*this.size*this.vertSize,d=6*this.maxSize;this.vertices=new b.Float32Array(c),this.indices=new b.Uint16Array(d),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var e=0,f=0;d>e;e+=6,f+=4)this.indices[e+0]=f+0,this.indices[e+1]=f+1,this.indices[e+2]=f+2,this.indices[e+3]=f+0,this.indices[e+4]=f+2,this.indices[e+5]=f+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.currentBlendMode=0,this.renderSession=null,this.shader=null,this.matrix=null,this.setContext(a)},b.WebGLFastSpriteBatch.prototype.constructor=b.WebGLFastSpriteBatch,b.WebGLFastSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW)},b.WebGLFastSpriteBatch.prototype.begin=function(a,b){this.renderSession=b,this.shader=this.renderSession.shaderManager.fastShader,this.matrix=a.worldTransform.toArray(!0),this.start()},b.WebGLFastSpriteBatch.prototype.end=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.render=function(a){var b=a.children,c=b[0];if(c.texture._uvs){this.currentBaseTexture=c.texture.baseTexture,c.blendMode!==this.renderSession.blendModeManager.currentBlendMode&&(this.flush(),this.renderSession.blendModeManager.setBlendMode(c.blendMode));for(var d=0,e=b.length;e>d;d++)this.renderSprite(b[d]);this.flush()}},b.WebGLFastSpriteBatch.prototype.renderSprite=function(a){if(a.visible&&(a.texture.baseTexture===this.currentBaseTexture||a.texture.baseTexture.skipRender||(this.flush(),this.currentBaseTexture=a.texture.baseTexture,a.texture._uvs))){var b,c,d,e,f,g,h,i,j=this.vertices;if(b=a.texture._uvs,c=a.texture.frame.width,d=a.texture.frame.height,a.texture.trim){var k=a.texture.trim;f=k.x-a.anchor.x*k.width,e=f+a.texture.crop.width,h=k.y-a.anchor.y*k.height,g=h+a.texture.crop.height}else e=a.texture.frame.width*(1-a.anchor.x),f=a.texture.frame.width*-a.anchor.x,g=a.texture.frame.height*(1-a.anchor.y),h=a.texture.frame.height*-a.anchor.y;i=4*this.currentBatchSize*this.vertSize,j[i++]=f,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x0,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x1,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x2,j[i++]=b.y2,j[i++]=a.alpha,j[i++]=f,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x3,j[i++]=b.y3,j[i++]=a.alpha,this.currentBatchSize++,this.currentBatchSize>=this.size&&this.flush()}},b.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a=this.gl;if(this.currentBaseTexture._glTextures[a.id]||this.renderSession.renderer.updateTexture(this.currentBaseTexture,a),a.bindTexture(a.TEXTURE_2D,this.currentBaseTexture._glTextures[a.id]),this.currentBatchSize>.5*this.size)a.bufferSubData(a.ARRAY_BUFFER,0,this.vertices);else{var b=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);a.bufferSubData(a.ARRAY_BUFFER,0,b)}a.drawElements(a.TRIANGLES,6*this.currentBatchSize,a.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}},b.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.start=function(){var a=this.gl;a.activeTexture(a.TEXTURE0),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var b=this.renderSession.projection;a.uniform2f(this.shader.projectionVector,b.x,b.y),a.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var c=4*this.vertSize;a.vertexAttribPointer(this.shader.aVertexPosition,2,a.FLOAT,!1,c,0),a.vertexAttribPointer(this.shader.aPositionCoord,2,a.FLOAT,!1,c,8),a.vertexAttribPointer(this.shader.aScale,2,a.FLOAT,!1,c,16),a.vertexAttribPointer(this.shader.aRotation,1,a.FLOAT,!1,c,24),a.vertexAttribPointer(this.shader.aTextureCoord,2,a.FLOAT,!1,c,28),a.vertexAttribPointer(this.shader.colorAttribute,1,a.FLOAT,!1,c,36)},b.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},b.WebGLFilterManager.prototype.constructor=b.WebGLFilterManager,b.WebGLFilterManager.prototype.setContext=function(a){this.gl=a,this.texturePool=[],this.initShaderBuffers()},b.WebGLFilterManager.prototype.begin=function(a,b){this.renderSession=a,this.defaultShader=a.shaderManager.defaultShader;var c=this.renderSession.projection;this.width=2*c.x,this.height=2*-c.y,this.buffer=b},b.WebGLFilterManager.prototype.pushFilter=function(a){var c=this.gl,d=this.renderSession.projection,e=this.renderSession.offset;a._filterArea=a.target.filterArea||a.target.getBounds(),a._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new b.WebGLStencilManager,this.renderSession.stencilManager.setContext(c),c.disable(c.STENCIL_TEST),this.filterStack.push(a);var f=a.filterPasses[0];this.offsetX+=a._filterArea.x,this.offsetY+=a._filterArea.y;var g=this.texturePool.pop();g?g.resize(this.width,this.height):g=new b.FilterTexture(this.gl,this.width,this.height),c.bindTexture(c.TEXTURE_2D,g.texture);var h=a._filterArea,i=f.padding;h.x-=i,h.y-=i,h.width+=2*i,h.height+=2*i,h.x<0&&(h.x=0),h.width>this.width&&(h.width=this.width),h.y<0&&(h.y=0),h.height>this.height&&(h.height=this.height),c.bindFramebuffer(c.FRAMEBUFFER,g.frameBuffer),c.viewport(0,0,h.width,h.height),d.x=h.width/2,d.y=-h.height/2,e.x=-h.x,e.y=-h.y,c.colorMask(!0,!0,!0,!0),c.clearColor(0,0,0,0),c.clear(c.COLOR_BUFFER_BIT),a._glFilterTexture=g},b.WebGLFilterManager.prototype.popFilter=function(){var a=this.gl,c=this.filterStack.pop(),d=c._filterArea,e=c._glFilterTexture,f=this.renderSession.projection,g=this.renderSession.offset;if(c.filterPasses.length>1){a.viewport(0,0,d.width,d.height),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=d.height,this.vertexArray[2]=d.width,this.vertexArray[3]=d.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=d.width,this.vertexArray[7]=0,a.bufferSubData(a.ARRAY_BUFFER,0,this.vertexArray),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=d.width/this.width,this.uvArray[5]=d.height/this.height,this.uvArray[6]=d.width/this.width,this.uvArray[7]=d.height/this.height,a.bufferSubData(a.ARRAY_BUFFER,0,this.uvArray);var h=e,i=this.texturePool.pop();i||(i=new b.FilterTexture(this.gl,this.width,this.height)),i.resize(this.width,this.height),a.bindFramebuffer(a.FRAMEBUFFER,i.frameBuffer),a.clear(a.COLOR_BUFFER_BIT),a.disable(a.BLEND);for(var j=0;j0?a.enable(a.STENCIL_TEST):a.disable(a.STENCIL_TEST),this.applyFilterPass(m,d,n,o),this.texturePool.push(e),c._glFilterTexture=null},b.WebGLFilterManager.prototype.applyFilterPass=function(a,c,d,e){var f=this.gl,g=a.shaders[f.id];g||(g=new b.PixiShader(f),g.fragmentSrc=a.fragmentSrc,g.uniforms=a.uniforms,g.init(),a.shaders[f.id]=g),this.renderSession.shaderManager.setShader(g),f.uniform2f(g.projectionVector,d/2,-e/2),f.uniform2f(g.offsetVector,0,0),a.uniforms.dimensions&&(a.uniforms.dimensions.value[0]=this.width,a.uniforms.dimensions.value[1]=this.height,a.uniforms.dimensions.value[2]=this.vertexArray[0],a.uniforms.dimensions.value[3]=this.vertexArray[5]),g.syncUniforms(),f.bindBuffer(f.ARRAY_BUFFER,this.vertexBuffer),f.vertexAttribPointer(g.aVertexPosition,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ARRAY_BUFFER,this.uvBuffer),f.vertexAttribPointer(g.aTextureCoord,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ARRAY_BUFFER,this.colorBuffer),f.vertexAttribPointer(g.colorAttribute,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ELEMENT_ARRAY_BUFFER,this.indexBuffer),f.drawElements(f.TRIANGLES,6,f.UNSIGNED_SHORT,0),this.renderSession.drawCount++},b.WebGLFilterManager.prototype.initShaderBuffers=function(){var a=this.gl;this.vertexBuffer=a.createBuffer(),this.uvBuffer=a.createBuffer(),this.colorBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),this.vertexArray=new b.Float32Array([0,0,1,0,0,1,1,1]),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertexArray,a.STATIC_DRAW),this.uvArray=new b.Float32Array([0,0,1,0,0,1,1,1]),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),a.bufferData(a.ARRAY_BUFFER,this.uvArray,a.STATIC_DRAW),this.colorArray=new b.Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),a.bindBuffer(a.ARRAY_BUFFER,this.colorBuffer),a.bufferData(a.ARRAY_BUFFER,this.colorArray,a.STATIC_DRAW),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),a.STATIC_DRAW)},b.WebGLFilterManager.prototype.destroy=function(){var a=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var b=0;b=0;a--){var c=this._glTextures[a],d=b.glContexts[a];d&&c&&d.deleteTexture(c)}this._glTextures.length=0,this.dirty()},b.BaseTexture.fromImage=function(a,c,d){var e=b.BaseTextureCache[a];if(void 0===c&&-1===a.indexOf("data:")&&(c=!0),!e){var f=new Image;c&&(f.crossOrigin=""),f.src=a,e=new b.BaseTexture(f,d),e.imageUrl=a,b.BaseTextureCache[a]=e,-1!==a.indexOf(b.RETINA_PREFIX+".")&&(e.resolution=2)}return e},b.BaseTexture.fromCanvas=function(a,c){a._pixiId||(a._pixiId="canvas_"+b.TextureCacheIdGenerator++),0===a.width&&(a.width=1),0===a.height&&(a.height=1);var d=b.BaseTextureCache[a._pixiId];return d||(d=new b.BaseTexture(a,c),b.BaseTextureCache[a._pixiId]=d),d},b.TextureCache={},b.FrameCache={},b.TextureSilentFail=!1,b.TextureCacheIdGenerator=0,b.Texture=function(a,c,d,e){this.noFrame=!1,c||(this.noFrame=!0,c=new b.Rectangle(0,0,1,1)),a instanceof b.Texture&&(a=a.baseTexture),this.baseTexture=a,this.frame=c,this.trim=e,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=d||new b.Rectangle(0,0,1,1),a.hasLoaded&&(this.noFrame&&(c=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(c))},b.Texture.prototype.constructor=b.Texture,b.Texture.prototype.onBaseTextureLoaded=function(){var a=this.baseTexture;this.noFrame&&(this.frame=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(this.frame)},b.Texture.prototype.destroy=function(a){a&&this.baseTexture.destroy(),this.valid=!1},b.Texture.prototype.setFrame=function(a){if(this.noFrame=!1,this.frame=a,this.width=a.width,this.height=a.height,this.crop.x=a.x,this.crop.y=a.y,this.crop.width=a.width,this.crop.height=a.height,!this.trim&&(a.x+a.width>this.baseTexture.width||a.y+a.height>this.baseTexture.height)){if(!b.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);return void(this.valid=!1)}this.valid=a&&a.width&&a.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()},b.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new b.TextureUvs);var a=this.crop,c=this.baseTexture.width,d=this.baseTexture.height;this._uvs.x0=a.x/c,this._uvs.y0=a.y/d,this._uvs.x1=(a.x+a.width)/c,this._uvs.y1=a.y/d,this._uvs.x2=(a.x+a.width)/c,this._uvs.y2=(a.y+a.height)/d,this._uvs.x3=a.x/c,this._uvs.y3=(a.y+a.height)/d},b.Texture.fromImage=function(a,c,d){var e=b.TextureCache[a];return e||(e=new b.Texture(b.BaseTexture.fromImage(a,c,d)),b.TextureCache[a]=e),e},b.Texture.fromFrame=function(a){var c=b.TextureCache[a];if(!c)throw new Error('The frameId "'+a+'" does not exist in the texture cache ');return c},b.Texture.fromCanvas=function(a,c){var d=b.BaseTexture.fromCanvas(a,c);return new b.Texture(d)},b.Texture.addTextureToCache=function(a,c){b.TextureCache[c]=a},b.Texture.removeTextureFromCache=function(a){var c=b.TextureCache[a];return delete b.TextureCache[a],delete b.BaseTextureCache[a],c},b.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},b.RenderTexture=function(a,c,d,e,f){if(this.width=a||100,this.height=c||100,this.resolution=f||1,this.frame=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.baseTexture=new b.BaseTexture,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=e||b.scaleModes.DEFAULT,this.baseTexture.hasLoaded=!0,b.Texture.call(this,this.baseTexture,new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution)),this.renderer=d||b.defaultRenderer,this.renderer.type===b.WEBGL_RENDERER){var g=this.renderer.gl;this.baseTexture._dirty[g.id]=!1,this.textureBuffer=new b.FilterTexture(g,this.width,this.height,this.baseTexture.scaleMode),this.baseTexture._glTextures[g.id]=this.textureBuffer.texture,this.render=this.renderWebGL,this.projection=new b.Point(.5*this.width,.5*-this.height)}else this.render=this.renderCanvas,this.textureBuffer=new b.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new Phaser.Matrix,this._updateUvs()},b.RenderTexture.prototype=Object.create(b.Texture.prototype),b.RenderTexture.prototype.constructor=b.RenderTexture,b.RenderTexture.prototype.resize=function(a,c,d){(a!==this.width||c!==this.height)&&(this.valid=a>0&&c>0,this.width=a,this.height=c,this.frame.width=this.crop.width=a*this.resolution,this.frame.height=this.crop.height=c*this.resolution,d&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===b.WEBGL_RENDERER&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},b.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===b.WEBGL_RENDERER&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},b.RenderTexture.prototype.renderWebGL=function(a,b,c){if(this.valid&&0!==a.alpha){var d=a.worldTransform;d.identity(),d.translate(0,2*this.projection.y),b&&d.append(b),d.scale(1,-1);for(var e=0;ea;a++)this.shaders[a].dirty=!0},b.Strip=function(a){b.DisplayObjectContainer.call(this),this.texture=a,this.uvs=new b.Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new b.Float32Array([0,0,100,0,100,100,0,100]),this.colors=new b.Float32Array([1,1,1,1]),this.indices=new b.Uint16Array([0,1,2,3]),this.dirty=!0,this.blendMode=b.blendModes.NORMAL,this.canvasPadding=0,this.drawMode=b.Strip.DrawModes.TRIANGLE_STRIP},b.Strip.prototype=Object.create(b.DisplayObjectContainer.prototype),b.Strip.prototype.constructor=b.Strip,b.Strip.prototype._renderWebGL=function(a){!this.visible||this.alpha<=0||(a.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(a),a.shaderManager.setShader(a.shaderManager.stripShader),this._renderStrip(a),a.spriteBatch.start())},b.Strip.prototype._initWebGL=function(a){var b=a.gl;this._vertexBuffer=b.createBuffer(),this._indexBuffer=b.createBuffer(),this._uvBuffer=b.createBuffer(),this._colorBuffer=b.createBuffer(),b.bindBuffer(b.ARRAY_BUFFER,this._vertexBuffer),b.bufferData(b.ARRAY_BUFFER,this.vertices,b.DYNAMIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._uvBuffer),b.bufferData(b.ARRAY_BUFFER,this.uvs,b.STATIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._colorBuffer),b.bufferData(b.ARRAY_BUFFER,this.colors,b.STATIC_DRAW),b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,this._indexBuffer),b.bufferData(b.ELEMENT_ARRAY_BUFFER,this.indices,b.STATIC_DRAW)},b.Strip.prototype._renderStrip=function(a){var c=a.gl,d=a.projection,e=a.offset,f=a.shaderManager.stripShader,g=this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?c.TRIANGLE_STRIP:c.TRIANGLES;a.blendModeManager.setBlendMode(this.blendMode),c.uniformMatrix3fv(f.translationMatrix,!1,this.worldTransform.toArray(!0)),c.uniform2f(f.projectionVector,d.x,-d.y),c.uniform2f(f.offsetVector,-e.x,-e.y),c.uniform1f(f.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferData(c.ARRAY_BUFFER,this.vertices,c.STATIC_DRAW),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.bufferData(c.ARRAY_BUFFER,this.uvs,c.STATIC_DRAW),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer),c.bufferData(c.ELEMENT_ARRAY_BUFFER,this.indices,c.STATIC_DRAW)):(c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),c.drawElements(g,this.indices.length,c.UNSIGNED_SHORT,0)},b.Strip.prototype._renderCanvas=function(a){var c=a.context,d=this.worldTransform;a.roundPixels?c.setTransform(d.a,d.b,d.c,d.d,0|d.tx,0|d.ty):c.setTransform(d.a,d.b,d.c,d.d,d.tx,d.ty),this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(c):this._renderCanvasTriangles(c)},b.Strip.prototype._renderCanvasTriangleStrip=function(a){var b=this.vertices,c=this.uvs,d=b.length/2;this.count++;for(var e=0;d-2>e;e++){var f=2*e;this._renderCanvasDrawTriangle(a,b,c,f,f+2,f+4)}},b.Strip.prototype._renderCanvasTriangles=function(a){var b=this.vertices,c=this.uvs,d=this.indices,e=d.length;this.count++;for(var f=0;e>f;f+=3){var g=2*d[f],h=2*d[f+1],i=2*d[f+2];this._renderCanvasDrawTriangle(a,b,c,g,h,i)}},b.Strip.prototype._renderCanvasDrawTriangle=function(a,b,c,d,e,f){var g=this.texture.baseTexture.source,h=this.texture.width,i=this.texture.height,j=b[d],k=b[e],l=b[f],m=b[d+1],n=b[e+1],o=b[f+1],p=c[d]*h,q=c[e]*h,r=c[f]*h,s=c[d+1]*i,t=c[e+1]*i,u=c[f+1]*i;if(this.canvasPadding>0){var v=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,x=(j+k+l)/3,y=(m+n+o)/3,z=j-x,A=m-y,B=Math.sqrt(z*z+A*A);j=x+z/B*(B+v),m=y+A/B*(B+w),z=k-x,A=n-y,B=Math.sqrt(z*z+A*A),k=x+z/B*(B+v),n=y+A/B*(B+w),z=l-x,A=o-y,B=Math.sqrt(z*z+A*A),l=x+z/B*(B+v),o=y+A/B*(B+w)}a.save(),a.beginPath(),a.moveTo(j,m),a.lineTo(k,n),a.lineTo(l,o),a.closePath(),a.clip();var C=p*t+s*r+q*u-t*r-s*q-p*u,D=j*t+s*l+k*u-t*l-s*k-j*u,E=p*k+j*r+q*l-k*r-j*q-p*l,F=p*t*l+s*k*r+j*q*u-j*t*r-s*q*l-p*k*u,G=m*t+s*o+n*u-t*o-s*n-m*u,H=p*n+m*r+q*o-n*r-m*q-p*o,I=p*t*o+s*n*r+m*q*u-m*t*r-s*q*o-p*n*u;a.transform(D/C,G/C,E/C,H/C,F/C,I/C),a.drawImage(g,0,0),a.restore()},b.Strip.prototype.renderStripFlat=function(a){var b=this.context,c=a.vertices,d=c.length/2;this.count++,b.beginPath();for(var e=1;d-2>e;e++){var f=2*e,g=c[f],h=c[f+2],i=c[f+4],j=c[f+1],k=c[f+3],l=c[f+5];b.moveTo(g,j),b.lineTo(h,k),b.lineTo(i,l)}b.fillStyle="#FF0000",b.fill(),b.closePath()},b.Strip.prototype.onTextureUpdate=function(){this.updateFrame=!0},b.Strip.prototype.getBounds=function(a){for(var c=a||this.worldTransform,d=c.a,e=c.b,f=c.c,g=c.d,h=c.tx,i=c.ty,j=-(1/0),k=-(1/0),l=1/0,m=1/0,n=this.vertices,o=0,p=n.length;p>o;o+=2){var q=n[o],r=n[o+1],s=d*q+f*r+h,t=g*r+e*q+i;l=l>s?s:l,m=m>t?t:m,j=s>j?s:j,k=t>k?t:k}if(l===-(1/0)||k===1/0)return b.EmptyRectangle;var u=this._bounds;return u.x=l,u.width=j-l,u.y=m,u.height=k-m,this._currentBounds=u,u},b.Strip.DrawModes={TRIANGLE_STRIP:0,TRIANGLES:1},b.Rope=function(a,c){b.Strip.call(this,a),this.points=c,this.vertices=new b.Float32Array(4*c.length),this.uvs=new b.Float32Array(4*c.length),this.colors=new b.Float32Array(2*c.length),this.indices=new b.Uint16Array(2*c.length),this.refresh()},b.Rope.prototype=Object.create(b.Strip.prototype),b.Rope.prototype.constructor=b.Rope,b.Rope.prototype.refresh=function(){var a=this.points;if(!(a.length<1)){var b=this.uvs,c=a[0],d=this.indices,e=this.colors;this.count-=.2,b[0]=0,b[1]=0,b[2]=0,b[3]=1,e[0]=1,e[1]=1,d[0]=0,d[1]=1;for(var f,g,h,i=a.length,j=1;i>j;j++)f=a[j],g=4*j,h=j/(i-1),j%2?(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1):(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1),g=2*j,e[g]=1,e[g+1]=1,g=2*j,d[g]=g,d[g+1]=g+1,c=f}},b.Rope.prototype.updateTransform=function(){var a=this.points;if(!(a.length<1)){var c,d=a[0],e={x:0,y:0};this.count-=.2;for(var f,g,h,i,j,k=this.vertices,l=a.length,m=0;l>m;m++)f=a[m],g=4*m,c=m1&&(h=1),i=Math.sqrt(e.x*e.x+e.y*e.y),j=this.texture.height/2,e.x/=i,e.y/=i,e.x*=j,e.y*=j,k[g]=f.x+e.x,k[g+1]=f.y+e.y,k[g+2]=f.x-e.x,k[g+3]=f.y-e.y,d=f;b.DisplayObjectContainer.prototype.updateTransform.call(this)}},b.Rope.prototype.setTexture=function(a){this.texture=a},b.TilingSprite=function(a,c,d){b.Sprite.call(this,a),this._width=c||128,this._height=d||128,this.tileScale=new b.Point(1,1),this.tileScaleOffset=new b.Point(1,1),this.tilePosition=new b.Point,this.renderable=!0,this.tint=16777215,this.textureDebug=!1,this.blendMode=b.blendModes.NORMAL,this.canvasBuffer=null,this.tilingTexture=null,this.tilePattern=null,this.refreshTexture=!0,this.frameWidth=0,this.frameHeight=0},b.TilingSprite.prototype=Object.create(b.Sprite.prototype),b.TilingSprite.prototype.constructor=b.TilingSprite,b.TilingSprite.prototype.setTexture=function(a){this.texture!==a&&(this.texture=a,this.refreshTexture=!0,this.cachedTint=16777215)},b.TilingSprite.prototype._renderWebGL=function(a){if(this.visible&&this.renderable&&0!==this.alpha){if(this._mask&&(a.spriteBatch.stop(),a.maskManager.pushMask(this.mask,a),a.spriteBatch.start()),this._filters&&(a.spriteBatch.flush(),a.filterManager.pushFilter(this._filterBlock)),this.refreshTexture){if(this.generateTilingTexture(!0,a),!this.tilingTexture)return;this.tilingTexture.needsUpdate&&(a.renderer.updateTexture(this.tilingTexture.baseTexture),this.tilingTexture.needsUpdate=!1)}a.spriteBatch.renderTilingSprite(this);for(var b=0;bn?n:x,x=x>p?p:x,x=x>r?r:x,x=x>t?t:x,y=y>o?o:y,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=n>v?n:v,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=o>w?o:w,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w;var z=this._bounds;return z.x=x,z.width=v-x,z.y=y,z.height=w-y,this._currentBounds=z,z},b.TilingSprite.prototype.destroy=function(){b.Sprite.prototype.destroy.call(this),this.canvasBuffer&&(this.canvasBuffer.destroy(),this.canvasBuffer=null),this.tileScale=null,this.tileScaleOffset=null,this.tilePosition=null,this.tilingTexture&&(this.tilingTexture.destroy(!0),this.tilingTexture=null)},Object.defineProperty(b.TilingSprite.prototype,"width",{get:function(){return this._width},set:function(a){this._width=a}}),Object.defineProperty(b.TilingSprite.prototype,"height",{get:function(){return this._height},set:function(a){this._height=a}}),"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=b),exports.PIXI=b):"undefined"!=typeof define&&define.amd?define("PIXI",function(){return a.PIXI=b}()):a.PIXI=b,b}).call(this),function(){function a(a,b){this._scaleFactor=a,this._deltaMode=b,this.originalEvent=null}var b=this,c=c||{VERSION:"2.4.5-dev",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,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},PIXI:PIXI||{}};if(Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)}),Function.prototype.bind||(Function.prototype.bind=function(){var a=Array.prototype.slice;return function(b){function c(){var f=e.concat(a.call(arguments));d.apply(this instanceof c?this:b,f)}var d=this,e=a.call(arguments,1);if("function"!=typeof d)throw new TypeError;return c.prototype=function f(a){return a&&(f.prototype=a),this instanceof f?void 0:new f}(d.prototype),c}}()),Array.isArray||(Array.isArray=function(a){return"[object Array]"==Object.prototype.toString.call(a)}),Array.prototype.forEach||(Array.prototype.forEach=function(a){"use strict";if(void 0===this||null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!=typeof a)throw new TypeError;for(var d=arguments.length>=2?arguments[1]:void 0,e=0;c>e;e++)e in b&&a.call(d,b[e],e,b)}),"function"!=typeof window.Uint32Array&&"object"!=typeof window.Uint32Array){var d=function(a){var b=new Array;window[a]=function(a){if("number"==typeof a){Array.call(this,a),this.length=a;for(var b=0;bf&&(a=a[g]);)g=c[f],f++;return a?a[d]:null},setProperty:function(a,b,c){for(var d=b.split("."),e=d.pop(),f=d.length,g=1,h=d[0];f>g&&(a=a[h]);)h=d[g],g++;return a&&(a[e]=c),a},chanceRoll:function(a){return void 0===a&&(a=50),a>0&&100*Math.random()<=a},randomChoice:function(a,b){return Math.random()<.5?a:b},parseDimension:function(a,b){var c=0,d=0;return"string"==typeof a?"%"===a.substr(-1)?(c=parseInt(a,10)/100,d=0===b?window.innerWidth*c:window.innerHeight*c):d=parseInt(a,10):d=a,d},pad:function(a,b,c,d){if(void 0===b)var b=0;if(void 0===c)var c=" ";if(void 0===d)var d=3;var e=0;if(b+1>=a.length)switch(d){case 1:a=new Array(b+1-a.length).join(c)+a;break;case 3:var f=Math.ceil((e=b-a.length)/2),g=e-f;a=new Array(g+1).join(c)+a+new Array(f+1).join(c);break;default:a+=new Array(b+1-a.length).join(c)}return a},isPlainObject:function(a){if("object"!=typeof a||a.nodeType||a===a.window)return!1;try{if(a.constructor&&!{}.hasOwnProperty.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(b){return!1}return!0},extend:function(){var a,b,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(b in a)d=h[b],e=a[b],h!==e&&(k&&e&&(c.Utils.isPlainObject(e)||(f=Array.isArray(e)))?(f?(f=!1,g=d&&Array.isArray(d)?d:[]):g=d&&c.Utils.isPlainObject(d)?d:{},h[b]=c.Utils.extend(k,g,e)):void 0!==e&&(h[b]=e));return h},mixinPrototype:function(a,b,c){void 0===c&&(c=!1);for(var d=Object.keys(b),e=0;e0&&(this._radius=.5*d),this.type=c.CIRCLE},c.Circle.prototype={circumference:function(){return 2*(Math.PI*this._radius)},random:function(a){void 0===a&&(a=new c.Point);var b=2*Math.PI*Math.random(),d=Math.random()+Math.random(),e=d>1?2-d:d,f=e*Math.cos(b),g=e*Math.sin(b);return a.x=this.x+f*this.radius,a.y=this.y+g*this.radius,a},getBounds:function(){return new c.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(a,b,c){return this.x=a,this.y=b,this._diameter=c,this._radius=.5*c,this},copyFrom:function(a){return this.setTo(a.x,a.y,a.diameter)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.diameter=this._diameter,a},distance:function(a,b){var d=c.Math.distance(this.x,this.y,a.x,a.y);return b?Math.round(d):d},clone:function(a){return void 0===a||null===a?a=new c.Circle(this.x,this.y,this.diameter):a.setTo(this.x,this.y,this.diameter),a},contains:function(a,b){return c.Circle.contains(this,a,b)},circumferencePoint:function(a,b,d){return c.Circle.circumferencePoint(this,a,b,d)},offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},c.Circle.prototype.constructor=c.Circle,Object.defineProperty(c.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(a){a>0&&(this._diameter=a,this._radius=.5*a)}}),Object.defineProperty(c.Circle.prototype,"radius",{get:function(){return this._radius},set:function(a){a>0&&(this._radius=a,this._diameter=2*a)}}),Object.defineProperty(c.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(a){a>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-a}}),Object.defineProperty(c.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(a){athis.y?(this._radius=0,this._diameter=0):this.radius=this.y-a}}),Object.defineProperty(c.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(a){a0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(c.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(a){a===!0&&this.setTo(0,0,0)}}),c.Circle.contains=function(a,b,c){if(a.radius>0&&b>=a.left&&b<=a.right&&c>=a.top&&c<=a.bottom){var d=(a.x-b)*(a.x-b),e=(a.y-c)*(a.y-c);return d+e<=a.radius*a.radius}return!1},c.Circle.equals=function(a,b){return a.x==b.x&&a.y==b.y&&a.diameter==b.diameter},c.Circle.intersects=function(a,b){return c.Math.distance(a.x,a.y,b.x,b.y)<=a.radius+b.radius},c.Circle.circumferencePoint=function(a,b,d,e){return void 0===d&&(d=!1),void 0===e&&(e=new c.Point),d===!0&&(b=c.Math.degToRad(b)),e.x=a.x+a.radius*Math.cos(b),e.y=a.y+a.radius*Math.sin(b),e},c.Circle.intersectsRectangle=function(a,b){var c=Math.abs(a.x-b.x-b.halfWidth),d=b.halfWidth+a.radius;if(c>d)return!1;var e=Math.abs(a.y-b.y-b.halfHeight),f=b.halfHeight+a.radius;if(e>f)return!1;if(c<=b.halfWidth||e<=b.halfHeight)return!0;var g=c-b.halfWidth,h=e-b.halfHeight,i=g*g,j=h*h,k=a.radius*a.radius;return k>=i+j},PIXI.Circle=c.Circle,c.Ellipse=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.ELLIPSE},c.Ellipse.prototype={setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},getBounds:function(){return new c.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},clone:function(a){return void 0===a||null===a?a=new c.Ellipse(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height), +a},contains:function(a,b){return c.Ellipse.contains(this,a,b)},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random()*Math.PI*2,d=Math.random();return a.x=Math.sqrt(d)*Math.cos(b),a.y=Math.sqrt(d)*Math.sin(b),a.x=this.x+a.x*this.width/2,a.y=this.y+a.y*this.height/2,a},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},c.Ellipse.prototype.constructor=c.Ellipse,Object.defineProperty(c.Ellipse.prototype,"left",{get:function(){return this.x},set:function(a){this.x=a}}),Object.defineProperty(c.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(a){ad+e},PIXI.Ellipse=c.Ellipse,c.Line=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.start=new c.Point(a,b),this.end=new c.Point(d,e),this.type=c.LINE},c.Line.prototype={setTo:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(c,d),this},fromSprite:function(a,b,c){return void 0===c&&(c=!1),c?this.setTo(a.center.x,a.center.y,b.center.x,b.center.y):this.setTo(a.x,a.y,b.x,b.y)},fromAngle:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(a+Math.cos(c)*d,b+Math.sin(c)*d),this},rotate:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2;return this.start.rotate(c,d,a,b),this.end.rotate(c,d,a,b),this},rotateAround:function(a,b,c,d){return this.start.rotate(a,b,c,d),this.end.rotate(a,b,c,d),this},intersects:function(a,b,d){return c.Line.intersectsPoints(this.start,this.end,a.start,a.end,b,d)},reflect:function(a){return c.Line.reflect(this,a)},midPoint:function(a){return void 0===a&&(a=new c.Point),a.x=(this.start.x+this.end.x)/2,a.y=(this.start.y+this.end.y)/2,a},centerOn:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2,e=a-c,f=b-d;this.start.add(e,f),this.end.add(e,f)},pointOnLine:function(a,b){return(a-this.start.x)*(this.end.y-this.start.y)===(this.end.x-this.start.x)*(b-this.start.y)},pointOnSegment:function(a,b){var c=Math.min(this.start.x,this.end.x),d=Math.max(this.start.x,this.end.x),e=Math.min(this.start.y,this.end.y),f=Math.max(this.start.y,this.end.y);return this.pointOnLine(a,b)&&a>=c&&d>=a&&b>=e&&f>=b},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random();return a.x=this.start.x+b*(this.end.x-this.start.x),a.y=this.start.y+b*(this.end.y-this.start.y),a},coordinatesOnLine:function(a,b){void 0===a&&(a=1),void 0===b&&(b=[]);var c=Math.round(this.start.x),d=Math.round(this.start.y),e=Math.round(this.end.x),f=Math.round(this.end.y),g=Math.abs(e-c),h=Math.abs(f-d),i=e>c?1:-1,j=f>d?1:-1,k=g-h;b.push([c,d]);for(var l=1;c!=e||d!=f;){var m=k<<1;m>-h&&(k-=h,c+=i),g>m&&(k+=g,d+=j),l%a===0&&b.push([c,d]),l++}return b},clone:function(a){return void 0===a||null===a?a=new c.Line(this.start.x,this.start.y,this.end.x,this.end.y):a.setTo(this.start.x,this.start.y,this.end.x,this.end.y),a}},Object.defineProperty(c.Line.prototype,"length",{get:function(){return Math.sqrt((this.end.x-this.start.x)*(this.end.x-this.start.x)+(this.end.y-this.start.y)*(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"angle",{get:function(){return Math.atan2(this.end.y-this.start.y,this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"slope",{get:function(){return(this.end.y-this.start.y)/(this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"perpSlope",{get:function(){return-((this.end.x-this.start.x)/(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"x",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"y",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"left",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"right",{get:function(){return Math.max(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"top",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"bottom",{get:function(){return Math.max(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"width",{get:function(){return Math.abs(this.start.x-this.end.x)}}),Object.defineProperty(c.Line.prototype,"height",{get:function(){return Math.abs(this.start.y-this.end.y)}}),Object.defineProperty(c.Line.prototype,"normalX",{get:function(){return Math.cos(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalY",{get:function(){return Math.sin(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalAngle",{get:function(){return c.Math.wrap(this.angle-1.5707963267948966,-Math.PI,Math.PI)}}),c.Line.intersectsPoints=function(a,b,d,e,f,g){void 0===f&&(f=!0),void 0===g&&(g=new c.Point);var h=b.y-a.y,i=e.y-d.y,j=a.x-b.x,k=d.x-e.x,l=b.x*a.y-a.x*b.y,m=e.x*d.y-d.x*e.y,n=h*k-i*j;if(0===n)return null;if(g.x=(j*m-k*l)/n,g.y=(i*l-h*m)/n,f){var o=(e.y-d.y)*(b.x-a.x)-(e.x-d.x)*(b.y-a.y),p=((e.x-d.x)*(a.y-d.y)-(e.y-d.y)*(a.x-d.x))/o,q=((b.x-a.x)*(a.y-d.y)-(b.y-a.y)*(a.x-d.x))/o;return p>=0&&1>=p&&q>=0&&1>=q?g:null}return g},c.Line.intersects=function(a,b,d,e){return c.Line.intersectsPoints(a.start,a.end,b.start,b.end,d,e)},c.Line.reflect=function(a,b){return 2*b.normalAngle-3.141592653589793-a.angle},c.Matrix=function(a,b,d,e,f,g){a=a||1,b=b||0,d=d||0,e=e||1,f=f||0,g=g||0,this.a=a,this.b=b,this.c=d,this.d=e,this.tx=f,this.ty=g,this.type=c.MATRIX},c.Matrix.prototype={fromArray:function(a){return this.setTo(a[0],a[1],a[3],a[4],a[2],a[5])},setTo:function(a,b,c,d,e,f){return this.a=a,this.b=b,this.c=c,this.d=d,this.tx=e,this.ty=f,this},clone:function(a){return void 0===a||null===a?a=new c.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(a.a=this.a,a.b=this.b,a.c=this.c,a.d=this.d,a.tx=this.tx,a.ty=this.ty),a},copyTo:function(a){return a.copyFrom(this),a},copyFrom:function(a){return this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.tx=a.tx,this.ty=a.ty,this},toArray:function(a,b){return void 0===b&&(b=new PIXI.Float32Array(9)),a?(b[0]=this.a,b[1]=this.b,b[2]=0,b[3]=this.c,b[4]=this.d,b[5]=0,b[6]=this.tx,b[7]=this.ty,b[8]=1):(b[0]=this.a,b[1]=this.c,b[2]=this.tx,b[3]=this.b,b[4]=this.d,b[5]=this.ty,b[6]=0,b[7]=0,b[8]=1),b},apply:function(a,b){return void 0===b&&(b=new c.Point),b.x=this.a*a.x+this.c*a.y+this.tx,b.y=this.b*a.x+this.d*a.y+this.ty,b},applyInverse:function(a,b){void 0===b&&(b=new c.Point);var d=1/(this.a*this.d+this.c*-this.b),e=a.x,f=a.y;return b.x=this.d*d*e+-this.c*d*f+(this.ty*this.c-this.tx*this.d)*d,b.y=this.a*d*f+-this.b*d*e+(-this.ty*this.a+this.tx*this.b)*d,b},translate:function(a,b){return this.tx+=a,this.ty+=b,this},scale:function(a,b){return this.a*=a,this.d*=b,this.c*=a,this.b*=b,this.tx*=a,this.ty*=b,this},rotate:function(a){var b=Math.cos(a),c=Math.sin(a),d=this.a,e=this.c,f=this.tx;return this.a=d*b-this.b*c,this.b=d*c+this.b*b,this.c=e*b-this.d*c,this.d=e*c+this.d*b,this.tx=f*b-this.ty*c,this.ty=f*c+this.ty*b,this},append:function(a){var b=this.a,c=this.b,d=this.c,e=this.d;return this.a=a.a*b+a.b*d,this.b=a.a*c+a.b*e,this.c=a.c*b+a.d*d,this.d=a.c*c+a.d*e,this.tx=a.tx*b+a.ty*d+this.tx,this.ty=a.tx*c+a.ty*e+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},c.identityMatrix=new c.Matrix,PIXI.Matrix=c.Matrix,PIXI.identityMatrix=c.identityMatrix,c.Point=function(a,b){a=a||0,b=b||0,this.x=a,this.y=b,this.type=c.POINT},c.Point.prototype={copyFrom:function(a){return this.setTo(a.x,a.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},set:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},add:function(a,b){return this.x+=a,this.y+=b,this},subtract:function(a,b){return this.x-=a,this.y-=b,this},multiply:function(a,b){return this.x*=a,this.y*=b,this},divide:function(a,b){return this.x/=a,this.y/=b,this},clampX:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this},clampY:function(a,b){return this.y=c.Math.clamp(this.y,a,b),this},clamp:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this.y=c.Math.clamp(this.y,a,b),this},clone:function(a){return void 0===a||null===a?a=new c.Point(this.x,this.y):a.setTo(this.x,this.y),a},copyTo:function(a){return a.x=this.x,a.y=this.y,a},distance:function(a,b){return c.Point.distance(this,a,b)},equals:function(a){return a.x===this.x&&a.y===this.y},angle:function(a,b){return void 0===b&&(b=!1),b?c.Math.radToDeg(Math.atan2(a.y-this.y,a.x-this.x)):Math.atan2(a.y-this.y,a.x-this.x)},rotate:function(a,b,d,e,f){return c.Point.rotate(this,a,b,d,e,f)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(a){return this.normalize().multiply(a,a)},normalize:function(){if(!this.isZero()){var a=this.getMagnitude();this.x/=a,this.y/=a}return this},isZero:function(){return 0===this.x&&0===this.y},dot:function(a){return this.x*a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},c.Point.prototype.constructor=c.Point,c.Point.add=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x+b.x,d.y=a.y+b.y,d},c.Point.subtract=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x-b.x,d.y=a.y-b.y,d},c.Point.multiply=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x*b.x,d.y=a.y*b.y,d},c.Point.divide=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x/b.x,d.y=a.y/b.y,d},c.Point.equals=function(a,b){return a.x===b.x&&a.y===b.y},c.Point.angle=function(a,b){return Math.atan2(a.y-b.y,a.x-b.x)},c.Point.negative=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.x,-a.y)},c.Point.multiplyAdd=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+b.x*d,a.y+b.y*d)},c.Point.interpolate=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+(b.x-a.x)*d,a.y+(b.y-a.y)*d)},c.Point.perp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.y,a.x)},c.Point.rperp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(a.y,-a.x)},c.Point.distance=function(a,b,d){var e=c.Math.distance(a.x,a.y,b.x,b.y);return d?Math.round(e):e},c.Point.project=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b)/b.getMagnitudeSq();return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.projectUnit=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b);return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.normalRightHand=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-1*a.y,a.x)},c.Point.normalize=function(a,b){void 0===b&&(b=new c.Point);var d=a.getMagnitude();return 0!==d&&b.setTo(a.x/d,a.y/d),b},c.Point.rotate=function(a,b,d,e,f,g){if(f&&(e=c.Math.degToRad(e)),void 0===g){a.subtract(b,d);var h=Math.sin(e),i=Math.cos(e),j=i*a.x-h*a.y,k=h*a.x+i*a.y;a.x=j+b,a.y=k+d}else{var l=e+Math.atan2(a.y-d,a.x-b);a.x=b+g*Math.cos(l),a.y=d+g*Math.sin(l)}return a},c.Point.centroid=function(a,b){if(void 0===b&&(b=new c.Point),"[object Array]"!==Object.prototype.toString.call(a))throw new Error("Phaser.Point. Parameter 'points' must be an array");var d=a.length;if(1>d)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===d)return b.copyFrom(a[0]),b;for(var e=0;d>e;e++)c.Point.add(b,a[e],b);return b.divide(d,d),b},c.Point.parse=function(a,b,d){b=b||"x",d=d||"y";var e=new c.Point;return a[b]&&(e.x=parseInt(a[b],10)),a[d]&&(e.y=parseInt(a[d],10)),e},PIXI.Point=c.Point,c.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.type=c.POLYGON},c.Polygon.prototype={toNumberArray:function(a){void 0===a&&(a=[]);for(var b=0;b=h&&j>b||b>=j&&h>b)&&(i-g)*(b-h)/(j-h)+g>a&&(d=!d)}return d},setTo:function(a){if(this.area=0,this._points=[],arguments.length>0){Array.isArray(a)||(a=Array.prototype.slice.call(arguments));for(var b=Number.MAX_VALUE,c=0,d=a.length;d>c;c++){if("number"==typeof a[c]){var e=new PIXI.Point(a[c],a[c+1]);c++}else var e=new PIXI.Point(a[c].x,a[c].y);this._points.push(e),e.yf;f++)b=this._points[f],c=f===g-1?this._points[0]:this._points[f+1],d=(b.y-a+(c.y-a))/2,e=b.x-c.x,this.area+=d*e;return this.area}},c.Polygon.prototype.constructor=c.Polygon,Object.defineProperty(c.Polygon.prototype,"points",{get:function(){return this._points},set:function(a){null!=a?this.setTo(a):this.setTo()}}),PIXI.Polygon=c.Polygon,c.Rectangle=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.RECTANGLE},c.Rectangle.prototype={offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},scale:function(a,b){return void 0===b&&(b=a),this.width*=a,this.height*=b,this},centerOn:function(a,b){return this.centerX=a,this.centerY=b,this},floor:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y)},floorAll:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.width=Math.floor(this.width),this.height=Math.floor(this.height)},ceil:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y)},ceilAll:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.width=Math.ceil(this.width),this.height=Math.ceil(this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},inflate:function(a,b){return c.Rectangle.inflate(this,a,b)},size:function(a){return c.Rectangle.size(this,a)},resize:function(a,b){return this.width=a,this.height=b,this},clone:function(a){return c.Rectangle.clone(this,a)},contains:function(a,b){return c.Rectangle.contains(this,a,b)},containsRect:function(a){return c.Rectangle.containsRect(a,this)},equals:function(a){return c.Rectangle.equals(this,a)},intersection:function(a,b){return c.Rectangle.intersection(this,a,b)},intersects:function(a){return c.Rectangle.intersects(this,a)},intersectsRaw:function(a,b,d,e,f){return c.Rectangle.intersectsRaw(this,a,b,d,e,f)},union:function(a,b){return c.Rectangle.union(this,a,b)},random:function(a){return void 0===a&&(a=new c.Point),a.x=this.randomX,a.y=this.randomY,a},toString:function(){return"[{Rectangle (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+" empty="+this.empty+")}]"}},Object.defineProperty(c.Rectangle.prototype,"halfWidth",{get:function(){return Math.round(this.width/2)}}),Object.defineProperty(c.Rectangle.prototype,"halfHeight",{get:function(){return Math.round(this.height/2)}}),Object.defineProperty(c.Rectangle.prototype,"bottom",{get:function(){return this.y+this.height},set:function(a){a<=this.y?this.height=0:this.height=a-this.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomLeft",{get:function(){return new c.Point(this.x,this.bottom)},set:function(a){this.x=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomRight",{get:function(){return new c.Point(this.right,this.bottom)},set:function(a){this.right=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"left",{get:function(){return this.x},set:function(a){a>=this.right?this.width=0:this.width=this.right-a,this.x=a}}),Object.defineProperty(c.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(a){a<=this.x?this.width=0:this.width=a-this.x}}),Object.defineProperty(c.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(c.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(c.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(a){this.x=a-this.halfWidth}}),Object.defineProperty(c.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(a){this.y=a-this.halfHeight}}),Object.defineProperty(c.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(c.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(c.Rectangle.prototype,"top",{get:function(){return this.y},set:function(a){a>=this.bottom?(this.height=0,this.y=a):this.height=this.bottom-a}}),Object.defineProperty(c.Rectangle.prototype,"topLeft",{get:function(){return new c.Point(this.x,this.y)},set:function(a){this.x=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"topRight",{get:function(){return new c.Point(this.x+this.width,this.y)},set:function(a){this.right=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(a){a===!0&&this.setTo(0,0,0,0)}}),c.Rectangle.prototype.constructor=c.Rectangle,c.Rectangle.inflate=function(a,b,c){return a.x-=b,a.width+=2*b,a.y-=c,a.height+=2*c,a},c.Rectangle.inflatePoint=function(a,b){return c.Rectangle.inflate(a,b.x,b.y)},c.Rectangle.size=function(a,b){return void 0===b||null===b?b=new c.Point(a.width,a.height):b.setTo(a.width,a.height),b},c.Rectangle.clone=function(a,b){return void 0===b||null===b?b=new c.Rectangle(a.x,a.y,a.width,a.height):b.setTo(a.x,a.y,a.width,a.height),b},c.Rectangle.contains=function(a,b,c){return a.width<=0||a.height<=0?!1:b>=a.x&&b=a.y&&c=a&&a+c>e&&f>=b&&b+d>f},c.Rectangle.containsPoint=function(a,b){return c.Rectangle.contains(a,b.x,b.y)},c.Rectangle.containsRect=function(a,b){return a.volume>b.volume?!1:a.x>=b.x&&a.y>=b.y&&a.rightb.right||a.y>b.bottom)},c.Rectangle.intersectsRaw=function(a,b,c,d,e,f){return void 0===f&&(f=0),!(b>a.right+f||ca.bottom+f||ed&&(d=a.x),a.xf&&(f=a.y),a.y=c&&a<=c+this.width){var d=this.y;if(b>=d&&b<=d+this.height)return!0}return!1}},c.RoundedRectangle.prototype.constructor=c.RoundedRectangle,PIXI.RoundedRectangle=c.RoundedRectangle,c.Camera=function(a,b,d,e,f,g){this.game=a,this.world=a.world,this.id=0,this.view=new c.Rectangle(d,e,f,g),this.bounds=new c.Rectangle(d,e,f,g),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this._targetPosition=new c.Point,this._edge=0,this._position=new c.Point},c.Camera.FOLLOW_LOCKON=0,c.Camera.FOLLOW_PLATFORMER=1,c.Camera.FOLLOW_TOPDOWN=2,c.Camera.FOLLOW_TOPDOWN_TIGHT=3,c.Camera.prototype={preUpdate:function(){this.totalInView=0},follow:function(a,b){void 0===b&&(b=c.Camera.FOLLOW_LOCKON),this.target=a;var d;switch(b){case c.Camera.FOLLOW_PLATFORMER:var e=this.width/8,f=this.height/3;this.deadzone=new c.Rectangle((this.width-e)/2,(this.height-f)/2-.25*f,e,f);break;case c.Camera.FOLLOW_TOPDOWN:d=Math.max(this.width,this.height)/4,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_TOPDOWN_TIGHT:d=Math.max(this.width,this.height)/8,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_LOCKON:this.deadzone=null;break;default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(a){this.setPosition(Math.round(a.x-this.view.halfWidth),Math.round(a.y-this.view.halfHeight))},focusOnXY:function(a,b){this.setPosition(Math.round(a-this.view.halfWidth),Math.round(b-this.view.halfHeight))},update:function(){this.target&&this.updateTarget(),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateTarget:function(){this._targetPosition.copyFrom(this.target),this.target.parent&&this._targetPosition.multiply(this.target.parent.worldTransform.a,this.target.parent.worldTransform.d),this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this._targetPosition.x-this.deadzone.right),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this._targetPosition.y-this.deadzone.bottom)):(this.view.x=this._targetPosition.x-this.view.halfWidth,this.view.y=this._targetPosition.y-this.view.halfHeight)},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1,this.view.x<=this.bounds.x*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x),this.view.right>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width),this.view.y<=this.bounds.top*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y),this.view.bottom>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height)},setPosition:function(a,b){this.view.x=a,this.view.y=b,this.bounds&&this.checkBounds()},setSize:function(a,b){this.view.width=a,this.view.height=b},reset:function(){this.target=null,this.view.x=0,this.view.y=0}},c.Camera.prototype.constructor=c.Camera,Object.defineProperty(c.Camera.prototype,"x",{get:function(){return this.view.x},set:function(a){this.view.x=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"y",{get:function(){return this.view.y},set:function(a){this.view.y=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"position",{get:function(){return this._position.set(this.view.centerX,this.view.centerY),this._position},set:function(a){"undefined"!=typeof a.x&&(this.view.x=a.x),"undefined"!=typeof a.y&&(this.view.y=a.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"width",{get:function(){return this.view.width},set:function(a){this.view.width=a}}),Object.defineProperty(c.Camera.prototype,"height",{get:function(){return this.view.height},set:function(a){this.view.height=a}}),c.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},c.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},c.State.prototype.constructor=c.State,c.StateManager=function(a,b){this.game=a,this.states={},this._pendingState=null,"undefined"!=typeof b&&null!==b&&(this._pendingState=b),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new c.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},c.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(a,b,d){void 0===d&&(d=!1);var e;return b instanceof c.State?e=b:"object"==typeof b?(e=b,e.game=this.game):"function"==typeof b&&(e=new b(this.game)),this.states[a]=e,d&&(this.game.isBooted?this.start(a):this._pendingState=a),e},remove:function(a){this.current===a&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[a]},start:function(a,b,c){void 0===b&&(b=!0),void 0===c&&(c=!1),this.checkState(a)&&(this._pendingState=a,this._clearWorld=b,this._clearCache=c,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!1),this._pendingState=this.current,this._clearWorld=a,this._clearCache=b,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var a=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,a),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache===!0&&this.game.cache.destroy()))},checkState:function(a){return this.states[a]?this.states[a].preload||this.states[a].create||this.states[a].update||this.states[a].render?!0:(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+a),!1)},link:function(a){this.states[a].game=this.game,this.states[a].add=this.game.add,this.states[a].make=this.game.make,this.states[a].camera=this.game.camera,this.states[a].cache=this.game.cache,this.states[a].input=this.game.input,this.states[a].load=this.game.load,this.states[a].math=this.game.math,this.states[a].sound=this.game.sound,this.states[a].scale=this.game.scale,this.states[a].state=this,this.states[a].stage=this.game.stage,this.states[a].time=this.game.time,this.states[a].tweens=this.game.tweens,this.states[a].world=this.game.world,this.states[a].particles=this.game.particles,this.states[a].rnd=this.game.rnd,this.states[a].physics=this.game.physics,this.states[a].key=a},unlink:function(a){this.states[a]&&(this.states[a].game=null,this.states[a].add=null,this.states[a].make=null,this.states[a].camera=null,this.states[a].cache=null,this.states[a].input=null,this.states[a].load=null,this.states[a].math=null,this.states[a].sound=null,this.states[a].scale=null,this.states[a].state=null,this.states[a].stage=null,this.states[a].time=null,this.states[a].tweens=null,this.states[a].world=null,this.states[a].particles=null,this.states[a].rnd=null,this.states[a].physics=null)},setCurrentState:function(a){this.callbackContext=this.states[a],this.link(a),this.onInitCallback=this.states[a].init||this.dummy,this.onPreloadCallback=this.states[a].preload||null,this.onLoadRenderCallback=this.states[a].loadRender||null,this.onLoadUpdateCallback=this.states[a].loadUpdate||null,this.onCreateCallback=this.states[a].create||null,this.onUpdateCallback=this.states[a].update||null,this.onPreRenderCallback=this.states[a].preRender||null,this.onRenderCallback=this.states[a].render||null,this.onResizeCallback=this.states[a].resize||null,this.onPausedCallback=this.states[a].paused||null,this.onResumedCallback=this.states[a].resumed||null,this.onPauseUpdateCallback=this.states[a].pauseUpdate||null,this.onShutDownCallback=this.states[a].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=a,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),a===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){this._created===!1&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),this._created===!1&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game); +},preRender:function(a){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,a)},resize:function(a,b){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,a,b)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===c.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},c.StateManager.prototype.constructor=c.StateManager,Object.defineProperty(c.StateManager.prototype,"created",{get:function(){return this._created}}),c.Signal=function(){},c.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!0,validateListener:function(a,b){if("function"!=typeof a)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",b))},_registerListener:function(a,b,d,e,f){var g,h=this._indexOfListener(a,d);if(-1!==h){if(g=this._bindings[h],g.isOnce()!==b)throw new Error("You cannot add"+(b?"":"Once")+"() then add"+(b?"Once":"")+"() the same listener without removing the relationship first.")}else g=new c.SignalBinding(this,a,b,d,e,f),this._addBinding(g);return this.memorize&&this._prevParams&&g.execute(this._prevParams),g},_addBinding:function(a){this._bindings||(this._bindings=[]);var b=this._bindings.length;do b--;while(this._bindings[b]&&a._priority<=this._bindings[b]._priority);this._bindings.splice(b+1,0,a)},_indexOfListener:function(a,b){if(!this._bindings)return-1;void 0===b&&(b=null);for(var c,d=this._bindings.length;d--;)if(c=this._bindings[d],c._listener===a&&c.context===b)return d;return-1},has:function(a,b){return-1!==this._indexOfListener(a,b)},add:function(a,b,c){this.validateListener(a,"add");var d=[];if(arguments.length>3)for(var e=3;e3)for(var e=3;ea||a>=this.children.length?-1:this.getChildAt(a)},c.Group.prototype.create=function(a,b,c,d,e){void 0===e&&(e=!0);var f=new this.classType(this.game,a,b,c,d);return f.exists=e,f.visible=e,f.alive=e,this.addChild(f),f.z=this.children.length,this.enableBody&&this.game.physics.enable(f,this.physicsBodyType,this.enableBodyDebug),f.events&&f.events.onAddedToGroup$dispatch(f,this),null===this.cursor&&(this.cursor=f),f},c.Group.prototype.createMultiple=function(a,b,c,d){void 0===d&&(d=!1);for(var e=0;a>e;e++)this.create(0,0,b,c,d)},c.Group.prototype.updateZ=function(){for(var a=this.children.length;a--;)this.children[a].z=a},c.Group.prototype.resetCursor=function(a){return void 0===a&&(a=0),a>this.children.length-1&&(a=0),this.cursor?(this.cursorIndex=a,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.next=function(){return this.cursor?(this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.previous=function(){return this.cursor?(0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.swap=function(a,b){this.swapChildren(a,b),this.updateZ()},c.Group.prototype.bringToTop=function(a){return a.parent===this&&this.getIndex(a)0&&(this.remove(a,!1,!0),this.addAt(a,0,!0)),a},c.Group.prototype.moveUp=function(a){if(a.parent===this&&this.getIndex(a)0){var b=this.getIndex(a),c=this.getAt(b-1);c&&this.swap(a,c)}return a},c.Group.prototype.xy=function(a,b,c){return 0>a||a>this.children.length?-1:(this.getChildAt(a).x=b,void(this.getChildAt(a).y=c))},c.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},c.Group.prototype.getIndex=function(a){return this.children.indexOf(a)},c.Group.prototype.replace=function(a,b){var d=this.getIndex(a);return-1!==d?(b.parent&&(b.parent instanceof c.Group?b.parent.remove(b):b.parent.removeChild(b)),this.remove(a),this.addAt(b,d),a):void 0},c.Group.prototype.hasProperty=function(a,b){var c=b.length;return 1===c&&b[0]in a?!0:2===c&&b[0]in a&&b[1]in a[b[0]]?!0:3===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]?!0:4===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]&&b[3]in a[b[0]][b[1]][b[2]]?!0:!1},c.Group.prototype.setProperty=function(a,b,c,d,e){if(void 0===e&&(e=!1),d=d||0,!this.hasProperty(a,b)&&(!e||d>0))return!1;var f=b.length;return 1===f?0===d?a[b[0]]=c:1==d?a[b[0]]+=c:2==d?a[b[0]]-=c:3==d?a[b[0]]*=c:4==d&&(a[b[0]]/=c):2===f?0===d?a[b[0]][b[1]]=c:1==d?a[b[0]][b[1]]+=c:2==d?a[b[0]][b[1]]-=c:3==d?a[b[0]][b[1]]*=c:4==d&&(a[b[0]][b[1]]/=c):3===f?0===d?a[b[0]][b[1]][b[2]]=c:1==d?a[b[0]][b[1]][b[2]]+=c:2==d?a[b[0]][b[1]][b[2]]-=c:3==d?a[b[0]][b[1]][b[2]]*=c:4==d&&(a[b[0]][b[1]][b[2]]/=c):4===f&&(0===d?a[b[0]][b[1]][b[2]][b[3]]=c:1==d?a[b[0]][b[1]][b[2]][b[3]]+=c:2==d?a[b[0]][b[1]][b[2]][b[3]]-=c:3==d?a[b[0]][b[1]][b[2]][b[3]]*=c:4==d&&(a[b[0]][b[1]][b[2]][b[3]]/=c)),!0},c.Group.prototype.checkProperty=function(a,b,d,e){return void 0===e&&(e=!1),!c.Utils.getProperty(a,b)&&e?!1:c.Utils.getProperty(a,b)!==d?!1:!0},c.Group.prototype.set=function(a,b,c,d,e,f,g){return void 0===g&&(g=!1),b=b.split("."),void 0===d&&(d=!1),void 0===e&&(e=!1),(d===!1||d&&a.alive)&&(e===!1||e&&a.visible)?this.setProperty(a,b,c,f,g):void 0},c.Group.prototype.setAll=function(a,b,c,d,e,f){void 0===c&&(c=!1),void 0===d&&(d=!1),void 0===f&&(f=!1),a=a.split("."),e=e||0;for(var g=0;g2){c=[];for(var d=2;d2){e=[];for(var f=2;f2){d=[null];for(var e=2;e2){d=[null];for(var e=2;e2){d=[null];for(var e=2;eb[this._sortProperty]?1:a.zb[this._sortProperty]?-1:0},c.Group.prototype.iterate=function(a,b,d,e,f,g){if(d===c.Group.RETURN_TOTAL&&0===this.children.length)return 0;for(var h=0,i=0;i0?this.children[this.children.length-1]:void 0},c.Group.prototype.getBottom=function(){return this.children.length>0?this.children[0]:void 0},c.Group.prototype.countLiving=function(){return this.iterate("alive",!0,c.Group.RETURN_TOTAL)},c.Group.prototype.countDead=function(){return this.iterate("alive",!1,c.Group.RETURN_TOTAL)},c.Group.prototype.getRandom=function(a,b){return 0===this.children.length?null:(a=a||0,b=b||this.children.length,c.ArrayUtils.getRandomItem(this.children,a,b))},c.Group.prototype.remove=function(a,b,c){if(void 0===b&&(b=!1),void 0===c&&(c=!1),0===this.children.length||-1===this.children.indexOf(a))return!1;c||!a.events||a.destroyPhase||a.events.onRemovedFromGroup$dispatch(a,this);var d=this.removeChild(a);return this.removeFromHash(a),this.updateZ(),this.cursor===a&&this.next(),b&&d&&d.destroy(!0),!0},c.Group.prototype.moveAll=function(a,b){if(void 0===b&&(b=!1),this.children.length>0&&a instanceof c.Group){do a.add(this.children[0],b);while(this.children.length>0);this.hash=[],this.cursor=null}return a},c.Group.prototype.removeAll=function(a,b){if(void 0===a&&(a=!1),void 0===b&&(b=!1),0!==this.children.length){do{!b&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var c=this.removeChild(this.children[0]);this.removeFromHash(c),a&&c&&c.destroy(!0)}while(this.children.length>0);this.hash=[],this.cursor=null}},c.Group.prototype.removeBetween=function(a,b,c,d){if(void 0===b&&(b=this.children.length-1),void 0===c&&(c=!1),void 0===d&&(d=!1),0!==this.children.length){if(a>b||0>a||b>this.children.length)return!1;for(var e=b;e>=a;){!d&&this.children[e].events&&this.children[e].events.onRemovedFromGroup$dispatch(this.children[e],this);var f=this.removeChild(this.children[e]);this.removeFromHash(f),c&&f&&f.destroy(!0),this.cursor===this.children[e]&&(this.cursor=null),e--}this.updateZ()}},c.Group.prototype.destroy=function(a,b){null===this.game||this.ignoreDestroy||(void 0===a&&(a=!0),void 0===b&&(b=!1),this.onDestroy.dispatch(this,a,b),this.removeAll(a),this.cursor=null,this.filters=null,this.pendingDestroy=!1,b||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(c.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,c.Group.RETURN_TOTAL)}}),Object.defineProperty(c.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(c.Group.prototype,"angle",{get:function(){return c.Math.radToDeg(this.rotation)},set:function(a){this.rotation=c.Math.degToRad(a)}}),c.World=function(a){c.Group.call(this,a,null,"__world",!1),this.bounds=new c.Rectangle(0,0,a.width,a.height),this.camera=null,this._definedSize=!1,this._width=a.width,this._height=a.height,this.game.state.onStateChange.add(this.stateChange,this)},c.World.prototype=Object.create(c.Group.prototype),c.World.prototype.constructor=c.World,c.World.prototype.boot=function(){this.camera=new c.Camera(this.game,0,0,0,this.game.width,this.game.height),this.camera.displayObject=this,this.camera.scale=this.scale,this.game.camera=this.camera,this.game.stage.addChild(this)},c.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},c.World.prototype.setBounds=function(a,b,c,d){this._definedSize=!0,this._width=c,this._height=d,this.bounds.setTo(a,b,c,d),this.x=a,this.y=b,this.camera.bounds&&this.camera.bounds.setTo(a,b,Math.max(c,this.game.width),Math.max(d,this.game.height)),this.game.physics.setBoundsToWorld()},c.World.prototype.resize=function(a,b){this._definedSize&&(athis.bounds.right&&(a.x=this.bounds.left)),e&&(a.y+a._currentBounds.heightthis.bounds.bottom&&(a.y=this.bounds.top))):(d&&a.x+bthis.bounds.right&&(a.x=this.bounds.left-b),e&&a.y+bthis.bounds.bottom&&(a.y=this.bounds.top-b))},Object.defineProperty(c.World.prototype,"width",{get:function(){return this.bounds.width},set:function(a){ag;g++)e>g?f.push("color: #ff2424; background: #fff"):f.push("color: #959595; background: #fff");console.log.apply(console,f)}else window.console&&console.log("Phaser v"+a+" | Pixi.js "+PIXI.VERSION+" | "+b+" | "+d+" | http://phaser.io")}},setUpRenderer:function(){if(this.canvas=c.Canvas.create(this,this.width,this.height,this.config.canvasID,!0),this.config.canvasStyle?this.canvas.style=this.config.canvasStyle:this.canvas.style["-webkit-full-screen"]="width: 100%; height: 100%",this.renderType===c.HEADLESS||this.renderType===c.CANVAS||this.renderType===c.AUTO&&!this.device.webGL){if(!this.device.canvas)throw new Error("Phaser.Game - Cannot create Canvas or WebGL context, aborting.");this.renderType=c.CANVAS,this.renderer=new PIXI.CanvasRenderer(this),this.context=this.renderer.context}else this.renderType=c.WEBGL,this.renderer=new PIXI.WebGLRenderer(this),this.context=null,this.canvas.addEventListener("webglcontextlost",this.contextLost.bind(this),!1),this.canvas.addEventListener("webglcontextrestored",this.contextRestored.bind(this),!1);this.device.cocoonJS&&(this.canvas.screencanvas=this.renderType===c.CANVAS?!0:!1),this.renderType!==c.HEADLESS&&(this.stage.smoothed=this.antialias,c.Canvas.addToDOM(this.canvas,this.parent,!1),c.Canvas.setTouchAction(this.canvas))},contextLost:function(a){a.preventDefault(),this.renderer.contextLost=!0},contextRestored:function(){this.renderer.initContext(),this.cache.clearGLTextures(),this.renderer.contextLost=!1},update:function(a){if(this.time.update(a),this._kickstart)return this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),this.updateRender(this.time.slowMotion*this.time.desiredFps),void(this._kickstart=!1);if(this._spiraling>1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var b=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*b,this.time.elapsed),0);var c=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/b),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=b&&(this._deltaTime-=b,this.currentUpdateID=c,this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),c++,!this.forceSingleUpdate||1!==c);)this.time.refresh();c>this._lastCount?this._spiraling++:c=c.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+c.Input.MAX_POINTERS+" pointers reached."),null;var a=this.pointers.length+1,b=new c.Pointer(this.game,a,c.PointerMode.TOUCH);return this.pointers.push(b),this["pointer"+a]=b,b},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(a);if(!this.pointer2.active)return this.pointer2.start(a);for(var b=2;b0;c++){var d=this.pointers[c];d.active&&b--}return a-b},getPointer:function(a){void 0===a&&(a=!1);for(var b=0;b=g&&this._localPoint.x=h&&this._localPoint.y=g&&this._localPoint.x=h&&this._localPoint.yi;i++)if(this.hitTest(a.children[i],b,d))return!0;return!1},onClickTrampoline:function(){this.activePointer.processClickTrampolines()}},c.Input.prototype.constructor=c.Input,Object.defineProperty(c.Input.prototype,"x",{get:function(){return this._x},set:function(a){this._x=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"y",{get:function(){return this._y},set:function(a){this._y=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"pollLocked",{get:function(){return this.pollRate>0&&this._pollCounterthis.game.time.time},justReleased:function(a){return a=a||250,this.isUp&&this.timeUp+a>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},c.DeviceButton.prototype.constructor=c.DeviceButton,Object.defineProperty(c.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),c.Pointer=function(a,b,d){this.game=a,this.id=b,this.type=c.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=d||c.PointerMode.CURSOR|c.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new c.DeviceButton(this,c.Pointer.LEFT_BUTTON),this.middleButton=new c.DeviceButton(this,c.Pointer.MIDDLE_BUTTON),this.rightButton=new c.DeviceButton(this,c.Pointer.RIGHT_BUTTON),this.backButton=new c.DeviceButton(this,c.Pointer.BACK_BUTTON),this.forwardButton=new c.DeviceButton(this,c.Pointer.FORWARD_BUTTON),this.eraserButton=new c.DeviceButton(this,c.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===b,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.active=!1,this.dirty=!1,this.position=new c.Point,this.positionDown=new c.Point,this.positionUp=new c.Point,this.circle=new c.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},c.Pointer.NO_BUTTON=0,c.Pointer.LEFT_BUTTON=1,c.Pointer.RIGHT_BUTTON=2,c.Pointer.MIDDLE_BUTTON=4,c.Pointer.BACK_BUTTON=8,c.Pointer.FORWARD_BUTTON=16,c.Pointer.ERASER_BUTTON=32,c.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(a,b){c.Pointer.LEFT_BUTTON&a&&this.leftButton.start(b),c.Pointer.RIGHT_BUTTON&a&&this.rightButton.start(b),c.Pointer.MIDDLE_BUTTON&a&&this.middleButton.start(b),c.Pointer.BACK_BUTTON&a&&this.backButton.start(b),c.Pointer.FORWARD_BUTTON&a&&this.forwardButton.start(b),c.Pointer.ERASER_BUTTON&a&&this.eraserButton.start(b)},processButtonsUp:function(a,b){a===c.Mouse.LEFT_BUTTON&&this.leftButton.stop(b),a===c.Mouse.RIGHT_BUTTON&&this.rightButton.stop(b),a===c.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(b),a===c.Mouse.BACK_BUTTON&&this.backButton.stop(b),a===c.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(b),5===a&&this.eraserButton.stop(b)},updateButtons:function(a){this.button=a.button;var b="down"===a.type.toLowerCase().substr(-4);void 0!==a.buttons?b?this.processButtonsDown(a.buttons,a):this.processButtonsUp(a.button,a):b?this.leftButton.start(a):(this.leftButton.stop(a),this.rightButton.stop(a)),a.ctrlKey&&this.leftButton.isDown&&this.rightButton.start(a),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(a){var b=this.game.input;return a.pointerId&&(this.pointerId=a.pointerId),this.identifier=a.identifier,this.target=a.target,this.isMouse?this.updateButtons(a):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(a,!0),this.positionDown.setTo(this.x,this.y),(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.x=this.x,b.y=this.y,b.position.setTo(this.x,this.y),b.onDown.dispatch(this,a),b.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var a=this.game.input;this.active&&(this.dirty&&(a.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),this._holdSent===!1&&this.duration>=a.holdRate&&((a.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||a.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||a.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===a.totalActivePointers)&&a.onHold.dispatch(this),this._holdSent=!0),a.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+a.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>a.recordLimit&&this._history.shift()))},move:function(a,b){var d=this.game.input;if(!d.pollLocked){if(void 0===b&&(b=!1),void 0!==a.button&&(this.button=a.button),b&&this.isMouse&&this.updateButtons(a), +this.clientX=a.clientX,this.clientY=a.clientY,this.pageX=a.pageX,this.pageY=a.pageY,this.screenX=a.screenX,this.screenY=a.screenY,this.isMouse&&d.mouse.locked&&!b&&(this.rawMovementX=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.rawMovementY=a.movementY||a.mozMovementY||a.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*d.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*d.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(d.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||d.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||d.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===d.totalActivePointers)&&(d.activePointer=this,d.x=this.x,d.y=this.y,d.position.setTo(d.x,d.y),d.circle.x=d.x,d.circle.y=d.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY),this.game.paused)return this;for(var e=d.moveCallbacks.length;e--;)d.moveCallbacks[e].callback.call(d.moveCallbacks[e].context,this,this.x,this.y,b);return null!==this.targetObject&&this.targetObject.isDragged===!0?this.targetObject.update(this)===!1&&(this.targetObject=null):d.interactiveItems.total>0&&this.processInteractiveObjects(b),this}},processInteractiveObjects:function(a){for(var b=Number.MAX_VALUE,c=-1,d=null,e=this.game.input.interactiveItems.first;e;)e.checked=!1,e.validForInput(c,b,!1)&&(e.checked=!0,(a&&e.checkPointerDown(this,!0)||!a&&e.checkPointerOver(this,!0))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e)),e=this.game.input.interactiveItems.next;for(var e=this.game.input.interactiveItems.first;e;)!e.checked&&e.validForInput(c,b,!0)&&(a&&e.checkPointerDown(this,!1)||!a&&e.checkPointerOver(this,!1))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e),e=this.game.input.interactiveItems.next;return null===d?this.targetObject&&(this.targetObject._pointerOutHandler(this),this.targetObject=null):null===this.targetObject?(this.targetObject=d,d._pointerOverHandler(this)):this.targetObject===d?d.update(this)===!1&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this),this.targetObject=d,this.targetObject._pointerOverHandler(this)),null!==this.targetObject},leave:function(a){this.withinGame=!1,this.move(a,!1)},stop:function(a){var b=this.game.input;return this._stateReset&&this.withinGame?void a.preventDefault():(this.timeUp=this.game.time.time,(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.onUp.dispatch(this,a),this.duration>=0&&this.duration<=b.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(a.pageX,a.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),this.isMouse===!1&&b.currentPointers--,b.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this)},justPressed:function(a){return a=a||this.game.input.justPressedRate,this.isDown===!0&&this.timeDown+a>this.game.time.time},justReleased:function(a){return a=a||this.game.input.justReleasedRate,this.isUp&&this.timeUp+a>this.game.time.time},addClickTrampoline:function(a,b,c,d){if(this.isDown){for(var e=this._clickTrampolines=this._clickTrampolines||[],f=0;fd;d++)this._pointerData[d]={id:d,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1};this.snapOffset=new c.Point,this.enabled=!0,this._wasEnabled=!0}return this.sprite.events.onAddedToGroup.add(this.addedToGroup,this),this.sprite.events.onRemovedFromGroup.add(this.removedFromGroup,this),this.flagged=!1,this.sprite},addedToGroup:function(){this._dragPhase||this._wasEnabled&&!this.enabled&&this.start()},removedFromGroup:function(){this._dragPhase||(this.enabled?(this._wasEnabled=!0,this.stop()):this._wasEnabled=!1)},reset:function(){this.enabled=!1,this.flagged=!1;for(var a=0;10>a;a++)this._pointerData[a]={id:a,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1}},stop:function(){this.enabled!==!1&&(this.enabled=!1,this.game.input.interactiveItems.remove(this))},destroy:function(){this.sprite&&(this._setHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.enabled=!1,this.game.input.interactiveItems.remove(this),this._pointerData.length=0,this.boundsRect=null,this.boundsSprite=null,this.sprite=null)},validForInput:function(a,b,c){return void 0===c&&(c=!0),!this.enabled||0===this.sprite.scale.x||0===this.sprite.scale.y||this.priorityIDa||this.priorityID===a&&this.sprite.renderOrderIDb;b++)if(this._pointerData[b].isOver)return!0},pointerOut:function(a){if(!this.enabled)return!1;if(void 0!==a)return this._pointerData[a].isOut;for(var b=0;10>b;b++)if(this._pointerData[b].isOut)return!0},pointerTimeOver:function(a){return a=a||0,this._pointerData[a].timeOver},pointerTimeOut:function(a){return a=a||0,this._pointerData[a].timeOut},pointerDragged:function(a){return a=a||0,this._pointerData[a].isDragged},checkPointerDown:function(a,b){return a.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectClick?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPointerOver:function(a,b){return this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectOver?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPixel:function(a,b,c){if(this.sprite.texture.baseTexture.source){if(null===a&&null===b){this.game.input.getLocalPosition(this.sprite,c,this._tempPoint);var a=this._tempPoint.x,b=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(a-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(b-=-this.sprite.texture.frame.height*this.sprite.anchor.y),a+=this.sprite.texture.frame.x,b+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(a-=this.sprite.texture.trim.x,b-=this.sprite.texture.trim.y,athis.sprite.texture.crop.right||bthis.sprite.texture.crop.bottom))return this._dx=a,this._dy=b,!1;this._dx=a,this._dy=b,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,a,b,1,1,0,0,1,1);var d=this.game.input.hitContext.getImageData(0,0,1,1);if(d.data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(a){return null!==this.sprite&&void 0!==this.sprite.parent?this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this.draggable&&this._draggedPointerID===a.id?this.updateDrag(a):this._pointerData[a.id].isOver?this.checkPointerOver(a)?(this._pointerData[a.id].x=a.x-this.sprite.x,this._pointerData[a.id].y=a.y-this.sprite.y,!0):(this._pointerOutHandler(a),!1):void 0:(this._pointerOutHandler(a),!1):void 0},_pointerOverHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];(b.isOver===!1||a.dirty)&&(b.isOver=!0,b.isOut=!1,b.timeOver=this.game.time.time,b.x=a.x-this.sprite.x,b.y=a.y-this.sprite.y,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,a))}},_pointerOutHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];b.isOver=!1,b.isOut=!0,b.timeOut=this.game.time.time,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.sprite&&this.sprite.events&&this.sprite.events.onInputOut$dispatch(this.sprite,a)}},_touchedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(!b.isDown&&b.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,a))return;b.isDown=!0,b.isUp=!1,b.timeDown=this.game.time.time,this.sprite&&this.sprite.events&&this.sprite.events.onInputDown$dispatch(this.sprite,a),a.dirty=!0,this.draggable&&this.isDragged===!1&&this.startDrag(a),this.bringToTop&&this.sprite.bringToTop()}}},_releasedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(b.isDown&&a.isUp){b.isDown=!1,b.isUp=!0,b.timeUp=this.game.time.time,b.downDuration=b.timeUp-b.timeDown;var c=this.checkPointerOver(a);this.sprite&&this.sprite.events&&(this.sprite.events.onInputUp$dispatch(this.sprite,a,c),c&&(c=this.checkPointerOver(a))),b.isOver=c,!c&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),a.dirty=!0,this.draggable&&this.isDragged&&this._draggedPointerID===a.id&&this.stopDrag(a)}}},updateDrag:function(a,b){if(a.isUp)return this.stopDrag(a),!1;void 0===b&&(b=!1);var c=this.globalToLocalX(a.x)+this._dragPoint.x+this.dragOffset.x,d=this.globalToLocalY(a.y)+this._dragPoint.y+this.dragOffset.y;return this.sprite.fixedToCamera?(this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=c),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=d),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y))):(this.allowHorizontalDrag&&(this.sprite.x=c),this.allowVerticalDrag&&(this.sprite.y=d),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))),this.sprite.events.onDragUpdate.dispatch(this.sprite,a,c,d,this.snapPoint,b),!0},justOver:function(a,b){return a=a||0,b=b||500,this._pointerData[a].isOver&&this.overDuration(a)a;a++)this._pointerData[a].isDragged=!1;this.draggable=!1,this.isDragged=!1,this._draggedPointerID=-1},startDrag:function(a){var b=this.sprite.x,c=this.sprite.y;if(this.isDragged=!0,this._draggedPointerID=a.id,this._pointerData[a.id].isDragged=!0,this.sprite.fixedToCamera)this.dragFromCenter?(this.sprite.centerOn(a.x,a.y),this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y)):this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y);else{if(this.dragFromCenter){var d=this.sprite.getBounds();this.sprite.x=this.globalToLocalX(a.x)+(this.sprite.x-d.centerX),this.sprite.y=this.globalToLocalY(a.y)+(this.sprite.y-d.centerY)}this._dragPoint.setTo(this.sprite.x-this.globalToLocalX(a.x),this.sprite.y-this.globalToLocalY(a.y))}this.updateDrag(a,!0),this.bringToTop&&(this._dragPhase=!0,this.sprite.bringToTop()),this.dragStartPoint.set(b,c),this.sprite.events.onDragStart$dispatch(this.sprite,a,b,c)},globalToLocalX:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.x,a*=this.game.scale.grid.scaleFluidInversed.x),a},globalToLocalY:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.y,a*=this.game.scale.grid.scaleFluidInversed.y),a},stopDrag:function(a){this.isDragged=!1,this._draggedPointerID=-1,this._pointerData[a.id].isDragged=!1,this._dragPhase=!1,this.snapOnRelease&&(this.sprite.fixedToCamera?(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY):(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY)),this.sprite.events.onDragStop$dispatch(this.sprite,a),this.checkPointerOver(a)===!1&&this._pointerOutHandler(a)},setDragLock:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!0),this.allowHorizontalDrag=a,this.allowVerticalDrag=b},enableSnap:function(a,b,c,d,e,f){void 0===c&&(c=!0),void 0===d&&(d=!1),void 0===e&&(e=0),void 0===f&&(f=0),this.snapX=a,this.snapY=b,this.snapOffsetX=e,this.snapOffsetY=f,this.snapOnDrag=c,this.snapOnRelease=d},disableSnap:function(){this.snapOnDrag=!1,this.snapOnRelease=!1},checkBoundsRect:function(){this.sprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},c.InputHandler.prototype.constructor=c.InputHandler,c.Gamepad=function(a){this.game=a,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!=navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this)]},c.Gamepad.prototype={addCallbacks:function(a,b){"undefined"!=typeof b&&(this.onConnectCallback="function"==typeof b.onConnect?b.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof b.onDisconnect?b.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof b.onDown?b.onDown:this.onDownCallback,this.onUpCallback="function"==typeof b.onUp?b.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof b.onAxis?b.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof b.onFloat?b.onFloat:this.onFloatCallback,this.callbackContext=a)},start:function(){if(!this._active){this._active=!0;var a=this;this._onGamepadConnected=function(b){return a.onGamepadConnected(b)},this._onGamepadDisconnected=function(b){return a.onGamepadDisconnected(b)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(a){var b=a.gamepad;this._rawPads.push(b),this._gamepads[b.index].connect(b)},onGamepadDisconnected:function(a){var b=a.gamepad;for(var c in this._rawPads)this._rawPads[c].index===b.index&&this._rawPads.splice(c,1);this._gamepads[b.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(navigator.getGamepads)var a=navigator.getGamepads();else if(navigator.webkitGetGamepads)var a=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var a=navigator.webkitGamepads();if(a){this._rawPads=[];for(var b=!1,c=0;c0&&d>this.deadZone||0>d&&d<-this.deadZone?this.processAxisChange(c,d):this.processAxisChange(c,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(a){var b=!this.connected;this.connected=!0,this.index=a.index,this._rawPad=a,this._buttons=[],this._buttonsLen=a.buttons.length,this._axes=[],this._axesLen=a.axes.length;for(var d=0;dthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(a){return this.alive&&(this.health+=a,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},c.Component.InCamera=function(){},c.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},c.Component.InputEnabled=function(){},c.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(a){a?null===this.input?(this.input=new c.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},c.Component.InWorld=function(){},c.Component.InWorld.preUpdate=function(){if((this.autoCull||this.checkWorldBounds)&&(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull&&(this.game.world.camera.view.intersects(this._bounds)?(this.renderable=!0,this.game.world.camera.totalInView++):this.renderable=!1),this.checkWorldBounds))if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1;return!0},c.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},c.Component.LifeSpan=function(){},c.Component.LifeSpan.preUpdate=function(){return this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0)?(this.kill(),!1):!0},c.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(a){return void 0===a&&(a=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(a),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},c.Component.LoadTexture=function(){},c.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(a,b,d){a===c.PENDING_ATLAS?(a=b,b=0):b=b||0,(d||void 0===d)&&this.animations&&this.animations.stop(),this.key=a,this.customRender=!1;var e=this.game.cache,f=!0,g=!this.texture.baseTexture.scaleMode;if(c.RenderTexture&&a instanceof c.RenderTexture)this.key=a.key,this.setTexture(a);else if(c.BitmapData&&a instanceof c.BitmapData)this.customRender=!0,this.setTexture(a.texture),e.hasFrameData(a.key,c.Cache.BITMAPDATA)&&(f=!this.animations.loadFrameData(e.getFrameData(a.key,c.Cache.BITMAPDATA),b));else if(c.Video&&a instanceof c.Video){this.customRender=!0;var h=a.texture.valid;this.setTexture(a.texture),this.setFrame(a.texture.frame.clone()),a.onChangeSource.add(this.resizeFrame,this),this.texture.valid=h}else if(a instanceof PIXI.Texture)this.setTexture(a);else{var i=e.getImage(a,!0);this.key=i.key,this.setTexture(new PIXI.Texture(i.base)),"__default"===a?this.texture.baseTexture.skipRender=!0:this.texture.baseTexture.skipRender=!1,f=!this.animations.loadFrameData(i.frameData,b)}f&&(this._frame=c.Rectangle.clone(this.texture.frame)),g||(this.texture.baseTexture.scaleMode=1)},setFrame:function(a){this._frame=a,this.texture.frame.x=a.x,this.texture.frame.y=a.y,this.texture.frame.width=a.width,this.texture.frame.height=a.height,this.texture.crop.x=a.x,this.texture.crop.y=a.y,this.texture.crop.width=a.width,this.texture.crop.height=a.height,a.trimmed?(this.texture.trim?(this.texture.trim.x=a.spriteSourceSizeX,this.texture.trim.y=a.spriteSourceSizeY,this.texture.trim.width=a.sourceSizeW,this.texture.trim.height=a.sourceSizeH):this.texture.trim={x:a.spriteSourceSizeX,y:a.spriteSourceSizeY,width:a.sourceSizeW,height:a.sourceSizeH},this.texture.width=a.sourceSizeW,this.texture.height=a.sourceSizeH,this.texture.frame.width=a.sourceSizeW,this.texture.frame.height=a.sourceSizeH):!a.trimmed&&this.texture.trim&&(this.texture.trim=null),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(a,b,c){this.texture.frame.resize(b,c),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(a){this.animations.frame=a}},frameName:{get:function(){return this.animations.frameName},set:function(a){this.animations.frameName=a}}},c.Component.Overlap=function(){},c.Component.Overlap.prototype={overlap:function(a){return c.Rectangle.intersects(this.getBounds(),a.getBounds())}},c.Component.PhysicsBody=function(){},c.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this._exists&&this.parent.exists?!0:(this.renderOrderID=-1,!1))},c.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},c.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(a){this.position.x=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(a){this.position.y=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},c.Component.Reset=function(){},c.Component.Reset.prototype.reset=function(a,b,c){return void 0===c&&(c=1),this.world.set(a,b),this.position.set(a,b),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=c),this.components.PhysicsBody&&this.body&&this.body.reset(a,b,!1,!1),this},c.Component.ScaleMinMax=function(){},c.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(a){this.scaleMin&&(a.athis.scaleMax.x&&(a.a=this.scaleMax.x),a.d>this.scaleMax.y&&(a.d=this.scaleMax.y))},setScaleMinMax:function(a,b,d,e){void 0===b?b=d=e=a:void 0===d&&(d=e=b,b=a),null===a?this.scaleMin=null:this.scaleMin?this.scaleMin.set(a,b):this.scaleMin=new c.Point(a,b),null===d?this.scaleMax=null:this.scaleMax?this.scaleMax.set(d,e):this.scaleMax=new c.Point(d,e),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},c.Component.Smoothed=function(){},c.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(a){a?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},c.GameObjectFactory=function(a){this.game=a,this.world=this.game.world},c.GameObjectFactory.prototype={existing:function(a){return this.world.add(a)},image:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Image(this.game,a,b,d,e))},sprite:function(a,b,c,d,e){return void 0===e&&(e=this.world),e.create(a,b,c,d)},creature:function(a,b,d,e,f){void 0===f&&(f=this.world);var g=new c.Creature(this.game,a,b,d,e);return f.add(g),g},tween:function(a){return this.game.tweens.create(a)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},physicsGroup:function(a,b,d,e){return new c.Group(this.game,b,d,e,!0,a)},spriteBatch:function(a,b,d){return void 0===a&&(a=null),void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},tileSprite:function(a,b,d,e,f,g,h){return void 0===h&&(h=this.world),h.add(new c.TileSprite(this.game,a,b,d,e,f,g))},rope:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.Rope(this.game,a,b,d,e,f))},text:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Text(this.game,a,b,d,e))},button:function(a,b,d,e,f,g,h,i,j,k){return void 0===k&&(k=this.world),k.add(new c.Button(this.game,a,b,d,e,f,g,h,i,j))},graphics:function(a,b,d){return void 0===d&&(d=this.world),d.add(new c.Graphics(this.game,a,b))},emitter:function(a,b,d){return this.game.particles.add(new c.Particles.Arcade.Emitter(this.game,a,b,d))},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.BitmapText(this.game,a,b,d,e,f))},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},video:function(a,b){return new c.Video(this.game,a,b)},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a},plugin:function(a){return this.game.plugins.add(a)}},c.GameObjectFactory.prototype.constructor=c.GameObjectFactory,c.GameObjectCreator=function(a){this.game=a,this.world=this.game.world},c.GameObjectCreator.prototype={image:function(a,b,d,e){return new c.Image(this.game,a,b,d,e)},sprite:function(a,b,d,e){return new c.Sprite(this.game,a,b,d,e)},tween:function(a){return new c.Tween(a,this.game,this.game.tweens)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},spriteBatch:function(a,b,d){return void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},tileSprite:function(a,b,d,e,f,g){return new c.TileSprite(this.game,a,b,d,e,f,g)},rope:function(a,b,d,e,f){return new c.Rope(this.game,a,b,d,e,f)},text:function(a,b,d,e){return new c.Text(this.game,a,b,d,e)},button:function(a,b,d,e,f,g,h,i,j){return new c.Button(this.game,a,b,d,e,f,g,h,i,j)},graphics:function(a,b){return new c.Graphics(this.game,a,b)},emitter:function(a,b,d){return new c.Particles.Arcade.Emitter(this.game,a,b,d)},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return new c.BitmapText(this.game,a,b,d,e,f,g)},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a}},c.GameObjectCreator.prototype.constructor=c.GameObjectCreator,c.Sprite=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.SPRITE,this.physicsType=c.SPRITE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Sprite.prototype=Object.create(PIXI.Sprite.prototype),c.Sprite.prototype.constructor=c.Sprite,c.Component.Core.install.call(c.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Sprite.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Sprite.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Sprite.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Sprite.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Sprite.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Image=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.IMAGE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Image.prototype=Object.create(PIXI.Sprite.prototype),c.Image.prototype.constructor=c.Image,c.Component.Core.install.call(c.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","Smoothed"]),c.Image.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Image.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Image.prototype.preUpdate=function(){return this.preUpdateInWorld()?this.preUpdateCore():!1},c.Button=function(a,b,d,e,f,g,h,i,j,k){b=b||0,d=d||0,e=e||null,f=f||null,g=g||this,c.Image.call(this,a,b,d,e,i),this.type=c.BUTTON,this.physicsType=c.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new c.Signal,this.onInputOut=new c.Signal,this.onInputDown=new c.Signal,this.onInputUp=new c.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=c.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0, +this.setFrames(h,i,j,k),null!==f&&this.onInputUp.add(f,g),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},c.Button.prototype=Object.create(c.Image.prototype),c.Button.prototype.constructor=c.Button;var g="Over",h="Out",i="Down",j="Up";c.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},c.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},c.Button.prototype.setStateFrame=function(a,b,c){var d="_on"+a+"Frame";null!==b?(this[d]=b,c&&this.changeStateFrame(a)):this[d]=null},c.Button.prototype.changeStateFrame=function(a){if(this.freezeFrames)return!1;var b="_on"+a+"Frame",c=this[b];return"string"==typeof c?(this.frameName=c,!0):"number"==typeof c?(this.frame=c,!0):!1},c.Button.prototype.setFrames=function(a,b,c,d){this.setStateFrame(g,a,this.input.pointerOver()),this.setStateFrame(h,b,!this.input.pointerOver()),this.setStateFrame(i,c,this.input.pointerDown()),this.setStateFrame(j,d,this.input.pointerUp())},c.Button.prototype.setStateSound=function(a,b,d){var e="on"+a+"Sound",f="on"+a+"SoundMarker";b instanceof c.Sound||b instanceof c.AudioSprite?(this[e]=b,this[f]="string"==typeof d?d:""):(this[e]=null,this[f]="")},c.Button.prototype.playStateSound=function(a){var b="on"+a+"Sound",c=this[b];if(c){var d="on"+a+"SoundMarker",e=this[d];return c.play(e),!0}return!1},c.Button.prototype.setSounds=function(a,b,c,d,e,f,k,l){this.setStateSound(g,a,b),this.setStateSound(h,e,f),this.setStateSound(i,c,d),this.setStateSound(j,k,l)},c.Button.prototype.setOverSound=function(a,b){this.setStateSound(g,a,b)},c.Button.prototype.setOutSound=function(a,b){this.setStateSound(h,a,b)},c.Button.prototype.setDownSound=function(a,b){this.setStateSound(i,a,b)},c.Button.prototype.setUpSound=function(a,b){this.setStateSound(j,a,b)},c.Button.prototype.onInputOverHandler=function(a,b){b.justReleased()&&(this.justReleasedPreventsOver&b.pointerMode)===b.pointerMode||(this.changeStateFrame(g),(!this.onOverMouseOnly||b.isMouse)&&(this.playStateSound(g),this.onInputOver&&this.onInputOver.dispatch(this,b)))},c.Button.prototype.onInputOutHandler=function(a,b){this.changeStateFrame(h),this.playStateSound(h),this.onInputOut&&this.onInputOut.dispatch(this,b)},c.Button.prototype.onInputDownHandler=function(a,b){this.changeStateFrame(i),this.playStateSound(i),this.onInputDown&&this.onInputDown.dispatch(this,b)},c.Button.prototype.onInputUpHandler=function(a,b,c){if(this.playStateSound(j),this.onInputUp&&this.onInputUp.dispatch(this,b,c),!this.freezeFrames)if(this.forceOut===!0||(this.forceOut&b.pointerMode)===b.pointerMode)this.changeStateFrame(h);else{var d=this.changeStateFrame(j);d||(c?this.changeStateFrame(g):this.changeStateFrame(h))}},c.SpriteBatch=function(a,b,d,e){(void 0===b||null===b)&&(b=a.world),PIXI.SpriteBatch.call(this),c.Group.call(this,a,b,d,e),this.type=c.SPRITEBATCH},c.SpriteBatch.prototype=c.Utils.extend(!0,c.SpriteBatch.prototype,c.Group.prototype,PIXI.SpriteBatch.prototype),c.SpriteBatch.prototype.constructor=c.SpriteBatch,c.BitmapData=function(a,b,d,e){(void 0===d||0===d)&&(d=256),(void 0===e||0===e)&&(e=256),this.game=a,this.key=b,this.width=d,this.height=e,this.canvas=PIXI.CanvasPool.create(this,d,e),this.context=this.canvas.getContext("2d",{alpha:!0}),this.ctx=this.context,this.imageData=this.context.getImageData(0,0,d,e),this.data=null,this.imageData&&(this.data=this.imageData.data),this.pixels=null,this.data&&(this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data),this.baseTexture=new PIXI.BaseTexture(this.canvas),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,d,e,"bitmapData"),this.texture.frame=this.textureFrame,this.type=c.BITMAPDATA,this.disableTextureUpload=!1,this.dirty=!1,this.cls=this.clear,this._image=null,this._pos=new c.Point,this._size=new c.Point,this._scale=new c.Point,this._rotate=0,this._alpha={prev:1,current:1},this._anchor=new c.Point,this._tempR=0,this._tempG=0,this._tempB=0,this._circle=new c.Circle,this._swapCanvas=void 0},c.BitmapData.prototype={move:function(a,b,c){return 0!==a&&this.moveH(a,c),0!==b&&this.moveV(b,c),this},moveH:function(a,b){void 0===b&&(b=!0),void 0===this._swapCanvas&&(this._swapCanvas=PIXI.CanvasPool.create(this,this.width,this.height));var c=this._swapCanvas,d=c.getContext("2d"),e=this.height,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),0>a){a=Math.abs(a);var g=this.width-a;b&&d.drawImage(f,0,0,a,e,g,0,a,e),d.drawImage(f,a,0,g,e,0,0,g,e)}else{var g=this.width-a;b&&d.drawImage(f,g,0,a,e,0,0,a,e),d.drawImage(f,0,0,g,e,a,0,g,e)}return this.clear(),this.copy(this._swapCanvas)},moveV:function(a,b){void 0===b&&(b=!0),void 0===this._swapCanvas&&(this._swapCanvas=PIXI.CanvasPool.create(this,this.width,this.height));var c=this._swapCanvas,d=c.getContext("2d"),e=this.width,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),0>a){a=Math.abs(a);var g=this.height-a;b&&d.drawImage(f,0,0,e,a,0,g,e,a),d.drawImage(f,0,a,e,g,0,0,e,g)}else{var g=this.height-a;b&&d.drawImage(f,0,g,e,a,0,0,e,a),d.drawImage(f,0,0,e,g,0,a,e,g)}return this.clear(),this.copy(this._swapCanvas)},add:function(a){if(Array.isArray(a))for(var b=0;bm;m++)for(var n=d;h>n;n++)c.Color.unpackPixel(this.getPixel32(n,m),j),k=a.call(b,j,n,m),k!==!1&&null!==k&&void 0!==k&&(this.setPixel32(n,m,k.r,k.g,k.b,k.a,!1),l=!0);return l&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},processPixel:function(a,b,c,d,e,f){void 0===c&&(c=0),void 0===d&&(d=0),void 0===e&&(e=this.width),void 0===f&&(f=this.height);for(var g=c+e,h=d+f,i=0,j=0,k=!1,l=d;h>l;l++)for(var m=c;g>m;m++)i=this.getPixel32(m,l),j=a.call(b,i,m,l),j!==i&&(this.pixels[l*this.width+m]=j,k=!0);return k&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},replaceRGB:function(a,b,d,e,f,g,h,i,j){var k=0,l=0,m=this.width,n=this.height,o=c.Color.packPixel(a,b,d,e);void 0!==j&&j instanceof c.Rectangle&&(k=j.x,l=j.y,m=j.width,n=j.height);for(var p=0;n>p;p++)for(var q=0;m>q;q++)this.getPixel32(k+q,l+p)===o&&this.setPixel32(k+q,l+p,f,g,h,i,!1);return this.context.putImageData(this.imageData,0,0),this.dirty=!0,this},setHSL:function(a,b,d,e){var f=a||0===a,g=b||0===b,h=d||0===d;if(f||g||h){void 0===e&&(e=new c.Rectangle(0,0,this.width,this.height));for(var i=c.Color.createColor(),j=e.y;j=0&&a<=this.width&&b>=0&&b<=this.height&&(c.Device.LITTLE_ENDIAN?this.pixels[b*this.width+a]=g<<24|f<<16|e<<8|d:this.pixels[b*this.width+a]=d<<24|e<<16|f<<8|g,h&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(a,b,c,d,e,f){return this.setPixel32(a,b,c,d,e,255,f)},getPixel:function(a,b,d){d||(d=c.Color.createColor());var e=~~(a+b*this.width);return e*=4,d.r=this.data[e],d.g=this.data[++e],d.b=this.data[++e],d.a=this.data[++e],d},getPixel32:function(a,b){return a>=0&&a<=this.width&&b>=0&&b<=this.height?this.pixels[b*this.width+a]:void 0},getPixelRGB:function(a,b,d,e,f){return c.Color.unpackPixel(this.getPixel32(a,b),d,e,f)},getPixels:function(a){return this.context.getImageData(a.x,a.y,a.width,a.height)},getFirstPixel:function(a){void 0===a&&(a=0);var b=c.Color.createColor(),d=0,e=0,f=1,g=!1;1===a?(f=-1,e=this.height):3===a&&(f=-1,d=this.width);do c.Color.unpackPixel(this.getPixel32(d,e),b),0===a||1===a?(d++,d===this.width&&(d=0,e+=f,(e>=this.height||0>=e)&&(g=!0))):(2===a||3===a)&&(e++,e===this.height&&(e=0,d+=f,(d>=this.width||0>=d)&&(g=!0)));while(0===b.a&&!g);return b.x=d,b.y=e,b},getBounds:function(a){return void 0===a&&(a=new c.Rectangle),a.x=this.getFirstPixel(2).x,a.x===this.width?a.setTo(0,0,0,0):(a.y=this.getFirstPixel(0).y,a.width=this.getFirstPixel(3).x-a.x+1,a.height=this.getFirstPixel(1).y-a.y+1,a)},addToWorld:function(a,b,c,d,e,f){e=e||1,f=f||1;var g=this.game.add.image(a,b,this);return g.anchor.set(c,d),g.scale.set(e,f),g},copy:function(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){if((void 0===a||null===a)&&(a=this),this._image=a,a instanceof c.Sprite||a instanceof c.Image||a instanceof c.Text||a instanceof PIXI.Sprite)this._pos.set(a.texture.crop.x,a.texture.crop.y),this._size.set(a.texture.crop.width,a.texture.crop.height),this._scale.set(a.scale.x,a.scale.y),this._anchor.set(a.anchor.x,a.anchor.y),this._rotate=a.rotation,this._alpha.current=a.alpha,this._image=a.texture.baseTexture.source,(void 0===g||null===g)&&(g=a.x),(void 0===h||null===h)&&(h=a.y),a.texture.trim&&(g+=a.texture.trim.x-a.anchor.x*a.texture.trim.width,h+=a.texture.trim.y-a.anchor.y*a.texture.trim.height),16777215!==a.tint&&(a.cachedTint!==a.tint&&(a.cachedTint=a.tint,a.tintedTexture=PIXI.CanvasTinter.getTintedTexture(a,a.tint)),this._image=a.tintedTexture);else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,a instanceof c.BitmapData)this._image=a.canvas;else if("string"==typeof a){if(a=this.game.cache.getImage(a),null===a)return;this._image=a}this._size.set(this._image.width,this._image.height)}if((void 0===b||null===b)&&(b=0),(void 0===d||null===d)&&(d=0),e&&(this._size.x=e),f&&(this._size.y=f),(void 0===g||null===g)&&(g=b),(void 0===h||null===h)&&(h=d),(void 0===i||null===i)&&(i=this._size.x),(void 0===j||null===j)&&(j=this._size.y),"number"==typeof k&&(this._rotate=k),"number"==typeof l&&(this._anchor.x=l),"number"==typeof m&&(this._anchor.y=m),"number"==typeof n&&(this._scale.x=n),"number"==typeof o&&(this._scale.y=o),"number"==typeof p&&(this._alpha.current=p),void 0===q&&(q=null),void 0===r&&(r=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var s=this.context;return this._alpha.prev=s.globalAlpha,s.save(),s.globalAlpha=this._alpha.current,q&&(this.op=q),r&&(g|=0,h|=0),s.translate(g,h),s.scale(this._scale.x,this._scale.y),s.rotate(this._rotate),s.drawImage(this._image,this._pos.x+b,this._pos.y+d,this._size.x,this._size.y,-i*this._anchor.x,-j*this._anchor.y,i,j),s.restore(),s.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyRect:function(a,b,c,d,e,f,g){return this.copy(a,b.x,b.y,b.width,b.height,c,d,b.width,b.height,0,0,0,1,1,e,f,g)},draw:function(a,b,c,d,e,f,g){return this.copy(a,null,null,null,null,b,c,d,e,null,null,null,null,null,null,f,g)},drawGroup:function(a,b,c){return a.total>0&&a.forEachExists(this.drawGroupProxy,this,b,c),this},drawGroupProxy:function(a,b,d){if(a.type===c.EMITTER||a.type===c.BITMAPTEXT)for(var e=0;eb.width&&(e=b.width);var f=this.context;return f.fillStyle=f.createPattern(b,d),this._circle=new c.Circle(a.start.x,a.start.y,b.height),this._circle.circumferencePoint(a.angle-1.5707963267948966,!1,this._pos),f.save(),f.translate(this._pos.x,this._pos.y),f.rotate(a.angle),f.fillRect(0,0,e,b.height),f.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){PIXI.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this}},Object.defineProperty(c.BitmapData.prototype,"smoothed",{get:function(){c.Canvas.getSmoothingEnabled(this.context)},set:function(a){c.Canvas.setSmoothingEnabled(this.context,a)}}),Object.defineProperty(c.BitmapData.prototype,"op",{get:function(){return this.context.globalCompositeOperation},set:function(a){this.context.globalCompositeOperation=a}}),c.BitmapData.getTransform=function(a,b,c,d,e,f){return"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),"number"!=typeof c&&(c=1),"number"!=typeof d&&(d=1),"number"!=typeof e&&(e=0),"number"!=typeof f&&(f=0),{sx:c,sy:d,scaleX:c,scaleY:d,skewX:e,skewY:f,translateX:a,translateY:b,tx:a,ty:b}},c.BitmapData.prototype.constructor=c.BitmapData,PIXI.Graphics=function(){PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new PIXI.Rectangle(0,0,1,1),this.dirty=!0,this.webGLDirty=!1,this.cachedSpriteDirty=!1},PIXI.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),PIXI.Graphics.prototype.constructor=PIXI.Graphics,PIXI.Graphics.prototype.lineStyle=function(a,b,c){return this.lineWidth=a||0,this.lineColor=b||0,this.lineAlpha=void 0===c?1:c,this.currentPath&&(this.currentPath.shape.points.length?this.drawShape(new PIXI.Polygon(this.currentPath.shape.points.slice(-2))):(this.currentPath.lineWidth=this.lineWidth,this.currentPath.lineColor=this.lineColor,this.currentPath.lineAlpha=this.lineAlpha)),this},PIXI.Graphics.prototype.moveTo=function(a,b){return this.drawShape(new PIXI.Polygon([a,b])),this},PIXI.Graphics.prototype.lineTo=function(a,b){return this.currentPath||this.moveTo(0,0),this.currentPath.shape.points.push(a,b),this.dirty=!0,this},PIXI.Graphics.prototype.quadraticCurveTo=function(a,b,c,d){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);var e,f,g=20,h=this.currentPath.shape.points;0===h.length&&this.moveTo(0,0);for(var i=h[h.length-2],j=h[h.length-1],k=0,l=1;g>=l;++l)k=l/g,e=i+(a-i)*k,f=j+(b-j)*k,h.push(e+(a+(c-a)*k-e)*k,f+(b+(d-b)*k-f)*k);return this.dirty=!0,this},PIXI.Graphics.prototype.bezierCurveTo=function(a,b,c,d,e,f){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);for(var g,h,i,j,k,l=20,m=this.currentPath.shape.points,n=m[m.length-2],o=m[m.length-1],p=0,q=1;l>=q;++q)p=q/l,g=1-p,h=g*g,i=h*g,j=p*p,k=j*p,m.push(i*n+3*h*p*a+3*g*j*c+k*e,i*o+3*h*p*b+3*g*j*d+k*f);return this.dirty=!0,this},PIXI.Graphics.prototype.arcTo=function(a,b,c,d,e){this.currentPath?0===this.currentPath.shape.points.length&&this.currentPath.shape.points.push(a,b):this.moveTo(a,b);var f=this.currentPath.shape.points,g=f[f.length-2],h=f[f.length-1],i=h-b,j=g-a,k=d-b,l=c-a,m=Math.abs(i*l-j*k);if(1e-8>m||0===e)(f[f.length-2]!==a||f[f.length-1]!==b)&&f.push(a,b);else{var n=i*i+j*j,o=k*k+l*l,p=i*k+j*l,q=e*Math.sqrt(n)/m,r=e*Math.sqrt(o)/m,s=q*p/n,t=r*p/o,u=q*l+r*j,v=q*k+r*i,w=j*(r+s),x=i*(r+s),y=l*(q+t),z=k*(q+t),A=Math.atan2(x-v,w-u),B=Math.atan2(z-v,y-u);this.arc(u+a,v+b,e,A,B,j*k>l*i)}return this.dirty=!0,this},PIXI.Graphics.prototype.arc=function(a,b,c,d,e,f,g){if(d===e)return this;void 0===f&&(f=!1),void 0===g&&(g=40),!f&&d>=e?e+=2*Math.PI:f&&e>=d&&(d+=2*Math.PI);var h=f?-1*(d-e):e-d,i=Math.ceil(Math.abs(h)/(2*Math.PI))*g;if(0===h)return this;var j=a+Math.cos(d)*c,k=b+Math.sin(d)*c;f&&this.filling?this.moveTo(a,b):this.moveTo(j,k);for(var l=this.currentPath.shape.points,m=h/(2*i),n=2*m,o=Math.cos(m),p=Math.sin(m),q=i-1,r=q%1/q,s=0;q>=s;s++){var t=s+r*s,u=m+d+n*t,v=Math.cos(u),w=-Math.sin(u);l.push((o*v+p*w)*c+a,(o*-w+p*v)*c+b)}return this.dirty=!0,this},PIXI.Graphics.prototype.beginFill=function(a,b){return this.filling=!0,this.fillColor=a||0,this.fillAlpha=void 0===b?1:b,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},PIXI.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},PIXI.Graphics.prototype.drawRect=function(a,b,c,d){return this.drawShape(new PIXI.Rectangle(a,b,c,d)),this},PIXI.Graphics.prototype.drawRoundedRect=function(a,b,c,d,e){return this.drawShape(new PIXI.RoundedRectangle(a,b,c,d,e)),this},PIXI.Graphics.prototype.drawCircle=function(a,b,c){return this.drawShape(new PIXI.Circle(a,b,c)),this},PIXI.Graphics.prototype.drawEllipse=function(a,b,c,d){return this.drawShape(new PIXI.Ellipse(a,b,c,d)),this},PIXI.Graphics.prototype.drawPolygon=function(a){(a instanceof c.Polygon||a instanceof PIXI.Polygon)&&(a=a.points);var b=a;if(!Array.isArray(b)){b=new Array(arguments.length);for(var d=0;dp?p:x,x=x>r?r:x,x=x>t?t:x,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w,this._bounds.x=x,this._bounds.width=v-x,this._bounds.y=y,this._bounds.height=w-y,this._currentBounds=this._bounds}return this._currentBounds},PIXI.Graphics.prototype.containsPoint=function(a){this.worldTransform.applyInverse(a,tempPoint);for(var b=this.graphicsData,c=0;ch?h:a,b=h+j>b?h+j:b,d=d>i?i:d,e=i+k>e?i+k:e;else if(n===PIXI.Graphics.CIRC)h=f.x,i=f.y,j=f.radius+o/2,k=f.radius+o/2,a=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?i+k:e;else if(n===PIXI.Graphics.ELIP)h=f.x,i=f.y,j=f.width+o/2,k=f.height+o/2,a=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?i+k:e;else{g=f.points;for(var p=0;ph-o?h-o:a,b=h+o>b?h+o:b,d=d>i-o?i-o:d,e=i+o>e?i+o:e}}else a=0,b=0,d=0,e=0;var q=this.boundsPadding;this._localBounds.x=a-q,this._localBounds.width=b-a+2*q,this._localBounds.y=d-q,this._localBounds.height=e-d+2*q},PIXI.Graphics.prototype._generateCachedSprite=function(){var a=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(a.width,a.height);else{var b=new PIXI.CanvasBuffer(a.width,a.height),c=PIXI.Texture.fromCanvas(b.canvas);this._cachedSprite=new PIXI.Sprite(c),this._cachedSprite.buffer=b,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-(a.x/a.width),this._cachedSprite.anchor.y=-(a.y/a.height),this._cachedSprite.buffer.context.translate(-a.x,-a.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},PIXI.Graphics.prototype.updateCachedSpriteTexture=function(){var a=this._cachedSprite,b=a.texture,c=a.buffer.canvas;b.baseTexture.width=c.width,b.baseTexture.height=c.height,b.crop.width=b.frame.width=c.width,b.crop.height=b.frame.height=c.height,a._width=c.width,a._height=c.height,b.baseTexture.dirty()},PIXI.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},PIXI.Graphics.prototype.drawShape=function(a){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,a instanceof c.Polygon&&(a=a.clone(),a.flatten());var b=new PIXI.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,a);return this.graphicsData.push(b),b.type===PIXI.Graphics.POLY&&(b.shape.closed=this.filling,this.currentPath=b),this.dirty=!0,b},Object.defineProperty(PIXI.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(a){this._cacheAsBitmap=a,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),PIXI.GraphicsData=function(a,b,c,d,e,f,g){this.lineWidth=a,this.lineColor=b,this.lineAlpha=c,this._lineTint=b,this.fillColor=d,this.fillAlpha=e,this._fillTint=d,this.fill=f,this.shape=g,this.type=g.type},PIXI.GraphicsData.prototype.constructor=PIXI.GraphicsData,PIXI.GraphicsData.prototype.clone=function(){return new GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},PIXI.PolyK={},PIXI.PolyK.Triangulate=function(a){var b=!0,c=a.length>>1;if(3>c)return[];for(var d=[],e=[],f=0;c>f;f++)e.push(f);f=0;for(var g=c;g>3;){var h=e[(f+0)%g],i=e[(f+1)%g],j=e[(f+2)%g],k=a[2*h],l=a[2*h+1],m=a[2*i],n=a[2*i+1],o=a[2*j],p=a[2*j+1],q=!1;if(PIXI.PolyK._convex(k,l,m,n,o,p,b)){q=!0;for(var r=0;g>r;r++){var s=e[r];if(s!==h&&s!==i&&s!==j&&PIXI.PolyK._PointInTriangle(a[2*s],a[2*s+1],k,l,m,n,o,p)){q=!1;break}}}if(q)d.push(h,i,j),e.splice((f+1)%g,1),g--,f=0;else if(f++>3*g){if(!b)return null;for(d=[],e=[],f=0;c>f;f++)e.push(f);f=0,g=c,b=!1}}return d.push(e[0],e[1],e[2]),d},PIXI.PolyK._PointInTriangle=function(a,b,c,d,e,f,g,h){var i=g-c,j=h-d,k=e-c,l=f-d,m=a-c,n=b-d,o=i*i+j*j,p=i*k+j*l,q=i*m+j*n,r=k*k+l*l,s=k*m+l*n,t=1/(o*r-p*p),u=(r*q-p*s)*t,v=(o*s-p*q)*t;return u>=0&&v>=0&&1>u+v},PIXI.PolyK._convex=function(a,b,c,d,e,f,g){return(b-d)*(e-c)+(c-a)*(f-d)>=0===g},PIXI.EarCut={},PIXI.EarCut.Triangulate=function(a,b,c){c=c||2;var d=b&&b.length,e=d?b[0]*c:a.length,f=PIXI.EarCut.linkedList(a,0,e,c,!0),g=[];if(!f)return g;var h,i,j,k,l,m,n;if(d&&(f=PIXI.EarCut.eliminateHoles(a,b,f,c)),a.length>80*c){h=j=a[0],i=k=a[1];for(var o=c;e>o;o+=c)l=a[o],m=a[o+1],h>l&&(h=l),i>m&&(i=m),l>j&&(j=l),m>k&&(k=m);n=Math.max(j-h,k-i)}return PIXI.EarCut.earcutLinked(f,g,c,h,i,n),g},PIXI.EarCut.linkedList=function(a,b,c,d,e){var f,g,h,i=0;for(f=b,g=c-d;c>f;f+=d)i+=(a[g]-a[f])*(a[f+1]+a[g+1]),g=f;if(e===i>0)for(f=b;c>f;f+=d)h=PIXI.EarCut.insertNode(f,a[f],a[f+1],h);else for(f=c-d;f>=b;f-=d)h=PIXI.EarCut.insertNode(f,a[f],a[f+1],h);return h},PIXI.EarCut.filterPoints=function(a,b){if(!a)return a;b||(b=a);var c,d=a;do if(c=!1,d.steiner||!PIXI.EarCut.equals(d,d.next)&&0!==PIXI.EarCut.area(d.prev,d,d.next))d=d.next;else{if(PIXI.EarCut.removeNode(d),d=b=d.prev,d===d.next)return null;c=!0}while(c||d!==b);return b},PIXI.EarCut.earcutLinked=function(a,b,c,d,e,f,g){if(a){!g&&f&&PIXI.EarCut.indexCurve(a,d,e,f);for(var h,i,j=a;a.prev!==a.next;)if(h=a.prev,i=a.next,f?PIXI.EarCut.isEarHashed(a,d,e,f):PIXI.EarCut.isEar(a))b.push(h.i/c),b.push(a.i/c),b.push(i.i/c),PIXI.EarCut.removeNode(a),a=i.next,j=i.next;else if(a=i,a===j){g?1===g?(a=PIXI.EarCut.cureLocalIntersections(a,b,c),PIXI.EarCut.earcutLinked(a,b,c,d,e,f,2)):2===g&&PIXI.EarCut.splitEarcut(a,b,c,d,e,f):PIXI.EarCut.earcutLinked(PIXI.EarCut.filterPoints(a),b,c,d,e,f,1);break}}},PIXI.EarCut.isEar=function(a){var b=a.prev,c=a,d=a.next;if(PIXI.EarCut.area(b,c,d)>=0)return!1;for(var e=a.next.next;e!==a.prev;){ +if(PIXI.EarCut.pointInTriangle(b.x,b.y,c.x,c.y,d.x,d.y,e.x,e.y)&&PIXI.EarCut.area(e.prev,e,e.next)>=0)return!1;e=e.next}return!0},PIXI.EarCut.isEarHashed=function(a,b,c,d){var e=a.prev,f=a,g=a.next;if(PIXI.EarCut.area(e,f,g)>=0)return!1;for(var h=e.xf.x?e.x>g.x?e.x:g.x:f.x>g.x?f.x:g.x,k=e.y>f.y?e.y>g.y?e.y:g.y:f.y>g.y?f.y:g.y,l=PIXI.EarCut.zOrder(h,i,b,c,d),m=PIXI.EarCut.zOrder(j,k,b,c,d),n=a.nextZ;n&&n.z<=m;){if(n!==a.prev&&n!==a.next&&PIXI.EarCut.pointInTriangle(e.x,e.y,f.x,f.y,g.x,g.y,n.x,n.y)&&PIXI.EarCut.area(n.prev,n,n.next)>=0)return!1;n=n.nextZ}for(n=a.prevZ;n&&n.z>=l;){if(n!==a.prev&&n!==a.next&&PIXI.EarCut.pointInTriangle(e.x,e.y,f.x,f.y,g.x,g.y,n.x,n.y)&&PIXI.EarCut.area(n.prev,n,n.next)>=0)return!1;n=n.prevZ}return!0},PIXI.EarCut.cureLocalIntersections=function(a,b,c){var d=a;do{var e=d.prev,f=d.next.next;PIXI.EarCut.intersects(e,d,d.next,f)&&PIXI.EarCut.locallyInside(e,f)&&PIXI.EarCut.locallyInside(f,e)&&(b.push(e.i/c),b.push(d.i/c),b.push(f.i/c),PIXI.EarCut.removeNode(d),PIXI.EarCut.removeNode(d.next),d=a=f),d=d.next}while(d!==a);return d},PIXI.EarCut.splitEarcut=function(a,b,c,d,e,f){var g=a;do{for(var h=g.next.next;h!==g.prev;){if(g.i!==h.i&&PIXI.EarCut.isValidDiagonal(g,h)){var i=PIXI.EarCut.splitPolygon(g,h);return g=PIXI.EarCut.filterPoints(g,g.next),i=PIXI.EarCut.filterPoints(i,i.next),PIXI.EarCut.earcutLinked(g,b,c,d,e,f),void PIXI.EarCut.earcutLinked(i,b,c,d,e,f)}h=h.next}g=g.next}while(g!==a)},PIXI.EarCut.eliminateHoles=function(a,b,c,d){var e,f,g,h,i,j=[];for(e=0,f=b.length;f>e;e++)g=b[e]*d,h=f-1>e?b[e+1]*d:a.length,i=PIXI.EarCut.linkedList(a,g,h,d,!1),i===i.next&&(i.steiner=!0),j.push(PIXI.EarCut.getLeftmost(i));for(j.sort(compareX),e=0;e=d.next.y){var h=d.x+(f-d.y)*(d.next.x-d.x)/(d.next.y-d.y);e>=h&&h>g&&(g=h,c=d.x=d.x&&d.x>=c.x&&PIXI.EarCut.pointInTriangle(fi||i===k&&d.x>c.x)&&PIXI.EarCut.locallyInside(d,a)&&(c=d,k=i)),d=d.next;return c},PIXI.EarCut.indexCurve=function(a,b,c,d){var e=a;do null===e.z&&(e.z=PIXI.EarCut.zOrder(e.x,e.y,b,c,d)),e.prevZ=e.prev,e.nextZ=e.next,e=e.next;while(e!==a);e.prevZ.nextZ=null,e.prevZ=null,PIXI.EarCut.sortLinked(e)},PIXI.EarCut.sortLinked=function(a){var b,c,d,e,f,g,h,i,j=1;do{for(c=a,a=null,f=null,g=0;c;){for(g++,d=c,h=0,b=0;j>b&&(h++,d=d.nextZ,d);b++);for(i=j;h>0||i>0&&d;)0===h?(e=d,d=d.nextZ,i--):0!==i&&d?c.z<=d.z?(e=c,c=c.nextZ,h--):(e=d,d=d.nextZ,i--):(e=c,c=c.nextZ,h--),f?f.nextZ=e:a=e,e.prevZ=f,f=e;c=d}f.nextZ=null,j*=2}while(g>1);return a},PIXI.EarCut.zOrder=function(a,b,c,d,e){return a=32767*(a-c)/e,b=32767*(b-d)/e,a=16711935&(a|a<<8),a=252645135&(a|a<<4),a=858993459&(a|a<<2),a=1431655765&(a|a<<1),b=16711935&(b|b<<8),b=252645135&(b|b<<4),b=858993459&(b|b<<2),b=1431655765&(b|b<<1),a|b<<1},PIXI.EarCut.getLeftmost=function(a){var b=a,c=a;do b.x=0&&(a-g)*(d-h)-(c-g)*(b-h)>=0&&(c-g)*(f-h)-(e-g)*(d-h)>=0},PIXI.EarCut.isValidDiagonal=function(a,b){return PIXI.EarCut.equals(a,b)||a.next.i!==b.i&&a.prev.i!==b.i&&!PIXI.EarCut.intersectsPolygon(a,b)&&PIXI.EarCut.locallyInside(a,b)&&PIXI.EarCut.locallyInside(b,a)&&PIXI.EarCut.middleInside(a,b)},PIXI.EarCut.area=function(a,b,c){return(b.y-a.y)*(c.x-b.x)-(b.x-a.x)*(c.y-b.y)},PIXI.EarCut.equals=function(a,b){return a.x===b.x&&a.y===b.y},PIXI.EarCut.intersects=function(a,b,c,d){return PIXI.EarCut.area(a,b,c)>0!=PIXI.EarCut.area(a,b,d)>0&&PIXI.EarCut.area(c,d,a)>0!=PIXI.EarCut.area(c,d,b)>0},PIXI.EarCut.intersectsPolygon=function(a,b){var c=a;do{if(c.i!==a.i&&c.next.i!==a.i&&c.i!==b.i&&c.next.i!==b.i&&PIXI.EarCut.intersects(c,c.next,a,b))return!0;c=c.next}while(c!==a);return!1},PIXI.EarCut.locallyInside=function(a,b){return PIXI.EarCut.area(a.prev,a,a.next)<0?PIXI.EarCut.area(a,b,a.next)>=0&&PIXI.EarCut.area(a,a.prev,b)>=0:PIXI.EarCut.area(a,b,a.prev)<0||PIXI.EarCut.area(a,a.next,b)<0},PIXI.EarCut.middleInside=function(a,b){var c=a,d=!1,e=(a.x+b.x)/2,f=(a.y+b.y)/2;do c.y>f!=c.next.y>f&&e<(c.next.x-c.x)*(f-c.y)/(c.next.y-c.y)+c.x&&(d=!d),c=c.next;while(c!==a);return d},PIXI.EarCut.splitPolygon=function(a,b){var c=new PIXI.EarCut.Node(a.i,a.x,a.y),d=new PIXI.EarCut.Node(b.i,b.x,b.y),e=a.next,f=b.prev;return a.next=b,b.prev=a,c.next=e,e.prev=c,d.next=c,c.prev=d,f.next=d,d.prev=f,d},PIXI.EarCut.insertNode=function(a,b,c,d){var e=new PIXI.EarCut.Node(a,b,c);return d?(e.next=d.next,e.prev=d,d.next.prev=e,d.next=e):(e.prev=e,e.next=e),e},PIXI.EarCut.removeNode=function(a){a.next.prev=a.prev,a.prev.next=a.next,a.prevZ&&(a.prevZ.nextZ=a.nextZ),a.nextZ&&(a.nextZ.prevZ=a.prevZ)},PIXI.EarCut.Node=function(a,b,c){this.i=a,this.x=b,this.y=c,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(a,b){var c,d=b.gl,e=b.projection,f=b.offset,g=b.shaderManager.primitiveShader;a.dirty&&PIXI.WebGLGraphics.updateGraphics(a,d);for(var h=a._webGL[d.id],i=0;i=PIXI.WebGLGraphics.stencilBufferLimit)if(g.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit){f=PIXI.WebGLGraphics.switchMode(c,0);var h=PIXI.WebGLGraphics.buildPoly(g,f);h||(f=PIXI.WebGLGraphics.switchMode(c,1),PIXI.WebGLGraphics.buildComplexPoly(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,1),PIXI.WebGLGraphics.buildComplexPoly(g,f);g.lineWidth>0&&(f=PIXI.WebGLGraphics.switchMode(c,0),PIXI.WebGLGraphics.buildLine(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,0),g.type===PIXI.Graphics.RECT?PIXI.WebGLGraphics.buildRectangle(g,f):g.type===PIXI.Graphics.CIRC||g.type===PIXI.Graphics.ELIP?PIXI.WebGLGraphics.buildCircle(g,f):g.type===PIXI.Graphics.RREC&&PIXI.WebGLGraphics.buildRoundedRectangle(g,f);c.lastIndex++}for(d=0;d=q;q++)p=q/n,h=g(a,c,p),i=g(b,d,p),j=g(c,e,p),k=g(d,f,p),l=g(h,j,p),m=g(i,k,p),o.push(l,m);return o},PIXI.WebGLGraphics.buildCircle=function(a,b){var c,d,e=a.shape,f=e.x,g=e.y;a.type===PIXI.Graphics.CIRC?(c=e.radius,d=e.radius):(c=e.width,d=e.height);var h=40,i=2*Math.PI/h,j=0;if(a.fill){var k=PIXI.hex2rgb(a.fillColor),l=a.fillAlpha,m=k[0]*l,n=k[1]*l,o=k[2]*l,p=b.points,q=b.indices,r=p.length/6;for(q.push(r),j=0;h+1>j;j++)p.push(f,g,m,n,o,l),p.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d,m,n,o,l),q.push(r++,r++);q.push(r-1)}if(a.lineWidth){var s=a.points;for(a.points=[],j=0;h+1>j;j++)a.points.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d);PIXI.WebGLGraphics.buildLine(a,b),a.points=s}},PIXI.WebGLGraphics.buildLine=function(a,b){var c=0,d=a.points;if(0!==d.length){if(a.lineWidth%2)for(c=0;cc;c++)k=d[2*(c-1)],l=d[2*(c-1)+1],m=d[2*c],n=d[2*c+1],o=d[2*(c+1)],p=d[2*(c+1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,s=-(n-p),t=m-o,E=Math.sqrt(s*s+t*t),s/=E,t/=E,s*=K,t*=K,w=-r+l-(-r+n),x=-q+m-(-q+k),y=(-q+k)*(-r+n)-(-q+m)*(-r+l),z=-t+p-(-t+n),A=-s+m-(-s+o),B=(-s+o)*(-t+n)-(-s+m)*(-t+p),C=w*A-z*x,Math.abs(C)<.1?(C+=10.1,F.push(m-q,n-r,N,O,P,M),F.push(m+q,n+r,N,O,P,M)):(i=(x*B-A*y)/C,j=(z*y-w*B)/C,D=(i-m)*(i-m)+(j-n)+(j-n),D>19600?(u=q-s,v=r-t,E=Math.sqrt(u*u+v*v),u/=E,v/=E,u*=K,v*=K,F.push(m-u,n-v),F.push(N,O,P,M),F.push(m+u,n+v),F.push(N,O,P,M),F.push(m-u,n-v),F.push(N,O,P,M),I++):(F.push(i,j),F.push(N,O,P,M),F.push(m-(i-m),n-(j-n)),F.push(N,O,P,M)));for(k=d[2*(H-2)],l=d[2*(H-2)+1],m=d[2*(H-1)],n=d[2*(H-1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,F.push(m-q,n-r),F.push(N,O,P,M),F.push(m+q,n+r),F.push(N,O,P,M),G.push(J),c=0;I>c;c++)G.push(J++);G.push(J-1)}},PIXI.WebGLGraphics.buildComplexPoly=function(a,b){var c=a.points.slice();if(!(c.length<6)){var d=b.indices;b.points=c,b.alpha=a.fillAlpha,b.color=PIXI.hex2rgb(a.fillColor);for(var e,f,g=1/0,h=-(1/0),i=1/0,j=-(1/0),k=0;ke?e:g,h=e>h?e:h,i=i>f?f:i,j=f>j?f:j;c.push(g,i,h,i,h,j,g,j);var l=c.length/2;for(k=0;l>k;k++)d.push(k)}},PIXI.WebGLGraphics.buildPoly=function(a,b){var c=a.points;if(!(c.length<6)){var d=b.points,e=b.indices,f=c.length/2,g=PIXI.hex2rgb(a.fillColor),h=a.fillAlpha,i=g[0]*h,j=g[1]*h,k=g[2]*h,l=PIXI.EarCut.Triangulate(c,null,2);if(!l)return!1;var m=d.length/6,n=0;for(n=0;nn;n++)d.push(c[2*n],c[2*n+1],i,j,k,h);return!0}},PIXI.WebGLGraphics.graphicsDataPool=[],PIXI.WebGLGraphicsData=function(a){this.gl=a,this.color=[0,0,0],this.points=[],this.indices=[],this.buffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),this.mode=1,this.alpha=1,this.dirty=!0},PIXI.WebGLGraphicsData.prototype.reset=function(){this.points=[],this.indices=[]},PIXI.WebGLGraphicsData.prototype.upload=function(){var a=this.gl;this.glPoints=new PIXI.Float32Array(this.points),a.bindBuffer(a.ARRAY_BUFFER,this.buffer),a.bufferData(a.ARRAY_BUFFER,this.glPoints,a.STATIC_DRAW),this.glIndicies=new PIXI.Uint16Array(this.indices),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.glIndicies,a.STATIC_DRAW),this.dirty=!1},PIXI.CanvasGraphics=function(){},PIXI.CanvasGraphics.renderGraphics=function(a,b){var c=a.worldAlpha;a.dirty&&(this.updateGraphicsTint(a),a.dirty=!1);for(var d=0;dA?A:z,b.beginPath(),b.moveTo(v,w+z),b.lineTo(v,w+y-z),b.quadraticCurveTo(v,w+y,v+z,w+y),b.lineTo(v+x-z,w+y),b.quadraticCurveTo(v+x,w+y,v+x,w+y-z),b.lineTo(v+x,w+z),b.quadraticCurveTo(v+x,w,v+x-z,w),b.lineTo(v+z,w),b.quadraticCurveTo(v,w,v,w+z),b.closePath(),(e.fillColor||0===e.fillColor)&&(b.globalAlpha=e.fillAlpha*c,b.fillStyle="#"+("00000"+(0|g).toString(16)).substr(-6),b.fill()),e.lineWidth&&(b.globalAlpha=e.lineAlpha*c,b.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),b.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(a,b){var c=a.graphicsData.length;if(0!==c){b.beginPath();for(var d=0;c>d;d++){var e=a.graphicsData[d],f=e.shape;if(e.type===PIXI.Graphics.POLY){var g=f.points;b.moveTo(g[0],g[1]);for(var h=1;hy?y:x,b.moveTo(t,u+x),b.lineTo(t,u+w-x),b.quadraticCurveTo(t,u+w,t+x,u+w),b.lineTo(t+v-x,u+w),b.quadraticCurveTo(t+v,u+w,t+v,u+w-x),b.lineTo(t+v,u+x),b.quadraticCurveTo(t+v,u,t+v-x,u),b.lineTo(t+x,u),b.quadraticCurveTo(t,u,t,u+x),b.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(a){if(16777215!==a.tint)for(var b=(a.tint>>16&255)/255,c=(a.tint>>8&255)/255,d=(255&a.tint)/255,e=0;e>16&255)/255*b*255<<16)+((g>>8&255)/255*c*255<<8)+(255&g)/255*d*255,f._lineTint=((h>>16&255)/255*b*255<<16)+((h>>8&255)/255*c*255<<8)+(255&h)/255*d*255}},c.Graphics=function(a,b,d){void 0===b&&(b=0),void 0===d&&(d=0),this.type=c.GRAPHICS,this.physicsType=c.SPRITE,PIXI.Graphics.call(this),c.Component.Core.init.call(this,a,b,d,"",null)},c.Graphics.prototype=Object.create(PIXI.Graphics.prototype),c.Graphics.prototype.constructor=c.Graphics,c.Component.Core.install.call(c.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),c.Graphics.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Graphics.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Graphics.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Graphics.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Graphics.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Graphics.prototype.destroy=function(a){this.clear(),c.Component.Destroy.prototype.destroy.call(this,a)},c.Graphics.prototype.drawTriangle=function(a,b){void 0===b&&(b=!1);var d=new c.Polygon(a);if(b){var e=new c.Point(this.game.camera.x-a[0].x,this.game.camera.y-a[0].y),f=new c.Point(a[1].x-a[0].x,a[1].y-a[0].y),g=new c.Point(a[1].x-a[2].x,a[1].y-a[2].y),h=g.cross(f);e.dot(h)>0&&this.drawPolygon(d)}else this.drawPolygon(d)},c.Graphics.prototype.drawTriangles=function(a,b,d){void 0===d&&(d=!1);var e,f=new c.Point,g=new c.Point,h=new c.Point,i=[];if(b)if(a[0]instanceof c.Point)for(e=0;e0&&(j+=c[k-1]),h=j+l}else for(var k=0;kp&&Math.abs(p)>n&&(p=-n),0!==p){var m=p*(b.length-1);o+=m}this.canvas.height=o*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var q,r;for(this._charCount=0,g=0;g0&&(r+=p*g),"right"===this.style.align?q+=e-d[g]:"center"===this.style.align&&(q+=(e-d[g])/2),this.autoRound&&(q=Math.round(q),r=Math.round(r)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(b[g],q,r):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===c?this.context.strokeText(b[g],q,r):this.renderTabLine(b[g],q,r,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===c?this.context.fillText(b[g],q,r):this.renderTabLine(b[g],q,r,!0)));this.updateTexture()},c.Text.prototype.renderTabLine=function(a,b,c,d){var e=a.split(/(?:\t)/),f=this.style.tabs,g=0;if(Array.isArray(f))for(var h=0,i=0;i0&&(h+=f[i-1]),g=b+h,d?this.context.fillText(e[i],g,c):this.context.strokeText(e[i],g,c);else for(var i=0;i0||this.fontStyles.length>0){var f=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(f.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(f.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(f)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(e,b,c)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(e,b,c)),b+=this.context.measureText(e).width,this._charCount++}},c.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},c.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},c.Text.prototype.addColor=function(a,b){return this.colors[b]=a,this.dirty=!0,this},c.Text.prototype.addStrokeColor=function(a,b){return this.strokeColors[b]=a,this.dirty=!0,this},c.Text.prototype.addFontStyle=function(a,b){return this.fontStyles[b]=a,this.dirty=!0,this},c.Text.prototype.addFontWeight=function(a,b){return this.fontWeights[b]=a,this.dirty=!0,this},c.Text.prototype.precalculateWordWrap=function(a){this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font;var b=this.runWordWrap(a);return b.split(/(?:\r\n|\r|\n)/)},c.Text.prototype.runWordWrap=function(a){return this.useAdvancedWrap?this.advancedWordWrap(a):this.basicWordWrap(a)},c.Text.prototype.advancedWordWrap=function(a){for(var b=this.context,c=this.style.wordWrapWidth,d="",e=a.replace(/ +/gi," ").split(/\r?\n/gi),f=e.length,g=0;f>g;g++){var h=e[g],i="";h=h.replace(/^ *|\s*$/gi,"");var j=b.measureText(h).width;if(c>j)d+=h+"\n";else{for(var k=c,l=h.split(" "),m=0;mk){if(0===m){for(var q=o;q.length&&(q=q.slice(0,-1),p=b.measureText(q).width,!(k>=p)););if(!q.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var r=n.substr(q.length);l[m]=r,i+=q}var s=l[m].length?m:m+1,t=l.slice(s).join(" ").replace(/[ \n]*$/gi,"");e[g+1]=t+" "+(e[g+1]||""),f=e.length;break}i+=o,k-=p}d+=i.replace(/[ \n]*$/gi,"")+"\n"}}return d=d.replace(/[\s|\n]*$/gi,"")},c.Text.prototype.basicWordWrap=function(a){for(var b="",c=a.split("\n"),d=0;de?(g>0&&(b+="\n"),b+=f[g]+" ",e=this.style.wordWrapWidth-h):(e-=i,b+=f[g]+" ")}dd&&(this.style.wordWrapWidth=d)),this.updateTexture(),this},c.Text.prototype.updateTexture=function(){var a=this.texture.baseTexture,b=this.texture.crop,c=this.texture.frame,d=this.canvas.width,e=this.canvas.height;if(a.width=d,a.height=e,b.width=d,b.height=e,c.width=d,c.height=e,this.texture.width=d,this.texture.height=e,this._width=d,this._height=e,this.textBounds){var f=this.textBounds.x,g=this.textBounds.y;"right"===this.style.boundsAlignH?f+=this.textBounds.width-this.canvas.width:"center"===this.style.boundsAlignH&&(f+=this.textBounds.halfWidth-this.canvas.width/2),"bottom"===this.style.boundsAlignV?g+=this.textBounds.height-this.canvas.height:"middle"===this.style.boundsAlignV&&(g+=this.textBounds.halfHeight-this.canvas.height/2),this.pivot.x=-f,this.pivot.y=-g}this.renderable=0!==d&&0!==e,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},c.Text.prototype._renderWebGL=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,a)},c.Text.prototype._renderCanvas=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,a)},c.Text.prototype.determineFontProperties=function(a){var b=c.Text.fontPropertiesCache[a];if(!b){b={};var d=c.Text.fontPropertiesCanvas,e=c.Text.fontPropertiesContext;e.font=a;var f=Math.ceil(e.measureText("|MÉq").width),g=Math.ceil(e.measureText("|MÉq").width),h=2*g;if(g=1.4*g|0,d.width=f,d.height=h,e.fillStyle="#f00",e.fillRect(0,0,f,h), +e.font=a,e.textBaseline="alphabetic",e.fillStyle="#000",e.fillText("|MÉq",0,g),!e.getImageData(0,0,f,h))return b.ascent=g,b.descent=g+6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b,b;var i,j,k=e.getImageData(0,0,f,h).data,l=k.length,m=4*f,n=0,o=!1;for(i=0;g>i;i++){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n+=m}for(b.ascent=g-i,n=l-m,o=!1,i=h;i>g;i--){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n-=m}b.descent=i-g,b.descent+=6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b}return b},c.Text.prototype.getBounds=function(a){return this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype.getBounds.call(this,a)},Object.defineProperty(c.Text.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"cssFont",{get:function(){return this.componentsToFont(this._fontComponents)},set:function(a){a=a||"bold 20pt Arial",this._fontComponents=this.fontToComponents(a),this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"font",{get:function(){return this._fontComponents.fontFamily},set:function(a){a=a||"Arial",a=a.trim(),/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(a)||/['",]/.exec(a)||(a="'"+a+"'"),this._fontComponents.fontFamily=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontSize",{get:function(){var a=this._fontComponents.fontSize;return a&&/(?:^0$|px$)/.exec(a)?parseInt(a,10):a},set:function(a){a=a||"0","number"==typeof a&&(a+="px"),this._fontComponents.fontSize=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontWeight",{get:function(){return this._fontComponents.fontWeight||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontWeight=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontStyle",{get:function(){return this._fontComponents.fontStyle||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontStyle=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontVariant",{get:function(){return this._fontComponents.fontVariant||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontVariant=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fill",{get:function(){return this.style.fill},set:function(a){a!==this.style.fill&&(this.style.fill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"align",{get:function(){return this.style.align},set:function(a){a!==this.style.align&&(this.style.align=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"resolution",{get:function(){return this._res},set:function(a){a!==this._res&&(this._res=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"tabs",{get:function(){return this.style.tabs},set:function(a){a!==this.style.tabs&&(this.style.tabs=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignH",{get:function(){return this.style.boundsAlignH},set:function(a){a!==this.style.boundsAlignH&&(this.style.boundsAlignH=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignV",{get:function(){return this.style.boundsAlignV},set:function(a){a!==this.style.boundsAlignV&&(this.style.boundsAlignV=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"stroke",{get:function(){return this.style.stroke},set:function(a){a!==this.style.stroke&&(this.style.stroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"strokeThickness",{get:function(){return this.style.strokeThickness},set:function(a){a!==this.style.strokeThickness&&(this.style.strokeThickness=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrap",{get:function(){return this.style.wordWrap},set:function(a){a!==this.style.wordWrap&&(this.style.wordWrap=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrapWidth",{get:function(){return this.style.wordWrapWidth},set:function(a){a!==this.style.wordWrapWidth&&(this.style.wordWrapWidth=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"lineSpacing",{get:function(){return this._lineSpacing},set:function(a){a!==this._lineSpacing&&(this._lineSpacing=parseFloat(a),this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"shadowOffsetX",{get:function(){return this.style.shadowOffsetX},set:function(a){a!==this.style.shadowOffsetX&&(this.style.shadowOffsetX=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowOffsetY",{get:function(){return this.style.shadowOffsetY},set:function(a){a!==this.style.shadowOffsetY&&(this.style.shadowOffsetY=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowColor",{get:function(){return this.style.shadowColor},set:function(a){a!==this.style.shadowColor&&(this.style.shadowColor=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowBlur",{get:function(){return this.style.shadowBlur},set:function(a){a!==this.style.shadowBlur&&(this.style.shadowBlur=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowStroke",{get:function(){return this.style.shadowStroke},set:function(a){a!==this.style.shadowStroke&&(this.style.shadowStroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowFill",{get:function(){return this.style.shadowFill},set:function(a){a!==this.style.shadowFill&&(this.style.shadowFill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"width",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*this.texture.frame.width},set:function(a){this.scale.x=a/this.texture.frame.width,this._width=a}}),Object.defineProperty(c.Text.prototype,"height",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*this.texture.frame.height},set:function(a){this.scale.y=a/this.texture.frame.height,this._height=a}}),c.Text.fontPropertiesCache={},c.Text.fontPropertiesCanvas=PIXI.CanvasPool.create(c.Text.fontPropertiesCanvas),c.Text.fontPropertiesContext=c.Text.fontPropertiesCanvas.getContext("2d"),c.BitmapText=function(a,b,d,e,f,g,h){b=b||0,d=d||0,e=e||"",f=f||"",g=g||32,h=h||"left",PIXI.DisplayObjectContainer.call(this),this.type=c.BITMAPTEXT,this.physicsType=c.SPRITE,this.textWidth=0,this.textHeight=0,this.anchor=new c.Point,this._prevAnchor=new c.Point,this._glyphs=[],this._maxWidth=0,this._text=f,this._data=a.cache.getBitmapFont(e),this._font=e,this._fontSize=g,this._align=h,this._tint=16777215,this.updateText(),this.dirty=!1,c.Component.Core.init.call(this,a,b,d,"",null)},c.BitmapText.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),c.BitmapText.prototype.constructor=c.BitmapText,c.Component.Core.install.call(c.BitmapText.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),c.BitmapText.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.BitmapText.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.BitmapText.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.BitmapText.prototype.preUpdateCore=c.Component.Core.preUpdate,c.BitmapText.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.BitmapText.prototype.postUpdate=function(){c.Component.PhysicsBody.postUpdate.call(this),c.Component.FixedToCamera.postUpdate.call(this),this.body&&this.body.type===c.Physics.ARCADE&&(this.textWidth!==this.body.sourceWidth||this.textHeight!==this.body.sourceHeight)&&this.body.setSize(this.textWidth,this.textHeight)},c.BitmapText.prototype.setText=function(a){this.text=a},c.BitmapText.prototype.scanLine=function(a,b,c){for(var d=0,e=0,f=-1,g=null,h=this._maxWidth>0?this._maxWidth:null,i=[],j=0;j=h&&f>-1)return{width:e,text:c.substr(0,j-(j-f)),end:k,chars:i};e+=(m.xAdvance+o)*b,i.push(d+(m.xOffset+o)*b),d+=(m.xAdvance+o)*b,g=l}return{width:e,text:c,end:k,chars:i}},c.BitmapText.prototype.cleanText=function(a,b){void 0===b&&(b="");var c=this._data.font;if(!c)return"";for(var d=/\r\n|\n\r|\n|\r/g,e=a.replace(d,"\n").split("\n"),f=0;fthis.textWidth&&(this.textWidth=f.width),e+=a.lineHeight*c,b=b.substr(f.text.length+1)}while(f.end===!1);this.textHeight=e;for(var g=0,h=0,i=this.textWidth*this.anchor.x,j=this.textHeight*this.anchor.y,k=0;k0&&(this._fontSize=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(a){a!==this._maxWidth&&(this._maxWidth=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(a){a?this._data.base.scaleMode=0:this._data.base.scaleMode=1}}),c.RetroFont=function(a,b,d,e,f,g,h,i,j,k){if(!a.cache.checkImageKey(b))return!1;(void 0===g||null===g)&&(g=a.cache.getImage(b).width/d),this.characterWidth=d,this.characterHeight=e,this.characterSpacingX=h||0,this.characterSpacingY=i||0,this.characterPerRow=g,this.offsetX=j||0,this.offsetY=k||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=a.cache.getImage(b),this._text="",this.grabData=[],this.frameData=new c.FrameData;for(var l=this.offsetX,m=this.offsetY,n=0,o=0;o?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",c.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",c.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",c.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",c.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",c.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",c.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",c.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",c.RetroFont.prototype.setFixedWidth=function(a,b){void 0===b&&(b="left"),this.fixedWidth=a,this.align=b},c.RetroFont.prototype.setText=function(a,b,c,d,e,f){this.multiLine=b||!1,this.customSpacingX=c||0,this.customSpacingY=d||0,this.align=e||"left",f?this.autoUpperCase=!1:this.autoUpperCase=!0,a.length>0&&(this.text=a)},c.RetroFont.prototype.buildRetroFontText=function(){var a=0,b=0;if(this.clear(),this.multiLine){var d=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var e=0;ea&&(a=0),this.pasteLine(d[e],a,b,this.customSpacingX),b+=this.characterHeight+this.customSpacingY}else this.fixedWidth>0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),a=0,this.align===c.RetroFont.ALIGN_RIGHT?a=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===c.RetroFont.ALIGN_CENTER&&(a=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,a+=this.customSpacingX/2),0>a&&(a=0),this.pasteLine(this._text,a,0,this.customSpacingX);this.requiresReTint=!0},c.RetroFont.prototype.pasteLine=function(a,b,c,d){for(var e=0;e=0&&(this.stamp.frame=this.grabData[a.charCodeAt(e)],this.renderXY(this.stamp,b,c,!1),b+=this.characterWidth+d,b>this.width))break},c.RetroFont.prototype.getLongestLine=function(){var a=0;if(this._text.length>0)for(var b=this._text.split("\n"),c=0;ca&&(a=b[c].length);return a},c.RetroFont.prototype.removeUnsupportedCharacters=function(a){for(var b="",c=0;c=0||!a&&"\n"===d)&&(b=b.concat(d))}return b},c.RetroFont.prototype.updateOffset=function(a,b){if(this.offsetX!==a||this.offsetY!==b){for(var c=a-this.offsetX,d=b-this.offsetY,e=this.game.cache.getFrameData(this.stamp.key).getFrames(),f=e.length;f--;)e[f].x+=c,e[f].y+=d;this.buildRetroFontText()}},Object.defineProperty(c.RetroFont.prototype,"text",{get:function(){return this._text},set:function(a){var b;b=this.autoUpperCase?a.toUpperCase():a,b!==this._text&&(this._text=b,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(c.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(a){this.stamp.smoothed=a,this.buildRetroFontText()}}),c.Rope=function(a,b,d,e,f,g){this.points=[],this.points=g,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.ROPE,PIXI.Rope.call(this,PIXI.TextureCache.__default,this.points),c.Component.Core.init.call(this,a,b,d,e,f)},c.Rope.prototype=Object.create(PIXI.Rope.prototype),c.Rope.prototype.constructor=c.Rope,c.Component.Core.install.call(c.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Rope.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Rope.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Rope.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Rope.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Rope.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},c.Rope.prototype.reset=function(a,b){return c.Component.Reset.prototype.reset.call(this,a,b),this},Object.defineProperty(c.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(a){a&&"function"==typeof a?(this._hasUpdateAnimation=!0,this._updateAnimation=a):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(c.Rope.prototype,"segments",{get:function(){for(var a,b,d,e,f,g,h,i,j=[],k=0;k=1)&&(l.touch=!0),(window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(l.mspointer=!0),l.cocoonJS||("onwheel"in window||l.ie&&"WheelEvent"in window?l.wheelEvent="wheel":"onmousewheel"in window?l.wheelEvent="mousewheel":l.firefox&&"MouseScrollEvent"in window&&(l.wheelEvent="DOMMouseScroll"))}function d(){for(var a=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],b=document.createElement("div"),c=0;c0&&"none"!==a}var l=this;a(),g(),f(),e(),k(),h(),b(),d(),c()},c.Device.canPlayAudio=function(a){return"mp3"===a&&this.mp3?!0:"ogg"===a&&(this.ogg||this.opus)?!0:"m4a"===a&&this.m4a?!0:"opus"===a&&this.opus?!0:"wav"===a&&this.wav?!0:"webm"===a&&this.webm?!0:!1},c.Device.canPlayVideo=function(a){return"webm"===a&&(this.webmVideo||this.vp9Video)?!0:"mp4"===a&&(this.mp4Video||this.h264Video)?!0:"ogg"!==a&&"ogv"!==a||!this.oggVideo?"mpeg"===a&&this.hlsVideo?!0:!1:!0},c.Device.isConsoleOpen=function(){return window.console&&window.console.firebug?!0:window.console&&(console.profile(),console.profileEnd(),console.clear&&console.clear(),console.profiles)?console.profiles.length>0:!1},c.Device.isAndroidStockBrowser=function(){var a=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return a&&a[1]<537},c.Canvas={create:function(a,b,c,d,e){if(b=b||256,c=c||256,void 0===e)var f=PIXI.CanvasPool.create(a,b,c);else var f=document.createElement("canvas");return"string"==typeof d&&""!==d&&(f.id=d),f.width=b,f.height=c,f.style.display="block",f},setBackgroundColor:function(a,b){return b=b||"rgb(0,0,0)",a.style.backgroundColor=b,a},setTouchAction:function(a,b){return b=b||"none",a.style.msTouchAction=b,a.style["ms-touch-action"]=b,a.style["touch-action"]=b,a},setUserSelect:function(a,b){return b=b||"none",a.style["-webkit-touch-callout"]=b,a.style["-webkit-user-select"]=b,a.style["-khtml-user-select"]=b,a.style["-moz-user-select"]=b,a.style["-ms-user-select"]=b,a.style["user-select"]=b,a.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",a},addToDOM:function(a,b,c){var d;return void 0===c&&(c=!0),b&&("string"==typeof b?d=document.getElementById(b):"object"==typeof b&&1===b.nodeType&&(d=b)),d||(d=document.body),c&&d.style&&(d.style.overflow="hidden"),d.appendChild(a),a},removeFromDOM:function(a){a.parentNode&&a.parentNode.removeChild(a)},setTransform:function(a,b,c,d,e,f,g){return a.setTransform(d,f,g,e,b,c),a},setSmoothingEnabled:function(a,b){var d=c.Canvas.getSmoothingPrefix(a);return d&&(a[d]=b),a},getSmoothingPrefix:function(a){var b=["i","webkitI","msI","mozI","oI"];for(var c in b){var d=b[c]+"mageSmoothingEnabled";if(d in a)return d}return null},getSmoothingEnabled:function(a){var b=c.Canvas.getSmoothingPrefix(a);return b?a[b]:void 0},setImageRenderingCrisp:function(a){for(var b=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],c=0;ca},fuzzyGreaterThan:function(a,b,c){return void 0===c&&(c=1e-4),a>b-c},fuzzyCeil:function(a,b){return void 0===b&&(b=1e-4),Math.ceil(a-b)},fuzzyFloor:function(a,b){return void 0===b&&(b=1e-4),Math.floor(a+b)},average:function(){for(var a=0,b=arguments.length,c=0;b>c;c++)a+=+arguments[c];return a/b},shear:function(a){return a%1},snapTo:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.round(a/b),c+a)},snapToFloor:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.floor(a/b),c+a)},snapToCeil:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.ceil(a/b),c+a)},roundTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.round(a*d)/d},floorTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.floor(a*d)/d},ceilTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.ceil(a*d)/d},angleBetween:function(a,b,c,d){return Math.atan2(d-b,c-a)},angleBetweenY:function(a,b,c,d){return Math.atan2(c-a,d-b)},angleBetweenPoints:function(a,b){return Math.atan2(b.y-a.y,b.x-a.x)},angleBetweenPointsY:function(a,b){return Math.atan2(b.x-a.x,b.y-a.y)},reverseAngle:function(a){return this.normalizeAngle(a+Math.PI,!0)},normalizeAngle:function(a){return a%=2*Math.PI,a>=0?a:a+2*Math.PI},maxAdd:function(a,b,c){return Math.min(a+b,c)},minSub:function(a,b,c){return Math.max(a-b,c)},wrap:function(a,b,c){var d=c-b;if(0>=d)return 0;var e=(a-b)%d;return 0>e&&(e+=d),e+b},wrapValue:function(a,b,c){var d;return a=Math.abs(a),b=Math.abs(b),c=Math.abs(c),d=(a+b)%c},isOdd:function(a){return!!(1&a)},isEven:function(a){return!(1&a)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])var a=arguments[0];else var a=arguments;for(var b=1,c=0,d=a.length;d>b;b++)a[b]b;b++)a[b]>a[c]&&(c=b);return a[c]},minProperty:function(a){if(2===arguments.length&&"object"==typeof arguments[1])var b=arguments[1];else var b=arguments.slice(1);for(var c=1,d=0,e=b.length;e>c;c++)b[c][a]c;c++)b[c][a]>b[d][a]&&(d=c);return b[d][a]},wrapAngle:function(a,b){return b?this.wrap(a,-Math.PI,Math.PI):this.wrap(a,-180,180)},linearInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return 0>b?this.linear(a[0],a[1],d):b>1?this.linear(a[c],a[c-1],c-d):this.linear(a[e],a[e+1>c?c:e+1],d-e)},bezierInterpolation:function(a,b){for(var c=0,d=a.length-1,e=0;d>=e;e++)c+=Math.pow(1-b,d-e)*Math.pow(b,e)*a[e]*this.bernstein(d,e);return c},catmullRomInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return a[0]===a[c]?(0>b&&(e=Math.floor(d=c*(1+b))),this.catmullRom(a[(e-1+c)%c],a[e],a[(e+1)%c],a[(e+2)%c],d-e)):0>b?a[0]-(this.catmullRom(a[0],a[0],a[1],a[1],-d)-a[0]):b>1?a[c]-(this.catmullRom(a[c],a[c],a[c-1],a[c-1],d-c)-a[c]):this.catmullRom(a[e?e-1:0],a[e],a[e+1>c?c:e+1],a[e+2>c?c:e+2],d-e)},linear:function(a,b,c){return(b-a)*c+a},bernstein:function(a,b){return this.factorial(a)/this.factorial(b)/this.factorial(a-b)},factorial:function(a){if(0===a)return 1;for(var b=a;--a;)b*=a;return b},catmullRom:function(a,b,c,d,e){var f=.5*(c-a),g=.5*(d-b),h=e*e,i=e*h;return(2*b-2*c+f+g)*i+(-3*b+3*c-2*f-g)*h+f*e+b},difference:function(a,b){return Math.abs(a-b)},roundAwayFromZero:function(a){return a>0?Math.ceil(a):Math.floor(a)},sinCosGenerator:function(a,b,c,d){void 0===b&&(b=1),void 0===c&&(c=1),void 0===d&&(d=1);for(var e=b,f=c,g=d*Math.PI/a,h=[],i=[],j=0;a>j;j++)f-=e*g,e+=f*g,h[j]=f,i[j]=e;return{sin:i,cos:h,length:a}},distance:function(a,b,c,d){var e=a-c,f=b-d;return Math.sqrt(e*e+f*f)},distanceSq:function(a,b,c,d){var e=a-c,f=b-d;return e*e+f*f},distancePow:function(a,b,c,d,e){return void 0===e&&(e=2),Math.sqrt(Math.pow(c-a,e)+Math.pow(d-b,e))},clamp:function(a,b,c){return b>a?b:a>c?c:a},clampBottom:function(a,b){return b>a?b:a},within:function(a,b,c){return Math.abs(a-b)<=c},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},smoothstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*(3-2*a)},smootherstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*a*(a*(6*a-15)+10)},sign:function(a){return 0>a?-1:a>0?1:0},percent:function(a,b,c){return void 0===c&&(c=0),a>b||c>b?1:c>a||c>a?0:(a-c)/b}};var k=Math.PI/180,l=180/Math.PI;return c.Math.degToRad=function(a){return a*k},c.Math.radToDeg=function(a){return a*l},c.RandomDataGenerator=function(a){void 0===a&&(a=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof a?this.state(a):this.sow(a)},c.RandomDataGenerator.prototype={rnd:function(){var a=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|a,this.s0=this.s1,this.s1=this.s2,this.s2=a-this.c,this.s2},sow:function(a){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,a)for(var b=0;b>>0,b-=d,b*=d,d=b>>>0,b-=d,d+=4294967296*b;return 2.3283064365386963e-10*(d>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(a,b){return Math.floor(this.realInRange(0,b-a+1)+a)},between:function(a,b){return this.integerInRange(a,b)},realInRange:function(a,b){return this.frac()*(b-a)+a},normal:function(){return 1-2*this.frac()},uuid:function(){var a="",b="";for(b=a="";a++<36;b+=~a%5|3*a&4?(15^a?8^this.frac()*(20^a?16:4):4).toString(16):"-");return b},pick:function(a){return a[this.integerInRange(0,a.length-1)]},weightedPick:function(a){return a[~~(Math.pow(this.frac(),2)*(a.length-1)+.5)]},timestamp:function(a,b){return this.realInRange(a||9466848e5,b||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(a){return"string"==typeof a&&a.match(/^!rnd/)&&(a=a.split(","),this.c=parseFloat(a[1]),this.s0=parseFloat(a[2]),this.s1=parseFloat(a[3]),this.s2=parseFloat(a[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},c.RandomDataGenerator.prototype.constructor=c.RandomDataGenerator,c.QuadTree=function(a,b,c,d,e,f,g){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(a,b,c,d,e,f,g)},c.QuadTree.prototype={reset:function(a,b,c,d,e,f,g){this.maxObjects=e||10,this.maxLevels=f||4,this.level=g||0,this.bounds={x:Math.round(a),y:Math.round(b),width:c,height:d,subWidth:Math.floor(c/2),subHeight:Math.floor(d/2),right:Math.round(a)+Math.floor(c/2),bottom:Math.round(b)+Math.floor(d/2)},this.objects.length=0,this.nodes.length=0},populate:function(a){a.forEach(this.populateHandler,this,!0)},populateHandler:function(a){a.body&&a.exists&&this.insert(a.body)},split:function(){this.nodes[0]=new c.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new c.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new c.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new c.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(a){var b,c=0;if(null!=this.nodes[0]&&(b=this.getIndex(a),-1!==b))return void this.nodes[b].insert(a);if(this.objects.push(a),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(b=2):a.x>this.bounds.right&&(a.ythis.bounds.bottom&&(b=3)),b},retrieve:function(a){if(a instanceof c.Rectangle)var b=this.objects,d=this.getIndex(a);else{if(!a.body)return this._empty;var b=this.objects,d=this.getIndex(a.body)}return this.nodes[0]&&(-1!==d?b=b.concat(this.nodes[d].retrieve(a)):(b=b.concat(this.nodes[0].retrieve(a)),b=b.concat(this.nodes[1].retrieve(a)),b=b.concat(this.nodes[2].retrieve(a)),b=b.concat(this.nodes[3].retrieve(a)))),b},clear:function(){this.objects.length=0;for(var a=this.nodes.length;a--;)this.nodes[a].clear(),this.nodes.splice(a,1);this.nodes.length=0}},c.QuadTree.prototype.constructor=c.QuadTree,c.Net=function(a){this.game=a},c.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(a){return-1!==window.location.hostname.indexOf(a)},updateQueryString:function(a,b,c,d){void 0===c&&(c=!1),(void 0===d||""===d)&&(d=window.location.href);var e="",f=new RegExp("([?|&])"+a+"=.*?(&|#|$)(.*)","gi");if(f.test(d))e="undefined"!=typeof b&&null!==b?d.replace(f,"$1"+a+"="+b+"$2$3"):d.replace(f,"$1$3").replace(/(&|\?)$/,"");else if("undefined"!=typeof b&&null!==b){var g=-1!==d.indexOf("?")?"&":"?",h=d.split("#");d=h[0]+g+a+"="+b,h[1]&&(d+="#"+h[1]),e=d}else e=d;return c?void(window.location.href=e):e},getQueryString:function(a){void 0===a&&(a="");var b={},c=location.search.substring(1).split("&");for(var d in c){var e=c[d].split("=");if(e.length>1){if(a&&a==this.decodeURI(e[0]))return this.decodeURI(e[1]);b[this.decodeURI(e[0])]=this.decodeURI(e[1])}}return b},decodeURI:function(a){return decodeURIComponent(a.replace(/\+/g," "))}},c.Net.prototype.constructor=c.Net,c.TweenManager=function(a){this.game=a,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:c.Easing.Power0,Power1:c.Easing.Power1,Power2:c.Easing.Power2,Power3:c.Easing.Power3,Power4:c.Easing.Power4,Linear:c.Easing.Linear.None,Quad:c.Easing.Quadratic.Out,Cubic:c.Easing.Cubic.Out,Quart:c.Easing.Quartic.Out,Quint:c.Easing.Quintic.Out,Sine:c.Easing.Sinusoidal.Out,Expo:c.Easing.Exponential.Out,Circ:c.Easing.Circular.Out,Elastic:c.Easing.Elastic.Out,Back:c.Easing.Back.Out,Bounce:c.Easing.Bounce.Out,"Quad.easeIn":c.Easing.Quadratic.In,"Cubic.easeIn":c.Easing.Cubic.In,"Quart.easeIn":c.Easing.Quartic.In,"Quint.easeIn":c.Easing.Quintic.In,"Sine.easeIn":c.Easing.Sinusoidal.In,"Expo.easeIn":c.Easing.Exponential.In,"Circ.easeIn":c.Easing.Circular.In,"Elastic.easeIn":c.Easing.Elastic.In,"Back.easeIn":c.Easing.Back.In,"Bounce.easeIn":c.Easing.Bounce.In,"Quad.easeOut":c.Easing.Quadratic.Out,"Cubic.easeOut":c.Easing.Cubic.Out,"Quart.easeOut":c.Easing.Quartic.Out,"Quint.easeOut":c.Easing.Quintic.Out,"Sine.easeOut":c.Easing.Sinusoidal.Out,"Expo.easeOut":c.Easing.Exponential.Out,"Circ.easeOut":c.Easing.Circular.Out,"Elastic.easeOut":c.Easing.Elastic.Out,"Back.easeOut":c.Easing.Back.Out,"Bounce.easeOut":c.Easing.Bounce.Out,"Quad.easeInOut":c.Easing.Quadratic.InOut,"Cubic.easeInOut":c.Easing.Cubic.InOut,"Quart.easeInOut":c.Easing.Quartic.InOut,"Quint.easeInOut":c.Easing.Quintic.InOut,"Sine.easeInOut":c.Easing.Sinusoidal.InOut,"Expo.easeInOut":c.Easing.Exponential.InOut,"Circ.easeInOut":c.Easing.Circular.InOut,"Elastic.easeInOut":c.Easing.Elastic.InOut,"Back.easeInOut":c.Easing.Back.InOut,"Bounce.easeInOut":c.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},c.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var a=0;ad;d++)this.removeFrom(a[d]);else if(a.type===c.GROUP&&b)for(var d=0,e=a.children.length;e>d;d++)this.removeFrom(a.children[d]);else{for(d=0,e=this._tweens.length;e>d;d++)a===this._tweens[d].target&&this.remove(this._tweens[d]);for(d=0,e=this._add.length;e>d;d++)a===this._add[d].target&&this.remove(this._add[d])}},add:function(a){a._manager=this,this._add.push(a)},create:function(a){return new c.Tween(a,this.game,this)},remove:function(a){var b=this._tweens.indexOf(a);-1!==b?this._tweens[b].pendingDelete=!0:(b=this._add.indexOf(a),-1!==b&&(this._add[b].pendingDelete=!0))},update:function(){var a=this._add.length,b=this._tweens.length;if(0===b&&0===a)return!1;for(var c=0;b>c;)this._tweens[c].update(this.game.time.time)?c++:(this._tweens.splice(c,1),b--);return a>0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(a){return this._tweens.some(function(b){return b.target===a})},_pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._pause()},_resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._resume()},pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].pause()},resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].resume(!0)}},c.TweenManager.prototype.constructor=c.TweenManager,c.Tween=function(a,b,d){this.game=b,this.target=a,this.manager=d,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new c.Signal,this.onLoop=new c.Signal,this.onRepeat=new c.Signal,this.onChildComplete=new c.Signal,this.onComplete=new c.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=d.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},c.Tween.prototype={to:function(a,b,d,e,f,g,h){return(void 0===b||0>=b)&&(b=1e3),(void 0===d||null===d)&&(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).to(a,b,d,f,g,h)),e&&this.start(),this)},from:function(a,b,d,e,f,g,h){return void 0===b&&(b=1e3),(void 0===d||null===d)&&(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).from(a,b,d,f,g,h)),e&&this.start(),this)},start:function(a){if(void 0===a&&(a=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(var b=0;ba||a>this.timeline.length-1)&&(a=0),this.current=a,this.timeline[this.current].start(),this},stop:function(a){return void 0===a&&(a=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,a&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(a,b,c){if(0===this.timeline.length)return this;if(void 0===c&&(c=0),-1===c)for(var d=0;d0?arguments[a-1].chainedTween=arguments[a]:this.chainedTween=arguments[a];return this},loop:function(a){return void 0===a&&(a=!0),a?this.repeatAll(-1):this.repeatCounter=0,this},onUpdateCallback:function(a,b){return this._onUpdateCallback=a,this._onUpdateCallbackContext=b,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var a=0;a0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(a,b){if(null===this.game||null===this.target)return null;void 0===a&&(a=60),void 0===b&&(b=[]);for(var c=0;c0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a],this.parent.target[a]=this.vStart[a];return this.value=0,this.yoyoCounter=0,this},loadValues:function(){for(var a in this.parent.properties){if(this.vStart[a]=this.parent.properties[a],Array.isArray(this.vEnd[a])){if(0===this.vEnd[a].length)continue;0===this.percent&&(this.vEnd[a]=[this.vStart[a]].concat(this.vEnd[a]))}"undefined"!=typeof this.vEnd[a]?("string"==typeof this.vEnd[a]&&(this.vEnd[a]=this.vStart[a]+parseFloat(this.vEnd[a],10)),this.parent.properties[a]=this.vEnd[a]):this.vEnd[a]=this.vStart[a],this.vStartCache[a]=this.vStart[a],this.vEndCache[a]=this.vEnd[a]}return this},update:function(a){if(this.isRunning){if(a=this.startTime))return c.TweenData.PENDING;this.isRunning=!0}var b=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=b*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=b*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var d in this.vEnd){var e=this.vStart[d],f=this.vEnd[d];Array.isArray(f)?this.parent.target[d]=this.interpolationFunction.call(this.interpolationContext,f,this.value):this.parent.target[d]=e+(f-e)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():c.TweenData.RUNNING},generateData:function(a){this.parent.reverse?this.dt=this.duration:this.dt=0;var b=[],c=!1,d=1/a*1e3;do{this.parent.reverse?(this.dt-=d,this.dt=Math.max(this.dt,0)):(this.dt+=d,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var e={};for(var f in this.vEnd){var g=this.vStart[f],h=this.vEnd[f];Array.isArray(h)?e[f]=this.interpolationFunction(h,this.value):e[f]=g+(h-g)*this.value}b.push(e),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(c=!0)}while(!c);if(this.yoyo){var i=b.slice();i.reverse(),b=b.concat(i)}return b},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var a in this.vStartCache)this.vStart[a]=this.vStartCache[a],this.vEnd[a]=this.vEndCache[a];return this.inReverse=!1,c.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return c.TweenData.COMPLETE;if(this.inReverse)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a];else{for(var a in this.vStartCache)this.vStart[a]=this.vStartCache[a],this.vEnd[a]=this.vEndCache[a];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,c.TweenData.LOOPED}},c.TweenData.prototype.constructor=c.TweenData,c.Easing={Linear:{None:function(a){return a}},Quadratic:{In:function(a){return a*a},Out:function(a){return a*(2-a)},InOut:function(a){return(a*=2)<1?.5*a*a:-.5*(--a*(a-2)-1)}},Cubic:{In:function(a){return a*a*a},Out:function(a){return--a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a:.5*((a-=2)*a*a+2)}},Quartic:{In:function(a){return a*a*a*a},Out:function(a){return 1- --a*a*a*a},InOut:function(a){return(a*=2)<1?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2)}},Quintic:{In:function(a){return a*a*a*a*a},Out:function(a){return--a*a*a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)}},Sinusoidal:{In:function(a){return 0===a?0:1===a?1:1-Math.cos(a*Math.PI/2)},Out:function(a){return 0===a?0:1===a?1:Math.sin(a*Math.PI/2)},InOut:function(a){return 0===a?0:1===a?1:.5*(1-Math.cos(Math.PI*a))}},Exponential:{In:function(a){return 0===a?0:Math.pow(1024,a-1)},Out:function(a){return 1===a?1:1-Math.pow(2,-10*a)},InOut:function(a){return 0===a?0:1===a?1:(a*=2)<1?.5*Math.pow(1024,a-1):.5*(-Math.pow(2,-10*(a-1))+2)}},Circular:{In:function(a){return 1-Math.sqrt(1-a*a)},Out:function(a){return Math.sqrt(1- --a*a)},InOut:function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)}},Elastic:{In:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),-(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)))},Out:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),c*Math.pow(2,-10*a)*Math.sin((a-b)*(2*Math.PI)/d)+1)},InOut:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),(a*=2)<1?-.5*(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)):c*Math.pow(2,-10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)*.5+1)}},Back:{In:function(a){var b=1.70158;return a*a*((b+1)*a-b)},Out:function(a){var b=1.70158;return--a*a*((b+1)*a+b)+1},InOut:function(a){var b=2.5949095;return(a*=2)<1?.5*(a*a*((b+1)*a-b)):.5*((a-=2)*a*((b+1)*a+b)+2)}},Bounce:{In:function(a){return 1-c.Easing.Bounce.Out(1-a)},Out:function(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},InOut:function(a){return.5>a?.5*c.Easing.Bounce.In(2*a):.5*c.Easing.Bounce.Out(2*a-1)+.5}}},c.Easing.Default=c.Easing.Linear.None,c.Easing.Power0=c.Easing.Linear.None,c.Easing.Power1=c.Easing.Quadratic.Out,c.Easing.Power2=c.Easing.Cubic.Out,c.Easing.Power3=c.Easing.Quartic.Out,c.Easing.Power4=c.Easing.Quintic.Out,c.Time=function(a){this.game=a,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new c.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},c.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(a){return this._timers.push(a),a},create:function(a){void 0===a&&(a=!0);var b=new c.Timer(this.game,a);return this._timers.push(b),b},removeAll:function(){for(var a=0;aa;)this._timers[a].update(this.time)?a++:(this._timers.splice(a,1),b--)},updateAdvancedTiming:function(){this._frameCount++,this._elapsedAccumulator+=this.elapsed,this._frameCount>=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var a=this._timers.length;a--;)this._timers[a]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var a=this._timers.length;a--;)this._timers[a]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(a){return this.time-a},elapsedSecondsSince:function(a){return.001*(this.time-a)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(c.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(a){this._desiredFps=a,this.physicsElapsed=1/a,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/a}}),c.Time.prototype.constructor=c.Time,c.Timer=function(a,b){void 0===b&&(b=!0),this.game=a,this.running=!1,this.autoDestroy=b,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new c.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},c.Timer.MINUTE=6e4,c.Timer.SECOND=1e3,c.Timer.HALF=500,c.Timer.QUARTER=250,c.Timer.prototype={create:function(a,b,d,e,f,g){a=Math.round(a);var h=a;h+=0===this._now?this.game.time.time:this._now;var i=new c.TimerEvent(this,a,h,d,b,e,f,g);return this.events.push(i),this.order(),this.expired=!1,i},add:function(a,b,c){return this.create(a,!1,0,b,c,Array.prototype.slice.call(arguments,3))},repeat:function(a,b,c,d){return this.create(a,!1,b,c,d,Array.prototype.slice.call(arguments,4))},loop:function(a,b,c){return this.create(a,!0,0,b,c,Array.prototype.slice.call(arguments,3))},start:function(a){if(!this.running){this._started=this.game.time.time+(a||0),this.running=!0;for(var b=0;b0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(a,b){return a.tickb.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1); +this._len=this.events.length,this._i=0},update:function(a){if(this.paused)return!0;if(this.elapsed=a-this._now,this._now=a,this.elapsed>this.timeCap&&this.adjustEvents(a-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=this.events[this._i].tick&&!this.events[this._i].pendingDelete;)this._newTick=this._now+this.events[this._i].delay-(this._now-this.events[this._i].tick),this._newTick<0&&(this._newTick=this._now+this.events[this._i].delay),this.events[this._i].loop===!0?(this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):this.events[this._i].repeatCount>0?(this.events[this._i].repeatCount--,this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):(this._marked++,this.events[this._i].pendingDelete=!0,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)),this._i++;this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return this.expired&&this.autoDestroy?!1:!0},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(a){for(var b=0;bc&&(c=0),this.events[b].tick=this._now+c}var d=this.nextTick-a;0>d?this.nextTick=this._now:this.nextTick=this._now+d},resume:function(){if(this.paused){var a=this.game.time.time;this._pauseTotal+=a-this._now,this._now=a,this.adjustEvents(this._pauseStarted),this.paused=!1,this._codePaused=!1}},_resume:function(){this._codePaused||this.resume()},removeAll:function(){this.onComplete.removeAll(),this.events.length=0,this._len=0,this._i=0},destroy:function(){this.onComplete.removeAll(),this.running=!1,this.events=[],this._len=0,this._i=0}},Object.defineProperty(c.Timer.prototype,"next",{get:function(){return this.nextTick}}),Object.defineProperty(c.Timer.prototype,"duration",{get:function(){return this.running&&this.nextTick>this._now?this.nextTick-this._now:0}}),Object.defineProperty(c.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(c.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(c.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),c.Timer.prototype.constructor=c.Timer,c.TimerEvent=function(a,b,c,d,e,f,g,h){this.timer=a,this.delay=b,this.tick=c,this.repeatCount=d-1,this.loop=e,this.callback=f,this.callbackContext=g,this.args=h,this.pendingDelete=!1},c.TimerEvent.prototype.constructor=c.TimerEvent,c.AnimationManager=function(a){this.sprite=a,this.game=a.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},c.AnimationManager.prototype={loadFrameData:function(a,b){if(void 0===a)return!1;if(this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(a);return this._frameData=a,void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},copyFrameData:function(a,b){if(this._frameData=a.clone(),this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(this._frameData);return void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},add:function(a,b,d,e,f){return b=b||[],d=d||60,void 0===e&&(e=!1),void 0===f&&(f=b&&"number"==typeof b[0]?!0:!1),this._outputFrames=[],this._frameData.getFrameIndexes(b,f,this._outputFrames),this._anims[a]=new c.Animation(this.game,this.sprite,a,this._frameData,this._outputFrames,d,e),this.currentAnim=this._anims[a],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[a]},validateFrames:function(a,b){void 0===b&&(b=!0);for(var c=0;cthis._frameData.total)return!1}else if(this._frameData.checkFrameName(a[c])===!1)return!1;return!0},play:function(a,b,c,d){return this._anims[a]?this.currentAnim===this._anims[a]?this.currentAnim.isPlaying===!1?(this.currentAnim.paused=!1,this.currentAnim.play(b,c,d)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[a],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(b,c,d)):void 0},stop:function(a,b){void 0===b&&(b=!1),!this.currentAnim||"string"==typeof a&&a!==this.currentAnim.name||this.currentAnim.stop(b)},update:function(){return this.updateIfVisible&&!this.sprite.visible?!1:this.currentAnim&&this.currentAnim.update()?(this.currentFrame=this.currentAnim.currentFrame,!0):!1},next:function(a){this.currentAnim&&(this.currentAnim.next(a),this.currentFrame=this.currentAnim.currentFrame)},previous:function(a){this.currentAnim&&(this.currentAnim.previous(a),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(a){return"string"==typeof a&&this._anims[a]?this._anims[a]:null},refreshFrame:function(){this.sprite.setTexture(PIXI.TextureCache[this.currentFrame.uuid])},destroy:function(){var a=null;for(var a in this._anims)this._anims.hasOwnProperty(a)&&this._anims[a].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},c.AnimationManager.prototype.constructor=c.AnimationManager,Object.defineProperty(c.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(c.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(c.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(a){this.currentAnim.paused=a}}),Object.defineProperty(c.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(c.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(a){"number"==typeof a&&this._frameData&&null!==this._frameData.getFrame(a)&&(this.currentFrame=this._frameData.getFrame(a),this.currentFrame&&this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(c.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(a){"string"==typeof a&&this._frameData&&null!==this._frameData.getFrameByName(a)?(this.currentFrame=this._frameData.getFrameByName(a),this.currentFrame&&(this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame))):console.warn("Cannot set frameName: "+a)}}),c.Animation=function(a,b,d,e,f,g,h){void 0===h&&(h=!1),this.game=a,this._parent=b,this._frameData=e,this.name=d,this._frames=[],this._frames=this._frames.concat(f),this.delay=1e3/g,this.loop=h,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new c.Signal,this.onUpdate=null,this.onComplete=new c.Signal,this.onLoop=new c.Signal,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},c.Animation.prototype={play:function(a,b,c){return"number"==typeof a&&(this.delay=1e3/a),"boolean"==typeof b&&(this.loop=b),"undefined"!=typeof c&&(this.killOnComplete=c),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},setFrame:function(a,b){var c;if(void 0===b&&(b=!1),"string"==typeof a)for(var d=0;d=this._timeNextFrame?(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this._frameIndex+=this._frameSkip,this._frameIndex>=this._frames.length?this.loop?(this._frameIndex%=this._frames.length,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),this.onUpdate?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0):(this.complete(),!1):this.updateCurrentFrame(!0)):!1},updateCurrentFrame:function(a,b){if(void 0===b&&(b=!1),!this._frameData)return!1;var c=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(b||!b&&c!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),this.onUpdate&&a?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0},next:function(a){void 0===a&&(a=1);var b=this._frameIndex+a;b>=this._frames.length&&(this.loop?b%=this._frames.length:b=this._frames.length-1),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},previous:function(a){void 0===a&&(a=1);var b=this._frameIndex-a;0>b&&(this.loop?b=this._frames.length+b:b++),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},updateFrameData:function(a){this._frameData=a,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},c.Animation.prototype.constructor=c.Animation,Object.defineProperty(c.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(a){this.isPaused=a,a?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(c.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(c.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(a){this.currentFrame=this._frameData.getFrame(this._frames[a]),null!==this.currentFrame&&(this._frameIndex=a,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(c.Animation.prototype,"speed",{get:function(){return Math.round(1e3/this.delay)},set:function(a){a>=1&&(this.delay=1e3/a)}}),Object.defineProperty(c.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(a){a&&null===this.onUpdate?this.onUpdate=new c.Signal:a||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),c.Animation.generateFrameNames=function(a,b,d,e,f){void 0===e&&(e="");var g=[],h="";if(d>b)for(var i=b;d>=i;i++)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);else for(var i=b;i>=d;i--)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);return g},c.Frame=function(a,b,d,e,f,g){this.index=a,this.x=b,this.y=d,this.width=e,this.height=f,this.name=g,this.centerX=Math.floor(e/2),this.centerY=Math.floor(f/2),this.distance=c.Math.distance(0,0,e,f),this.rotated=!1,this.rotationDirection="cw",this.trimmed=!1,this.sourceSizeW=e,this.sourceSizeH=f,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},c.Frame.prototype={resize:function(a,b){this.width=a,this.height=b,this.centerX=Math.floor(a/2),this.centerY=Math.floor(b/2),this.distance=c.Math.distance(0,0,a,b),this.sourceSizeW=a,this.sourceSizeH=b,this.right=this.x+a,this.bottom=this.y+b},setTrim:function(a,b,c,d,e,f,g){this.trimmed=a,a&&(this.sourceSizeW=b,this.sourceSizeH=c,this.centerX=Math.floor(b/2),this.centerY=Math.floor(c/2),this.spriteSourceSizeX=d,this.spriteSourceSizeY=e,this.spriteSourceSizeW=f,this.spriteSourceSizeH=g)},clone:function(){var a=new c.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var b in this)this.hasOwnProperty(b)&&(a[b]=this[b]);return a},getRect:function(a){return void 0===a?a=new c.Rectangle(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a}},c.Frame.prototype.constructor=c.Frame,c.FrameData=function(){this._frames=[],this._frameNames=[]},c.FrameData.prototype={addFrame:function(a){return a.index=this._frames.length,this._frames.push(a),""!==a.name&&(this._frameNames[a.name]=a.index),a},getFrame:function(a){return a>=this._frames.length&&(a=0),this._frames[a]},getFrameByName:function(a){return"number"==typeof this._frameNames[a]?this._frames[this._frameNames[a]]:null},checkFrameName:function(a){return null==this._frameNames[a]?!1:!0},clone:function(){for(var a=new c.FrameData,b=0;b=d;d++)c.push(this._frames[d]);return c},getFrames:function(a,b,c){if(void 0===b&&(b=!0),void 0===c&&(c=[]),void 0===a||0===a.length)for(var d=0;d=d&&(d=Math.floor(-j/Math.min(-1,d))),0>=e&&(e=Math.floor(-k/Math.min(-1,e)));var l=Math.floor((j-g)/(d+h)),m=Math.floor((k-g)/(e+h)),n=l*m;if(-1!==f&&(n=f),0===j||0===k||d>j||e>k||0===n)return console.warn("Phaser.AnimationParser.spriteSheet: '"+b+"'s width/height zero or width/height < given frameWidth/frameHeight"),null;for(var o=new c.FrameData,p=g,q=g,r=0;n>r;r++)o.addFrame(new c.Frame(r,p,q,d,e,"")),p+=d+h,p+d>j&&(p=g,q+=e+h);return o},JSONData:function(a,b){if(!b.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(b);for(var d,e=new c.FrameData,f=b.frames,g=0;g tag");for(var d,e,f,g,h,i,j,k,l,m,n,o=new c.FrameData,p=b.getElementsByTagName("SubTexture"),q=0;q-1},getAssetIndex:function(a,b){for(var c=-1,d=0;d-1?{index:c,file:this._fileList[c]}:!1},reset:function(a,b){void 0===b&&(b=!1),this.resetLocked||(a&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,b&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(a,b,c,d,e,f){if(void 0===e&&(e=!1),void 0===b||""===b)return console.warn("Phaser.Loader: Invalid or no key given of type "+a),this;if(void 0===c||null===c){if(!f)return console.warn("Phaser.Loader: No URL given for file type: "+a+" key: "+b),this;c=b+f}var g={type:a,key:b,path:this.path,url:c,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(d)for(var h in d)g[h]=d[h];var i=this.getAssetIndex(a,b);if(e&&i>-1){var j=this._fileList[i];j.loading||j.loaded?(this._fileList.push(g),this._totalFileCount++):this._fileList[i]=g}else-1===i&&(this._fileList.push(g),this._totalFileCount++);return this},replaceInFileList:function(a,b,c,d){return this.addToFileList(a,b,c,d,!0)},pack:function(a,b,c,d){if(void 0===b&&(b=null),void 0===c&&(c=null),void 0===d&&(d=null),!b&&!c)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var e={type:"packfile",key:a,url:b,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:d};c&&("string"==typeof c&&(c=JSON.parse(c)),e.data=c||{},e.loaded=!0);for(var f=0;f=e||d&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var f=this;setTimeout(function(){f.finishedLoading(!0)},2e3)}},finishedLoading:function(a){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,a||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.onLoadComplete.dispatch(),this.game.state.loadComplete(),this.reset())},asyncComplete:function(a,b){void 0===b&&(b=""),a.loaded=!0,a.error=!!b,b&&(a.errorMessage=b,console.warn("Phaser.Loader - "+a.type+"["+a.key+"]: "+b)),this.processLoadQueue()},processPack:function(a){var b=a.data[a.key];if(!b)return void console.warn("Phaser.Loader - "+a.key+": pack has data, but not for pack key");for(var d=0;d=400&&f.status<=599?e.call(g,a,f):d.call(g,a,f)}catch(b){g.hasLoaded?window.console&&console.error(b):g.asyncComplete(a,b.message||"Exception")}},f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.hasLoaded?window.console&&console.error(b):g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,f.send()},xhrLoadWithXDR:function(a,b,c,d,e){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var f=new window.XDomainRequest;f.open("GET",b,!0),f.responseType=c,f.timeout=3e3,e=e||this.fileError;var g=this;f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.ontimeout=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.onprogress=function(){},f.onload=function(){try{return 4==f.readyState&&f.status>=400&&f.status<=599?e.call(g,a,f):d.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,setTimeout(function(){f.send()},0)},getVideoURL:function(a){for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayVideo(c))return d}return null},getAudioURL:function(a){if(this.game.sound.noAudio)return null;for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayAudio(c))return d}return null},fileError:function(a,b,c){var d=a.requestUrl||this.transformUrl(a.url,a),e="error loading asset from URL "+d;!c&&b&&(c=b.status),c&&(e=e+" ("+c+")"),this.asyncComplete(a,e)},fileComplete:function(a,b){var d=!0;switch(a.type){case"packfile":var e=JSON.parse(b.responseText);a.data=e||{};break;case"image":this.cache.addImage(a.key,a.url,a.data);break;case"spritesheet":this.cache.addSpriteSheet(a.key,a.url,a.data,a.frameWidth,a.frameHeight,a.frameMax,a.margin,a.spacing);break;case"textureatlas":if(null==a.atlasURL)this.cache.addTextureAtlas(a.key,a.url,a.data,a.atlasData,a.format);else if(d=!1,a.format==c.Loader.TEXTURE_ATLAS_JSON_ARRAY||a.format==c.Loader.TEXTURE_ATLAS_JSON_HASH||a.format==c.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.jsonLoadComplete);else{if(a.format!=c.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+a.format);this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.xmlLoadComplete)}break;case"bitmapfont":a.atlasURL?(d=!1,this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",function(a,b){var c;try{c=JSON.parse(b.responseText)}catch(d){}c?(a.atlasType="json",this.jsonLoadComplete(a,b)):(a.atlasType="xml",this.xmlLoadComplete(a,b))})):this.cache.addBitmapFont(a.key,a.url,a.data,a.atlasData,a.atlasType,a.xSpacing,a.ySpacing);break;case"video":if(a.asBlob)try{a.data=new Blob([new Uint8Array(b.response)])}catch(f){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+a.key)}this.cache.addVideo(a.key,a.url,a.data,a.asBlob);break;case"audio":this.game.sound.usingWebAudio?(a.data=b.response,this.cache.addSound(a.key,a.url,a.data,!0,!1),a.autoDecode&&this.game.sound.decode(a.key)):this.cache.addSound(a.key,a.url,a.data,!1,!0);break;case"text":a.data=b.responseText,this.cache.addText(a.key,a.url,a.data);break;case"shader":a.data=b.responseText,this.cache.addShader(a.key,a.url,a.data);break;case"physics":var e=JSON.parse(b.responseText);this.cache.addPhysicsData(a.key,a.url,e,a.format);break;case"script":a.data=document.createElement("script"),a.data.language="javascript",a.data.type="text/javascript",a.data.defer=!1,a.data.text=b.responseText,document.head.appendChild(a.data),a.callback&&(a.data=a.callback.call(a.callbackContext,a.key,b.responseText));break;case"binary":a.callback?a.data=a.callback.call(a.callbackContext,a.key,b.response):a.data=b.response,this.cache.addBinary(a.key,a.data)}d&&this.asyncComplete(a)},jsonLoadComplete:function(a,b){var c=JSON.parse(b.responseText);"tilemap"===a.type?this.cache.addTilemap(a.key,a.url,c,a.format):"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,c,a.atlasType,a.xSpacing,a.ySpacing):"json"===a.type?this.cache.addJSON(a.key,a.url,c):this.cache.addTextureAtlas(a.key,a.url,a.data,c,a.format),this.asyncComplete(a)},csvLoadComplete:function(a,b){var c=b.responseText;this.cache.addTilemap(a.key,a.url,c,a.format),this.asyncComplete(a)},xmlLoadComplete:function(a,b){var c=b.responseText,d=this.parseXml(c);if(!d){var e=b.responseType||b.contentType;return console.warn("Phaser.Loader - "+a.key+": invalid XML ("+e+")"),void this.asyncComplete(a,"invalid XML")}"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,d,a.atlasType,a.xSpacing,a.ySpacing):"textureatlas"===a.type?this.cache.addTextureAtlas(a.key,a.url,a.data,d,a.format):"xml"===a.type&&this.cache.addXML(a.key,a.url,d),this.asyncComplete(a)},parseXml:function(a){var b;try{if(window.DOMParser){var c=new DOMParser;b=c.parseFromString(a,"text/xml")}else b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)}catch(d){b=null}return b&&b.documentElement&&!b.getElementsByTagName("parsererror").length?b:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(c.Loader.prototype,"progressFloat",{get:function(){var a=this._loadedFileCount/this._totalFileCount*100;return c.Math.clamp(a||0,0,100)}}),Object.defineProperty(c.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),c.Loader.prototype.constructor=c.Loader,c.LoaderParser={bitmapFont:function(a,b,c,d){return this.xmlBitmapFont(a,b,c,d)},xmlBitmapFont:function(a,b,c,d){var e={},f=a.getElementsByTagName("info")[0],g=a.getElementsByTagName("common")[0];e.font=f.getAttribute("face"),e.size=parseInt(f.getAttribute("size"),10),e.lineHeight=parseInt(g.getAttribute("lineHeight"),10)+d,e.chars={};for(var h=a.getElementsByTagName("char"),i=0;i=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop())))):void this.destroy()},loopFull:function(a){this.play(null,0,a,!0)},play:function(a,b,c,d,e){if((void 0===a||a===!1||null===a)&&(a=""),void 0===e&&(e=!0),this.isPlaying&&!this.allowMultiple&&!e&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||e))if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(f){}this.externalNode?this._sound.disconnect(this.externalNode):this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(""===a&&Object.keys(this.markers).length>0)return this;if(""!==a){if(this.currentMarker=a,!this.markers[a])return this;this.position=this.markers[a].start,this.volume=this.markers[a].volume,this.loop=this.markers[a].loop,this.duration=this.markers[a].duration,this.durationMS=this.markers[a].durationMS,"undefined"!=typeof c&&(this.volume=c),"undefined"!=typeof d&&(this.loop=d),this._tempMarker=a,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else b=b||0,void 0===c&&(c=this._volume),void 0===d&&(d=this.loop),this.position=b,this.volume=c,this.loop=d,this.duration=0,this.durationMS=0,this._tempMarker=a,this._tempPosition=b,this._tempVolume=c,this._tempLoop=d;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===a&&(this._sound.loop=!0),this.loop||""!==a||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===a?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).isDecoding===!1&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(a,b,c,d){a=a||"",b=b||0,c=c||1,void 0===d&&(d=!1),this.play(a,b,c,d,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var a=this.position+this.pausedPosition/1e3;this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var b=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,a,b):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,a):this._sound.start(0,a,b)}else this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(a){}this.externalNode?this._sound.disconnect(this.externalNode):this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var b=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,b)}},fadeIn:function(a,b,c){void 0===b&&(b=!1),void 0===c&&(c=this.currentMarker),this.paused||(this.play(c,0,0,b),this.fadeTo(a,1))},fadeOut:function(a){this.fadeTo(a,0)},fadeTo:function(a,b){if(this.isPlaying&&!this.paused&&b!==this.volume){if(void 0===a&&(a=1e3),void 0===b)return void console.warn("Phaser.Sound.fadeTo: No Volume Specified.");this.fadeTween=this.game.add.tween(this).to({volume:b},a,c.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)}},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},destroy:function(a){void 0===a&&(a=!0),this.stop(),a?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(), +this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},c.Sound.prototype.constructor=c.Sound,Object.defineProperty(c.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(c.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(c.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(a){a=a||!1,a!==this._muted&&(a?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(c.Sound.prototype,"volume",{get:function(){return this._volume},set:function(a){return this.game.device.firefox&&this.usingAudioTag&&(a=this.game.math.clamp(a,0,1)),this._muted?void(this._muteVolume=a):(this._tempVolume=a,this._volume=a,void(this.usingWebAudio?this.gainNode.gain.value=a:this.usingAudioTag&&this._sound&&(this._sound.volume=a)))}}),c.SoundManager=function(a){this.game=a,this.onSoundDecode=new c.Signal,this.onVolumeChange=new c.Signal,this.onMute=new c.Signal,this.onUnMute=new c.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new c.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},c.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&this.game.device.webAudio===!1&&(this.channels=1),window.PhaserGlobal){if(window.PhaserGlobal.disableAudio===!0)return this.noAudio=!0,void(this.touchLocked=!1);if(window.PhaserGlobal.disableWebAudio===!0)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||(!this.game.device.cocoonJS&&this.game.device.iOS||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal.disableAudio===!0||(this.game.device.iOSVersion>8?this.game.input.touch.addTouchLockCallback(this.unlock,this,!0):this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var a=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=a,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0)}return!0},stopAll:function(){if(!this.noAudio)for(var a=0;aa?a=0:a>1&&(a=1),this._volume!==a){if(this._volume=a,this.usingWebAudio)this.masterGain.gain.value=a;else for(var b=0;b=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var b=this._parentBounds.width,d=this._parentBounds.height,e=this.getParentBounds(this._parentBounds),f=e.width!==b||e.height!==d,g=this.updateOrientationState();(f||g)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,e),this.updateLayout(),this.signalSizeChange());var h=2*this._updateThrottle;this._updateThrottle=b||0>=c)return a;var e=b,f=a.height*b/a.width,g=a.width*c/a.height,h=c,i=g>b;return i=i?d:!d,i?(a.width=Math.floor(e),a.height=Math.floor(f)):(a.width=Math.floor(g),a.height=Math.floor(h)),a},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},c.ScaleManager.prototype.constructor=c.ScaleManager,Object.defineProperty(c.ScaleManager.prototype,"boundingParent",{get:function(){if(this.parentIsWindow||this.isFullScreen&&!this._createdFullScreenTarget)return null;var a=this.game.canvas&&this.game.canvas.parentNode;return a||null}}),Object.defineProperty(c.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(a){return a!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=a),this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(a){return a!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=a,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=a),this._fullScreenScaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(a){a!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(a){a!==this._pageAlignVertically&&(this._pageAlignVertically=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(c.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(c.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),c.Utils.Debug=function(a){this.game=a,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1},c.Utils.Debug.prototype={boot:function(){this.game.renderType===c.CANVAS?this.context=this.game.context:(this.bmd=this.game.make.bitmapData(this.game.width,this.game.height),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.canvas=PIXI.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d"))},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(a,b,c,d){"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),c=c||"rgb(255,255,255)",void 0===d&&(d=0),this.currentX=a,this.currentY=b,this.currentColor=c,this.columnWidth=d,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=c,this.context.fillStyle=c,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var a=this.currentX,b=0;b=0&&c.right>=0&&c.top<=this.layoutBounds.width&&c.left<=this.layoutBounds.height},getScreenOrientation:function(a){var b=window.screen,c=b.orientation||b.mozOrientation||b.msOrientation;if(c&&"string"==typeof c.type)return c.type;if("string"==typeof c)return c;var d="portrait-primary",e="landscape-primary";if("screen"===a)return b.height>b.width?d:e;if("viewport"===a)return this.visualBounds.height>this.visualBounds.width?d:e;if("window.orientation"===a&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?d:e;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return d;if(window.matchMedia("(orientation: landscape)").matches)return e}return this.visualBounds.height>this.visualBounds.width?d:e},visualBounds:new c.Rectangle,layoutBounds:new c.Rectangle,documentBounds:new c.Rectangle},c.Device.whenReady(function(a){var b=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},d=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};Object.defineProperty(c.DOM,"scrollX",{get:b}),Object.defineProperty(c.DOM,"scrollY",{get:d}),Object.defineProperty(c.DOM.visualBounds,"x",{get:b}),Object.defineProperty(c.DOM.visualBounds,"y",{get:d}),Object.defineProperty(c.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(c.DOM.layoutBounds,"y",{value:0});var e=a.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight;if(e){var f=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},g=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(c.DOM.visualBounds,"width",{get:f}),Object.defineProperty(c.DOM.visualBounds,"height",{get:g}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:f}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:g})}else Object.defineProperty(c.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(c.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:function(){var a=document.documentElement.clientWidth,b=window.innerWidth;return b>a?b:a}}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:function(){var a=document.documentElement.clientHeight,b=window.innerHeight;return b>a?b:a}});Object.defineProperty(c.DOM.documentBounds,"x",{value:0}),Object.defineProperty(c.DOM.documentBounds,"y",{value:0}),Object.defineProperty(c.DOM.documentBounds,"width",{get:function(){var a=document.documentElement;return Math.max(a.clientWidth,a.offsetWidth,a.scrollWidth)}}),Object.defineProperty(c.DOM.documentBounds,"height",{get:function(){var a=document.documentElement;return Math.max(a.clientHeight,a.offsetHeight,a.scrollHeight)}})},null,!0),c.ArraySet=function(a){this.position=0,this.list=a||[]},c.ArraySet.prototype={add:function(a){return this.exists(a)||this.list.push(a),a},getIndex:function(a){return this.list.indexOf(a)},getByKey:function(a,b){for(var c=this.list.length;c--;)if(this.list[c][a]===b)return this.list[c];return null},exists:function(a){return this.list.indexOf(a)>-1},reset:function(){this.list.length=0},remove:function(a){var b=this.list.indexOf(a);return b>-1?(this.list.splice(b,1),a):void 0},setAll:function(a,b){for(var c=this.list.length;c--;)this.list[c]&&(this.list[c][a]=b)},callAll:function(a){for(var b=Array.prototype.slice.call(arguments,1),c=this.list.length;c--;)this.list[c]&&this.list[c][a]&&this.list[c][a].apply(this.list[c],b)},removeAll:function(a){void 0===a&&(a=!1);for(var b=this.list.length;b--;)if(this.list[b]){var c=this.remove(this.list[b]);a&&c.destroy()}this.position=0,this.list=[]}},Object.defineProperty(c.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(c.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(c.ArraySet.prototype,"next",{get:function(){return this.position0;b--){var c=Math.floor(Math.random()*(b+1)),d=a[b];a[b]=a[c],a[c]=d}return a},transposeMatrix:function(a){for(var b=a.length,c=a[0].length,d=new Array(c),e=0;c>e;e++){d[e]=new Array(b);for(var f=b-1;f>-1;f--)d[e][f]=a[f][e]}return d},rotateMatrix:function(a,b){if("string"!=typeof b&&(b=(b%360+360)%360),90===b||-270===b||"rotateLeft"===b)a=c.ArrayUtils.transposeMatrix(a),a=a.reverse();else if(-90===b||270===b||"rotateRight"===b)a=a.reverse(),a=c.ArrayUtils.transposeMatrix(a);else if(180===Math.abs(b)||"rotate180"===b){for(var d=0;d=e-a?e:d},rotate:function(a){var b=a.shift();return a.push(b),b},numberArray:function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},numberArrayStep:function(a,b,d){(void 0===a||null===a)&&(a=0),(void 0===b||null===b)&&(b=a,a=0),void 0===d&&(d=1);for(var e=[],f=Math.max(c.Math.roundAwayFromZero((b-a)/(d||1)),0),g=0;f>g;g++)e.push(a),a+=d;return e}},c.LinkedList=function(){this.next=null,this.prev=null,this.first=null,this.last=null,this.total=0},c.LinkedList.prototype={add:function(a){return 0===this.total&&null===this.first&&null===this.last?(this.first=a,this.last=a,this.next=a,a.prev=this,this.total++,a):(this.last.next=a,a.prev=this.last,this.last=a,this.total++,a)},reset:function(){this.first=null,this.last=null,this.next=null,this.prev=null,this.total=0},remove:function(a){return 1===this.total?(this.reset(),void(a.next=a.prev=null)):(a===this.first?this.first=this.first.next:a===this.last&&(this.last=this.last.prev),a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),a.next=a.prev=null,null===this.first&&(this.last=null),void this.total--)},callAll:function(a){if(this.first&&this.last){var b=this.first;do b&&b[a]&&b[a].call(b),b=b.next;while(b!=this.last.next)}}},c.LinkedList.prototype.constructor=c.LinkedList,c.Create=function(a){this.game=a,this.bmd=null,this.canvas=null,this.ctx=null,this.palettes=[{0:"#000",1:"#9D9D9D",2:"#FFF",3:"#BE2633",4:"#E06F8B",5:"#493C2B",6:"#A46422",7:"#EB8931",8:"#F7E26B",9:"#2F484E",A:"#44891A",B:"#A3CE27",C:"#1B2632",D:"#005784",E:"#31A2F2",F:"#B2DCEF"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#f5f4eb"},{0:"#000",1:"#2234d1",2:"#0c7e45",3:"#44aacc",4:"#8a3622",5:"#5c2e78",6:"#aa5c3d",7:"#b5b5b5",8:"#5e606e",9:"#4c81fb",A:"#6cd947",B:"#7be2f9",C:"#eb8a60",D:"#e23d69",E:"#ffd93f",F:"#fff"},{0:"#000",1:"#fff",2:"#8b4131",3:"#7bbdc5",4:"#8b41ac",5:"#6aac41",6:"#3931a4",7:"#d5de73",8:"#945a20",9:"#5a4100",A:"#bd736a",B:"#525252",C:"#838383",D:"#acee8b",E:"#7b73de",F:"#acacac"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#fff"}]},c.Create.PALETTE_ARNE=0,c.Create.PALETTE_JMP=1,c.Create.PALETTE_CGA=2,c.Create.PALETTE_C64=3,c.Create.PALETTE_JAPANESE_MACHINE=4,c.Create.prototype={texture:function(a,b,c,d,e){void 0===c&&(c=8),void 0===d&&(d=c),void 0===e&&(e=0);var f=b[0].length*c,g=b.length*d;null===this.bmd&&(this.bmd=this.game.make.bitmapData(),this.canvas=this.bmd.canvas,this.ctx=this.bmd.context),this.bmd.resize(f,g),this.bmd.clear();for(var h=0;hg;g+=e)this.ctx.fillRect(0,g,b,1);for(var h=0;b>h;h+=d)this.ctx.fillRect(h,0,1,c);return this.bmd.generateTexture(a)}},c.Create.prototype.constructor=c.Create,c.FlexGrid=function(a,b,d){this.game=a.game,this.manager=a,this.width=b,this.height=d,this.boundsCustom=new c.Rectangle(0,0,b,d),this.boundsFluid=new c.Rectangle(0,0,b,d),this.boundsFull=new c.Rectangle(0,0,b,d),this.boundsNone=new c.Rectangle(0,0,b,d),this.positionCustom=new c.Point(0,0),this.positionFluid=new c.Point(0,0),this.positionFull=new c.Point(0,0),this.positionNone=new c.Point(0,0),this.scaleCustom=new c.Point(1,1),this.scaleFluid=new c.Point(1,1),this.scaleFluidInversed=new c.Point(1,1),this.scaleFull=new c.Point(1,1),this.scaleNone=new c.Point(1,1),this.customWidth=0,this.customHeight=0,this.customOffsetX=0,this.customOffsetY=0,this.ratioH=b/d,this.ratioV=d/b,this.multiplier=0,this.layers=[]},c.FlexGrid.prototype={setSize:function(a,b){this.width=a,this.height=b,this.ratioH=a/b,this.ratioV=b/a,this.scaleNone=new c.Point(1,1),this.boundsNone.width=this.width,this.boundsNone.height=this.height,this.refresh()},createCustomLayer:function(a,b,d,e){void 0===e&&(e=!0),this.customWidth=a,this.customHeight=b,this.boundsCustom.width=a,this.boundsCustom.height=b;var f=new c.FlexLayer(this,this.positionCustom,this.boundsCustom,this.scaleCustom);return e&&this.game.world.add(f),this.layers.push(f),"undefined"!=typeof d&&null!==typeof d&&f.addMultiple(d),f},createFluidLayer:function(a,b){void 0===b&&(b=!0);var d=new c.FlexLayer(this,this.positionFluid,this.boundsFluid,this.scaleFluid);return b&&this.game.world.add(d),this.layers.push(d),"undefined"!=typeof a&&null!==typeof a&&d.addMultiple(a),d},createFullLayer:function(a){var b=new c.FlexLayer(this,this.positionFull,this.boundsFull,this.scaleFluid);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},createFixedLayer:function(a){var b=new c.FlexLayer(this,this.positionNone,this.boundsNone,this.scaleNone);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},reset:function(){for(var a=this.layers.length;a--;)this.layers[a].persist||(this.layers[a].position=null,this.layers[a].scale=null,this.layers.slice(a,1))},onResize:function(a,b){this.ratioH=a/b,this.ratioV=b/a,this.refresh(a,b)},refresh:function(){this.multiplier=Math.min(this.manager.height/this.height,this.manager.width/this.width),this.boundsFluid.width=Math.round(this.width*this.multiplier),this.boundsFluid.height=Math.round(this.height*this.multiplier),this.scaleFluid.set(this.boundsFluid.width/this.width,this.boundsFluid.height/this.height),this.scaleFluidInversed.set(this.width/this.boundsFluid.width,this.height/this.boundsFluid.height),this.scaleFull.set(this.boundsFull.width/this.width,this.boundsFull.height/this.height),this.boundsFull.width=Math.round(this.manager.width*this.scaleFluidInversed.x),this.boundsFull.height=Math.round(this.manager.height*this.scaleFluidInversed.y),this.boundsFluid.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.boundsNone.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.positionFluid.set(this.boundsFluid.x,this.boundsFluid.y),this.positionNone.set(this.boundsNone.x,this.boundsNone.y)},fitSprite:function(a){this.manager.scaleSprite(a),a.x=this.manager.bounds.centerX,a.y=this.manager.bounds.centerY},debug:function(){this.game.debug.text(this.boundsFluid.width+" x "+this.boundsFluid.height,this.boundsFluid.x+4,this.boundsFluid.y+16),this.game.debug.geom(this.boundsFluid,"rgba(255,0,0,0.9",!1)}},c.FlexGrid.prototype.constructor=c.FlexGrid,c.FlexLayer=function(a,b,d,e){c.Group.call(this,a.game,null,"__flexLayer"+a.game.rnd.uuid(),!1),this.manager=a.manager,this.grid=a,this.persist=!1,this.position=b,this.bounds=d,this.scale=e,this.topLeft=d.topLeft,this.topMiddle=new c.Point(d.halfWidth,0),this.topRight=d.topRight,this.bottomLeft=d.bottomLeft,this.bottomMiddle=new c.Point(d.halfWidth,d.bottom),this.bottomRight=d.bottomRight},c.FlexLayer.prototype=Object.create(c.Group.prototype),c.FlexLayer.prototype.constructor=c.FlexLayer,c.FlexLayer.prototype.resize=function(){},c.FlexLayer.prototype.debug=function(){this.game.debug.text(this.bounds.width+" x "+this.bounds.height,this.bounds.x+4,this.bounds.y+16),this.game.debug.geom(this.bounds,"rgba(0,0,255,0.9",!1),this.game.debug.geom(this.topLeft,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topMiddle,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topRight,"rgba(255,255,255,0.9")},c.Color={packPixel:function(a,b,d,e){return c.Device.LITTLE_ENDIAN?(e<<24|d<<16|b<<8|a)>>>0:(a<<24|b<<16|d<<8|e)>>>0},unpackPixel:function(a,b,d,e){return(void 0===b||null===b)&&(b=c.Color.createColor()),(void 0===d||null===d)&&(d=!1),(void 0===e||null===e)&&(e=!1),c.Device.LITTLE_ENDIAN?(b.a=(4278190080&a)>>>24,b.b=(16711680&a)>>>16,b.g=(65280&a)>>>8,b.r=255&a):(b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a),b.color=a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a/255+")",d&&c.Color.RGBtoHSL(b.r,b.g,b.b,b),e&&c.Color.RGBtoHSV(b.r,b.g,b.b,b),b},fromRGBA:function(a,b){return b||(b=c.Color.createColor()),b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a+")",b},toRGBA:function(a,b,c,d){return a<<24|b<<16|c<<8|d},RGBtoHSL:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,1)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d);if(e.h=0,e.s=0,e.l=(g+f)/2,g!==f){var h=g-f;e.s=e.l>.5?h/(2-g-f):h/(g+f),g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6}return e},HSLtoRGB:function(a,b,d,e){if(e?(e.r=d,e.g=d,e.b=d):e=c.Color.createColor(d,d,d),0!==b){var f=.5>d?d*(1+b):d+b-d*b,g=2*d-f;e.r=c.Color.hueToColor(g,f,a+1/3),e.g=c.Color.hueToColor(g,f,a),e.b=c.Color.hueToColor(g,f,a-1/3)}return e.r=Math.floor(255*e.r|0),e.g=Math.floor(255*e.g|0),e.b=Math.floor(255*e.b|0),c.Color.updateColor(e),e},RGBtoHSV:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,255)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d),h=g-f;return e.h=0,e.s=0===g?0:h/g,e.v=g,g!==f&&(g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6),e},HSVtoRGB:function(a,b,d,e){void 0===e&&(e=c.Color.createColor(0,0,0,1,a,b,0,d));var f,g,h,i=Math.floor(6*a),j=6*a-i,k=d*(1-b),l=d*(1-j*b),m=d*(1-(1-j)*b);switch(i%6){case 0:f=d,g=m,h=k;break;case 1:f=l,g=d,h=k;break;case 2:f=k,g=d,h=m;break;case 3:f=k,g=l,h=d;break;case 4:f=m,g=k,h=d;break;case 5:f=d,g=k,h=l}return e.r=Math.floor(255*f),e.g=Math.floor(255*g),e.b=Math.floor(255*h),c.Color.updateColor(e),e},hueToColor:function(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a},createColor:function(a,b,d,e,f,g,h,i){var j={r:a||0,g:b||0,b:d||0,a:e||1,h:f||0,s:g||0,l:h||0,v:i||0,color:0,color32:0,rgba:""};return c.Color.updateColor(j)},updateColor:function(a){return a.rgba="rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+a.a.toString()+")",a.color=c.Color.getColor(a.r,a.g,a.b),a.color32=c.Color.getColor32(a.a,a.r,a.g,a.b),a},getColor32:function(a,b,c,d){return a<<24|b<<16|c<<8|d},getColor:function(a,b,c){return a<<16|b<<8|c},RGBtoString:function(a,b,d,e,f){return void 0===e&&(e=255),void 0===f&&(f="#"),"#"===f?"#"+((1<<24)+(a<<16)+(b<<8)+d).toString(16).slice(1):"0x"+c.Color.componentToHex(e)+c.Color.componentToHex(a)+c.Color.componentToHex(b)+c.Color.componentToHex(d)},hexToRGB:function(a){var b=c.Color.hexToColor(a);return b?c.Color.getColor32(b.a,b.r,b.g,b.b):void 0},hexToColor:function(a,b){a=a.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,b,c,d){return b+b+c+c+d+d});var d=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);if(d){var e=parseInt(d[1],16),f=parseInt(d[2],16),g=parseInt(d[3],16);b?(b.r=e,b.g=f,b.b=g):b=c.Color.createColor(e,f,g)}return b},webToColor:function(a,b){b||(b=c.Color.createColor());var d=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(a);return d&&(b.r=parseInt(d[1],10),b.g=parseInt(d[2],10),b.b=parseInt(d[3],10),b.a=void 0!==d[4]?parseFloat(d[4]):1,c.Color.updateColor(b)),b},valueToColor:function(a,b){if(b||(b=c.Color.createColor()),"string"==typeof a)return 0===a.indexOf("rgb")?c.Color.webToColor(a,b):(b.a=1,c.Color.hexToColor(a,b));if("number"==typeof a){var d=c.Color.getRGB(a);return b.r=d.r,b.g=d.g,b.b=d.b,b.a=d.a/255,b}return b},componentToHex:function(a){var b=a.toString(16);return 1==b.length?"0"+b:b},HSVColorWheel:function(a,b){void 0===a&&(a=1),void 0===b&&(b=1);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSVtoRGB(e/359,a,b));return d},HSLColorWheel:function(a,b){void 0===a&&(a=.5),void 0===b&&(b=.5);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSLtoRGB(e/359,a,b));return d},interpolateColor:function(a,b,d,e,f){void 0===f&&(f=255);var g=c.Color.getRGB(a),h=c.Color.getRGB(b),i=(h.red-g.red)*e/d+g.red,j=(h.green-g.green)*e/d+g.green,k=(h.blue-g.blue)*e/d+g.blue;return c.Color.getColor32(f,i,j,k)},interpolateColorWithRGB:function(a,b,d,e,f,g){var h=c.Color.getRGB(a),i=(b-h.red)*g/f+h.red,j=(d-h.green)*g/f+h.green,k=(e-h.blue)*g/f+h.blue;return c.Color.getColor(i,j,k)},interpolateRGB:function(a,b,d,e,f,g,h,i){var j=(e-a)*i/h+a,k=(f-b)*i/h+b,l=(g-d)*i/h+d;return c.Color.getColor(j,k,l)},getRandomColor:function(a,b,d){if(void 0===a&&(a=0),void 0===b&&(b=255),void 0===d&&(d=255),b>255||a>b)return c.Color.getColor(255,255,255);var e=a+Math.round(Math.random()*(b-a)),f=a+Math.round(Math.random()*(b-a)),g=a+Math.round(Math.random()*(b-a));return c.Color.getColor32(d,e,f,g)},getRGB:function(a){return a>16777215?{alpha:a>>>24,red:a>>16&255,green:a>>8&255,blue:255&a,a:a>>>24,r:a>>16&255,g:a>>8&255,b:255&a}:{alpha:255,red:a>>16&255,green:a>>8&255,blue:255&a,a:255,r:a>>16&255,g:a>>8&255,b:255&a}},getWebRGB:function(a){if("object"==typeof a)return"rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+(a.a/255).toString()+")";var b=c.Color.getRGB(a);return"rgba("+b.r.toString()+","+b.g.toString()+","+b.b.toString()+","+(b.a/255).toString()+")"},getAlpha:function(a){return a>>>24},getAlphaFloat:function(a){return(a>>>24)/255},getRed:function(a){return a>>16&255},getGreen:function(a){return a>>8&255},getBlue:function(a){return 255&a},blendNormal:function(a){return a},blendLighten:function(a,b){return b>a?b:a},blendDarken:function(a,b){return b>a?a:b},blendMultiply:function(a,b){return a*b/255},blendAverage:function(a,b){return(a+b)/2},blendAdd:function(a,b){return Math.min(255,a+b)},blendSubtract:function(a,b){return Math.max(0,a+b-255)},blendDifference:function(a,b){return Math.abs(a-b)},blendNegation:function(a,b){return 255-Math.abs(255-a-b)},blendScreen:function(a,b){return 255-((255-a)*(255-b)>>8)},blendExclusion:function(a,b){return a+b-2*a*b/255},blendOverlay:function(a,b){return 128>b?2*a*b/255:255-2*(255-a)*(255-b)/255},blendSoftLight:function(a,b){return 128>b?2*((a>>1)+64)*(b/255):255-2*(255-((a>>1)+64))*(255-b)/255},blendHardLight:function(a,b){return c.Color.blendOverlay(b,a)},blendColorDodge:function(a,b){return 255===b?b:Math.min(255,(a<<8)/(255-b))},blendColorBurn:function(a,b){return 0===b?b:Math.max(0,255-(255-a<<8)/b)},blendLinearDodge:function(a,b){return c.Color.blendAdd(a,b)},blendLinearBurn:function(a,b){return c.Color.blendSubtract(a,b)},blendLinearLight:function(a,b){return 128>b?c.Color.blendLinearBurn(a,2*b):c.Color.blendLinearDodge(a,2*(b-128))},blendVividLight:function(a,b){return 128>b?c.Color.blendColorBurn(a,2*b):c.Color.blendColorDodge(a,2*(b-128))},blendPinLight:function(a,b){return 128>b?c.Color.blendDarken(a,2*b):c.Color.blendLighten(a,2*(b-128))},blendHardMix:function(a,b){return c.Color.blendVividLight(a,b)<128?0:255},blendReflect:function(a,b){return 255===b?b:Math.min(255,a*a/(255-b))},blendGlow:function(a,b){return c.Color.blendReflect(b,a)},blendPhoenix:function(a,b){return Math.min(a,b)-Math.max(a,b)+255}},c.Physics=function(a,b){b=b||{},this.game=a,this.config=b,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},c.Physics.ARCADE=0,c.Physics.P2JS=1,c.Physics.NINJA=2,c.Physics.BOX2D=3,c.Physics.CHIPMUNK=4,c.Physics.MATTERJS=5,c.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&this.config.arcade!==!0||!c.Physics.hasOwnProperty("Arcade")||(this.arcade=new c.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&this.config.ninja===!0&&c.Physics.hasOwnProperty("Ninja")&&(this.ninja=new c.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&this.config.p2===!0&&c.Physics.hasOwnProperty("P2")&&(this.p2=new c.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&this.config.box2d===!0&&c.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new c.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&this.config.matter===!0&&c.Physics.hasOwnProperty("Matter")&&(this.matter=new c.Physics.Matter(this.game,this.config))},startSystem:function(a){a===c.Physics.ARCADE?this.arcade=new c.Physics.Arcade(this.game):a===c.Physics.P2JS?null===this.p2?this.p2=new c.Physics.P2(this.game,this.config):this.p2.reset():a===c.Physics.NINJA?this.ninja=new c.Physics.Ninja(this.game):a===c.Physics.BOX2D?null===this.box2d?this.box2d=new c.Physics.Box2D(this.game,this.config):this.box2d.reset():a===c.Physics.MATTERJS&&(null===this.matter?this.matter=new c.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(a,b,d){void 0===b&&(b=c.Physics.ARCADE),void 0===d&&(d=!1),b===c.Physics.ARCADE?this.arcade.enable(a):b===c.Physics.P2JS&&this.p2?this.p2.enable(a,d):b===c.Physics.NINJA&&this.ninja?this.ninja.enableAABB(a):b===c.Physics.BOX2D&&this.box2d?this.box2d.enable(a):b===c.Physics.MATTERJS&&this.matter&&this.matter.enable(a)},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},c.Physics.prototype.constructor=c.Physics,c.Physics.Arcade=function(a){this.game=a,this.gravity=new c.Point,this.bounds=new c.Rectangle(0,0,a.world.width,a.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=c.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new c.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},c.Physics.Arcade.prototype.constructor=c.Physics.Arcade,c.Physics.Arcade.SORT_NONE=0,c.Physics.Arcade.LEFT_RIGHT=1,c.Physics.Arcade.RIGHT_LEFT=2,c.Physics.Arcade.TOP_BOTTOM=3,c.Physics.Arcade.BOTTOM_TOP=4,c.Physics.Arcade.prototype={setBounds:function(a,b,c,d){this.bounds.setTo(a,b,c,d)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(a,b){void 0===b&&(b=!0);var d=1;if(Array.isArray(a))for(d=a.length;d--;)a[d]instanceof c.Group?this.enable(a[d].children,b):(this.enableBody(a[d]),b&&a[d].hasOwnProperty("children")&&a[d].children.length>0&&this.enable(a[d],!0));else a instanceof c.Group?this.enable(a.children,b):(this.enableBody(a),b&&a.hasOwnProperty("children")&&a.children.length>0&&this.enable(a.children,!0))},enableBody:function(a){a.hasOwnProperty("body")&&null===a.body&&(a.body=new c.Physics.Arcade.Body(a),a.parent&&a.parent instanceof c.Group&&a.parent.addToHash(a))},updateMotion:function(a){var b=this.computeVelocity(0,a,a.angularVelocity,a.angularAcceleration,a.angularDrag,a.maxAngular)-a.angularVelocity;a.angularVelocity+=b,a.rotation+=a.angularVelocity*this.game.time.physicsElapsed,a.velocity.x=this.computeVelocity(1,a,a.velocity.x,a.acceleration.x,a.drag.x,a.maxVelocity.x),a.velocity.y=this.computeVelocity(2,a,a.velocity.y,a.acceleration.y,a.drag.y,a.maxVelocity.y)},computeVelocity:function(a,b,c,d,e,f){return void 0===f&&(f=1e4),1===a&&b.allowGravity?c+=(this.gravity.x+b.gravity.x)*this.game.time.physicsElapsed:2===a&&b.allowGravity&&(c+=(this.gravity.y+b.gravity.y)*this.game.time.physicsElapsed),d?c+=d*this.game.time.physicsElapsed:e&&(e*=this.game.time.physicsElapsed,c-e>0?c-=e:0>c+e?c+=e:c=0),c>f?c=f:-f>c&&(c=-f),c},overlap:function(a,b,c,d,e){if(c=c||null,d=d||null,e=e||c,this._total=0,!Array.isArray(a)&&Array.isArray(b))for(var f=0;f0},collide:function(a,b,c,d,e){if(c=c||null,d=d||null,e=e||c,this._total=0,!Array.isArray(a)&&Array.isArray(b))for(var f=0;f0},sortLeftRight:function(a,b){return a.body&&b.body?a.body.x-b.body.x:0},sortRightLeft:function(a,b){return a.body&&b.body?b.body.x-a.body.x:0},sortTopBottom:function(a,b){return a.body&&b.body?a.body.y-b.body.y:0},sortBottomTop:function(a,b){return a.body&&b.body?b.body.y-a.body.y:0},sort:function(a,b){null!==a.physicsSortDirection?b=a.physicsSortDirection:void 0===b&&(b=this.sortDirection),b===c.Physics.Arcade.LEFT_RIGHT?a.hash.sort(this.sortLeftRight):b===c.Physics.Arcade.RIGHT_LEFT?a.hash.sort(this.sortRightLeft):b===c.Physics.Arcade.TOP_BOTTOM?a.hash.sort(this.sortTopBottom):b===c.Physics.Arcade.BOTTOM_TOP&&a.hash.sort(this.sortBottomTop)},collideHandler:function(a,b,d,e,f,g){return void 0===b&&a.physicsType===c.GROUP?(this.sort(a),void this.collideGroupVsSelf(a,d,e,f,g)):void(a&&b&&a.exists&&b.exists&&(this.sortDirection!==c.Physics.Arcade.SORT_NONE&&(a.physicsType===c.GROUP&&this.sort(a),b.physicsType===c.GROUP&&this.sort(b)),a.physicsType===c.SPRITE?b.physicsType===c.SPRITE?this.collideSpriteVsSprite(a,b,d,e,f,g):b.physicsType===c.GROUP?this.collideSpriteVsGroup(a,b,d,e,f,g):b.physicsType===c.TILEMAPLAYER&&this.collideSpriteVsTilemapLayer(a,b,d,e,f,g):a.physicsType===c.GROUP?b.physicsType===c.SPRITE?this.collideSpriteVsGroup(b,a,d,e,f,g):b.physicsType===c.GROUP?this.collideGroupVsGroup(a,b,d,e,f,g):b.physicsType===c.TILEMAPLAYER&&this.collideGroupVsTilemapLayer(a,b,d,e,f,g):a.physicsType===c.TILEMAPLAYER&&(b.physicsType===c.SPRITE?this.collideSpriteVsTilemapLayer(b,a,d,e,f,g):b.physicsType===c.GROUP&&this.collideGroupVsTilemapLayer(b,a,d,e,f,g)))); +},collideSpriteVsSprite:function(a,b,c,d,e,f){return a.body&&b.body?(this.separate(a.body,b.body,d,e,f)&&(c&&c.call(e,a,b),this._total++),!0):!1},collideSpriteVsGroup:function(a,b,d,e,f,g){if(0!==b.length&&a.body){var h;if(this.skipQuadTree||a.body.skipQuadTree){for(var i=0;ih.right)break;if(h.x>a.body.right)continue}else if(this.sortDirection===c.Physics.Arcade.TOP_BOTTOM){if(a.body.bottomh.bottom)break;if(h.y>a.body.bottom)continue}this.collideSpriteVsSprite(a,b.hash[i],d,e,f,g)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(b);for(var j=this.quadTree.retrieve(a),i=0;ij.body.right)continue;if(j.body.x>h.body.right)break}else if(this.sortDirection===c.Physics.Arcade.TOP_BOTTOM){if(h.body.bottomj.body.bottom)continue;if(j.body.y>h.body.bottom)break}this.collideSpriteVsSprite(h,j,b,d,e,f)}},collideGroupVsGroup:function(a,b,d,e,f,g){if(0!==a.length&&0!==b.length)for(var h=0;h=b.right?!1:a.position.y>=b.bottom?!1:!0},separateX:function(a,b,c){if(a.immovable&&b.immovable)return!1;var d=0;if(this.intersects(a,b)){var e=a.deltaAbsX()+b.deltaAbsX()+this.OVERLAP_BIAS;if(0===a.deltaX()&&0===b.deltaX()?(a.embedded=!0,b.embedded=!0):a.deltaX()>b.deltaX()?(d=a.right-b.x,d>e||a.checkCollision.right===!1||b.checkCollision.left===!1?d=0:(a.touching.none=!1,a.touching.right=!0,b.touching.none=!1,b.touching.left=!0)):a.deltaX()e||a.checkCollision.left===!1||b.checkCollision.right===!1?d=0:(a.touching.none=!1,a.touching.left=!0,b.touching.none=!1,b.touching.right=!0)),a.overlapX=d,b.overlapX=d,0!==d){if(c||a.customSeparateX||b.customSeparateX)return!0;var f=a.velocity.x,g=b.velocity.x;if(a.immovable||b.immovable)a.immovable?b.immovable||(b.x+=d,b.velocity.x=f-g*b.bounce.x,a.moves&&(b.y+=(a.y-a.prev.y)*a.friction.y)):(a.x=a.x-d,a.velocity.x=g-f*a.bounce.x,b.moves&&(a.y+=(b.y-b.prev.y)*b.friction.y));else{d*=.5,a.x=a.x-d,b.x+=d;var h=Math.sqrt(g*g*b.mass/a.mass)*(g>0?1:-1),i=Math.sqrt(f*f*a.mass/b.mass)*(f>0?1:-1),j=.5*(h+i);h-=j,i-=j,a.velocity.x=j+h*a.bounce.x,b.velocity.x=j+i*b.bounce.x}return!0}}return!1},separateY:function(a,b,c){if(a.immovable&&b.immovable)return!1;var d=0;if(this.intersects(a,b)){var e=a.deltaAbsY()+b.deltaAbsY()+this.OVERLAP_BIAS;if(0===a.deltaY()&&0===b.deltaY()?(a.embedded=!0,b.embedded=!0):a.deltaY()>b.deltaY()?(d=a.bottom-b.y,d>e||a.checkCollision.down===!1||b.checkCollision.up===!1?d=0:(a.touching.none=!1,a.touching.down=!0,b.touching.none=!1,b.touching.up=!0)):a.deltaY()e||a.checkCollision.up===!1||b.checkCollision.down===!1?d=0:(a.touching.none=!1,a.touching.up=!0,b.touching.none=!1,b.touching.down=!0)),a.overlapY=d,b.overlapY=d,0!==d){if(c||a.customSeparateY||b.customSeparateY)return!0;var f=a.velocity.y,g=b.velocity.y;if(a.immovable||b.immovable)a.immovable?b.immovable||(b.y+=d,b.velocity.y=f-g*b.bounce.y,a.moves&&(b.x+=(a.x-a.prev.x)*a.friction.x)):(a.y=a.y-d,a.velocity.y=g-f*a.bounce.y,b.moves&&(a.x+=(b.x-b.prev.x)*b.friction.x));else{d*=.5,a.y=a.y-d,b.y+=d;var h=Math.sqrt(g*g*b.mass/a.mass)*(g>0?1:-1),i=Math.sqrt(f*f*a.mass/b.mass)*(f>0?1:-1),j=.5*(h+i);h-=j,i-=j,a.velocity.y=j+h*a.bounce.y,b.velocity.y=j+i*b.bounce.y}return!0}}return!1},getObjectsUnderPointer:function(a,b,c,d){return 0!==b.length&&a.exists?this.getObjectsAtLocation(a.x,a.y,b,c,d,a):void 0},getObjectsAtLocation:function(a,b,d,e,f,g){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(d);for(var h=new c.Rectangle(a,b,1,1),i=[],j=this.quadTree.retrieve(h),k=0;k0&&(c=this.distanceBetween(a,b)/(d/1e3)),a.body.velocity.x=Math.cos(e)*c,a.body.velocity.y=Math.sin(e)*c,e},moveToPointer:function(a,b,c,d){void 0===b&&(b=60),c=c||this.game.input.activePointer,void 0===d&&(d=0);var e=this.angleToPointer(a,c);return d>0&&(b=this.distanceToPointer(a,c)/(d/1e3)),a.body.velocity.x=Math.cos(e)*b,a.body.velocity.y=Math.sin(e)*b,e},moveToXY:function(a,b,c,d,e){void 0===d&&(d=60),void 0===e&&(e=0);var f=Math.atan2(c-a.y,b-a.x);return e>0&&(d=this.distanceToXY(a,b,c)/(e/1e3)),a.body.velocity.x=Math.cos(f)*d,a.body.velocity.y=Math.sin(f)*d,f},velocityFromAngle:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(this.game.math.degToRad(a))*b,Math.sin(this.game.math.degToRad(a))*b)},velocityFromRotation:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(a)*b,Math.sin(a)*b)},accelerationFromRotation:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(a)*b,Math.sin(a)*b)},accelerateToObject:function(a,b,c,d,e){void 0===c&&(c=60),void 0===d&&(d=1e3),void 0===e&&(e=1e3);var f=this.angleBetween(a,b);return a.body.acceleration.setTo(Math.cos(f)*c,Math.sin(f)*c),a.body.maxVelocity.setTo(d,e),f},accelerateToPointer:function(a,b,c,d,e){void 0===c&&(c=60),void 0===b&&(b=this.game.input.activePointer),void 0===d&&(d=1e3),void 0===e&&(e=1e3);var f=this.angleToPointer(a,b);return a.body.acceleration.setTo(Math.cos(f)*c,Math.sin(f)*c),a.body.maxVelocity.setTo(d,e),f},accelerateToXY:function(a,b,c,d,e,f){void 0===d&&(d=60),void 0===e&&(e=1e3),void 0===f&&(f=1e3);var g=this.angleToXY(a,b,c);return a.body.acceleration.setTo(Math.cos(g)*d,Math.sin(g)*d),a.body.maxVelocity.setTo(e,f),g},distanceBetween:function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)},distanceToXY:function(a,b,c){var d=a.x-b,e=a.y-c;return Math.sqrt(d*d+e*e)},distanceToPointer:function(a,b){b=b||this.game.input.activePointer;var c=a.x-b.worldX,d=a.y-b.worldY;return Math.sqrt(c*c+d*d)},angleBetween:function(a,b){var c=b.x-a.x,d=b.y-a.y;return Math.atan2(d,c)},angleToXY:function(a,b,c){var d=b-a.x,e=c-a.y;return Math.atan2(e,d)},angleToPointer:function(a,b){b=b||this.game.input.activePointer;var c=b.worldX-a.x,d=b.worldY-a.y;return Math.atan2(d,c)},worldAngleToPointer:function(a,b){b=b||this.game.input.activePointer;var c=b.worldX-a.world.x,d=b.worldY-a.world.y;return Math.atan2(d,c)}},c.Physics.Arcade.Body=function(a){this.sprite=a,this.game=a.game,this.type=c.Physics.ARCADE,this.enable=!0,this.offset=new c.Point,this.position=new c.Point(a.x,a.y),this.prev=new c.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=a.rotation,this.preRotation=a.rotation,this.width=a.width,this.height=a.height,this.sourceWidth=a.width,this.sourceHeight=a.height,a.texture&&(this.sourceWidth=a.texture.frame.width,this.sourceHeight=a.texture.frame.height),this.halfWidth=Math.abs(a.width/2),this.halfHeight=Math.abs(a.height/2),this.center=new c.Point(a.x+this.halfWidth,a.y+this.halfHeight),this.velocity=new c.Point,this.newVelocity=new c.Point(0,0),this.deltaMax=new c.Point(0,0),this.acceleration=new c.Point,this.drag=new c.Point,this.allowGravity=!0,this.gravity=new c.Point(0,0),this.bounce=new c.Point,this.maxVelocity=new c.Point(1e4,1e4),this.friction=new c.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=c.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,any:!0,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={up:!1,down:!1,left:!1,right:!1},this.tilePadding=new c.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this._reset=!0,this._sx=a.scale.x,this._sy=a.scale.y,this._dx=0,this._dy=0},c.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var a=this.sprite.getBounds();a.ceilAll(),(a.width!==this.width||a.height!==this.height)&&(this.width=a.width,this.height=a.height,this._reset=!0)}else{var b=Math.abs(this.sprite.scale.x),c=Math.abs(this.sprite.scale.y);(b!==this._sx||c!==this._sy)&&(this.width=this.sourceWidth*b,this.height=this.sourceHeight*c,this._sx=b,this._sy=c,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight))},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.width+this.offset.x,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.height+this.offset.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,(this.position.x!==this.prev.x||this.position.y!==this.prev.y)&&(this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.collideWorldBounds&&this.checkWorldBounds()),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},postUpdate:function(){this.enable&&this.dirty&&(this.dirty=!1,this.deltaX()<0?this.facing=c.LEFT:this.deltaX()>0&&(this.facing=c.RIGHT),this.deltaY()<0?this.facing=c.UP:this.deltaY()>0&&(this.facing=c.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof c.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null},checkWorldBounds:function(){var a=this.position,b=this.game.physics.arcade.bounds,c=this.game.physics.arcade.checkCollision;a.xb.right&&c.right&&(a.x=b.right-this.width,this.velocity.x*=-this.bounce.x,this.blocked.right=!0),a.yb.bottom&&c.down&&(a.y=b.bottom-this.height,this.velocity.y*=-this.bounce.y,this.blocked.down=!0)},setSize:function(a,b,c,d){void 0===c&&(c=this.offset.x),void 0===d&&(d=this.offset.y),this.sourceWidth=a,this.sourceHeight=b,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(c,d),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},reset:function(a,b){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0,this.position.x=a-this.sprite.anchor.x*this.width+this.offset.x,this.position.y=b-this.sprite.anchor.y*this.height+this.offset.y,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this._sx=this.sprite.scale.x,this._sy=this.sprite.scale.y,this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},hitTest:function(a,b){return c.Rectangle.contains(this,a,b)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation}},Object.defineProperty(c.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(a){this.position.x=a}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(a){this.position.y=a}}),c.Physics.Arcade.Body.render=function(a,b,c,d){void 0===d&&(d=!0),c=c||"rgba(0,255,0,0.4)",d?(a.fillStyle=c,a.fillRect(b.position.x-b.game.camera.x,b.position.y-b.game.camera.y,b.width,b.height)):(a.strokeStyle=c,a.strokeRect(b.position.x-b.game.camera.x,b.position.y-b.game.camera.y,b.width,b.height))},c.Physics.Arcade.Body.renderBodyInfo=function(a,b){a.line("x: "+b.x.toFixed(2),"y: "+b.y.toFixed(2),"width: "+b.width,"height: "+b.height),a.line("velocity x: "+b.velocity.x.toFixed(2),"y: "+b.velocity.y.toFixed(2),"deltaX: "+b._dx.toFixed(2),"deltaY: "+b._dy.toFixed(2)),a.line("acceleration x: "+b.acceleration.x.toFixed(2),"y: "+b.acceleration.y.toFixed(2),"speed: "+b.speed.toFixed(2),"angle: "+b.angle.toFixed(2)),a.line("gravity x: "+b.gravity.x,"y: "+b.gravity.y,"bounce x: "+b.bounce.x.toFixed(2),"y: "+b.bounce.y.toFixed(2)),a.line("touching left: "+b.touching.left,"right: "+b.touching.right,"up: "+b.touching.up,"down: "+b.touching.down),a.line("blocked left: "+b.blocked.left,"right: "+b.blocked.right,"up: "+b.blocked.up,"down: "+b.blocked.down)},c.Physics.Arcade.Body.prototype.constructor=c.Physics.Arcade.Body,c.Physics.Arcade.TilemapCollision=function(){},c.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(a,b,c,d,e,f){if(a.body){var g=b.getTiles(a.body.position.x-a.body.tilePadding.x,a.body.position.y-a.body.tilePadding.y,a.body.width+a.body.tilePadding.x,a.body.height+a.body.tilePadding.y,!1,!1);if(0!==g.length)for(var h=0;hb.deltaAbsY()?g=-1:b.deltaAbsX()g){if((c.faceLeft||c.faceRight)&&(e=this.tileCheckX(b,c),0!==e&&!c.intersects(b.position.x,b.position.y,b.right,b.bottom)))return!0;(c.faceTop||c.faceBottom)&&(f=this.tileCheckY(b,c))}else{if((c.faceTop||c.faceBottom)&&(f=this.tileCheckY(b,c),0!==f&&!c.intersects(b.position.x,b.position.y,b.right,b.bottom)))return!0;(c.faceLeft||c.faceRight)&&(e=this.tileCheckX(b,c))}return 0!==e||0!==f},tileCheckX:function(a,b){var c=0;return a.deltaX()<0&&!a.blocked.left&&b.collideRight&&a.checkCollision.left?b.faceRight&&a.x0&&!a.blocked.right&&b.collideLeft&&a.checkCollision.right&&b.faceLeft&&a.right>b.left&&(c=a.right-b.left,c>this.TILE_BIAS&&(c=0)),0!==c&&(a.customSeparateX?a.overlapX=c:this.processTileSeparationX(a,c)),c},tileCheckY:function(a,b){var c=0;return a.deltaY()<0&&!a.blocked.up&&b.collideDown&&a.checkCollision.up?b.faceBottom&&a.y0&&!a.blocked.down&&b.collideUp&&a.checkCollision.down&&b.faceTop&&a.bottom>b.top&&(c=a.bottom-b.top,c>this.TILE_BIAS&&(c=0)),0!==c&&(a.customSeparateY?a.overlapY=c:this.processTileSeparationY(a,c)),c},processTileSeparationX:function(a,b){0>b?a.blocked.left=!0:b>0&&(a.blocked.right=!0),a.position.x-=b,0===a.bounce.x?a.velocity.x=0:a.velocity.x=-a.velocity.x*a.bounce.x},processTileSeparationY:function(a,b){0>b?a.blocked.up=!0:b>0&&(a.blocked.down=!0),a.position.y-=b,0===a.bounce.y?a.velocity.y=0:a.velocity.y=-a.velocity.y*a.bounce.y}},c.Utils.mixinPrototype(c.Physics.Arcade.prototype,c.Physics.Arcade.TilemapCollision.prototype),c.ImageCollection=function(a,b,c,d,e,f,g){(void 0===c||0>=c)&&(c=32),(void 0===d||0>=d)&&(d=32),void 0===e&&(e=0),void 0===f&&(f=0),this.name=a,this.firstgid=0|b,this.imageWidth=0|c,this.imageHeight=0|d,this.imageMargin=0|e,this.imageSpacing=0|f,this.properties=g||{},this.images=[],this.total=0},c.ImageCollection.prototype={containsImageIndex:function(a){return a>=this.firstgid&&athis.right||b>this.bottom)},intersects:function(a,b,c,d){return c<=this.worldX?!1:d<=this.worldY?!1:a>=this.worldX+this.width?!1:b>=this.worldY+this.height?!1:!0},setCollisionCallback:function(a,b){this.collisionCallback=a,this.collisionCallbackContext=b},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(a,b,c,d){this.collideLeft=a,this.collideRight=b,this.collideUp=c,this.collideDown=d,this.faceLeft=a,this.faceRight=b,this.faceTop=c,this.faceBottom=d},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(a,b){return a&&b?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:a?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:b?this.faceTop||this.faceBottom||this.faceLeft||this.faceRight:!1},copy:function(a){this.index=a.index,this.alpha=a.alpha,this.properties=a.properties,this.collideUp=a.collideUp,this.collideDown=a.collideDown,this.collideLeft=a.collideLeft,this.collideRight=a.collideRight,this.collisionCallback=a.collisionCallback,this.collisionCallbackContext=a.collisionCallbackContext}},c.Tile.prototype.constructor=c.Tile,Object.defineProperty(c.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(c.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(c.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(c.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(c.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(c.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),c.Tilemap=function(a,b,d,e,f,g){this.game=a,this.key=b;var h=c.TilemapParser.parse(this.game,b,d,e,f,g);null!==h&&(this.width=h.width,this.height=h.height,this.tileWidth=h.tileWidth,this.tileHeight=h.tileHeight,this.orientation=h.orientation,this.format=h.format,this.version=h.version,this.properties=h.properties,this.widthInPixels=h.widthInPixels,this.heightInPixels=h.heightInPixels,this.layers=h.layers,this.tilesets=h.tilesets,this.imagecollections=h.imagecollections,this.tiles=h.tiles,this.objects=h.objects,this.collideIndexes=[],this.collision=h.collision,this.images=h.images,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},c.Tilemap.CSV=0,c.Tilemap.TILED_JSON=1,c.Tilemap.NORTH=0,c.Tilemap.EAST=1,c.Tilemap.SOUTH=2,c.Tilemap.WEST=3,c.Tilemap.prototype={create:function(a,b,c,d,e,f){return void 0===f&&(f=this.game.world),this.width=b,this.height=c,this.setTileSize(d,e),this.layers.length=0,this.createBlankLayer(a,b,c,d,e,f)},setTileSize:function(a,b){this.tileWidth=a,this.tileHeight=b,this.widthInPixels=this.width*a,this.heightInPixels=this.height*b},addTilesetImage:function(a,b,d,e,f,g,h){if(void 0===a)return null;void 0===d&&(d=this.tileWidth),void 0===e&&(e=this.tileHeight),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=0),0===d&&(d=32),0===e&&(e=32);var i=null;if((void 0===b||null===b)&&(b=a),b instanceof c.BitmapData)i=b.canvas;else{if(!this.game.cache.checkImageKey(b))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+b+'"'),null;i=this.game.cache.getImage(b)}var j=this.getTilesetIndex(a);if(null===j&&this.format===c.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+a+'"'),null;if(this.tilesets[j])return this.tilesets[j].setImage(i),this.tilesets[j];var k=new c.Tileset(a,h,d,e,f,g,{});k.setImage(i),this.tilesets.push(k);for(var l=this.tilesets.length-1,m=f,n=f,o=0,p=0,q=0,r=h;rl;l++)if(-1!==a.indexOf(this._results[l].index)){j=new g.customClass(this.game,this._results[l].worldX,this._results[l].worldY,d);for(var n in g)j[n]=g[n];f.add(j),k++}if(1===b.length)for(l=0;l1)for(l=0;lthis.layers.length?void console.warn("Tilemap.createLayer: Invalid layer ID given: "+f):e.add(new c.TilemapLayer(this.game,this,f,b,d))},createBlankLayer:function(a,b,d,e,f,g){if(void 0===g&&(g=this.game.world),null!==this.getLayerIndex(a))return void console.warn("Tilemap.createBlankLayer: Layer with matching name already exists");for(var h,i={name:a,x:0,y:0,width:b,height:d,widthInPixels:b*e,heightInPixels:d*f,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},j=[],k=0;d>k;k++){h=[];for(var l=0;b>l;l++)h.push(new c.Tile(i,-1,l,k,e,f));j.push(h)}i.data=j,this.layers.push(i),this.currentLayer=this.layers.length-1;var m=i.widthInPixels,n=i.heightInPixels;m>this.game.width&&(m=this.game.width),n>this.game.height&&(n=this.game.height);var j=new c.TilemapLayer(this.game,this,this.layers.length-1,m,n);return j.name=a,g.add(j)},getIndex:function(a,b){for(var c=0;ce;e++)this.layers[d].callbacks[a[e]]={callback:b,callbackContext:c}},setTileLocationCallback:function(a,b,c,d,e,f,g){if(g=this.getLayer(g),this.copy(a,b,c,d,g),!(this._results.length<2))for(var h=1;hb)){for(var f=a;b>=f;f++)this.setCollisionByIndex(f,c,d,!1);e&&this.calculateFaces(d)}},setCollisionByExclusion:function(a,b,c,d){void 0===b&&(b=!0),void 0===d&&(d=!0),c=this.getLayer(c);for(var e=0,f=this.tiles.length;f>e;e++)-1===a.indexOf(e)&&this.setCollisionByIndex(e,b,c,!1);d&&this.calculateFaces(c)},setCollisionByIndex:function(a,b,c,d){if(void 0===b&&(b=!0),void 0===c&&(c=this.currentLayer),void 0===d&&(d=!0),b)this.collideIndexes.push(a);else{var e=this.collideIndexes.indexOf(a);e>-1&&this.collideIndexes.splice(e,1)}for(var f=0;ff;f++)for(var h=0,i=this.layers[a].width;i>h;h++){var j=this.layers[a].data[f][h];j&&(b=this.getTileAbove(a,h,f),c=this.getTileBelow(a,h,f),d=this.getTileLeft(a,h,f),e=this.getTileRight(a,h,f),j.collides&&(j.faceTop=!0,j.faceBottom=!0,j.faceLeft=!0,j.faceRight=!0),b&&b.collides&&(j.faceTop=!1),c&&c.collides&&(j.faceBottom=!1),d&&d.collides&&(j.faceLeft=!1),e&&e.collides&&(j.faceRight=!1))}},getTileAbove:function(a,b,c){return c>0?this.layers[a].data[c-1][b]:null},getTileBelow:function(a,b,c){return c0?this.layers[a].data[c][b-1]:null},getTileRight:function(a,b,c){return b-1},removeTile:function(a,b,d){if(d=this.getLayer(d),a>=0&&a=0&&b=0&&b=0&&d-1?this.layers[e].data[d][b].setCollision(!0,!0,!0,!0):this.layers[e].data[d][b].resetCollision(),this.layers[e].dirty=!0,this.calculateFaces(e),this.layers[e].data[d][b]}return null},putTileWorldXY:function(a,b,c,d,e,f){return f=this.getLayer(f),b=this.game.math.snapToFloor(b,d)/d,c=this.game.math.snapToFloor(c,e)/e,this.putTile(a,b,c,f)},searchTileIndex:function(a,b,c,d){void 0===b&&(b=0), +void 0===c&&(c=!1),d=this.getLayer(d);var e=0;if(c){for(var f=this.layers[d].height-1;f>=0;f--)for(var g=this.layers[d].width-1;g>=0;g--)if(this.layers[d].data[f][g].index===a){if(e===b)return this.layers[d].data[f][g];e++}}else for(var f=0;f=0&&a=0&&ba&&(a=0),0>b&&(b=0),c>this.layers[e].width&&(c=this.layers[e].width),d>this.layers[e].height&&(d=this.layers[e].height),this._results.length=0,this._results.push({x:a,y:b,width:c,height:d,layer:e});for(var f=b;b+d>f;f++)for(var g=a;a+c>g;g++)this._results.push(this.layers[e].data[f][g]);return this._results},paste:function(a,b,c,d){if(void 0===a&&(a=0),void 0===b&&(b=0),d=this.getLayer(d),c&&!(c.length<2)){for(var e=a-c[1].x,f=b-c[1].y,g=1;g1?this.debugMap[this.layers[this.currentLayer].data[c][d]]?b.push("background: "+this.debugMap[this.layers[this.currentLayer].data[c][d]]):b.push("background: #ffffff"):b.push("background: rgb(0, 0, 0)");a+="\n"}b[0]=a,console.log.apply(console,b)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},c.Tilemap.prototype.constructor=c.Tilemap,Object.defineProperty(c.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(a){a!==this.currentLayer&&this.setLayer(a)}}),c.TilemapLayer=function(a,b,d,e,f){e|=0,f|=0,c.Sprite.call(this,a,0,0),this.map=b,this.index=d,this.layer=b.layers[d],this.canvas=PIXI.CanvasPool.create(this,e,f),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas))),this.type=c.TILEMAPLAYER,this.physicsType=c.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!1,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:b.tileWidth,tileHeight:b.tileHeight,cw:b.tileWidth,ch:b.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this._results=[],a.device.canvasBitBltShift||(this.renderSettings.copyCanvas=c.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},c.TilemapLayer.prototype=Object.create(c.Sprite.prototype),c.TilemapLayer.prototype.constructor=c.TilemapLayer,c.TilemapLayer.prototype.preUpdateCore=c.Component.Core.preUpdate,c.TilemapLayer.sharedCopyCanvas=null,c.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=c.Canvas.create(2,2)),this.sharedCopyCanvas},c.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},c.TilemapLayer.prototype.postUpdate=function(){c.Component.FixedToCamera.postUpdate.call(this);var a=this.game.camera;this.scrollX=a.x*this.scrollFactorX/this.scale.x,this.scrollY=a.y*this.scrollFactorY/this.scale.y,this.render()},c.TilemapLayer.prototype.destroy=function(){PIXI.CanvasPool.remove(this),c.Component.Destroy.prototype.destroy.call(this)},c.TilemapLayer.prototype.resize=function(a,b){this.canvas.width=a,this.canvas.height=b,this.texture.frame.resize(a,b),this.texture.width=a,this.texture.height=b,this.texture.crop.width=a,this.texture.crop.height=b,this.texture.baseTexture.width=a,this.texture.baseTexture.height=b,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},c.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},c.TilemapLayer.prototype._fixX=function(a){return 0>a&&(a=0),1===this.scrollFactorX?a:this._scrollX+(a-this._scrollX/this.scrollFactorX)},c.TilemapLayer.prototype._unfixX=function(a){return 1===this.scrollFactorX?a:this._scrollX/this.scrollFactorX+(a-this._scrollX)},c.TilemapLayer.prototype._fixY=function(a){return 0>a&&(a=0),1===this.scrollFactorY?a:this._scrollY+(a-this._scrollY/this.scrollFactorY)},c.TilemapLayer.prototype._unfixY=function(a){return 1===this.scrollFactorY?a:this._scrollY/this.scrollFactorY+(a-this._scrollY)},c.TilemapLayer.prototype.getTileX=function(a){return Math.floor(this._fixX(a)/this._mc.tileWidth)},c.TilemapLayer.prototype.getTileY=function(a){return Math.floor(this._fixY(a)/this._mc.tileHeight)},c.TilemapLayer.prototype.getTileXY=function(a,b,c){return c.x=this.getTileX(a),c.y=this.getTileY(b),c},c.TilemapLayer.prototype.getRayCastTiles=function(a,b,c,d){b||(b=this.rayStepRate),void 0===c&&(c=!1),void 0===d&&(d=!1);var e=this.getTiles(a.x,a.y,a.width,a.height,c,d);if(0===e.length)return[];for(var f=a.coordinatesOnLine(b),g=[],h=0;hl;l++)for(var m=h;h+j>m;m++){var n=this.layer.data[l];n&&n[m]&&(g||n[m].isInteresting(e,f))&&this._results.push(n[m])}return this._results.slice()},c.TilemapLayer.prototype.resolveTileset=function(a){var b=this._mc.tilesets;if(2e3>a)for(;b.lengthb&&(g=-b,i=0),0>c&&(h=-c,j=0);var k=this.renderSettings.copyCanvas;if(k){(k.width=c&&(c=Math.max(0,c),e=Math.min(h-1,e)),f>=d&&(d=Math.max(0,d),f=Math.min(i-1,f)));var n,o,p,q,r,s,t=c*j-a,u=d*k-b,v=(c+(1<<20)*h)%h,w=(d+(1<<20)*i)%i;for(g.fillStyle=this.tileColor,q=w,s=f-d,o=u;s>=0;q++,s--,o+=k){q>=i&&(q-=i);var x=this.layer.data[q];for(p=v,r=e-c,n=t;r>=0;p++,r--,n+=j){p>=h&&(p-=h);var y=x[p];if(y&&!(y.index<0)){var z=y.index,A=l[z];void 0===A&&(A=this.resolveTileset(z)),y.alpha===m||this.debug||(g.globalAlpha=y.alpha,m=y.alpha),A?y.rotation||y.flipped?(g.save(),g.translate(n+y.centerX,o+y.centerY),g.rotate(y.rotation),y.flipped&&g.scale(-1,1),A.draw(g,-y.centerX,-y.centerY,z),g.restore()):A.draw(g,n,o,z):this.debugSettings.missingImageFill&&(g.fillStyle=this.debugSettings.missingImageFill,g.fillRect(n,o,j,k)),y.debug&&this.debugSettings.debuggedTileOverfill&&(g.fillStyle=this.debugSettings.debuggedTileOverfill,g.fillRect(n,o,j,k))}}}},c.TilemapLayer.prototype.renderDeltaScroll=function(a,b){var c=this._mc.scrollX,d=this._mc.scrollY,e=this.canvas.width,f=this.canvas.height,g=this._mc.tileWidth,h=this._mc.tileHeight,i=0,j=-g,k=0,l=-h;if(0>a?(i=e+a,j=e-1):a>0&&(j=a),0>b?(k=f+b,l=f-1):b>0&&(l=b),this.shiftCanvas(this.context,a,b),i=Math.floor((i+c)/g),j=Math.floor((j+c)/g),k=Math.floor((k+d)/h),l=Math.floor((l+d)/h),j>=i){this.context.clearRect(i*g-c,0,(j-i+1)*g,f);var m=Math.floor((0+d)/h),n=Math.floor((f-1+d)/h);this.renderRegion(c,d,i,m,j,n)}if(l>=k){this.context.clearRect(0,k*h-d,e,(l-k+1)*h);var o=Math.floor((0+c)/g),p=Math.floor((e-1+c)/g);this.renderRegion(c,d,o,k,p,l)}},c.TilemapLayer.prototype.renderFull=function(){var a=this._mc.scrollX,b=this._mc.scrollY,c=this.canvas.width,d=this.canvas.height,e=this._mc.tileWidth,f=this._mc.tileHeight,g=Math.floor(a/e),h=Math.floor((c-1+a)/e),i=Math.floor(b/f),j=Math.floor((d-1+b)/f);this.context.clearRect(0,0,c,d),this.renderRegion(a,b,g,i,h,j)},c.TilemapLayer.prototype.render=function(){var a=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,a=!0);var b=this.canvas.width,c=this.canvas.height,d=0|this._scrollX,e=0|this._scrollY,f=this._mc,g=f.scrollX-d,h=f.scrollY-e;if(a||0!==g||0!==h||f.renderWidth!==b||f.renderHeight!==c)return this.context.save(),f.scrollX=d,f.scrollY=e,(f.renderWidth!==b||f.renderHeight!==c)&&(f.renderWidth=b,f.renderHeight=c),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(a=!0)),!a&&this.renderSettings.enableScrollDelta&&Math.abs(g)+Math.abs(h)=0;d++,f--,b+=o){d>=m&&(d-=m);var x=this.layer.data[d];for(c=v,e=q-p,a=t;e>=0;c++,e--,a+=n){c>=l&&(c-=l);var y=x[c];!y||y.index<0||!y.collides||(this.debugSettings.collidingTileOverfill&&(i.fillStyle=this.debugSettings.collidingTileOverfill,i.fillRect(a,b,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(i.beginPath(),y.faceTop&&(i.moveTo(a,b),i.lineTo(a+this._mc.cw,b)),y.faceBottom&&(i.moveTo(a,b+this._mc.ch),i.lineTo(a+this._mc.cw,b+this._mc.ch)),y.faceLeft&&(i.moveTo(a,b),i.lineTo(a,b+this._mc.ch)),y.faceRight&&(i.moveTo(a+this._mc.cw,b),i.lineTo(a+this._mc.cw,b+this._mc.ch)),i.stroke()))}}},Object.defineProperty(c.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(a){this._wrap=a,this.dirty=!0}}),Object.defineProperty(c.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(a){this._scrollX=a}}),Object.defineProperty(c.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(a){this._scrollY=a}}),Object.defineProperty(c.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(a){this._mc.cw=0|a,this.dirty=!0}}),Object.defineProperty(c.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(a){this._mc.ch=0|a,this.dirty=!0}}),c.TilemapParser={INSERT_NULL:!1,parse:function(a,b,d,e,f,g){if(void 0===d&&(d=32),void 0===e&&(e=32),void 0===f&&(f=10),void 0===g&&(g=10),void 0===b)return this.getEmptyData();if(null===b)return this.getEmptyData(d,e,f,g);var h=a.cache.getTilemapData(b);if(h){if(h.format===c.Tilemap.CSV)return this.parseCSV(b,h.data,d,e);if(!h.format||h.format===c.Tilemap.TILED_JSON)return this.parseTiledJSON(h.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+b)},parseCSV:function(a,b,d,e){var f=this.getEmptyData();b=b.trim();for(var g=[],h=b.split("\n"),i=h.length,j=0,k=0;kk;k+=4)j[k/4]=(h.charCodeAt(k)|h.charCodeAt(k+1)<<8|h.charCodeAt(k+2)<<16|h.charCodeAt(k+3)<<24)>>>0;g.data=j}var l={name:g.name,x:g.x,y:g.y,width:g.width,height:g.height,widthInPixels:g.width*a.tilewidth,heightInPixels:g.height*a.tileheight,alpha:g.opacity,visible:g.visible,properties:{},indexes:[],callbacks:[],bodies:[]};g.properties&&(l.properties=g.properties);for(var m,n,o,p,q=0,r=[],s=[],t=0,i=g.data.length;i>t;t++){if(m=0,n=!1,p=g.data[t],p>536870912)switch(o=0,p>2147483648&&(p-=2147483648,o+=4),p>1073741824&&(p-=1073741824,o+=2),p>536870912&&(p-=536870912,o+=1),o){case 5:m=Math.PI/2;break;case 6:m=Math.PI;break;case 3:m=3*Math.PI/2;break;case 4:m=0,n=!0;break;case 7:m=Math.PI/2,n=!0;break;case 2:m=Math.PI,n=!0;break;case 1:m=3*Math.PI/2,n=!0}p>0?(r.push(new c.Tile(l,p,q,s.length,a.tilewidth,a.tileheight)),r[r.length-1].rotation=m,r[r.length-1].flipped=n):c.TilemapParser.INSERT_NULL?r.push(null):r.push(new c.Tile(l,-1,q,s.length,a.tilewidth,a.tileheight)),q++,q===g.width&&(s.push(r),q=0,r=[])}l.data=s,e.push(l)}d.layers=e;for(var u=[],f=0;fG;G++)if(F.objects[G].gid){var H={gid:F.objects[G].gid,name:F.objects[G].name,type:F.objects[G].hasOwnProperty("type")?F.objects[G].type:"",x:F.objects[G].x,y:F.objects[G].y,visible:F.objects[G].visible,properties:F.objects[G].properties};F.objects[G].rotation&&(H.rotation=F.objects[G].rotation),D[F.name].push(H)}else if(F.objects[G].polyline){var H={name:F.objects[G].name,type:F.objects[G].type,x:F.objects[G].x,y:F.objects[G].y,width:F.objects[G].width,height:F.objects[G].height,visible:F.objects[G].visible,properties:F.objects[G].properties};F.objects[G].rotation&&(H.rotation=F.objects[G].rotation),H.polyline=[];for(var I=0;I=c)&&(c=32),(void 0===d||0>=d)&&(d=32),void 0===e&&(e=0),void 0===f&&(f=0),this.name=a,this.firstgid=0|b,this.tileWidth=0|c,this.tileHeight=0|d,this.tileMargin=0|e,this.tileSpacing=0|f,this.properties=g||{},this.image=null,this.rows=0,this.columns=0,this.total=0,this.drawCoords=[]},c.Tileset.prototype={draw:function(a,b,c,d){var e=d-this.firstgid<<1;e>=0&&e+1=this.firstgid&&a=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(var a=0;a=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._quantity>0&&this._counter>=this._quantity&&(this.on=!1));for(var a=this.children.length;a--;)this.children[a].exists&&this.children[a].update()},c.Particles.Arcade.Emitter.prototype.makeParticles=function(a,b,c,d,e){void 0===b&&(b=0),void 0===c&&(c=this.maxParticles),void 0===d&&(d=!1),void 0===e&&(e=!1);var f,g=0,h=a,i=b;for(this._frames=b,c>this.maxParticles&&(this.maxParticles=c);c>g;)Array.isArray(a)&&(h=this.game.rnd.pick(a)),Array.isArray(b)&&(i=this.game.rnd.pick(b)),f=new this.particleClass(this.game,0,0,h,i),this.game.physics.arcade.enable(f,!1),d?(f.body.checkCollision.any=!0,f.body.checkCollision.none=!1):f.body.checkCollision.none=!0,f.body.collideWorldBounds=e,f.body.skipQuadTree=!0,f.exists=!1,f.visible=!1,f.anchor.copyFrom(this.particleAnchor),this.add(f),g++;return this},c.Particles.Arcade.Emitter.prototype.kill=function(){return this.on=!1,this.alive=!1,this.exists=!1,this},c.Particles.Arcade.Emitter.prototype.revive=function(){return this.alive=!0,this.exists=!0,this},c.Particles.Arcade.Emitter.prototype.explode=function(a,b){return this._flowTotal=0,this.start(!0,a,0,b,!1),this},c.Particles.Arcade.Emitter.prototype.flow=function(a,b,c,d,e){return(void 0===c||0===c)&&(c=1),void 0===d&&(d=-1),void 0===e&&(e=!0),c>this.maxParticles&&(c=this.maxParticles),this._counter=0,this._flowQuantity=c,this._flowTotal=d,e?(this.start(!0,a,b,c),this._counter+=c,this.on=!0,this._timer=this.game.time.time+b*this.game.time.slowMotion):this.start(!1,a,b,c),this},c.Particles.Arcade.Emitter.prototype.start=function(a,b,c,d,e){if(void 0===a&&(a=!0),void 0===b&&(b=0),(void 0===c||null===c)&&(c=250),void 0===d&&(d=0),void 0===e&&(e=!1),d>this.maxParticles&&(d=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=b,this.frequency=c,a||e)for(var f=0;d>f;f++)this.emitParticle();else this.on=!0,this._quantity+=d,this._counter=0,this._timer=this.game.time.time+c*this.game.time.slowMotion;return this},c.Particles.Arcade.Emitter.prototype.emitParticle=function(a,b,c,d){void 0===a&&(a=null),void 0===b&&(b=null);var e=this.getFirstExists(!1);if(null===e)return!1;var f=this.game.rnd;void 0!==c&&void 0!==d?e.loadTexture(c,d):void 0!==c&&e.loadTexture(c);var g=this.emitX,h=this.emitY;null!==a?g=a:this.width>1&&(g=f.between(this.left,this.right)),null!==b?h=b:this.height>1&&(h=f.between(this.top,this.bottom)),e.reset(g,h),e.angle=0,e.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(e):this.particleSendToBack&&this.sendToBack(e),this.autoScale?e.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?e.scale.set(f.realInRange(this.minParticleScale,this.maxParticleScale)):(this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y)&&e.scale.set(f.realInRange(this._minParticleScale.x,this._maxParticleScale.x),f.realInRange(this._minParticleScale.y,this._maxParticleScale.y)),void 0===d&&(Array.isArray(this._frames)?e.frame=this.game.rnd.pick(this._frames):e.frame=this._frames),this.autoAlpha?e.setAlphaData(this.alphaData):e.alpha=f.realInRange(this.minParticleAlpha,this.maxParticleAlpha),e.blendMode=this.blendMode;var i=e.body;return i.updateBounds(),i.bounce.copyFrom(this.bounce),i.drag.copyFrom(this.particleDrag),i.velocity.x=f.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),i.velocity.y=f.between(this.minParticleSpeed.y,this.maxParticleSpeed.y),i.angularVelocity=f.between(this.minRotation,this.maxRotation),i.gravity.y=this.gravity,i.angularDrag=this.angularDrag,e.onEmit(),!0},c.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),c.Group.prototype.destroy.call(this,!0,!1)},c.Particles.Arcade.Emitter.prototype.setSize=function(a,b){return this.area.width=a,this.area.height=b,this},c.Particles.Arcade.Emitter.prototype.setXSpeed=function(a,b){return a=a||0,b=b||0,this.minParticleSpeed.x=a,this.maxParticleSpeed.x=b,this},c.Particles.Arcade.Emitter.prototype.setYSpeed=function(a,b){return a=a||0,b=b||0,this.minParticleSpeed.y=a,this.maxParticleSpeed.y=b,this},c.Particles.Arcade.Emitter.prototype.setRotation=function(a,b){return a=a||0,b=b||0,this.minRotation=a,this.maxRotation=b,this},c.Particles.Arcade.Emitter.prototype.setAlpha=function(a,b,d,e,f){if(void 0===a&&(a=1),void 0===b&&(b=1),void 0===d&&(d=0),void 0===e&&(e=c.Easing.Linear.None),void 0===f&&(f=!1),this.minParticleAlpha=a,this.maxParticleAlpha=b,this.autoAlpha=!1,d>0&&a!==b){var g={v:a},h=this.game.make.tween(g).to({v:b},d,e);h.yoyo(f),this.alphaData=h.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},c.Particles.Arcade.Emitter.prototype.setScale=function(a,b,d,e,f,g,h){if(void 0===a&&(a=1),void 0===b&&(b=1),void 0===d&&(d=1),void 0===e&&(e=1),void 0===f&&(f=0),void 0===g&&(g=c.Easing.Linear.None),void 0===h&&(h=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(a,d),this._maxParticleScale.set(b,e),this.autoScale=!1,f>0&&(a!==b||d!==e)){var i={x:a,y:d},j=this.game.make.tween(i).to({x:b,y:e},f,g);j.yoyo(h),this.scaleData=j.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},c.Particles.Arcade.Emitter.prototype.at=function(a){return a.center?(this.emitX=a.center.x,this.emitY=a.center.y):(this.emitX=a.world.x+a.anchor.x*a.width,this.emitY=a.world.y+a.anchor.y*a.height),this},Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(a){this.area.width=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(a){this.area.height=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(a){this.emitX=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(a){this.emitY=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),c.Video=function(a,b,d){if(void 0===b&&(b=null),void 0===d&&(d=null),this.game=a,this.key=b,this.width=0,this.height=0,this.type=c.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new c.Signal,this.onChangeSource=new c.Signal,this.onComplete=new c.Signal,this.onAccess=new c.Signal,this.onError=new c.Signal,this.onTimeout=new c.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1, +this._autoplay=!1,this._endCallback=null,this._playCallback=null,b&&this.game.cache.checkVideoKey(b)){var e=this.game.cache.getVideo(b);e.isBlob?this.createVideoFromBlob(e.data):this.video=e.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else d&&this.createVideoFromURL(d,!1);this.video&&!d?(this.baseTexture=new PIXI.BaseTexture(this.video),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(PIXI.TextureCache.__default.baseTexture.source),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==b&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,c.BitmapData&&(this.snapshot=new c.BitmapData(this.game,"",this.width,this.height)),!this.game.device.cocoonJS&&(this.game.device.iOS||this.game.device.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock?this.setTouchLock():e&&(e.locked=!1)},c.Video.prototype={connectToMediaStream:function(a,b){return a&&b&&(this.video=a,this.videoStream=b,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(a,b,c){if(void 0===a&&(a=!1),void 0===b&&(b=null),void 0===c&&(c=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==b&&(this.video.width=b),null!==c&&(this.video.height=c),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:a,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(d){this.getUserMediaError(d)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(a){clearTimeout(this._timeOutID),this.onError.dispatch(this,a)},getUserMediaSuccess:function(a){clearTimeout(this._timeOutID),this.videoStream=a,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=a:this.video.src=window.URL&&window.URL.createObjectURL(a)||a;var b=this;this.video.onloadeddata=function(){function a(){if(c>0)if(b.video.videoWidth>0){var d=b.video.videoWidth,e=b.video.videoHeight;isNaN(b.video.videoHeight)&&(e=d/(4/3)),b.video.play(),b.isStreaming=!0,b.baseTexture.source=b.video,b.updateTexture(null,d,e),b.onAccess.dispatch(b)}else window.setTimeout(a,500);else console.warn("Unable to connect to video stream. Webcam error?");c--}var c=10;a()}},createVideoFromBlob:function(a){var b=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(a){b.updateTexture(a)},!0),this.video.src=window.URL.createObjectURL(a),this.video.canplay=!0,this},createVideoFromURL:function(a,b){return void 0===b&&(b=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,b&&this.video.setAttribute("autoplay","autoplay"),this.video.src=a,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=a,this},updateTexture:function(a,b,c){var d=!1;(void 0===b||null===b)&&(b=this.video.videoWidth,d=!0),(void 0===c||null===c)&&(c=this.video.videoHeight),this.width=b,this.height=c,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(b,c),this.texture.frame.resize(b,c),this.texture.width=b,this.texture.height=c,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(b,c),d&&null!==this.key&&(this.onChangeSource.dispatch(this,b,c),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(a,b){return void 0===a&&(a=!1),void 0===b&&(b=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),a?this.video.loop="loop":this.video.loop="",this.video.playbackRate=b,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,a,b)),this},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(a){if(Array.isArray(a))for(var b=0;b0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming))},setTouchLock:function(){this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var a=this.game.cache.getVideo(this.key);a&&!a.isBlob&&(a.locked=!1)}return!0},grab:function(a,b,c){return void 0===a&&(a=!1),void 0===b&&(b=1),void 0===c&&(c=null),null===this.snapshot?void console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable"):(a&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,b,c),this.snapshot)},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(c.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(a){this.video.currentTime=a}}),Object.defineProperty(c.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(c.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(c.Video.prototype,"mute",{get:function(){return this._muted},set:function(a){if(a=a||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(c.Video.prototype,"paused",{get:function(){return this._paused},set:function(a){if(a=a||null,!this.touchLocked)if(a){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(c.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(a){0>a?a=0:a>1&&(a=1),this.video&&(this.video.volume=a)}}),Object.defineProperty(c.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(a){this.video&&(this.video.playbackRate=a)}}),Object.defineProperty(c.Video.prototype,"loop",{get:function(){return this.video?this.video.loop:!1},set:function(a){a&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(c.Video.prototype,"playing",{get:function(){return!(this.video.paused&&this.video.ended)}}),c.Video.prototype.constructor=c.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=c.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=c.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new PIXI.Matrix),void 0===PIXI.RenderTexture.tempMatrix&&(PIXI.RenderTexture.tempMatrix=new PIXI.Matrix),PIXI.Graphics&&void 0===PIXI.Graphics.POLY&&(PIXI.Graphics.POLY=c.POLYGON,PIXI.Graphics.RECT=c.RECTANGLE,PIXI.Graphics.CIRC=c.CIRCLE,PIXI.Graphics.ELIP=c.ELLIPSE,PIXI.Graphics.RREC=c.ROUNDEDRECTANGLE),PIXI.TextureSilentFail=!0,"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=c),exports.Phaser=c):"undefined"!=typeof define&&define.amd?define("Phaser",function(){return b.Phaser=c}()):b.Phaser=c,c}.call(this); //# sourceMappingURL=phaser-arcade-physics.map \ No newline at end of file diff --git a/build/custom/phaser-minimum.js b/build/custom/phaser-minimum.js index 9e4cd7389..fab6b9d1f 100644 --- a/build/custom/phaser-minimum.js +++ b/build/custom/phaser-minimum.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.4.4 "Amador" - Built: Thu Oct 15 2015 11:52:52 +* v2.4.5 "Sienda" - Built: Fri Feb 05 2016 11:51:33 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -1594,6 +1594,8 @@ PIXI.Sprite.prototype.setTexture = function(texture, destroyBase) this.texture.baseTexture.destroy(); } + // Over-ridden by loadTexture as needed + this.texture.baseTexture.skipRender = false; this.texture = texture; this.texture.valid = true; }; @@ -3957,12 +3959,15 @@ PIXI.WebGLMaskManager.prototype.pushMask = function(maskData, renderSession) { var gl = renderSession.gl; - if(maskData.dirty) + if (maskData.dirty) { PIXI.WebGLGraphics.updateGraphics(maskData, gl); } - if(!maskData._webGL[gl.id].data.length)return; + if (maskData._webGL[gl.id] === undefined || maskData._webGL[gl.id].data === undefined || maskData._webGL[gl.id].data.length === 0) + { + return; + } renderSession.stencilManager.pushStencil(maskData, maskData._webGL[gl.id].data[0], renderSession); }; @@ -3977,7 +3982,14 @@ PIXI.WebGLMaskManager.prototype.pushMask = function(maskData, renderSession) PIXI.WebGLMaskManager.prototype.popMask = function(maskData, renderSession) { var gl = this.gl; + + if (maskData._webGL[gl.id] === undefined || maskData._webGL[gl.id].data === undefined || maskData._webGL[gl.id].data.length === 0) + { + return; + } + renderSession.stencilManager.popStencil(maskData, maskData._webGL[gl.id].data[0], renderSession); + }; /** @@ -4987,7 +4999,14 @@ PIXI.WebGLSpriteBatch.prototype.flush = function() blendSwap = currentBlendMode !== nextBlendMode; shaderSwap = currentShader !== nextShader; // should I use _UIDS??? - if ((currentBaseTexture !== nextTexture && !nextTexture.skipRender) || blendSwap || shaderSwap) + var skip = nextTexture.skipRender; + + if (skip && sprite.children.length > 0) + { + skip = false; + } + + if ((currentBaseTexture !== nextTexture && !skip) || blendSwap || shaderSwap) { this.renderBatch(currentBaseTexture, batchSize, start); @@ -5623,7 +5642,14 @@ PIXI.WebGLFilterManager.prototype.pushFilter = function(filterBlock) var offset = this.renderSession.offset; filterBlock._filterArea = filterBlock.target.filterArea || filterBlock.target.getBounds(); - + + // >>> modify by nextht + filterBlock._previous_stencil_mgr = this.renderSession.stencilManager; + this.renderSession.stencilManager = new PIXI.WebGLStencilManager(); + this.renderSession.stencilManager.setContext(gl); + gl.disable(gl.STENCIL_TEST); + // <<< modify by nextht + // filter program // OPTIMISATION - the first filter is free if its a simple color change? this.filterStack.push(filterBlock); @@ -5848,6 +5874,20 @@ PIXI.WebGLFilterManager.prototype.popFilter = function() gl.activeTexture(gl.TEXTURE0); gl.bindTexture(gl.TEXTURE_2D, texture.texture); + // >>> modify by nextht + if (this.renderSession.stencilManager) { + this.renderSession.stencilManager.destroy(); + } + this.renderSession.stencilManager = filterBlock._previous_stencil_mgr; + filterBlock._previous_stencil_mgr = null; + if (this.renderSession.stencilManager.count > 0) { + gl.enable(gl.STENCIL_TEST); + } + else { + gl.disable(gl.STENCIL_TEST); + } + // <<< modify by nextht + // apply! this.applyFilterPass(filter, filterArea, sizeX, sizeY); @@ -6903,11 +6943,11 @@ PIXI.BaseTexture.prototype.destroy = function() if (!navigator.isCocoonJS) this.source.src = ''; } - else if (this.source && this.source._pixiId) + else if (this.source) { PIXI.CanvasPool.removeByCanvas(this.source); - delete PIXI.BaseTextureCache[this.source._pixiId]; + delete PIXI.BaseTextureCache[this.source]; } this.source = null; @@ -6978,7 +7018,7 @@ PIXI.BaseTexture.prototype.unloadFromGPU = function() * @param imageUrl {String} The image url of the texture * @param crossorigin {Boolean} * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return BaseTexture + * @return {BaseTexture} */ PIXI.BaseTexture.fromImage = function(imageUrl, crossorigin, scaleMode) { @@ -7019,7 +7059,7 @@ PIXI.BaseTexture.fromImage = function(imageUrl, crossorigin, scaleMode) * @method fromCanvas * @param canvas {Canvas} The canvas element source of the texture * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return BaseTexture + * @return {BaseTexture} */ PIXI.BaseTexture.fromCanvas = function(canvas, scaleMode) { @@ -7311,7 +7351,7 @@ PIXI.Texture.prototype._updateUvs = function() * @param imageUrl {String} The image url of the texture * @param crossorigin {Boolean} Whether requests should be treated as crossorigin * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return Texture + * @return {Texture} */ PIXI.Texture.fromImage = function(imageUrl, crossorigin, scaleMode) { @@ -7333,7 +7373,7 @@ PIXI.Texture.fromImage = function(imageUrl, crossorigin, scaleMode) * @static * @method fromFrame * @param frameId {String} The frame id of the texture - * @return Texture + * @return {Texture} */ PIXI.Texture.fromFrame = function(frameId) { @@ -7349,7 +7389,7 @@ PIXI.Texture.fromFrame = function(frameId) * @method fromCanvas * @param canvas {Canvas} The canvas element source of the texture * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return Texture + * @return {Texture} */ PIXI.Texture.fromCanvas = function(canvas, scaleMode) { @@ -7877,7 +7917,7 @@ var Phaser = Phaser || { * @constant * @type {string} */ - VERSION: '2.4.4', + VERSION: '2.4.5-dev', /** * An array of Phaser game instances. @@ -8152,6 +8192,13 @@ var Phaser = Phaser || { */ VIDEO: 28, + /** + * Game Object type. + * @constant + * @type {integer} + */ + PENDING_ATLAS: -1, + /** * Various blend modes supported by Pixi. * @@ -9817,6 +9864,8 @@ Phaser.Line.prototype = { * Rotation takes place around the coordinates given. * * @method Phaser.Line#rotateAround + * @param {number} x - The x coordinate to offset the rotation from. + * @param {number} y - The y coordinate to offset the rotation from. * @param {number} angle - The angle in radians (unless asDegrees is true) to rotate the line by. * @param {boolean} [asDegrees=false] - Is the given angle in radians (false) or degrees (true)? * @return {Phaser.Line} This line object @@ -13368,28 +13417,28 @@ Phaser.Camera.prototype = { this.atLimit.y = false; // Make sure we didn't go outside the cameras bounds - if (this.view.x <= this.bounds.x) + if (this.view.x <= this.bounds.x * this.scale.x) { this.atLimit.x = true; - this.view.x = this.bounds.x; + this.view.x = this.bounds.x * this.scale.x; } - if (this.view.right >= this.bounds.right) + if (this.view.right >= this.bounds.right * this.scale.x) { this.atLimit.x = true; - this.view.x = this.bounds.right - this.width; + this.view.x = (this.bounds.right * this.scale.x) - this.width; } - if (this.view.y <= this.bounds.top) + if (this.view.y <= this.bounds.top * this.scale.y) { this.atLimit.y = true; - this.view.y = this.bounds.top; + this.view.y = this.bounds.top * this.scale.y; } - if (this.view.bottom >= this.bounds.bottom) + if (this.view.bottom >= this.bounds.bottom * this.scale.y) { this.atLimit.y = true; - this.view.y = this.bounds.bottom - this.height; + this.view.y = (this.bounds.bottom * this.scale.y) - this.height; } }, @@ -13708,7 +13757,7 @@ Phaser.State.prototype = { /** * The update method is left empty for your own use. * It is called during the core game loop AFTER debug, physics, plugins and the Stage have had their preUpdate methods called. - * If is called BEFORE Stage, Tweens, Sounds, Input, Physics, Particles and Plugins have had their postUpdate methods called. + * It is called BEFORE Stage, Tweens, Sounds, Input, Physics, Particles and Plugins have had their postUpdate methods called. * * @method Phaser.State#update */ @@ -14210,20 +14259,15 @@ Phaser.StateManager.prototype = { if (this.states[key]) { - var valid = false; - if (this.states[key]['preload'] || this.states[key]['create'] || this.states[key]['update'] || this.states[key]['render']) { - valid = true; + return true; } - - if (valid === false) + else { console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"); return false; } - - return true; } else { @@ -14354,7 +14398,7 @@ Phaser.StateManager.prototype = { * Gets the current State. * * @method Phaser.StateManager#getCurrentState - * @return Phaser.State + * @return {Phaser.State} * @public */ getCurrentState: function() { @@ -14367,6 +14411,12 @@ Phaser.StateManager.prototype = { */ loadComplete: function () { + // Make sure to do load-update one last time before state is set to _created + if (this._created === false && this.onLoadUpdateCallback) + { + this.onLoadUpdateCallback.call(this.callbackContext, this.game); + } + if (this._created === false && this.onCreateCallback) { this._created = true; @@ -15237,6 +15287,9 @@ Phaser.SignalBinding.prototype.constructor = Phaser.SignalBinding; /** * This is a base Filter class to use for any Phaser filter development. * +* The vast majority of filters (including all of those that ship with Phaser) use fragment shaders, and +* therefore only work in WebGL and are not supported by Canvas at all. +* * @class Phaser.Filter * @constructor * @param {Phaser.Game} game - A reference to the currently running game. @@ -15915,7 +15968,12 @@ Phaser.Stage = function (game) { this.name = '_stage_root'; /** - * @property {boolean} disableVisibilityChange - By default if the browser tab loses focus the game will pause. You can stop that behaviour by setting this property to true. + * By default if the browser tab loses focus the game will pause. + * You can stop that behavior by setting this property to true. + * Note that the browser can still elect to pause your game if it wishes to do so, + * for example swapping to another browser tab. This will cause the RAF callback to halt, + * effectively pausing your game, even though no in-game pause event is triggered if you enable this property. + * @property {boolean} disableVisibilityChange * @default */ this.disableVisibilityChange = false; @@ -16591,6 +16649,11 @@ Phaser.Group.prototype.add = function (child, silent) { if (child.parent !== this) { + if (child.body) + { + child.parent.removeFromHash(child); + } + this.addChild(child); child.z = this.children.length; @@ -16717,6 +16780,11 @@ Phaser.Group.prototype.addAt = function (child, index, silent) { if (child.parent !== this) { + if (child.body) + { + child.parent.removeFromHash(child); + } + this.addChildAt(child, index); this.updateZ(); @@ -17067,7 +17135,7 @@ Phaser.Group.prototype.xy = function (index, x, y) { /** * Reverses all children in this group. * -* This operaation applies only to immediate children and does not propagate to subgroups. +* This operation applies only to immediate children and does not propagate to subgroups. * * @method Phaser.Group#reverse */ @@ -17888,8 +17956,12 @@ Phaser.Group.prototype.forEachDead = function (callback, callbackContext) { * Sort the children in the group according to a particular key and ordering. * * Call this function to sort the group according to a particular key value and order. +* * For example to depth sort Sprites for Zelda-style game you might call `group.sort('y', Phaser.Group.SORT_ASCENDING)` at the bottom of your `State.update()`. * +* Internally this uses a standard JavaScript Array sort, so everything that applies there also applies here, including +* alphabetical sorting, mixing strings and numbers, and Unicode sorting. See MDN for more details. +* * @method Phaser.Group#sort * @param {string} [key='z'] - The name of the property to sort on. Defaults to the objects z-depth value. * @param {integer} [order=Phaser.Group.SORT_ASCENDING] - Order ascending ({@link Phaser.Group.SORT_ASCENDING SORT_ASCENDING}) or descending ({@link Phaser.Group.SORT_DESCENDING SORT_DESCENDING}). @@ -19443,12 +19515,12 @@ Phaser.Game.prototype = { this.parent = config['parent']; } - if (config['transparent']) + if (config['transparent'] !== undefined) { this.transparent = config['transparent']; } - if (config['antialias']) + if (config['antialias'] !== undefined) { this.antialias = config['antialias']; } @@ -19458,7 +19530,7 @@ Phaser.Game.prototype = { this.resolution = config['resolution']; } - if (config['preserveDrawingBuffer']) + if (config['preserveDrawingBuffer'] !== undefined) { this.preserveDrawingBuffer = config['preserveDrawingBuffer']; } @@ -19501,6 +19573,13 @@ Phaser.Game.prototype = { return; } + // The game width / height must be an integer + this.width = Math.floor(this.width); + this.height = Math.floor(this.height); + + this._width = Math.floor(this._width); + this._height = Math.floor(this._height); + this.onPause = new Phaser.Signal(); this.onResume = new Phaser.Signal(); this.onBlur = new Phaser.Signal(); @@ -24545,14 +24624,6 @@ Phaser.InputHandler = function (sprite) { */ this.boundsSprite = null; - /** - * If this object is set to consume the pointer event then it will stop all propagation from this object on. - * For example if you had a stack of 6 sprites with the same priority IDs and one consumed the event, none of the others would receive it. - * @property {boolean} consumePointerEvent - * @default - */ - this.consumePointerEvent = false; - /** * @property {boolean} scaleLayer - EXPERIMENTAL: Please do not use this property unless you know what it does. Likely to change in the future. */ @@ -25357,9 +25428,6 @@ Phaser.InputHandler.prototype = { } } - // Consume the event? - return this.consumePointerEvent; - }, /** @@ -25426,7 +25494,7 @@ Phaser.InputHandler.prototype = { * @param {Phaser.Pointer} pointer * @return {boolean} */ - updateDrag: function (pointer) { + updateDrag: function (pointer, fromStart) { if (pointer.isUp) { @@ -25434,6 +25502,11 @@ Phaser.InputHandler.prototype = { return false; } + if (fromStart === undefined) + { + fromStart = false; + } + var px = this.globalToLocalX(pointer.x) + this._dragPoint.x + this.dragOffset.x; var py = this.globalToLocalY(pointer.y) + this._dragPoint.y + this.dragOffset.y; @@ -25496,7 +25569,7 @@ Phaser.InputHandler.prototype = { } } - this.sprite.events.onDragUpdate.dispatch(this.sprite, pointer, px, py, this.snapPoint); + this.sprite.events.onDragUpdate.dispatch(this.sprite, pointer, px, py, this.snapPoint, fromStart); return true; @@ -25720,7 +25793,7 @@ Phaser.InputHandler.prototype = { this._dragPoint.setTo(this.sprite.x - this.globalToLocalX(pointer.x), this.sprite.y - this.globalToLocalY(pointer.y)); } - this.updateDrag(pointer); + this.updateDrag(pointer, true); if (this.bringToTop) { @@ -26925,14 +26998,19 @@ Phaser.Component.Destroy.prototype = { * * If this Game Object has the Events component it will also dispatch the `onDestroy` event. * + * You can optionally also destroy the BaseTexture this Game Object is using. Be careful if you've + * more than one Game Object sharing the same BaseTexture. + * * @method * @param {boolean} [destroyChildren=true] - Should every child of this object have its destroy method called as well? + * @param {boolean} [destroyTexture=false] - Destroy the BaseTexture this Game Object is using? Note that if another Game Object is sharing the same BaseTexture it will invalidate it. */ - destroy: function (destroyChildren) { + destroy: function (destroyChildren, destroyTexture) { if (this.game === null || this.destroyPhase) { return; } if (destroyChildren === undefined) { destroyChildren = true; } + if (destroyTexture === undefined) { destroyTexture = false; } this.destroyPhase = true; @@ -27039,6 +27117,12 @@ Phaser.Component.Destroy.prototype = { this._destroyCachedSprite(); + // Texture? + if (destroyTexture) + { + this.texture.destroy(true); + } + this.destroyPhase = false; this.pendingDestroy = false; @@ -27374,7 +27458,7 @@ Phaser.Component.Health.prototype = { * @param {number} amount - The amount to subtract from the current `health` value. * @return {Phaser.Sprite} This instance. */ - damage: function(amount) { + damage: function (amount) { if (this.alive) { @@ -27390,6 +27474,27 @@ Phaser.Component.Health.prototype = { }, + /** + * Sets the health property of the Game Object to the given amount. + * Will never exceed the `maxHealth` value. + * + * @member + * @param {number} amount - The amount to set the `health` value to. The total will never exceed `maxHealth`. + * @return {Phaser.Sprite} This instance. + */ + setHealth: function (amount) { + + this.health = amount; + + if (this.health > this.maxHealth) + { + this.health = this.maxHealth; + } + + return this; + + }, + /** * Heal the Game Object. This adds the given amount of health to the `health` property. * @@ -27397,7 +27502,7 @@ Phaser.Component.Health.prototype = { * @param {number} amount - The amount to add to the current `health` value. The total will never exceed `maxHealth`. * @return {Phaser.Sprite} This instance. */ - heal: function(amount) { + heal: function (amount) { if (this.alive) { @@ -27724,20 +27829,20 @@ Phaser.Component.LifeSpan.prototype = { * It will dispatch the `onRevived` event. Listen to `events.onRevived` for the signal. * * @method - * @param {number} [health=1] - The health to give the Game Object. Only set if the GameObject has the Health component. + * @param {number} [health=100] - The health to give the Game Object. Only set if the GameObject has the Health component. * @return {PIXI.DisplayObject} This instance. */ revive: function (health) { - if (health === undefined) { health = 1; } + if (health === undefined) { health = 100; } this.alive = true; this.exists = true; this.visible = true; - if (typeof this.heal === 'function') + if (typeof this.setHealth === 'function') { - this.heal(health); + this.setHealth(health); } if (this.events) @@ -27815,6 +27920,13 @@ Phaser.Component.LoadTexture.prototype = { * * Calling this method causes a WebGL texture update, so use sparingly or in low-intensity portions of your game, or if you know the new texture is already on the GPU. * + * You can use the new const `Phaser.PENDING_ATLAS` as the texture key for any sprite. + * Doing this then sets the key to be the `frame` argument (the frame is set to zero). + * + * This allows you to create sprites using `load.image` during development, and then change them + * to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' + * and swapping it to be the key of the atlas data. + * * @method * @param {string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture} key - This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache Image entry, or an instance of a RenderTexture, BitmapData, Video or PIXI.Texture. * @param {string|number} [frame] - If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index. @@ -27822,7 +27934,15 @@ Phaser.Component.LoadTexture.prototype = { */ loadTexture: function (key, frame, stopAnimation) { - frame = frame || 0; + if (key === Phaser.PENDING_ATLAS) + { + key = frame; + frame = 0; + } + else + { + frame = frame || 0; + } if ((stopAnimation || stopAnimation === undefined) && this.animations) { @@ -27874,6 +27994,15 @@ Phaser.Component.LoadTexture.prototype = { this.key = img.key; this.setTexture(new PIXI.Texture(img.base)); + if (key === '__default') + { + this.texture.baseTexture.skipRender = true; + } + else + { + this.texture.baseTexture.skipRender = false; + } + setFrame = !this.animations.loadFrameData(img.frameData, frame); } @@ -33935,6 +34064,7 @@ Phaser.Net.prototype.constructor = Phaser.Net; Phaser.TweenManager = function () {}; Phaser.TweenManager.prototype.update = function () {}; +Phaser.TweenManager.prototype.removeAll = function () {}; Phaser.TweenManager.prototype.constructor = Phaser.TweenManager; @@ -35713,20 +35843,9 @@ Phaser.AnimationManager.prototype = { if (resetFrame === undefined) { resetFrame = false; } - if (typeof name === 'string') + if (this.currentAnim && (typeof name !== 'string' || name === this.currentAnim.name)) { - if (this._anims[name]) - { - this.currentAnim = this._anims[name]; - this.currentAnim.stop(resetFrame); - } - } - else - { - if (this.currentAnim) - { - this.currentAnim.stop(resetFrame); - } + this.currentAnim.stop(resetFrame); } }, @@ -36003,7 +36122,6 @@ Object.defineProperty(Phaser.AnimationManager.prototype, 'frameName', { * @param {number[]|string[]} frames - An array of numbers or strings indicating which frames to play in which order. * @param {number} [frameRate=60] - The speed at which the animation should play. The speed is given in frames per second. * @param {boolean} [loop=false] - Whether or not the animation is looped or just plays once. -* @param {boolean} loop - Should this animation loop when it reaches the end or play through once. */ Phaser.Animation = function (game, parent, name, frameData, frames, frameRate, loop) { @@ -36118,6 +36236,9 @@ Phaser.Animation = function (game, parent, name, frameData, frames, frameRate, l /** * This event is dispatched when the Animation changes frame. * By default this event is disabled due to its intensive nature. Enable it with: `Animation.enableUpdate = true`. + * Note that the event is only dispatched with the current frame. In a low-FPS environment Animations + * will automatically frame-skip to try and claw back time, so do not base your code on expecting to + * receive a perfectly sequential set of frames from this event. * @property {Phaser.Signal|null} onUpdate * @default */ @@ -37266,7 +37387,7 @@ Phaser.FrameData.prototype = { for (var i = 0; i < frames.length; i++) { // Does the frames array contain names or indexes? - if (useNumericIndex) + if (useNumericIndex && this._frames[frames[i]]) { output.push(this._frames[frames[i]].index); } @@ -39574,9 +39695,9 @@ Phaser.Cache.prototype = { */ clearGLTextures: function () { - for (var key in this.cache.image) + for (var key in this._cache.image) { - this.cache.image[key].base._glTextures = []; + this._cache.image[key].base._glTextures = []; } }, @@ -39836,7 +39957,7 @@ Phaser.Loader = function (game) { * * To disable all parallel downloads this must be set to false prior to any resource being loaded. * - * @property {integer} enableParallel + * @property {boolean} enableParallel */ this.enableParallel = true; @@ -40310,7 +40431,7 @@ Phaser.Loader.prototype = { if (!file || (!file.loaded && !file.loading && file.type !== 'packfile')) { - this._fileList.splice(i, 1, pack); + this._fileList.splice(i, 0, pack); this._totalPackCount++; break; } @@ -40685,7 +40806,7 @@ Phaser.Loader.prototype = { * Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially. * @return {Phaser.Loader} This Loader instance. */ - audiosprite: function(key, urls, jsonURL, jsonData, autoDecode) { + audioSprite: function (key, urls, jsonURL, jsonData, autoDecode) { if (this.game.sound.noAudio) { @@ -40720,6 +40841,23 @@ Phaser.Loader.prototype = { }, + /** + * A legacy alias for Loader.audioSprite. Please see that method for documentation. + * + * @method Phaser.Loader#audiosprite + * @param {string} key - Unique asset key of the audio file. + * @param {Array|string} urls - An array containing the URLs of the audio files, i.e.: [ 'audiosprite.mp3', 'audiosprite.ogg', 'audiosprite.m4a' ] or a single string containing just one URL. + * @param {string} [jsonURL=null] - The URL of the audiosprite configuration JSON object. If you wish to pass the data directly set this parameter to null. + * @param {string|object} [jsonData=null] - A JSON object or string containing the audiosprite configuration data. This is ignored if jsonURL is not null. + * @param {boolean} [autoDecode=true] - When using Web Audio the audio files can either be decoded at load time or run-time. + * Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially. + * @return {Phaser.Loader} This Loader instance. + */ + audiosprite: function (key, urls, jsonURL, jsonData, autoDecode) { + + return this.audioSprite(key, urls, jsonURL, jsonData, autoDecode); + + }, /** * Adds a video file to the current load queue. @@ -41536,10 +41674,10 @@ Phaser.Loader.prototype = { this.onLoadComplete.dispatch(); - this.reset(); - this.game.state.loadComplete(); + this.reset(); + }, /** @@ -41961,9 +42099,12 @@ Phaser.Loader.prototype = { xhr.onload = function () { try { - - return onload.call(_this, file, xhr); - + if (xhr.readyState == 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. + return onerror.call(_this, file, xhr); + } + else { + return onload.call(_this, file, xhr); + } } catch (e) { // If this was the last file in the queue and an error is thrown in the create method @@ -42072,6 +42213,12 @@ Phaser.Loader.prototype = { xhr.onload = function () { try { + if (xhr.readyState == 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. + return onerror.call(_this, file, xhr); + } + else { + return onload.call(_this, file, xhr); + } return onload.call(_this, file, xhr); } catch (e) { _this.asyncComplete(file, e.message || 'Exception'); @@ -42108,8 +42255,8 @@ Phaser.Loader.prototype = { if (url.uri) // {uri: .., type: ..} pair { - url = url.uri; videoType = url.type; + url = url.uri; } else { @@ -42131,7 +42278,7 @@ Phaser.Loader.prototype = { if (this.game.device.canPlayVideo(videoType)) { - return urls[i]; + return url; } } @@ -42163,8 +42310,8 @@ Phaser.Loader.prototype = { if (url.uri) // {uri: .., type: ..} pair { - url = url.uri; audioType = url.type; + url = url.uri; } else { @@ -42186,7 +42333,7 @@ Phaser.Loader.prototype = { if (this.game.device.canPlayAudio(audioType)) { - return urls[i]; + return url; } } @@ -42491,7 +42638,7 @@ Phaser.Loader.prototype = { /** * Parses string data as XML. * - * @method parseXml + * @method Phaser.Loader#parseXml * @private * @param {string} data - The XML text to parse * @return {?XMLDocument} Returns the xml document, or null if such could not parsed to a valid document. @@ -43221,7 +43368,7 @@ Phaser.ScaleManager = function (game, width, height) { * * @protected * - * @property {boolean} [supportsFullscreen=(auto)] - True only if fullscreen support will be used. (Changing to fullscreen still might not work.) + * @property {boolean} [supportsFullScreen=(auto)] - True only if fullscreen support will be used. (Changing to fullscreen still might not work.) * * @property {boolean} [orientationFallback=(auto)] - See {@link Phaser.DOM.getScreenOrientation}. * @@ -43569,7 +43716,7 @@ Phaser.ScaleManager.prototype = { this._booted = true; - if (this._pendingScaleMode) + if (this._pendingScaleMode !== null) { this.scaleMode = this._pendingScaleMode; this._pendingScaleMode = null; @@ -43586,7 +43733,7 @@ Phaser.ScaleManager.prototype = { */ parseConfig: function (config) { - if (config['scaleMode']) + if (config['scaleMode'] !== undefined) { if (this._booted) { @@ -43598,7 +43745,7 @@ Phaser.ScaleManager.prototype = { } } - if (config['fullScreenScaleMode']) + if (config['fullScreenScaleMode'] !== undefined) { this.fullScreenScaleMode = config['fullScreenScaleMode']; } @@ -44208,8 +44355,8 @@ Phaser.ScaleManager.prototype = { } else if (scaleMode === Phaser.ScaleManager.NO_SCALE) { - this.width = this.game.width; - this.height = this.game.height; + this.width = this.game.width / this.game.device.pixelRatio; + this.height = this.game.height / this.game.device.pixelRatio; } else if (scaleMode === Phaser.ScaleManager.USER_SCALE) { diff --git a/build/custom/phaser-minimum.map b/build/custom/phaser-minimum.map index ce430bf9c..36cee026c 100644 --- a/build/custom/phaser-minimum.map +++ b/build/custom/phaser-minimum.map @@ -1 +1 @@ -{"version":3,"file":"phaser-minimum.min.js","sources":["phaser-minimum.js"],"names":["root","this","PIXI","game","WEBGL_RENDERER","CANVAS_RENDERER","VERSION","_UID","Float32Array","Uint16Array","Uint32Array","ArrayBuffer","Array","PI_2","Math","PI","RAD_TO_DEG","DEG_TO_RAD","RETINA_PREFIX","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","stage","worldAlpha","worldTransform","Matrix","worldPosition","worldScale","worldRotation","_sr","_cr","filterArea","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","Object","defineProperty","get","item","set","value","isMask","_filters","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","_generateCachedSprite","updateTransform","p","world","a","b","c","d","tx","ty","pt","wt","rotationCache","sin","cos","x","y","sqrt","atan2","transformCallback","call","transformCallbackContext","displayObjectUpdateTransform","getBounds","matrix","EmptyRectangle","getLocalBounds","identityMatrix","setStageReference","preUpdate","generateTexture","resolution","scaleMode","renderer","bounds","renderTexture","RenderTexture","width","height","_tempMatrix","render","updateCache","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","gl","Sprite","_renderWebGL","_renderCanvas","texture","resize","tempFilters","filters","anchor","DisplayObjectContainer","create","_width","_height","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeStageReference","undefined","removeChildren","beginIndex","endIndex","begin","end","range","removed","displayObjectContainerUpdateTransform","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","matrixCache","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","mask","start","popMask","popFilter","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","baseTexture","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","valid","w0","w1","h0","h1","temp","x1","y1","x2","y2","x3","y3","x4","y4","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","scaleModes","LINEAR","dx","trim","dy","roundPixels","setTransform","cw","ch","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","fromFrame","frameId","TextureCache","fromImage","imageId","crossorigin","SpriteBatch","textureThing","ready","initWebGL","fastSpriteBatch","WebGLFastSpriteBatch","setContext","shaderManager","setShader","fastShader","transform","isRotated","childTransform","hex2rgb","hex","rgb2hex","rgb","canUseNewCanvasBlendModes","document","pngHead","pngEnd","magenta","Image","src","yellow","canvas","CanvasPool","getContext","getImageData","data","remove","getNextPowerOfTwo","number","result","isPowerOfTwo","idx","getFirst","container","createElement","pool","removeByCanvas","getTotal","getFree","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","isArray","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","console","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","PixiShader","program","textureCount","firstRun","dirty","attributes","init","defaultVertexSrc","useProgram","uSampler","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","key","uniforms","uniformLocation","initUniforms","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","activeTexture","bindTexture","TEXTURE_2D","_glTextures","id","textureData","magFilter","minFilter","wrapS","CLAMP_TO_EDGE","wrapT","format","LUMINANCE","RGBA","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","texImage2D","UNSIGNED_BYTE","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","drawCount","initContext","mapBlendModes","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","contextLost","viewport","bindFramebuffer","FRAMEBUFFER","clearColor","_bgColor","r","g","clear","COLOR_BUFFER_BIT","renderDisplayObject","displayObject","buffer","setBlendMode","style","createTexture","UNPACK_PREMULTIPLY_ALPHA_WEBGL","NEAREST","mipmap","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","indices","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","uniform1f","toArray","uniform2f","uniform3fv","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","stripShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","numVerts","numIndices","vertices","positions","colors","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","AbstractFilter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","TEXTURE0","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skipRender","renderBatch","startIndex","TRIANGLES","deleteBuffer","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorBuffer","colorArray","createFramebuffer","DEFAULT","framebufferTexture2D","COLOR_ATTACHMENT0","renderBuffer","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","pixels","canHandleAlpha","putImageData","checkInverseAlpha","s1","s2","canUseMultiply","CanvasRenderer","refresh","Phaser","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","BaseTextureCache","BaseTextureCacheIdGenerator","BaseTexture","complete","naturalWidth","naturalHeight","imageUrl","forceLoaded","_pixiId","unloadFromGPU","updateSourceImage","newSrc","glTexture","image","crossOrigin","fromCanvas","TextureCacheIdGenerator","FrameCache","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","addTextureToCache","removeTextureFromCache","textureBuffer","renderWebGL","renderCanvas","tempMatrix","updateBase","identity","translate","append","realResolution","getImage","getBase64","getCanvas","toDataURL","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","trunc","ceil","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","warn","Utils","getProperty","obj","prop","parts","split","last","l","current","setProperty","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","hasOwnProperty","e","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","to","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","xDist","halfHeight","yDist","xCornerDist","yCornerDist","xCornerDistSq","yCornerDistSq","maxCornerDistSq","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","center","fromAngle","rotate","rotateAround","line","asSegment","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","normalAngle","fromArray","array","pos","newPos","tx1","d1","invert","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","Polygon","area","_points","closed","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","centerX","centerY","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","empty","inflatePoint","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","MIN_VALUE","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","_targetPosition","_edge","_position","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","follow","helper","unfollow","focusOn","setPosition","focusOnXY","update","updateTarget","checkBounds","setBoundsToWorld","setSize","reset","State","make","camera","cache","input","load","math","sound","time","tweens","particles","physics","rnd","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","Signal","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","boot","onPause","pause","onResume","resume","state","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","dispatch","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","exists","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","webkitHidden","mozHidden","msHidden","hidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","SORT_ASCENDING","SORT_DESCENDING","silent","body","addToHash","events","onAddedToGroup$dispatch","removeFromHash","addMultiple","moveAll","addAt","updateZ","getAt","createMultiple","quantity","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","oldChild","newChild","hasProperty","operation","force","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","addAll","property","amount","subAll","multiplyAll","divideAll","callAllExists","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","checkExists","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","resetChild","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","destroyPhase","onRemovedFromGroup$dispatch","group","removeBetween","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","horizontal","vertical","between","Game","physicsConfig","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Cache","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","chrome","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","addMoveCallback","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","limit","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","worldVisible","TileSprite","Graphics","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","duration","justReleased","pointerMode","CONTACT","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchLockCallbacks","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","addTouchLockCallback","onEnd","removeTouchLockCallback","cb","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","consumePointerEvent","scaleLayer","dragOffset","dragFromCenter","dragStartPoint","snapPoint","_dragPoint","_dragPhase","_wasEnabled","_tempPoint","_pointerData","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","flagged","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","_draggedPointerID","updateDrag","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","startDrag","onInputUp$dispatch","stopDrag","globalToLocalX","py","globalToLocalY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","onDragStart$dispatch","grid","boundsFluid","scaleFluidInversed","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","BringToTop","Core","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","rect","updateCrop","resetFrame","_frame","Delta","Destroy","onDestroy$dispatch","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","heal","InCamera","InputEnabled","inputEnabled","InWorld","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","img","base","frameData","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","object","creature","mesh","Creature","tween","physicsGroup","audio","connect","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","Tilemap","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","align","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","STATE_OVER","STATE_OUT","STATE_DOWN","STATE_UP","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","changedUp","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ie","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","LITTLE_ENDIAN","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkOS","userAgent","test","vita","kindle","match","RegExp","$1","_checkFeatures","getItem","error","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkInput","documentElement","maxTouchPoints","msPointerEnabled","pointerEnabled","_checkFullScreenSupport","fs","cfs","Element","_checkBrowser","$3","process","require","versions","_checkVideo","videoElement","canPlayType","_checkAudio","audioElement","_checkDevice","Int8Array","_checkIsLittleEndian","Uint8ClampedArray","Int32Array","_checkIsUint8ClampedImageData","vibrate","webkitVibrate","mozVibrate","msVibrate","elem","ctx","createImageData","_checkCSS3D","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","canPlayAudio","canPlayVideo","isConsoleOpen","profile","profileEnd","isAndroidStockBrowser","matches","skipPool","display","backgroundColor","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","fuzzyEqual","epsilon","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","val","fuzzyFloor","average","sum","shear","snapTo","gap","snapToFloor","snapToCeil","roundTo","place","pow","floorTo","ceilTo","angleBetween","angleBetweenY","angleBetweenPoints","point1","point2","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","diff","isOdd","isEven","minProperty","maxProperty","radians","linearInterpolation","k","linear","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","factorial","res","p3","v0","v1","t2","t3","difference","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","degreeToRadiansFactor","radianToDegreesFactor","degrees","seeds","s0","sow","charCodeAt","integer","frac","real","integerInRange","realInRange","normal","pick","ary","weightedPick","timestamp","parseFloat","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","netNoop","isDisabled","getHostName","checkDomainName","updateQueryString","getQueryString","decodeURI","prevTime","elapsedMS","physicsElapsed","_desiredFps","suggestedFps","advancedTiming","frames","fps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","_pause","_resume","elapsedSince","since","elapsedSecondsSince","running","expired","onComplete","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","pendingDelete","clearPendingEvents","adjustEvents","baseTime","ms","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","updateFrameData","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","isPaused","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onStart","onUpdate","onLoop","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","useLocalFrameIndex","frameIndex","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","Frame","rotated","rotationDirection","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","FrameData","_frameNames","addFrame","getFrameRange","getFrames","AnimationParser","spriteSheet","frameWidth","frameHeight","frameMax","margin","spacing","row","column","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","signature","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","_cache","binary","bitmapFont","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","addCanvas","addImage","checkImageKey","removeImage","_resolveURL","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","textureFrame","addBitmapFont","atlasData","atlasType","LoaderParser","jsonBitmapFont","xmlBitmapFont","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getBitmapFont","getJSON","getXML","getVideo","getShader","getRenderTexture","getBaseTexture","getFrameCount","getFrameByIndex","getPixiTexture","getPixiBaseTexture","getURL","getKeys","removeCanvas","removeFromPixi","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","atlas","baseURL","isLoading","preloadSprite","path","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","direction","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","properties","overwrite","extension","syncPoint","currentFile","replaceInFileList","pack","images","urls","script","spritesheet","autoDecode","noAudio","audiosprite","jsonURL","jsonData","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onload","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","status","loadNext","responseText","Blob","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","lineHeight","letters","charCode","xAdvance","kerning","kernings","second","finalizeBitmapFont","_face","_size","_lineHeight","letter","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","dom","minWidth","maxWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","newWidth","newHeight","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","reflowGame","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","targetWidth","targetHeight","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","debugNoop","soundInfo","cameraInfo","spriteInputInfo","inputInfo","spriteBounds","ropeSegments","spriteInfo","spriteCoords","lineInfo","pixel","geom","rectangle","quadTree","bodyInfo","box2dWorld","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","PORTRAIT","LANDSCAPE","matchMedia","documentBounds","pageXOffset","pageYOffset","treatAsDesktop","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","list","getByKey","randomIndex","removeRandomItem","shuffle","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","POSITIVE_INFINITY","numberArray","numberArrayStep","LinkedList","prev","entity","bmd","palettes",1,2,3,4,5,6,7,8,9,"A","B","C","D","E","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","cellWidth","cellHeight","manager","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","packPixel","unpackPixel","hsl","hsv","createColor","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","HSLtoRGB","q","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hexToColor","exec","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","red","green","blue","interpolateColorWithRGB","or","og","ob","interpolateRGB","r1","g1","r2","g2","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendLighten","blendDarken","blendMultiply","blendAverage","blendAdd","blendSubtract","blendDifference","blendNegation","blendScreen","blendExclusion","blendOverlay","blendSoftLight","blendHardLight","blendColorDodge","blendColorBurn","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","box2d","chipmunk","matter","NINJA","BOX2D","CHIPMUNK","MATTERJS","Ninja","P2","Matter","startSystem","system","Box2D","enableAABB","emitters","ID","POLY","RECT","CIRC","ELIP","RREC"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"phaser-minimum.min.js","sources":["phaser-minimum.js"],"names":["root","this","PIXI","game","WEBGL_RENDERER","CANVAS_RENDERER","VERSION","_UID","Float32Array","Uint16Array","Uint32Array","ArrayBuffer","Array","PI_2","Math","PI","RAD_TO_DEG","DEG_TO_RAD","RETINA_PREFIX","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","stage","worldAlpha","worldTransform","Matrix","worldPosition","worldScale","worldRotation","_sr","_cr","filterArea","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","Object","defineProperty","get","item","set","value","isMask","_filters","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","_generateCachedSprite","updateTransform","p","world","a","b","c","d","tx","ty","pt","wt","rotationCache","sin","cos","x","y","sqrt","atan2","transformCallback","call","transformCallbackContext","displayObjectUpdateTransform","getBounds","matrix","EmptyRectangle","getLocalBounds","identityMatrix","setStageReference","preUpdate","generateTexture","resolution","scaleMode","renderer","bounds","renderTexture","RenderTexture","width","height","_tempMatrix","render","updateCache","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","gl","Sprite","_renderWebGL","_renderCanvas","texture","resize","tempFilters","filters","anchor","DisplayObjectContainer","create","_width","_height","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeStageReference","undefined","removeChildren","beginIndex","endIndex","begin","end","range","removed","displayObjectContainerUpdateTransform","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","matrixCache","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","mask","start","popMask","popFilter","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","baseTexture","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","w0","w1","h0","h1","temp","x1","y1","x2","y2","x3","y3","x4","y4","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","scaleModes","LINEAR","dx","trim","dy","roundPixels","setTransform","cw","ch","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","fromFrame","frameId","TextureCache","fromImage","imageId","crossorigin","SpriteBatch","textureThing","ready","initWebGL","fastSpriteBatch","WebGLFastSpriteBatch","setContext","shaderManager","setShader","fastShader","transform","isRotated","childTransform","hex2rgb","hex","rgb2hex","rgb","canUseNewCanvasBlendModes","document","pngHead","pngEnd","magenta","Image","src","yellow","canvas","CanvasPool","getContext","getImageData","data","remove","getNextPowerOfTwo","number","result","isPowerOfTwo","idx","getFirst","container","createElement","pool","removeByCanvas","getTotal","getFree","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","isArray","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","console","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","PixiShader","program","textureCount","firstRun","dirty","attributes","init","defaultVertexSrc","useProgram","uSampler","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","key","uniforms","uniformLocation","initUniforms","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","activeTexture","bindTexture","TEXTURE_2D","_glTextures","id","textureData","magFilter","minFilter","wrapS","CLAMP_TO_EDGE","wrapT","format","LUMINANCE","RGBA","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","texImage2D","UNSIGNED_BYTE","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","drawCount","initContext","mapBlendModes","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","contextLost","viewport","bindFramebuffer","FRAMEBUFFER","clearColor","_bgColor","r","g","clear","COLOR_BUFFER_BIT","renderDisplayObject","displayObject","buffer","setBlendMode","style","createTexture","UNPACK_PREMULTIPLY_ALPHA_WEBGL","NEAREST","mipmap","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","indices","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","uniform1f","toArray","uniform2f","uniform3fv","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","stripShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","numVerts","numIndices","vertices","positions","colors","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","AbstractFilter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","TEXTURE0","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorBuffer","colorArray","createFramebuffer","DEFAULT","framebufferTexture2D","COLOR_ATTACHMENT0","renderBuffer","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","pixels","canHandleAlpha","putImageData","checkInverseAlpha","s1","s2","canUseMultiply","CanvasRenderer","refresh","Phaser","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","BaseTextureCache","BaseTextureCacheIdGenerator","BaseTexture","complete","naturalWidth","naturalHeight","imageUrl","forceLoaded","unloadFromGPU","updateSourceImage","newSrc","glTexture","image","crossOrigin","fromCanvas","_pixiId","TextureCacheIdGenerator","FrameCache","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","addTextureToCache","removeTextureFromCache","textureBuffer","renderWebGL","renderCanvas","tempMatrix","updateBase","identity","translate","append","realResolution","getImage","getBase64","getCanvas","toDataURL","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","trunc","ceil","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","warn","Utils","getProperty","obj","prop","parts","split","last","l","current","setProperty","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","hasOwnProperty","e","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","to","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","xDist","halfHeight","yDist","xCornerDist","yCornerDist","xCornerDistSq","yCornerDistSq","maxCornerDistSq","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","center","fromAngle","rotate","rotateAround","line","asSegment","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","normalAngle","fromArray","array","pos","newPos","tx1","d1","invert","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","Polygon","area","_points","closed","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","centerX","centerY","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","empty","inflatePoint","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","MIN_VALUE","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","_targetPosition","_edge","_position","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","follow","helper","unfollow","focusOn","setPosition","focusOnXY","update","updateTarget","checkBounds","setBoundsToWorld","setSize","reset","State","make","camera","cache","input","load","math","sound","time","tweens","particles","physics","rnd","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","Signal","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","boot","onPause","pause","onResume","resume","state","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","dispatch","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","n","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","exists","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","webkitHidden","mozHidden","msHidden","hidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addToHash","events","onAddedToGroup$dispatch","addMultiple","moveAll","addAt","updateZ","getAt","createMultiple","quantity","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","oldChild","newChild","hasProperty","operation","force","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","addAll","property","amount","subAll","multiplyAll","divideAll","callAllExists","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","checkExists","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","resetChild","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","destroyPhase","onRemovedFromGroup$dispatch","group","removeBetween","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","horizontal","vertical","between","Game","physicsConfig","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Cache","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","chrome","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","addMoveCallback","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","limit","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","worldVisible","TileSprite","Graphics","graphicsData","fill","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","duration","justReleased","pointerMode","CONTACT","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchLockCallbacks","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","addTouchLockCallback","onEnd","removeTouchLockCallback","cb","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStartPoint","snapPoint","_dragPoint","_dragPhase","_wasEnabled","_tempPoint","_pointerData","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","flagged","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","_draggedPointerID","updateDrag","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","startDrag","onInputUp$dispatch","stopDrag","fromStart","globalToLocalX","py","globalToLocalY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","onDragStart$dispatch","grid","boundsFluid","scaleFluidInversed","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","BringToTop","Core","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","rect","updateCrop","resetFrame","_frame","Delta","Destroy","destroyTexture","onDestroy$dispatch","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","inputEnabled","InWorld","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","img","base","frameData","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","object","creature","mesh","Creature","tween","physicsGroup","audio","connect","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","Tilemap","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","align","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","STATE_OVER","STATE_OUT","STATE_DOWN","STATE_UP","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","changedUp","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ie","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","LITTLE_ENDIAN","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkOS","userAgent","test","vita","kindle","match","RegExp","$1","_checkFeatures","getItem","error","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkInput","documentElement","maxTouchPoints","msPointerEnabled","pointerEnabled","_checkFullScreenSupport","fs","cfs","Element","_checkBrowser","$3","process","require","versions","_checkVideo","videoElement","canPlayType","_checkAudio","audioElement","_checkDevice","Int8Array","_checkIsLittleEndian","Uint8ClampedArray","Int32Array","_checkIsUint8ClampedImageData","vibrate","webkitVibrate","mozVibrate","msVibrate","elem","ctx","createImageData","_checkCSS3D","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","canPlayAudio","canPlayVideo","isConsoleOpen","profile","profileEnd","isAndroidStockBrowser","matches","skipPool","display","backgroundColor","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","fuzzyEqual","epsilon","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","val","fuzzyFloor","average","sum","shear","snapTo","gap","snapToFloor","snapToCeil","roundTo","place","pow","floorTo","ceilTo","angleBetween","angleBetweenY","angleBetweenPoints","point1","point2","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","diff","isOdd","isEven","minProperty","maxProperty","radians","linearInterpolation","k","linear","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","factorial","res","p3","v0","v1","t2","t3","difference","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","degreeToRadiansFactor","radianToDegreesFactor","degrees","seeds","s0","sow","charCodeAt","integer","frac","real","integerInRange","realInRange","normal","pick","ary","weightedPick","timestamp","parseFloat","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","netNoop","isDisabled","getHostName","checkDomainName","updateQueryString","getQueryString","decodeURI","prevTime","elapsedMS","physicsElapsed","_desiredFps","suggestedFps","advancedTiming","frames","fps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","_pause","_resume","elapsedSince","since","elapsedSecondsSince","running","expired","onComplete","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","pendingDelete","clearPendingEvents","adjustEvents","baseTime","ms","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","updateFrameData","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","isPaused","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onStart","onUpdate","onLoop","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","useLocalFrameIndex","frameIndex","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","Frame","rotated","rotationDirection","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","FrameData","_frameNames","addFrame","getFrameRange","getFrames","AnimationParser","spriteSheet","frameWidth","frameHeight","frameMax","margin","spacing","row","column","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","signature","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","_cache","binary","bitmapFont","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","addCanvas","addImage","checkImageKey","removeImage","_resolveURL","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","textureFrame","addBitmapFont","atlasData","atlasType","LoaderParser","jsonBitmapFont","xmlBitmapFont","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getBitmapFont","getJSON","getXML","getVideo","getShader","getRenderTexture","getBaseTexture","getFrameCount","getFrameByIndex","getPixiTexture","getPixiBaseTexture","getURL","getKeys","removeCanvas","removeFromPixi","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","atlas","baseURL","isLoading","preloadSprite","path","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","direction","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","properties","overwrite","extension","syncPoint","currentFile","replaceInFileList","pack","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onload","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","status","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","Blob","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","lineHeight","letters","charCode","xAdvance","kerning","kernings","second","finalizeBitmapFont","_face","_size","_lineHeight","letter","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","dom","minWidth","maxWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","newWidth","newHeight","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","reflowGame","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","targetWidth","targetHeight","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","debugNoop","soundInfo","cameraInfo","spriteInputInfo","inputInfo","spriteBounds","ropeSegments","spriteInfo","spriteCoords","lineInfo","pixel","geom","rectangle","quadTree","bodyInfo","box2dWorld","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","PORTRAIT","LANDSCAPE","matchMedia","documentBounds","pageXOffset","pageYOffset","treatAsDesktop","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","list","getByKey","randomIndex","removeRandomItem","shuffle","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","POSITIVE_INFINITY","numberArray","numberArrayStep","LinkedList","prev","entity","bmd","palettes",1,2,3,4,5,6,7,8,9,"A","B","C","D","E","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","cellWidth","cellHeight","manager","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","packPixel","unpackPixel","hsl","hsv","createColor","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","HSLtoRGB","q","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hexToColor","exec","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","red","green","blue","interpolateColorWithRGB","or","og","ob","interpolateRGB","r1","g1","r2","g2","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendLighten","blendDarken","blendMultiply","blendAverage","blendAdd","blendSubtract","blendDifference","blendNegation","blendScreen","blendExclusion","blendOverlay","blendSoftLight","blendHardLight","blendColorDodge","blendColorBurn","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","box2d","chipmunk","matter","NINJA","BOX2D","CHIPMUNK","MATTERJS","Ninja","P2","Matter","startSystem","system","Box2D","enableAABB","emitters","ID","POLY","RECT","CIRC","ELIP","RREC"],"mappings":"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"} \ No newline at end of file diff --git a/build/custom/phaser-minimum.min.js b/build/custom/phaser-minimum.min.js index 487c4418a..cf4a6f246 100644 --- a/build/custom/phaser-minimum.min.js +++ b/build/custom/phaser-minimum.min.js @@ -1,15 +1,15 @@ -/* Phaser v2.4.4 - http://phaser.io - @photonstorm - (c) 2015 Photon Storm Ltd. */ +/* Phaser v2.4.5 - http://phaser.io - @photonstorm - (c) 2015 Photon Storm Ltd. */ -(function(){var a=this,b=b||{};return b.game=null,b.WEBGL_RENDERER=0,b.CANVAS_RENDERER=1,b.VERSION="v2.2.9",b._UID=0,"undefined"!=typeof Float32Array?(b.Float32Array=Float32Array,b.Uint16Array=Uint16Array,b.Uint32Array=Uint32Array,b.ArrayBuffer=ArrayBuffer):(b.Float32Array=Array,b.Uint16Array=Array),b.PI_2=2*Math.PI,b.RAD_TO_DEG=180/Math.PI,b.DEG_TO_RAD=Math.PI/180,b.RETINA_PREFIX="@2x",b.DisplayObject=function(){this.position=new b.Point(0,0),this.scale=new b.Point(1,1),this.pivot=new b.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.stage=null,this.worldAlpha=1,this.worldTransform=new b.Matrix,this.worldPosition=new b.Point(0,0),this.worldScale=new b.Point(1,1),this.worldRotation=0,this._sr=0,this._cr=1,this.filterArea=null,this._bounds=new b.Rectangle(0,0,1,1),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},b.DisplayObject.prototype.constructor=b.DisplayObject,b.DisplayObject.prototype.destroy=function(){if(this.children){for(var a=this.children.length;a--;)this.children[a].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.stage=null,this.worldTransform=null,this.filterArea=null,this._bounds=null,this._currentBounds=null,this._mask=null,this.renderable=!1,this._destroyCachedSprite()},Object.defineProperty(b.DisplayObject.prototype,"worldVisible",{get:function(){var a=this;do{if(!a.visible)return!1;a=a.parent}while(a);return!0}}),Object.defineProperty(b.DisplayObject.prototype,"mask",{get:function(){return this._mask},set:function(a){this._mask&&(this._mask.isMask=!1),this._mask=a,this._mask&&(this._mask.isMask=!0)}}),Object.defineProperty(b.DisplayObject.prototype,"filters",{get:function(){return this._filters},set:function(a){if(a){for(var c=[],d=0;d=0&&b<=this.children.length)return a.parent&&a.parent.removeChild(a),a.parent=this,this.children.splice(b,0,a),this.stage&&a.setStageReference(this.stage),a;throw new Error(a+"addChildAt: The index "+b+" supplied is out of bounds "+this.children.length)},b.DisplayObjectContainer.prototype.swapChildren=function(a,b){if(a!==b){var c=this.getChildIndex(a),d=this.getChildIndex(b);if(0>c||0>d)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[c]=b,this.children[d]=a}},b.DisplayObjectContainer.prototype.getChildIndex=function(a){var b=this.children.indexOf(a);if(-1===b)throw new Error("The supplied DisplayObject must be a child of the caller");return b},b.DisplayObjectContainer.prototype.setChildIndex=function(a,b){if(0>b||b>=this.children.length)throw new Error("The supplied index is out of bounds");var c=this.getChildIndex(a);this.children.splice(c,1),this.children.splice(b,0,a)},b.DisplayObjectContainer.prototype.getChildAt=function(a){if(0>a||a>=this.children.length)throw new Error("getChildAt: Supplied index "+a+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[a]},b.DisplayObjectContainer.prototype.removeChild=function(a){var b=this.children.indexOf(a);if(-1!==b)return this.removeChildAt(b)},b.DisplayObjectContainer.prototype.removeChildAt=function(a){var b=this.getChildAt(a);return this.stage&&b.removeStageReference(),b.parent=void 0,this.children.splice(a,1),b},b.DisplayObjectContainer.prototype.removeChildren=function(a,b){var c=a||0,d="number"==typeof b?b:this.children.length,e=d-c;if(e>0&&d>=e){for(var f=this.children.splice(c,e),g=0;gj;j++){var l=this.children[j];l.visible&&(i=!0,a=this.children[j].getBounds(),e=ec?g:c,h=h>d?h:d)}if(!i)return b.EmptyRectangle;var m=this._bounds;return m.x=e,m.y=f,m.width=g-e,m.height=h-f,m},b.DisplayObjectContainer.prototype.getLocalBounds=function(){var a=this.worldTransform;this.worldTransform=b.identityMatrix;for(var c=0,d=this.children.length;d>c;c++)this.children[c].updateTransform();var e=this.getBounds();return this.worldTransform=a,e},b.DisplayObjectContainer.prototype.setStageReference=function(a){this.stage=a;for(var b=0;bi){i*=-1;var s=d;d=-e,e=-s}if(0>l){l*=-1;var s=f;f=-g,g=-s}q=i*e+m,o=i*d+m,r=l*g+n,p=l*f+n}else{var t=i*e+k*g+m,u=l*g+j*e+n,v=i*d+k*g+m,w=l*g+j*d+n,x=i*d+k*f+m,y=l*f+j*d+n,z=i*e+k*f+m,A=l*f+j*e+n;q=q>t?t:q,q=q>v?v:q,q=q>x?x:q,q=q>z?z:q,r=r>u?u:r,r=r>w?w:r,r=r>y?y:r,r=r>A?A:r,o=t>o?t:o,o=v>o?v:o,o=x>o?x:o,o=z>o?z:o,p=u>p?u:p,p=w>p?w:p,p=y>p?y:p,p=A>p?A:p}var B=this._bounds;return B.x=q,B.width=o-q,B.y=r,B.height=p-r,this._currentBounds=B,B},b.Sprite.prototype._renderWebGL=function(a,b){if(this.visible&&!(this.alpha<=0)&&this.renderable){var c=this.worldTransform;if(b&&(c=b),this._mask||this._filters){var d=a.spriteBatch;this._filters&&(d.flush(),a.filterManager.pushFilter(this._filterBlock)),this._mask&&(d.stop(),a.maskManager.pushMask(this.mask,a),d.start()),d.render(this);for(var e=0;e>16&255)/255,(a>>8&255)/255,(255&a)/255]},b.rgb2hex=function(a){return(255*a[0]<<16)+(255*a[1]<<8)+255*a[2]},b.canUseNewCanvasBlendModes=function(){if(void 0===document)return!1;var a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/",c="AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",d=new Image;d.src=a+"AP804Oa6"+c;var e=new Image;e.src=a+"/wCKxvRF"+c;var f=b.CanvasPool.create(this,6,1),g=f.getContext("2d");if(g.globalCompositeOperation="multiply",g.drawImage(d,0,0),g.drawImage(e,2,0),!g.getImageData(2,0,1,1))return!1;var h=g.getImageData(2,0,1,1).data;return b.CanvasPool.remove(this),255===h[0]&&0===h[1]&&0===h[2]},b.getNextPowerOfTwo=function(a){if(a>0&&0===(a&a-1))return a;for(var b=1;a>b;)b<<=1;return b},b.isPowerOfTwo=function(a,b){return a>0&&0===(a&a-1)&&b>0&&0===(b&b-1)},b.CanvasPool={create:function(a,c,d){var e,f=b.CanvasPool.getFirst();if(-1===f){var g={parent:a,canvas:document.createElement("canvas")};b.CanvasPool.pool.push(g),e=g.canvas}else b.CanvasPool.pool[f].parent=a,e=b.CanvasPool.pool[f].canvas;return void 0!==c&&(e.width=c,e.height=d),e},getFirst:function(){for(var a=b.CanvasPool.pool,c=0;cd;d+=6,e+=4)this.indices[d+0]=e+0,this.indices[d+1]=e+1,this.indices[d+2]=e+2,this.indices[d+3]=e+0,this.indices[d+4]=e+2,this.indices[d+5]=e+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.dirty=!0,this.textures=[],this.blendModes=[],this.shaders=[],this.sprites=[],this.defaultShader=new b.AbstractFilter(["precision lowp float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;","}"])},b.WebGLSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW),this.currentBlendMode=99999;var c=new b.PixiShader(a);c.fragmentSrc=this.defaultShader.fragmentSrc,c.uniforms={},c.init(),this.defaultShader.shaders[a.id]=c},b.WebGLSpriteBatch.prototype.begin=function(a){this.renderSession=a,this.shader=this.renderSession.shaderManager.defaultShader,this.start()},b.WebGLSpriteBatch.prototype.end=function(){this.flush()},b.WebGLSpriteBatch.prototype.render=function(a,b){var c=a.texture,d=a.worldTransform;b&&(d=b),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture);var e=c._uvs;if(e){var f,g,h,i,j=a.anchor.x,k=a.anchor.y;if(c.trim){var l=c.trim;g=l.x-j*l.width,f=g+c.crop.width,i=l.y-k*l.height,h=i+c.crop.height}else f=c.frame.width*(1-j),g=c.frame.width*-j,h=c.frame.height*(1-k),i=c.frame.height*-k;var m=4*this.currentBatchSize*this.vertSize,n=c.baseTexture.resolution,o=d.a/n,p=d.b/n,q=d.c/n,r=d.d/n,s=d.tx,t=d.ty,u=this.colors,v=this.positions;this.renderSession.roundPixels?(v[m]=o*g+q*i+s|0,v[m+1]=r*i+p*g+t|0,v[m+5]=o*f+q*i+s|0,v[m+6]=r*i+p*f+t|0,v[m+10]=o*f+q*h+s|0,v[m+11]=r*h+p*f+t|0,v[m+15]=o*g+q*h+s|0,v[m+16]=r*h+p*g+t|0):(v[m]=o*g+q*i+s,v[m+1]=r*i+p*g+t,v[m+5]=o*f+q*i+s,v[m+6]=r*i+p*f+t,v[m+10]=o*f+q*h+s,v[m+11]=r*h+p*f+t,v[m+15]=o*g+q*h+s,v[m+16]=r*h+p*g+t),v[m+2]=e.x0,v[m+3]=e.y0,v[m+7]=e.x1,v[m+8]=e.y1,v[m+12]=e.x2,v[m+13]=e.y2,v[m+17]=e.x3,v[m+18]=e.y3;var w=a.tint;u[m+4]=u[m+9]=u[m+14]=u[m+19]=(w>>16)+(65280&w)+((255&w)<<16)+(255*a.worldAlpha<<24),this.sprites[this.currentBatchSize++]=a}},b.WebGLSpriteBatch.prototype.renderTilingSprite=function(a){var c=a.tilingTexture;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture),a._uvs||(a._uvs=new b.TextureUvs);var d=a._uvs,e=c.baseTexture.width,f=c.baseTexture.height;a.tilePosition.x%=e*a.tileScaleOffset.x,a.tilePosition.y%=f*a.tileScaleOffset.y;var g=a.tilePosition.x/(e*a.tileScaleOffset.x),h=a.tilePosition.y/(f*a.tileScaleOffset.y),i=a.width/e/(a.tileScale.x*a.tileScaleOffset.x),j=a.height/f/(a.tileScale.y*a.tileScaleOffset.y);d.x0=0-g,d.y0=0-h,d.x1=1*i-g,d.y1=0-h,d.x2=1*i-g,d.y2=1*j-h,d.x3=0-g,d.y3=1*j-h;var k=a.tint,l=(k>>16)+(65280&k)+((255&k)<<16)+(255*a.worldAlpha<<24),m=this.positions,n=this.colors,o=a.width,p=a.height,q=a.anchor.x,r=a.anchor.y,s=o*(1-q),t=o*-q,u=p*(1-r),v=p*-r,w=4*this.currentBatchSize*this.vertSize,x=c.baseTexture.resolution,y=a.worldTransform,z=y.a/x,A=y.b/x,B=y.c/x,C=y.d/x,D=y.tx,E=y.ty;m[w++]=z*t+B*v+D,m[w++]=C*v+A*t+E,m[w++]=d.x0,m[w++]=d.y0,n[w++]=l,m[w++]=z*s+B*v+D,m[w++]=C*v+A*s+E,m[w++]=d.x1,m[w++]=d.y1,n[w++]=l,m[w++]=z*s+B*u+D,m[w++]=C*u+A*s+E,m[w++]=d.x2,m[w++]=d.y2,n[w++]=l,m[w++]=z*t+B*u+D,m[w++]=C*u+A*t+E,m[w++]=d.x3,m[w++]=d.y3,n[w++]=l,this.sprites[this.currentBatchSize++]=a},b.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a,c=this.gl;if(this.dirty){this.dirty=!1,c.activeTexture(c.TEXTURE0),c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a=this.defaultShader.shaders[c.id];var d=4*this.vertSize;c.vertexAttribPointer(a.aVertexPosition,2,c.FLOAT,!1,d,0),c.vertexAttribPointer(a.aTextureCoord,2,c.FLOAT,!1,d,8),c.vertexAttribPointer(a.colorAttribute,4,c.UNSIGNED_BYTE,!0,d,16)}if(this.currentBatchSize>.5*this.size)c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices);else{var e=this.positions.subarray(0,4*this.currentBatchSize*this.vertSize);c.bufferSubData(c.ARRAY_BUFFER,0,e)}for(var f,g,h,i,j=0,k=0,l=null,m=this.renderSession.blendModeManager.currentBlendMode,n=null,o=!1,p=!1,q=0,r=this.currentBatchSize;r>q;q++){if(i=this.sprites[q],f=i.tilingTexture?i.tilingTexture.baseTexture:i.texture.baseTexture,g=i.blendMode,h=i.shader||this.defaultShader,o=m!==g,p=n!==h,(l!==f&&!f.skipRender||o||p)&&(this.renderBatch(l,j,k),k=q,j=0,l=f,o&&(m=g,this.renderSession.blendModeManager.setBlendMode(m)),p)){n=h,a=n.shaders[c.id],a||(a=new b.PixiShader(c),a.fragmentSrc=n.fragmentSrc,a.uniforms=n.uniforms,a.init(),n.shaders[c.id]=a),this.renderSession.shaderManager.setShader(a),a.dirty&&a.syncUniforms();var s=this.renderSession.projection;c.uniform2f(a.projectionVector,s.x,s.y);var t=this.renderSession.offset;c.uniform2f(a.offsetVector,t.x,t.y)}j++}this.renderBatch(l,j,k),this.currentBatchSize=0}},b.WebGLSpriteBatch.prototype.renderBatch=function(a,b,c){if(0!==b){var d=this.gl;if(a._dirty[d.id]){if(!this.renderSession.renderer.updateTexture(a))return}else d.bindTexture(d.TEXTURE_2D,a._glTextures[d.id]);d.drawElements(d.TRIANGLES,6*b,d.UNSIGNED_SHORT,6*c*2),this.renderSession.drawCount++}},b.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},b.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},b.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},b.WebGLFastSpriteBatch=function(a){this.vertSize=10,this.maxSize=6e3,this.size=this.maxSize;var c=4*this.size*this.vertSize,d=6*this.maxSize;this.vertices=new b.Float32Array(c),this.indices=new b.Uint16Array(d),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var e=0,f=0;d>e;e+=6,f+=4)this.indices[e+0]=f+0,this.indices[e+1]=f+1,this.indices[e+2]=f+2,this.indices[e+3]=f+0,this.indices[e+4]=f+2,this.indices[e+5]=f+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.currentBlendMode=0,this.renderSession=null,this.shader=null,this.matrix=null,this.setContext(a)},b.WebGLFastSpriteBatch.prototype.constructor=b.WebGLFastSpriteBatch,b.WebGLFastSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW)},b.WebGLFastSpriteBatch.prototype.begin=function(a,b){this.renderSession=b,this.shader=this.renderSession.shaderManager.fastShader,this.matrix=a.worldTransform.toArray(!0),this.start()},b.WebGLFastSpriteBatch.prototype.end=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.render=function(a){var b=a.children,c=b[0];if(c.texture._uvs){this.currentBaseTexture=c.texture.baseTexture,c.blendMode!==this.renderSession.blendModeManager.currentBlendMode&&(this.flush(),this.renderSession.blendModeManager.setBlendMode(c.blendMode));for(var d=0,e=b.length;e>d;d++)this.renderSprite(b[d]);this.flush()}},b.WebGLFastSpriteBatch.prototype.renderSprite=function(a){if(a.visible&&(a.texture.baseTexture===this.currentBaseTexture||a.texture.baseTexture.skipRender||(this.flush(),this.currentBaseTexture=a.texture.baseTexture,a.texture._uvs))){var b,c,d,e,f,g,h,i,j=this.vertices;if(b=a.texture._uvs,c=a.texture.frame.width,d=a.texture.frame.height,a.texture.trim){var k=a.texture.trim;f=k.x-a.anchor.x*k.width,e=f+a.texture.crop.width,h=k.y-a.anchor.y*k.height,g=h+a.texture.crop.height}else e=a.texture.frame.width*(1-a.anchor.x),f=a.texture.frame.width*-a.anchor.x,g=a.texture.frame.height*(1-a.anchor.y),h=a.texture.frame.height*-a.anchor.y;i=4*this.currentBatchSize*this.vertSize,j[i++]=f,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x0,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x1,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x2,j[i++]=b.y2,j[i++]=a.alpha,j[i++]=f,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x3,j[i++]=b.y3,j[i++]=a.alpha,this.currentBatchSize++,this.currentBatchSize>=this.size&&this.flush()}},b.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a=this.gl;if(this.currentBaseTexture._glTextures[a.id]||this.renderSession.renderer.updateTexture(this.currentBaseTexture,a),a.bindTexture(a.TEXTURE_2D,this.currentBaseTexture._glTextures[a.id]),this.currentBatchSize>.5*this.size)a.bufferSubData(a.ARRAY_BUFFER,0,this.vertices);else{var b=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);a.bufferSubData(a.ARRAY_BUFFER,0,b)}a.drawElements(a.TRIANGLES,6*this.currentBatchSize,a.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}},b.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.start=function(){var a=this.gl;a.activeTexture(a.TEXTURE0),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var b=this.renderSession.projection;a.uniform2f(this.shader.projectionVector,b.x,b.y),a.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var c=4*this.vertSize;a.vertexAttribPointer(this.shader.aVertexPosition,2,a.FLOAT,!1,c,0),a.vertexAttribPointer(this.shader.aPositionCoord,2,a.FLOAT,!1,c,8),a.vertexAttribPointer(this.shader.aScale,2,a.FLOAT,!1,c,16),a.vertexAttribPointer(this.shader.aRotation,1,a.FLOAT,!1,c,24),a.vertexAttribPointer(this.shader.aTextureCoord,2,a.FLOAT,!1,c,28),a.vertexAttribPointer(this.shader.colorAttribute,1,a.FLOAT,!1,c,36)},b.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},b.WebGLFilterManager.prototype.constructor=b.WebGLFilterManager,b.WebGLFilterManager.prototype.setContext=function(a){this.gl=a,this.texturePool=[],this.initShaderBuffers()},b.WebGLFilterManager.prototype.begin=function(a,b){this.renderSession=a,this.defaultShader=a.shaderManager.defaultShader;var c=this.renderSession.projection;this.width=2*c.x,this.height=2*-c.y,this.buffer=b},b.WebGLFilterManager.prototype.pushFilter=function(a){var c=this.gl,d=this.renderSession.projection,e=this.renderSession.offset;a._filterArea=a.target.filterArea||a.target.getBounds(),this.filterStack.push(a);var f=a.filterPasses[0];this.offsetX+=a._filterArea.x,this.offsetY+=a._filterArea.y;var g=this.texturePool.pop();g?g.resize(this.width,this.height):g=new b.FilterTexture(this.gl,this.width,this.height),c.bindTexture(c.TEXTURE_2D,g.texture);var h=a._filterArea,i=f.padding;h.x-=i,h.y-=i,h.width+=2*i,h.height+=2*i,h.x<0&&(h.x=0),h.width>this.width&&(h.width=this.width),h.y<0&&(h.y=0),h.height>this.height&&(h.height=this.height),c.bindFramebuffer(c.FRAMEBUFFER,g.frameBuffer),c.viewport(0,0,h.width,h.height),d.x=h.width/2,d.y=-h.height/2,e.x=-h.x,e.y=-h.y,c.colorMask(!0,!0,!0,!0),c.clearColor(0,0,0,0),c.clear(c.COLOR_BUFFER_BIT),a._glFilterTexture=g},b.WebGLFilterManager.prototype.popFilter=function(){var a=this.gl,c=this.filterStack.pop(),d=c._filterArea,e=c._glFilterTexture,f=this.renderSession.projection,g=this.renderSession.offset;if(c.filterPasses.length>1){a.viewport(0,0,d.width,d.height),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=d.height,this.vertexArray[2]=d.width,this.vertexArray[3]=d.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=d.width,this.vertexArray[7]=0,a.bufferSubData(a.ARRAY_BUFFER,0,this.vertexArray),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=d.width/this.width,this.uvArray[5]=d.height/this.height,this.uvArray[6]=d.width/this.width,this.uvArray[7]=d.height/this.height,a.bufferSubData(a.ARRAY_BUFFER,0,this.uvArray);var h=e,i=this.texturePool.pop();i||(i=new b.FilterTexture(this.gl,this.width,this.height)),i.resize(this.width,this.height),a.bindFramebuffer(a.FRAMEBUFFER,i.frameBuffer),a.clear(a.COLOR_BUFFER_BIT),a.disable(a.BLEND);for(var j=0;j=0;a--){var c=this._glTextures[a],d=b.glContexts[a];d&&c&&d.deleteTexture(c)}this._glTextures.length=0,this.dirty()},b.BaseTexture.fromImage=function(a,c,d){var e=b.BaseTextureCache[a];if(void 0===c&&-1===a.indexOf("data:")&&(c=!0),!e){var f=new Image;c&&(f.crossOrigin=""),f.src=a,e=new b.BaseTexture(f,d),e.imageUrl=a,b.BaseTextureCache[a]=e,-1!==a.indexOf(b.RETINA_PREFIX+".")&&(e.resolution=2)}return e},b.BaseTexture.fromCanvas=function(a,c){a._pixiId||(a._pixiId="canvas_"+b.TextureCacheIdGenerator++),0===a.width&&(a.width=1),0===a.height&&(a.height=1);var d=b.BaseTextureCache[a._pixiId];return d||(d=new b.BaseTexture(a,c),b.BaseTextureCache[a._pixiId]=d),d},b.TextureCache={},b.FrameCache={},b.TextureSilentFail=!1,b.TextureCacheIdGenerator=0,b.Texture=function(a,c,d,e){this.noFrame=!1,c||(this.noFrame=!0,c=new b.Rectangle(0,0,1,1)),a instanceof b.Texture&&(a=a.baseTexture),this.baseTexture=a,this.frame=c,this.trim=e,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=d||new b.Rectangle(0,0,1,1),a.hasLoaded&&(this.noFrame&&(c=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(c))},b.Texture.prototype.constructor=b.Texture,b.Texture.prototype.onBaseTextureLoaded=function(){var a=this.baseTexture;this.noFrame&&(this.frame=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(this.frame)},b.Texture.prototype.destroy=function(a){a&&this.baseTexture.destroy(),this.valid=!1},b.Texture.prototype.setFrame=function(a){if(this.noFrame=!1,this.frame=a,this.width=a.width,this.height=a.height,this.crop.x=a.x,this.crop.y=a.y,this.crop.width=a.width,this.crop.height=a.height,!this.trim&&(a.x+a.width>this.baseTexture.width||a.y+a.height>this.baseTexture.height)){if(!b.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);return void(this.valid=!1)}this.valid=a&&a.width&&a.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()},b.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new b.TextureUvs);var a=this.crop,c=this.baseTexture.width,d=this.baseTexture.height;this._uvs.x0=a.x/c,this._uvs.y0=a.y/d,this._uvs.x1=(a.x+a.width)/c,this._uvs.y1=a.y/d,this._uvs.x2=(a.x+a.width)/c,this._uvs.y2=(a.y+a.height)/d,this._uvs.x3=a.x/c,this._uvs.y3=(a.y+a.height)/d},b.Texture.fromImage=function(a,c,d){var e=b.TextureCache[a];return e||(e=new b.Texture(b.BaseTexture.fromImage(a,c,d)),b.TextureCache[a]=e),e},b.Texture.fromFrame=function(a){var c=b.TextureCache[a];if(!c)throw new Error('The frameId "'+a+'" does not exist in the texture cache ');return c},b.Texture.fromCanvas=function(a,c){var d=b.BaseTexture.fromCanvas(a,c);return new b.Texture(d)},b.Texture.addTextureToCache=function(a,c){b.TextureCache[c]=a},b.Texture.removeTextureFromCache=function(a){var c=b.TextureCache[a];return delete b.TextureCache[a],delete b.BaseTextureCache[a],c},b.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},b.RenderTexture=function(a,c,d,e,f){if(this.width=a||100,this.height=c||100,this.resolution=f||1,this.frame=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.baseTexture=new b.BaseTexture,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=e||b.scaleModes.DEFAULT,this.baseTexture.hasLoaded=!0,b.Texture.call(this,this.baseTexture,new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution)),this.renderer=d||b.defaultRenderer,this.renderer.type===b.WEBGL_RENDERER){var g=this.renderer.gl;this.baseTexture._dirty[g.id]=!1,this.textureBuffer=new b.FilterTexture(g,this.width,this.height,this.baseTexture.scaleMode),this.baseTexture._glTextures[g.id]=this.textureBuffer.texture,this.render=this.renderWebGL,this.projection=new b.Point(.5*this.width,.5*-this.height)}else this.render=this.renderCanvas,this.textureBuffer=new b.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new Phaser.Matrix,this._updateUvs()},b.RenderTexture.prototype=Object.create(b.Texture.prototype),b.RenderTexture.prototype.constructor=b.RenderTexture,b.RenderTexture.prototype.resize=function(a,c,d){(a!==this.width||c!==this.height)&&(this.valid=a>0&&c>0,this.width=a,this.height=c,this.frame.width=this.crop.width=a*this.resolution,this.frame.height=this.crop.height=c*this.resolution,d&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===b.WEBGL_RENDERER&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},b.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===b.WEBGL_RENDERER&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},b.RenderTexture.prototype.renderWebGL=function(a,b,c){if(this.valid&&0!==a.alpha){var d=a.worldTransform;d.identity(),d.translate(0,2*this.projection.y),b&&d.append(b),d.scale(1,-1);for(var e=0;ea;a++)this.shaders[a].dirty=!0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=b),exports.PIXI=b):"undefined"!=typeof define&&define.amd?define("PIXI",function(){return a.PIXI=b}()):a.PIXI=b,b}).call(this),function(){function a(a,b){this._scaleFactor=a,this._deltaMode=b,this.originalEvent=null}var b=this,c=c||{VERSION:"2.4.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,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},PIXI:PIXI||{}};if(Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)}),Function.prototype.bind||(Function.prototype.bind=function(){var a=Array.prototype.slice;return function(b){function c(){var f=e.concat(a.call(arguments));d.apply(this instanceof c?this:b,f)}var d=this,e=a.call(arguments,1);if("function"!=typeof d)throw new TypeError;return c.prototype=function f(a){return a&&(f.prototype=a),this instanceof f?void 0:new f}(d.prototype),c}}()),Array.isArray||(Array.isArray=function(a){return"[object Array]"==Object.prototype.toString.call(a)}),Array.prototype.forEach||(Array.prototype.forEach=function(a){"use strict";if(void 0===this||null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!=typeof a)throw new TypeError;for(var d=arguments.length>=2?arguments[1]:void 0,e=0;c>e;e++)e in b&&a.call(d,b[e],e,b)}),"function"!=typeof window.Uint32Array&&"object"!=typeof window.Uint32Array){var d=function(a){var b=new Array;window[a]=function(a){if("number"==typeof a){Array.call(this,a),this.length=a;for(var b=0;bf&&(a=a[g]);)g=c[f],f++;return a?a[d]:null},setProperty:function(a,b,c){for(var d=b.split("."),e=d.pop(),f=d.length,g=1,h=d[0];f>g&&(a=a[h]);)h=d[g],g++;return a&&(a[e]=c),a},chanceRoll:function(a){return void 0===a&&(a=50),a>0&&100*Math.random()<=a},randomChoice:function(a,b){return Math.random()<.5?a:b},parseDimension:function(a,b){var c=0,d=0;return"string"==typeof a?"%"===a.substr(-1)?(c=parseInt(a,10)/100,d=0===b?window.innerWidth*c:window.innerHeight*c):d=parseInt(a,10):d=a,d},pad:function(a,b,c,d){if(void 0===b)var b=0;if(void 0===c)var c=" ";if(void 0===d)var d=3;var e=0;if(b+1>=a.length)switch(d){case 1:a=new Array(b+1-a.length).join(c)+a;break;case 3:var f=Math.ceil((e=b-a.length)/2),g=e-f;a=new Array(g+1).join(c)+a+new Array(f+1).join(c);break;default:a+=new Array(b+1-a.length).join(c)}return a},isPlainObject:function(a){if("object"!=typeof a||a.nodeType||a===a.window)return!1;try{if(a.constructor&&!{}.hasOwnProperty.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(b){return!1}return!0},extend:function(){var a,b,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(b in a)d=h[b],e=a[b],h!==e&&(k&&e&&(c.Utils.isPlainObject(e)||(f=Array.isArray(e)))?(f?(f=!1,g=d&&Array.isArray(d)?d:[]):g=d&&c.Utils.isPlainObject(d)?d:{},h[b]=c.Utils.extend(k,g,e)):void 0!==e&&(h[b]=e));return h},mixinPrototype:function(a,b,c){void 0===c&&(c=!1);for(var d=Object.keys(b),e=0;e0&&(this._radius=.5*d),this.type=c.CIRCLE},c.Circle.prototype={circumference:function(){return 2*(Math.PI*this._radius)},random:function(a){void 0===a&&(a=new c.Point);var b=2*Math.PI*Math.random(),d=Math.random()+Math.random(),e=d>1?2-d:d,f=e*Math.cos(b),g=e*Math.sin(b);return a.x=this.x+f*this.radius,a.y=this.y+g*this.radius,a},getBounds:function(){return new c.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(a,b,c){return this.x=a,this.y=b,this._diameter=c,this._radius=.5*c,this},copyFrom:function(a){return this.setTo(a.x,a.y,a.diameter)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.diameter=this._diameter,a},distance:function(a,b){var d=c.Math.distance(this.x,this.y,a.x,a.y);return b?Math.round(d):d},clone:function(a){return void 0===a||null===a?a=new c.Circle(this.x,this.y,this.diameter):a.setTo(this.x,this.y,this.diameter),a},contains:function(a,b){return c.Circle.contains(this,a,b)},circumferencePoint:function(a,b,d){return c.Circle.circumferencePoint(this,a,b,d)},offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},c.Circle.prototype.constructor=c.Circle,Object.defineProperty(c.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(a){a>0&&(this._diameter=a,this._radius=.5*a)}}),Object.defineProperty(c.Circle.prototype,"radius",{get:function(){return this._radius},set:function(a){a>0&&(this._radius=a,this._diameter=2*a)}}),Object.defineProperty(c.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(a){a>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-a}}),Object.defineProperty(c.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(a){athis.y?(this._radius=0,this._diameter=0):this.radius=this.y-a}}),Object.defineProperty(c.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(a){a0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(c.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(a){a===!0&&this.setTo(0,0,0)}}),c.Circle.contains=function(a,b,c){if(a.radius>0&&b>=a.left&&b<=a.right&&c>=a.top&&c<=a.bottom){var d=(a.x-b)*(a.x-b),e=(a.y-c)*(a.y-c);return d+e<=a.radius*a.radius}return!1},c.Circle.equals=function(a,b){return a.x==b.x&&a.y==b.y&&a.diameter==b.diameter},c.Circle.intersects=function(a,b){return c.Math.distance(a.x,a.y,b.x,b.y)<=a.radius+b.radius},c.Circle.circumferencePoint=function(a,b,d,e){return void 0===d&&(d=!1),void 0===e&&(e=new c.Point),d===!0&&(b=c.Math.degToRad(b)),e.x=a.x+a.radius*Math.cos(b),e.y=a.y+a.radius*Math.sin(b),e},c.Circle.intersectsRectangle=function(a,b){var c=Math.abs(a.x-b.x-b.halfWidth),d=b.halfWidth+a.radius;if(c>d)return!1;var e=Math.abs(a.y-b.y-b.halfHeight),f=b.halfHeight+a.radius;if(e>f)return!1;if(c<=b.halfWidth||e<=b.halfHeight)return!0;var g=c-b.halfWidth,h=e-b.halfHeight,i=g*g,j=h*h,k=a.radius*a.radius;return k>=i+j},PIXI.Circle=c.Circle,c.Ellipse=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.ELLIPSE},c.Ellipse.prototype={setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},getBounds:function(){return new c.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},clone:function(a){return void 0===a||null===a?a=new c.Ellipse(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a},contains:function(a,b){return c.Ellipse.contains(this,a,b)},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random()*Math.PI*2,d=Math.random();return a.x=Math.sqrt(d)*Math.cos(b),a.y=Math.sqrt(d)*Math.sin(b),a.x=this.x+a.x*this.width/2,a.y=this.y+a.y*this.height/2,a},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},c.Ellipse.prototype.constructor=c.Ellipse,Object.defineProperty(c.Ellipse.prototype,"left",{get:function(){return this.x},set:function(a){this.x=a}}),Object.defineProperty(c.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(a){ad+e},PIXI.Ellipse=c.Ellipse,c.Line=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.start=new c.Point(a,b),this.end=new c.Point(d,e),this.type=c.LINE},c.Line.prototype={setTo:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(c,d),this},fromSprite:function(a,b,c){return void 0===c&&(c=!1),c?this.setTo(a.center.x,a.center.y,b.center.x,b.center.y):this.setTo(a.x,a.y,b.x,b.y)},fromAngle:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(a+Math.cos(c)*d,b+Math.sin(c)*d),this},rotate:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2;return this.start.rotate(c,d,a,b),this.end.rotate(c,d,a,b),this},rotateAround:function(a,b,c,d){return this.start.rotate(a,b,c,d),this.end.rotate(a,b,c,d),this},intersects:function(a,b,d){return c.Line.intersectsPoints(this.start,this.end,a.start,a.end,b,d)},reflect:function(a){return c.Line.reflect(this,a)},midPoint:function(a){return void 0===a&&(a=new c.Point),a.x=(this.start.x+this.end.x)/2,a.y=(this.start.y+this.end.y)/2,a},centerOn:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2,e=a-c,f=b-d;this.start.add(e,f),this.end.add(e,f)},pointOnLine:function(a,b){return(a-this.start.x)*(this.end.y-this.start.y)===(this.end.x-this.start.x)*(b-this.start.y)},pointOnSegment:function(a,b){var c=Math.min(this.start.x,this.end.x),d=Math.max(this.start.x,this.end.x),e=Math.min(this.start.y,this.end.y),f=Math.max(this.start.y,this.end.y);return this.pointOnLine(a,b)&&a>=c&&d>=a&&b>=e&&f>=b},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random();return a.x=this.start.x+b*(this.end.x-this.start.x),a.y=this.start.y+b*(this.end.y-this.start.y),a},coordinatesOnLine:function(a,b){void 0===a&&(a=1),void 0===b&&(b=[]);var c=Math.round(this.start.x),d=Math.round(this.start.y),e=Math.round(this.end.x),f=Math.round(this.end.y),g=Math.abs(e-c),h=Math.abs(f-d),i=e>c?1:-1,j=f>d?1:-1,k=g-h;b.push([c,d]);for(var l=1;c!=e||d!=f;){var m=k<<1;m>-h&&(k-=h,c+=i),g>m&&(k+=g,d+=j),l%a===0&&b.push([c,d]),l++}return b},clone:function(a){return void 0===a||null===a?a=new c.Line(this.start.x,this.start.y,this.end.x,this.end.y):a.setTo(this.start.x,this.start.y,this.end.x,this.end.y),a}},Object.defineProperty(c.Line.prototype,"length",{get:function(){return Math.sqrt((this.end.x-this.start.x)*(this.end.x-this.start.x)+(this.end.y-this.start.y)*(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"angle",{get:function(){return Math.atan2(this.end.y-this.start.y,this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"slope",{get:function(){return(this.end.y-this.start.y)/(this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"perpSlope",{get:function(){return-((this.end.x-this.start.x)/(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"x",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"y",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"left",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"right",{get:function(){return Math.max(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"top",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"bottom",{get:function(){return Math.max(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"width",{get:function(){return Math.abs(this.start.x-this.end.x)}}),Object.defineProperty(c.Line.prototype,"height",{get:function(){return Math.abs(this.start.y-this.end.y)}}),Object.defineProperty(c.Line.prototype,"normalX",{get:function(){return Math.cos(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalY",{get:function(){return Math.sin(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalAngle",{get:function(){return c.Math.wrap(this.angle-1.5707963267948966,-Math.PI,Math.PI)}}),c.Line.intersectsPoints=function(a,b,d,e,f,g){void 0===f&&(f=!0),void 0===g&&(g=new c.Point);var h=b.y-a.y,i=e.y-d.y,j=a.x-b.x,k=d.x-e.x,l=b.x*a.y-a.x*b.y,m=e.x*d.y-d.x*e.y,n=h*k-i*j;if(0===n)return null;if(g.x=(j*m-k*l)/n,g.y=(i*l-h*m)/n,f){var o=(e.y-d.y)*(b.x-a.x)-(e.x-d.x)*(b.y-a.y),p=((e.x-d.x)*(a.y-d.y)-(e.y-d.y)*(a.x-d.x))/o,q=((b.x-a.x)*(a.y-d.y)-(b.y-a.y)*(a.x-d.x))/o;return p>=0&&1>=p&&q>=0&&1>=q?g:null}return g},c.Line.intersects=function(a,b,d,e){return c.Line.intersectsPoints(a.start,a.end,b.start,b.end,d,e)},c.Line.reflect=function(a,b){return 2*b.normalAngle-3.141592653589793-a.angle},c.Matrix=function(a,b,d,e,f,g){a=a||1,b=b||0,d=d||0,e=e||1,f=f||0,g=g||0,this.a=a,this.b=b,this.c=d,this.d=e,this.tx=f,this.ty=g,this.type=c.MATRIX},c.Matrix.prototype={fromArray:function(a){return this.setTo(a[0],a[1],a[3],a[4],a[2],a[5])},setTo:function(a,b,c,d,e,f){return this.a=a,this.b=b,this.c=c,this.d=d,this.tx=e,this.ty=f,this},clone:function(a){return void 0===a||null===a?a=new c.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(a.a=this.a,a.b=this.b,a.c=this.c,a.d=this.d,a.tx=this.tx,a.ty=this.ty),a},copyTo:function(a){return a.copyFrom(this),a},copyFrom:function(a){return this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.tx=a.tx,this.ty=a.ty,this},toArray:function(a,b){return void 0===b&&(b=new PIXI.Float32Array(9)),a?(b[0]=this.a,b[1]=this.b,b[2]=0,b[3]=this.c,b[4]=this.d,b[5]=0,b[6]=this.tx,b[7]=this.ty,b[8]=1):(b[0]=this.a,b[1]=this.c,b[2]=this.tx,b[3]=this.b,b[4]=this.d,b[5]=this.ty,b[6]=0,b[7]=0,b[8]=1),b},apply:function(a,b){return void 0===b&&(b=new c.Point),b.x=this.a*a.x+this.c*a.y+this.tx,b.y=this.b*a.x+this.d*a.y+this.ty,b},applyInverse:function(a,b){void 0===b&&(b=new c.Point);var d=1/(this.a*this.d+this.c*-this.b),e=a.x,f=a.y;return b.x=this.d*d*e+-this.c*d*f+(this.ty*this.c-this.tx*this.d)*d,b.y=this.a*d*f+-this.b*d*e+(-this.ty*this.a+this.tx*this.b)*d,b},translate:function(a,b){return this.tx+=a,this.ty+=b,this},scale:function(a,b){return this.a*=a,this.d*=b,this.c*=a,this.b*=b,this.tx*=a,this.ty*=b,this},rotate:function(a){var b=Math.cos(a),c=Math.sin(a),d=this.a,e=this.c,f=this.tx;return this.a=d*b-this.b*c,this.b=d*c+this.b*b,this.c=e*b-this.d*c,this.d=e*c+this.d*b,this.tx=f*b-this.ty*c,this.ty=f*c+this.ty*b,this},append:function(a){var b=this.a,c=this.b,d=this.c,e=this.d;return this.a=a.a*b+a.b*d,this.b=a.a*c+a.b*e,this.c=a.c*b+a.d*d,this.d=a.c*c+a.d*e,this.tx=a.tx*b+a.ty*d+this.tx,this.ty=a.tx*c+a.ty*e+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},c.identityMatrix=new c.Matrix,PIXI.Matrix=c.Matrix,PIXI.identityMatrix=c.identityMatrix,c.Point=function(a,b){a=a||0,b=b||0,this.x=a,this.y=b,this.type=c.POINT},c.Point.prototype={copyFrom:function(a){return this.setTo(a.x,a.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},set:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},add:function(a,b){return this.x+=a,this.y+=b,this},subtract:function(a,b){return this.x-=a,this.y-=b,this},multiply:function(a,b){return this.x*=a,this.y*=b,this},divide:function(a,b){return this.x/=a,this.y/=b,this},clampX:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this},clampY:function(a,b){return this.y=c.Math.clamp(this.y,a,b),this},clamp:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this.y=c.Math.clamp(this.y,a,b),this},clone:function(a){return void 0===a||null===a?a=new c.Point(this.x,this.y):a.setTo(this.x,this.y),a},copyTo:function(a){return a.x=this.x,a.y=this.y,a},distance:function(a,b){return c.Point.distance(this,a,b)},equals:function(a){return a.x===this.x&&a.y===this.y},angle:function(a,b){return void 0===b&&(b=!1),b?c.Math.radToDeg(Math.atan2(a.y-this.y,a.x-this.x)):Math.atan2(a.y-this.y,a.x-this.x)},rotate:function(a,b,d,e,f){return c.Point.rotate(this,a,b,d,e,f)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(a){return this.normalize().multiply(a,a)},normalize:function(){if(!this.isZero()){var a=this.getMagnitude();this.x/=a,this.y/=a}return this},isZero:function(){return 0===this.x&&0===this.y},dot:function(a){return this.x*a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},c.Point.prototype.constructor=c.Point,c.Point.add=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x+b.x,d.y=a.y+b.y,d},c.Point.subtract=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x-b.x,d.y=a.y-b.y,d},c.Point.multiply=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x*b.x,d.y=a.y*b.y,d},c.Point.divide=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x/b.x,d.y=a.y/b.y,d},c.Point.equals=function(a,b){return a.x===b.x&&a.y===b.y},c.Point.angle=function(a,b){return Math.atan2(a.y-b.y,a.x-b.x)},c.Point.negative=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.x,-a.y)},c.Point.multiplyAdd=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+b.x*d,a.y+b.y*d)},c.Point.interpolate=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+(b.x-a.x)*d,a.y+(b.y-a.y)*d)},c.Point.perp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.y,a.x)},c.Point.rperp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(a.y,-a.x)},c.Point.distance=function(a,b,d){var e=c.Math.distance(a.x,a.y,b.x,b.y);return d?Math.round(e):e},c.Point.project=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b)/b.getMagnitudeSq();return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.projectUnit=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b);return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.normalRightHand=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-1*a.y,a.x)},c.Point.normalize=function(a,b){void 0===b&&(b=new c.Point);var d=a.getMagnitude();return 0!==d&&b.setTo(a.x/d,a.y/d),b},c.Point.rotate=function(a,b,d,e,f,g){if(f&&(e=c.Math.degToRad(e)),void 0===g){a.subtract(b,d);var h=Math.sin(e),i=Math.cos(e),j=i*a.x-h*a.y,k=h*a.x+i*a.y;a.x=j+b,a.y=k+d}else{var l=e+Math.atan2(a.y-d,a.x-b);a.x=b+g*Math.cos(l),a.y=d+g*Math.sin(l)}return a},c.Point.centroid=function(a,b){if(void 0===b&&(b=new c.Point),"[object Array]"!==Object.prototype.toString.call(a))throw new Error("Phaser.Point. Parameter 'points' must be an array");var d=a.length;if(1>d)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===d)return b.copyFrom(a[0]),b;for(var e=0;d>e;e++)c.Point.add(b,a[e],b);return b.divide(d,d),b},c.Point.parse=function(a,b,d){b=b||"x",d=d||"y";var e=new c.Point;return a[b]&&(e.x=parseInt(a[b],10)),a[d]&&(e.y=parseInt(a[d],10)), -e},PIXI.Point=c.Point,c.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.type=c.POLYGON},c.Polygon.prototype={toNumberArray:function(a){void 0===a&&(a=[]);for(var b=0;b=h&&j>b||b>=j&&h>b)&&(i-g)*(b-h)/(j-h)+g>a&&(d=!d)}return d},setTo:function(a){if(this.area=0,this._points=[],arguments.length>0){Array.isArray(a)||(a=Array.prototype.slice.call(arguments));for(var b=Number.MAX_VALUE,c=0,d=a.length;d>c;c++){if("number"==typeof a[c]){var e=new PIXI.Point(a[c],a[c+1]);c++}else var e=new PIXI.Point(a[c].x,a[c].y);this._points.push(e),e.yf;f++)b=this._points[f],c=f===g-1?this._points[0]:this._points[f+1],d=(b.y-a+(c.y-a))/2,e=b.x-c.x,this.area+=d*e;return this.area}},c.Polygon.prototype.constructor=c.Polygon,Object.defineProperty(c.Polygon.prototype,"points",{get:function(){return this._points},set:function(a){null!=a?this.setTo(a):this.setTo()}}),PIXI.Polygon=c.Polygon,c.Rectangle=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.RECTANGLE},c.Rectangle.prototype={offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},scale:function(a,b){return void 0===b&&(b=a),this.width*=a,this.height*=b,this},centerOn:function(a,b){return this.centerX=a,this.centerY=b,this},floor:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y)},floorAll:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.width=Math.floor(this.width),this.height=Math.floor(this.height)},ceil:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y)},ceilAll:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.width=Math.ceil(this.width),this.height=Math.ceil(this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},inflate:function(a,b){return c.Rectangle.inflate(this,a,b)},size:function(a){return c.Rectangle.size(this,a)},resize:function(a,b){return this.width=a,this.height=b,this},clone:function(a){return c.Rectangle.clone(this,a)},contains:function(a,b){return c.Rectangle.contains(this,a,b)},containsRect:function(a){return c.Rectangle.containsRect(a,this)},equals:function(a){return c.Rectangle.equals(this,a)},intersection:function(a,b){return c.Rectangle.intersection(this,a,b)},intersects:function(a){return c.Rectangle.intersects(this,a)},intersectsRaw:function(a,b,d,e,f){return c.Rectangle.intersectsRaw(this,a,b,d,e,f)},union:function(a,b){return c.Rectangle.union(this,a,b)},random:function(a){return void 0===a&&(a=new c.Point),a.x=this.randomX,a.y=this.randomY,a},toString:function(){return"[{Rectangle (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+" empty="+this.empty+")}]"}},Object.defineProperty(c.Rectangle.prototype,"halfWidth",{get:function(){return Math.round(this.width/2)}}),Object.defineProperty(c.Rectangle.prototype,"halfHeight",{get:function(){return Math.round(this.height/2)}}),Object.defineProperty(c.Rectangle.prototype,"bottom",{get:function(){return this.y+this.height},set:function(a){a<=this.y?this.height=0:this.height=a-this.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomLeft",{get:function(){return new c.Point(this.x,this.bottom)},set:function(a){this.x=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomRight",{get:function(){return new c.Point(this.right,this.bottom)},set:function(a){this.right=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"left",{get:function(){return this.x},set:function(a){a>=this.right?this.width=0:this.width=this.right-a,this.x=a}}),Object.defineProperty(c.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(a){a<=this.x?this.width=0:this.width=a-this.x}}),Object.defineProperty(c.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(c.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(c.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(a){this.x=a-this.halfWidth}}),Object.defineProperty(c.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(a){this.y=a-this.halfHeight}}),Object.defineProperty(c.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(c.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(c.Rectangle.prototype,"top",{get:function(){return this.y},set:function(a){a>=this.bottom?(this.height=0,this.y=a):this.height=this.bottom-a}}),Object.defineProperty(c.Rectangle.prototype,"topLeft",{get:function(){return new c.Point(this.x,this.y)},set:function(a){this.x=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"topRight",{get:function(){return new c.Point(this.x+this.width,this.y)},set:function(a){this.right=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(a){a===!0&&this.setTo(0,0,0,0)}}),c.Rectangle.prototype.constructor=c.Rectangle,c.Rectangle.inflate=function(a,b,c){return a.x-=b,a.width+=2*b,a.y-=c,a.height+=2*c,a},c.Rectangle.inflatePoint=function(a,b){return c.Rectangle.inflate(a,b.x,b.y)},c.Rectangle.size=function(a,b){return void 0===b||null===b?b=new c.Point(a.width,a.height):b.setTo(a.width,a.height),b},c.Rectangle.clone=function(a,b){return void 0===b||null===b?b=new c.Rectangle(a.x,a.y,a.width,a.height):b.setTo(a.x,a.y,a.width,a.height),b},c.Rectangle.contains=function(a,b,c){return a.width<=0||a.height<=0?!1:b>=a.x&&b=a.y&&c=a&&a+c>e&&f>=b&&b+d>f},c.Rectangle.containsPoint=function(a,b){return c.Rectangle.contains(a,b.x,b.y)},c.Rectangle.containsRect=function(a,b){return a.volume>b.volume?!1:a.x>=b.x&&a.y>=b.y&&a.rightb.right||a.y>b.bottom)},c.Rectangle.intersectsRaw=function(a,b,c,d,e,f){return void 0===f&&(f=0),!(b>a.right+f||ca.bottom+f||ed&&(d=a.x),a.xf&&(f=a.y),a.y=c&&a<=c+this.width){var d=this.y;if(b>=d&&b<=d+this.height)return!0}return!1}},c.RoundedRectangle.prototype.constructor=c.RoundedRectangle,PIXI.RoundedRectangle=c.RoundedRectangle,c.Camera=function(a,b,d,e,f,g){this.game=a,this.world=a.world,this.id=0,this.view=new c.Rectangle(d,e,f,g),this.bounds=new c.Rectangle(d,e,f,g),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this._targetPosition=new c.Point,this._edge=0,this._position=new c.Point},c.Camera.FOLLOW_LOCKON=0,c.Camera.FOLLOW_PLATFORMER=1,c.Camera.FOLLOW_TOPDOWN=2,c.Camera.FOLLOW_TOPDOWN_TIGHT=3,c.Camera.prototype={preUpdate:function(){this.totalInView=0},follow:function(a,b){void 0===b&&(b=c.Camera.FOLLOW_LOCKON),this.target=a;var d;switch(b){case c.Camera.FOLLOW_PLATFORMER:var e=this.width/8,f=this.height/3;this.deadzone=new c.Rectangle((this.width-e)/2,(this.height-f)/2-.25*f,e,f);break;case c.Camera.FOLLOW_TOPDOWN:d=Math.max(this.width,this.height)/4,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_TOPDOWN_TIGHT:d=Math.max(this.width,this.height)/8,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_LOCKON:this.deadzone=null;break;default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(a){this.setPosition(Math.round(a.x-this.view.halfWidth),Math.round(a.y-this.view.halfHeight))},focusOnXY:function(a,b){this.setPosition(Math.round(a-this.view.halfWidth),Math.round(b-this.view.halfHeight))},update:function(){this.target&&this.updateTarget(),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateTarget:function(){this._targetPosition.copyFrom(this.target),this.target.parent&&this._targetPosition.multiply(this.target.parent.worldTransform.a,this.target.parent.worldTransform.d),this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this._targetPosition.x-this.deadzone.right),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this._targetPosition.y-this.deadzone.bottom)):(this.view.x=this._targetPosition.x-this.view.halfWidth,this.view.y=this._targetPosition.y-this.view.halfHeight)},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1,this.view.x<=this.bounds.x&&(this.atLimit.x=!0,this.view.x=this.bounds.x),this.view.right>=this.bounds.right&&(this.atLimit.x=!0,this.view.x=this.bounds.right-this.width),this.view.y<=this.bounds.top&&(this.atLimit.y=!0,this.view.y=this.bounds.top),this.view.bottom>=this.bounds.bottom&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom-this.height)},setPosition:function(a,b){this.view.x=a,this.view.y=b,this.bounds&&this.checkBounds()},setSize:function(a,b){this.view.width=a,this.view.height=b},reset:function(){this.target=null,this.view.x=0,this.view.y=0}},c.Camera.prototype.constructor=c.Camera,Object.defineProperty(c.Camera.prototype,"x",{get:function(){return this.view.x},set:function(a){this.view.x=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"y",{get:function(){return this.view.y},set:function(a){this.view.y=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"position",{get:function(){return this._position.set(this.view.centerX,this.view.centerY),this._position},set:function(a){"undefined"!=typeof a.x&&(this.view.x=a.x),"undefined"!=typeof a.y&&(this.view.y=a.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"width",{get:function(){return this.view.width},set:function(a){this.view.width=a}}),Object.defineProperty(c.Camera.prototype,"height",{get:function(){return this.view.height},set:function(a){this.view.height=a}}),c.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},c.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},c.State.prototype.constructor=c.State,c.StateManager=function(a,b){this.game=a,this.states={},this._pendingState=null,"undefined"!=typeof b&&null!==b&&(this._pendingState=b),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new c.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},c.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(a,b,d){void 0===d&&(d=!1);var e;return b instanceof c.State?e=b:"object"==typeof b?(e=b,e.game=this.game):"function"==typeof b&&(e=new b(this.game)),this.states[a]=e,d&&(this.game.isBooted?this.start(a):this._pendingState=a),e},remove:function(a){this.current===a&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[a]},start:function(a,b,c){void 0===b&&(b=!0),void 0===c&&(c=!1),this.checkState(a)&&(this._pendingState=a,this._clearWorld=b,this._clearCache=c,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!1),this._pendingState=this.current,this._clearWorld=a,this._clearCache=b,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var a=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,a),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache===!0&&this.game.cache.destroy()))},checkState:function(a){if(this.states[a]){var b=!1;return(this.states[a].preload||this.states[a].create||this.states[a].update||this.states[a].render)&&(b=!0),b===!1?(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):!0}return console.warn("Phaser.StateManager - No state found with the key: "+a),!1},link:function(a){this.states[a].game=this.game,this.states[a].add=this.game.add,this.states[a].make=this.game.make,this.states[a].camera=this.game.camera,this.states[a].cache=this.game.cache,this.states[a].input=this.game.input,this.states[a].load=this.game.load,this.states[a].math=this.game.math,this.states[a].sound=this.game.sound,this.states[a].scale=this.game.scale,this.states[a].state=this,this.states[a].stage=this.game.stage,this.states[a].time=this.game.time,this.states[a].tweens=this.game.tweens,this.states[a].world=this.game.world,this.states[a].particles=this.game.particles,this.states[a].rnd=this.game.rnd,this.states[a].physics=this.game.physics,this.states[a].key=a},unlink:function(a){this.states[a]&&(this.states[a].game=null,this.states[a].add=null,this.states[a].make=null,this.states[a].camera=null,this.states[a].cache=null,this.states[a].input=null,this.states[a].load=null,this.states[a].math=null,this.states[a].sound=null,this.states[a].scale=null,this.states[a].state=null,this.states[a].stage=null,this.states[a].time=null,this.states[a].tweens=null,this.states[a].world=null,this.states[a].particles=null,this.states[a].rnd=null,this.states[a].physics=null)},setCurrentState:function(a){this.callbackContext=this.states[a],this.link(a),this.onInitCallback=this.states[a].init||this.dummy,this.onPreloadCallback=this.states[a].preload||null,this.onLoadRenderCallback=this.states[a].loadRender||null,this.onLoadUpdateCallback=this.states[a].loadUpdate||null,this.onCreateCallback=this.states[a].create||null,this.onUpdateCallback=this.states[a].update||null,this.onPreRenderCallback=this.states[a].preRender||null,this.onRenderCallback=this.states[a].render||null,this.onResizeCallback=this.states[a].resize||null,this.onPausedCallback=this.states[a].paused||null,this.onResumedCallback=this.states[a].resumed||null,this.onPauseUpdateCallback=this.states[a].pauseUpdate||null,this.onShutDownCallback=this.states[a].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=a,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),a===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){this._created===!1&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(a){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,a)},resize:function(a,b){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,a,b)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===c.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},c.StateManager.prototype.constructor=c.StateManager,Object.defineProperty(c.StateManager.prototype,"created",{get:function(){return this._created}}),c.Signal=function(){},c.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!0,validateListener:function(a,b){if("function"!=typeof a)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",b))},_registerListener:function(a,b,d,e,f){var g,h=this._indexOfListener(a,d);if(-1!==h){if(g=this._bindings[h],g.isOnce()!==b)throw new Error("You cannot add"+(b?"":"Once")+"() then add"+(b?"Once":"")+"() the same listener without removing the relationship first.")}else g=new c.SignalBinding(this,a,b,d,e,f),this._addBinding(g);return this.memorize&&this._prevParams&&g.execute(this._prevParams),g},_addBinding:function(a){this._bindings||(this._bindings=[]);var b=this._bindings.length;do b--;while(this._bindings[b]&&a._priority<=this._bindings[b]._priority);this._bindings.splice(b+1,0,a)},_indexOfListener:function(a,b){if(!this._bindings)return-1;void 0===b&&(b=null);for(var c,d=this._bindings.length;d--;)if(c=this._bindings[d],c._listener===a&&c.context===b)return d;return-1},has:function(a,b){return-1!==this._indexOfListener(a,b)},add:function(a,b,c){this.validateListener(a,"add");var d=[];if(arguments.length>3)for(var e=3;e3)for(var e=3;ea||a>=this.children.length?-1:this.getChildAt(a)},c.Group.prototype.create=function(a,b,c,d,e){void 0===e&&(e=!0);var f=new this.classType(this.game,a,b,c,d);return f.exists=e,f.visible=e,f.alive=e,this.addChild(f),f.z=this.children.length,this.enableBody&&this.game.physics.enable(f,this.physicsBodyType,this.enableBodyDebug),f.events&&f.events.onAddedToGroup$dispatch(f,this),null===this.cursor&&(this.cursor=f),f},c.Group.prototype.createMultiple=function(a,b,c,d){void 0===d&&(d=!1);for(var e=0;a>e;e++)this.create(0,0,b,c,d)},c.Group.prototype.updateZ=function(){for(var a=this.children.length;a--;)this.children[a].z=a},c.Group.prototype.resetCursor=function(a){return void 0===a&&(a=0),a>this.children.length-1&&(a=0),this.cursor?(this.cursorIndex=a,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.next=function(){return this.cursor?(this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.previous=function(){return this.cursor?(0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.swap=function(a,b){this.swapChildren(a,b),this.updateZ()},c.Group.prototype.bringToTop=function(a){return a.parent===this&&this.getIndex(a)0&&(this.remove(a,!1,!0),this.addAt(a,0,!0)),a},c.Group.prototype.moveUp=function(a){if(a.parent===this&&this.getIndex(a)0){var b=this.getIndex(a),c=this.getAt(b-1);c&&this.swap(a,c)}return a},c.Group.prototype.xy=function(a,b,c){return 0>a||a>this.children.length?-1:(this.getChildAt(a).x=b,void(this.getChildAt(a).y=c))},c.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},c.Group.prototype.getIndex=function(a){return this.children.indexOf(a)},c.Group.prototype.replace=function(a,b){var d=this.getIndex(a);return-1!==d?(b.parent&&(b.parent instanceof c.Group?b.parent.remove(b):b.parent.removeChild(b)),this.remove(a),this.addAt(b,d),a):void 0},c.Group.prototype.hasProperty=function(a,b){var c=b.length;return 1===c&&b[0]in a?!0:2===c&&b[0]in a&&b[1]in a[b[0]]?!0:3===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]?!0:4===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]&&b[3]in a[b[0]][b[1]][b[2]]?!0:!1},c.Group.prototype.setProperty=function(a,b,c,d,e){if(void 0===e&&(e=!1),d=d||0,!this.hasProperty(a,b)&&(!e||d>0))return!1;var f=b.length;return 1===f?0===d?a[b[0]]=c:1==d?a[b[0]]+=c:2==d?a[b[0]]-=c:3==d?a[b[0]]*=c:4==d&&(a[b[0]]/=c):2===f?0===d?a[b[0]][b[1]]=c:1==d?a[b[0]][b[1]]+=c:2==d?a[b[0]][b[1]]-=c:3==d?a[b[0]][b[1]]*=c:4==d&&(a[b[0]][b[1]]/=c):3===f?0===d?a[b[0]][b[1]][b[2]]=c:1==d?a[b[0]][b[1]][b[2]]+=c:2==d?a[b[0]][b[1]][b[2]]-=c:3==d?a[b[0]][b[1]][b[2]]*=c:4==d&&(a[b[0]][b[1]][b[2]]/=c):4===f&&(0===d?a[b[0]][b[1]][b[2]][b[3]]=c:1==d?a[b[0]][b[1]][b[2]][b[3]]+=c:2==d?a[b[0]][b[1]][b[2]][b[3]]-=c:3==d?a[b[0]][b[1]][b[2]][b[3]]*=c:4==d&&(a[b[0]][b[1]][b[2]][b[3]]/=c)),!0},c.Group.prototype.checkProperty=function(a,b,d,e){return void 0===e&&(e=!1),!c.Utils.getProperty(a,b)&&e?!1:c.Utils.getProperty(a,b)!==d?!1:!0},c.Group.prototype.set=function(a,b,c,d,e,f,g){return void 0===g&&(g=!1),b=b.split("."),void 0===d&&(d=!1),void 0===e&&(e=!1),(d===!1||d&&a.alive)&&(e===!1||e&&a.visible)?this.setProperty(a,b,c,f,g):void 0},c.Group.prototype.setAll=function(a,b,c,d,e,f){void 0===c&&(c=!1),void 0===d&&(d=!1),void 0===f&&(f=!1),a=a.split("."),e=e||0;for(var g=0;g2){c=[];for(var d=2;d2){e=[];for(var f=2;f2){d=[null];for(var e=2;e2){d=[null];for(var e=2;e2){d=[null];for(var e=2;eb[this._sortProperty]?1:a.zb[this._sortProperty]?-1:0},c.Group.prototype.iterate=function(a,b,d,e,f,g){if(d===c.Group.RETURN_TOTAL&&0===this.children.length)return 0;for(var h=0,i=0;i0?this.children[this.children.length-1]:void 0},c.Group.prototype.getBottom=function(){return this.children.length>0?this.children[0]:void 0},c.Group.prototype.countLiving=function(){return this.iterate("alive",!0,c.Group.RETURN_TOTAL)},c.Group.prototype.countDead=function(){return this.iterate("alive",!1,c.Group.RETURN_TOTAL)},c.Group.prototype.getRandom=function(a,b){return 0===this.children.length?null:(a=a||0,b=b||this.children.length,c.ArrayUtils.getRandomItem(this.children,a,b))},c.Group.prototype.remove=function(a,b,c){if(void 0===b&&(b=!1),void 0===c&&(c=!1),0===this.children.length||-1===this.children.indexOf(a))return!1;c||!a.events||a.destroyPhase||a.events.onRemovedFromGroup$dispatch(a,this);var d=this.removeChild(a);return this.removeFromHash(a),this.updateZ(),this.cursor===a&&this.next(),b&&d&&d.destroy(!0),!0},c.Group.prototype.moveAll=function(a,b){if(void 0===b&&(b=!1),this.children.length>0&&a instanceof c.Group){do a.add(this.children[0],b);while(this.children.length>0);this.hash=[],this.cursor=null}return a},c.Group.prototype.removeAll=function(a,b){if(void 0===a&&(a=!1),void 0===b&&(b=!1),0!==this.children.length){do{!b&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var c=this.removeChild(this.children[0]);this.removeFromHash(c),a&&c&&c.destroy(!0)}while(this.children.length>0);this.hash=[],this.cursor=null}},c.Group.prototype.removeBetween=function(a,b,c,d){if(void 0===b&&(b=this.children.length-1),void 0===c&&(c=!1),void 0===d&&(d=!1),0!==this.children.length){if(a>b||0>a||b>this.children.length)return!1;for(var e=b;e>=a;){!d&&this.children[e].events&&this.children[e].events.onRemovedFromGroup$dispatch(this.children[e],this);var f=this.removeChild(this.children[e]);this.removeFromHash(f),c&&f&&f.destroy(!0),this.cursor===this.children[e]&&(this.cursor=null),e--}this.updateZ()}},c.Group.prototype.destroy=function(a,b){null===this.game||this.ignoreDestroy||(void 0===a&&(a=!0),void 0===b&&(b=!1),this.onDestroy.dispatch(this,a,b),this.removeAll(a),this.cursor=null,this.filters=null,this.pendingDestroy=!1,b||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(c.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,c.Group.RETURN_TOTAL)}}),Object.defineProperty(c.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(c.Group.prototype,"angle",{get:function(){return c.Math.radToDeg(this.rotation)},set:function(a){this.rotation=c.Math.degToRad(a)}}),c.World=function(a){c.Group.call(this,a,null,"__world",!1),this.bounds=new c.Rectangle(0,0,a.width,a.height),this.camera=null,this._definedSize=!1,this._width=a.width,this._height=a.height,this.game.state.onStateChange.add(this.stateChange,this)},c.World.prototype=Object.create(c.Group.prototype),c.World.prototype.constructor=c.World,c.World.prototype.boot=function(){this.camera=new c.Camera(this.game,0,0,0,this.game.width,this.game.height),this.camera.displayObject=this,this.camera.scale=this.scale,this.game.camera=this.camera,this.game.stage.addChild(this)},c.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},c.World.prototype.setBounds=function(a,b,c,d){this._definedSize=!0,this._width=c,this._height=d,this.bounds.setTo(a,b,c,d),this.x=a,this.y=b,this.camera.bounds&&this.camera.bounds.setTo(a,b,Math.max(c,this.game.width),Math.max(d,this.game.height)),this.game.physics.setBoundsToWorld()},c.World.prototype.resize=function(a,b){this._definedSize&&(athis.bounds.right&&(a.x=this.bounds.left)),e&&(a.y+a._currentBounds.heightthis.bounds.bottom&&(a.y=this.bounds.top))):(d&&a.x+bthis.bounds.right&&(a.x=this.bounds.left-b),e&&a.y+bthis.bounds.bottom&&(a.y=this.bounds.top-b))},Object.defineProperty(c.World.prototype,"width",{get:function(){return this.bounds.width},set:function(a){ag;g++)e>g?f.push("color: #ff2424; background: #fff"):f.push("color: #959595; background: #fff");console.log.apply(console,f)}else window.console&&console.log("Phaser v"+a+" | Pixi.js "+PIXI.VERSION+" | "+b+" | "+d+" | http://phaser.io")}},setUpRenderer:function(){if(this.canvas=c.Canvas.create(this,this.width,this.height,this.config.canvasID,!0),this.config.canvasStyle?this.canvas.style=this.config.canvasStyle:this.canvas.style["-webkit-full-screen"]="width: 100%; height: 100%",this.renderType===c.HEADLESS||this.renderType===c.CANVAS||this.renderType===c.AUTO&&!this.device.webGL){if(!this.device.canvas)throw new Error("Phaser.Game - Cannot create Canvas or WebGL context, aborting.");this.renderType=c.CANVAS,this.renderer=new PIXI.CanvasRenderer(this),this.context=this.renderer.context}else this.renderType=c.WEBGL,this.renderer=new PIXI.WebGLRenderer(this),this.context=null,this.canvas.addEventListener("webglcontextlost",this.contextLost.bind(this),!1),this.canvas.addEventListener("webglcontextrestored",this.contextRestored.bind(this),!1);this.device.cocoonJS&&(this.canvas.screencanvas=this.renderType===c.CANVAS?!0:!1),this.renderType!==c.HEADLESS&&(this.stage.smoothed=this.antialias,c.Canvas.addToDOM(this.canvas,this.parent,!1),c.Canvas.setTouchAction(this.canvas))},contextLost:function(a){a.preventDefault(),this.renderer.contextLost=!0},contextRestored:function(){this.renderer.initContext(),this.cache.clearGLTextures(),this.renderer.contextLost=!1},update:function(a){if(this.time.update(a),this._kickstart)return this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),this.updateRender(this.time.slowMotion*this.time.desiredFps),void(this._kickstart=!1);if(this._spiraling>1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var b=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*b,this.time.elapsed),0);var c=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/b),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=b&&(this._deltaTime-=b,this.currentUpdateID=c,this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),c++,!this.forceSingleUpdate||1!==c);)this.time.refresh();c>this._lastCount?this._spiraling++:c=c.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+c.Input.MAX_POINTERS+" pointers reached."),null;var a=this.pointers.length+1,b=new c.Pointer(this.game,a,c.PointerMode.TOUCH);return this.pointers.push(b),this["pointer"+a]=b,b},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(a);if(!this.pointer2.active)return this.pointer2.start(a);for(var b=2;b0;c++){var d=this.pointers[c];d.active&&b--}return a-b},getPointer:function(a){void 0===a&&(a=!1);for(var b=0;b=g&&this._localPoint.x=h&&this._localPoint.y=g&&this._localPoint.x=h&&this._localPoint.yi;i++)if(this.hitTest(a.children[i],b,d))return!0;return!1},onClickTrampoline:function(){this.activePointer.processClickTrampolines()}},c.Input.prototype.constructor=c.Input,Object.defineProperty(c.Input.prototype,"x",{get:function(){return this._x},set:function(a){this._x=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"y",{get:function(){return this._y},set:function(a){this._y=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"pollLocked",{get:function(){return this.pollRate>0&&this._pollCounterthis.game.time.time},justReleased:function(a){return a=a||250,this.isUp&&this.timeUp+a>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},c.DeviceButton.prototype.constructor=c.DeviceButton,Object.defineProperty(c.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),c.Pointer=function(a,b,d){this.game=a,this.id=b,this.type=c.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=d||c.PointerMode.CURSOR|c.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new c.DeviceButton(this,c.Pointer.LEFT_BUTTON),this.middleButton=new c.DeviceButton(this,c.Pointer.MIDDLE_BUTTON),this.rightButton=new c.DeviceButton(this,c.Pointer.RIGHT_BUTTON),this.backButton=new c.DeviceButton(this,c.Pointer.BACK_BUTTON),this.forwardButton=new c.DeviceButton(this,c.Pointer.FORWARD_BUTTON),this.eraserButton=new c.DeviceButton(this,c.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===b,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.active=!1,this.dirty=!1,this.position=new c.Point,this.positionDown=new c.Point,this.positionUp=new c.Point,this.circle=new c.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},c.Pointer.NO_BUTTON=0,c.Pointer.LEFT_BUTTON=1,c.Pointer.RIGHT_BUTTON=2,c.Pointer.MIDDLE_BUTTON=4,c.Pointer.BACK_BUTTON=8,c.Pointer.FORWARD_BUTTON=16,c.Pointer.ERASER_BUTTON=32,c.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(a,b){c.Pointer.LEFT_BUTTON&a&&this.leftButton.start(b),c.Pointer.RIGHT_BUTTON&a&&this.rightButton.start(b),c.Pointer.MIDDLE_BUTTON&a&&this.middleButton.start(b),c.Pointer.BACK_BUTTON&a&&this.backButton.start(b),c.Pointer.FORWARD_BUTTON&a&&this.forwardButton.start(b),c.Pointer.ERASER_BUTTON&a&&this.eraserButton.start(b)},processButtonsUp:function(a,b){a===c.Mouse.LEFT_BUTTON&&this.leftButton.stop(b),a===c.Mouse.RIGHT_BUTTON&&this.rightButton.stop(b),a===c.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(b),a===c.Mouse.BACK_BUTTON&&this.backButton.stop(b),a===c.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(b),5===a&&this.eraserButton.stop(b)},updateButtons:function(a){this.button=a.button;var b="down"===a.type.toLowerCase().substr(-4);void 0!==a.buttons?b?this.processButtonsDown(a.buttons,a):this.processButtonsUp(a.button,a):b?this.leftButton.start(a):(this.leftButton.stop(a),this.rightButton.stop(a)),a.ctrlKey&&this.leftButton.isDown&&this.rightButton.start(a),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(a){var b=this.game.input;return a.pointerId&&(this.pointerId=a.pointerId),this.identifier=a.identifier,this.target=a.target,this.isMouse?this.updateButtons(a):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(a,!0),this.positionDown.setTo(this.x,this.y),(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.x=this.x,b.y=this.y,b.position.setTo(this.x,this.y),b.onDown.dispatch(this,a),b.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var a=this.game.input;this.active&&(this.dirty&&(a.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),this._holdSent===!1&&this.duration>=a.holdRate&&((a.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||a.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||a.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===a.totalActivePointers)&&a.onHold.dispatch(this),this._holdSent=!0),a.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+a.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>a.recordLimit&&this._history.shift()))},move:function(a,b){var d=this.game.input;if(!d.pollLocked){if(void 0===b&&(b=!1),void 0!==a.button&&(this.button=a.button),b&&this.isMouse&&this.updateButtons(a),this.clientX=a.clientX,this.clientY=a.clientY,this.pageX=a.pageX,this.pageY=a.pageY,this.screenX=a.screenX,this.screenY=a.screenY,this.isMouse&&d.mouse.locked&&!b&&(this.rawMovementX=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.rawMovementY=a.movementY||a.mozMovementY||a.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*d.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*d.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(d.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||d.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||d.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===d.totalActivePointers)&&(d.activePointer=this,d.x=this.x,d.y=this.y,d.position.setTo(d.x,d.y),d.circle.x=d.x,d.circle.y=d.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY),this.game.paused)return this;for(var e=d.moveCallbacks.length;e--;)d.moveCallbacks[e].callback.call(d.moveCallbacks[e].context,this,this.x,this.y,b);return null!==this.targetObject&&this.targetObject.isDragged===!0?this.targetObject.update(this)===!1&&(this.targetObject=null):d.interactiveItems.total>0&&this.processInteractiveObjects(b),this}},processInteractiveObjects:function(a){for(var b=Number.MAX_VALUE,c=-1,d=null,e=this.game.input.interactiveItems.first;e;)e.checked=!1,e.validForInput(c,b,!1)&&(e.checked=!0,(a&&e.checkPointerDown(this,!0)||!a&&e.checkPointerOver(this,!0))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e)),e=this.game.input.interactiveItems.next;for(var e=this.game.input.interactiveItems.first;e;)!e.checked&&e.validForInput(c,b,!0)&&(a&&e.checkPointerDown(this,!1)||!a&&e.checkPointerOver(this,!1))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e),e=this.game.input.interactiveItems.next;return null===d?this.targetObject&&(this.targetObject._pointerOutHandler(this),this.targetObject=null):null===this.targetObject?(this.targetObject=d,d._pointerOverHandler(this)):this.targetObject===d?d.update(this)===!1&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this),this.targetObject=d,this.targetObject._pointerOverHandler(this)),null!==this.targetObject},leave:function(a){this.withinGame=!1,this.move(a,!1)},stop:function(a){var b=this.game.input;return this._stateReset&&this.withinGame?void a.preventDefault():(this.timeUp=this.game.time.time,(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.onUp.dispatch(this,a),this.duration>=0&&this.duration<=b.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(a.pageX,a.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),this.isMouse===!1&&b.currentPointers--,b.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this)},justPressed:function(a){return a=a||this.game.input.justPressedRate,this.isDown===!0&&this.timeDown+a>this.game.time.time},justReleased:function(a){return a=a||this.game.input.justReleasedRate,this.isUp&&this.timeUp+a>this.game.time.time},addClickTrampoline:function(a,b,c,d){if(this.isDown){for(var e=this._clickTrampolines=this._clickTrampolines||[],f=0;fd;d++)this._pointerData[d]={id:d,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1};this.snapOffset=new c.Point,this.enabled=!0,this._wasEnabled=!0}return this.sprite.events.onAddedToGroup.add(this.addedToGroup,this),this.sprite.events.onRemovedFromGroup.add(this.removedFromGroup,this),this.flagged=!1,this.sprite},addedToGroup:function(){this._dragPhase||this._wasEnabled&&!this.enabled&&this.start()},removedFromGroup:function(){this._dragPhase||(this.enabled?(this._wasEnabled=!0,this.stop()):this._wasEnabled=!1)},reset:function(){this.enabled=!1,this.flagged=!1;for(var a=0;10>a;a++)this._pointerData[a]={id:a,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1}},stop:function(){this.enabled!==!1&&(this.enabled=!1,this.game.input.interactiveItems.remove(this))},destroy:function(){this.sprite&&(this._setHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.enabled=!1,this.game.input.interactiveItems.remove(this),this._pointerData.length=0,this.boundsRect=null,this.boundsSprite=null,this.sprite=null)},validForInput:function(a,b,c){return void 0===c&&(c=!0),!this.enabled||0===this.sprite.scale.x||0===this.sprite.scale.y||this.priorityIDa||this.priorityID===a&&this.sprite.renderOrderIDb;b++)if(this._pointerData[b].isOver)return!0},pointerOut:function(a){if(!this.enabled)return!1;if(void 0!==a)return this._pointerData[a].isOut;for(var b=0;10>b;b++)if(this._pointerData[b].isOut)return!0},pointerTimeOver:function(a){return a=a||0,this._pointerData[a].timeOver},pointerTimeOut:function(a){return a=a||0,this._pointerData[a].timeOut},pointerDragged:function(a){return a=a||0,this._pointerData[a].isDragged},checkPointerDown:function(a,b){return a.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1), -!b&&this.pixelPerfectClick?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPointerOver:function(a,b){return this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectOver?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPixel:function(a,b,c){if(this.sprite.texture.baseTexture.source){if(null===a&&null===b){this.game.input.getLocalPosition(this.sprite,c,this._tempPoint);var a=this._tempPoint.x,b=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(a-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(b-=-this.sprite.texture.frame.height*this.sprite.anchor.y),a+=this.sprite.texture.frame.x,b+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(a-=this.sprite.texture.trim.x,b-=this.sprite.texture.trim.y,athis.sprite.texture.crop.right||bthis.sprite.texture.crop.bottom))return this._dx=a,this._dy=b,!1;this._dx=a,this._dy=b,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,a,b,1,1,0,0,1,1);var d=this.game.input.hitContext.getImageData(0,0,1,1);if(d.data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(a){return null!==this.sprite&&void 0!==this.sprite.parent?this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this.draggable&&this._draggedPointerID===a.id?this.updateDrag(a):this._pointerData[a.id].isOver?this.checkPointerOver(a)?(this._pointerData[a.id].x=a.x-this.sprite.x,this._pointerData[a.id].y=a.y-this.sprite.y,!0):(this._pointerOutHandler(a),!1):void 0:(this._pointerOutHandler(a),!1):void 0},_pointerOverHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];(b.isOver===!1||a.dirty)&&(b.isOver=!0,b.isOut=!1,b.timeOver=this.game.time.time,b.x=a.x-this.sprite.x,b.y=a.y-this.sprite.y,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,a))}},_pointerOutHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];b.isOver=!1,b.isOut=!0,b.timeOut=this.game.time.time,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.sprite&&this.sprite.events&&this.sprite.events.onInputOut$dispatch(this.sprite,a)}},_touchedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(!b.isDown&&b.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,a))return;b.isDown=!0,b.isUp=!1,b.timeDown=this.game.time.time,this.sprite&&this.sprite.events&&this.sprite.events.onInputDown$dispatch(this.sprite,a),a.dirty=!0,this.draggable&&this.isDragged===!1&&this.startDrag(a),this.bringToTop&&this.sprite.bringToTop()}return this.consumePointerEvent}},_releasedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(b.isDown&&a.isUp){b.isDown=!1,b.isUp=!0,b.timeUp=this.game.time.time,b.downDuration=b.timeUp-b.timeDown;var c=this.checkPointerOver(a);this.sprite&&this.sprite.events&&(this.sprite.events.onInputUp$dispatch(this.sprite,a,c),c&&(c=this.checkPointerOver(a))),b.isOver=c,!c&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),a.dirty=!0,this.draggable&&this.isDragged&&this._draggedPointerID===a.id&&this.stopDrag(a)}}},updateDrag:function(a){if(a.isUp)return this.stopDrag(a),!1;var b=this.globalToLocalX(a.x)+this._dragPoint.x+this.dragOffset.x,c=this.globalToLocalY(a.y)+this._dragPoint.y+this.dragOffset.y;return this.sprite.fixedToCamera?(this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=b),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=c),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y))):(this.allowHorizontalDrag&&(this.sprite.x=b),this.allowVerticalDrag&&(this.sprite.y=c),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))),this.sprite.events.onDragUpdate.dispatch(this.sprite,a,b,c,this.snapPoint),!0},justOver:function(a,b){return a=a||0,b=b||500,this._pointerData[a].isOver&&this.overDuration(a)a;a++)this._pointerData[a].isDragged=!1;this.draggable=!1,this.isDragged=!1,this._draggedPointerID=-1},startDrag:function(a){var b=this.sprite.x,c=this.sprite.y;if(this.isDragged=!0,this._draggedPointerID=a.id,this._pointerData[a.id].isDragged=!0,this.sprite.fixedToCamera)this.dragFromCenter?(this.sprite.centerOn(a.x,a.y),this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y)):this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y);else{if(this.dragFromCenter){var d=this.sprite.getBounds();this.sprite.x=this.globalToLocalX(a.x)+(this.sprite.x-d.centerX),this.sprite.y=this.globalToLocalY(a.y)+(this.sprite.y-d.centerY)}this._dragPoint.setTo(this.sprite.x-this.globalToLocalX(a.x),this.sprite.y-this.globalToLocalY(a.y))}this.updateDrag(a),this.bringToTop&&(this._dragPhase=!0,this.sprite.bringToTop()),this.dragStartPoint.set(b,c),this.sprite.events.onDragStart$dispatch(this.sprite,a,b,c)},globalToLocalX:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.x,a*=this.game.scale.grid.scaleFluidInversed.x),a},globalToLocalY:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.y,a*=this.game.scale.grid.scaleFluidInversed.y),a},stopDrag:function(a){this.isDragged=!1,this._draggedPointerID=-1,this._pointerData[a.id].isDragged=!1,this._dragPhase=!1,this.snapOnRelease&&(this.sprite.fixedToCamera?(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY):(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY)),this.sprite.events.onDragStop$dispatch(this.sprite,a),this.checkPointerOver(a)===!1&&this._pointerOutHandler(a)},setDragLock:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!0),this.allowHorizontalDrag=a,this.allowVerticalDrag=b},enableSnap:function(a,b,c,d,e,f){void 0===c&&(c=!0),void 0===d&&(d=!1),void 0===e&&(e=0),void 0===f&&(f=0),this.snapX=a,this.snapY=b,this.snapOffsetX=e,this.snapOffsetY=f,this.snapOnDrag=c,this.snapOnRelease=d},disableSnap:function(){this.snapOnDrag=!1,this.snapOnRelease=!1},checkBoundsRect:function(){this.sprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},c.InputHandler.prototype.constructor=c.InputHandler,c.Component=function(){},c.Component.Angle=function(){},c.Component.Angle.prototype={angle:{get:function(){return c.Math.wrapAngle(c.Math.radToDeg(this.rotation))},set:function(a){this.rotation=c.Math.degToRad(c.Math.wrapAngle(a))}}},c.Component.Animation=function(){},c.Component.Animation.prototype={play:function(a,b,c,d){return this.animations?this.animations.play(a,b,c,d):void 0}},c.Component.AutoCull=function(){},c.Component.AutoCull.prototype={autoCull:!1,inCamera:{get:function(){return this.autoCull||this.checkWorldBounds||(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y),this.game.world.camera.view.intersects(this._bounds)}}},c.Component.Bounds=function(){},c.Component.Bounds.prototype={offsetX:{get:function(){return this.anchor.x*this.width}},offsetY:{get:function(){return this.anchor.y*this.height}},left:{get:function(){return this.x-this.offsetX}},right:{get:function(){return this.x+this.width-this.offsetX}},top:{get:function(){return this.y-this.offsetY}},bottom:{get:function(){return this.y+this.height-this.offsetY}}},c.Component.BringToTop=function(){},c.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringToTop(this),this},c.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendToBack(this),this},c.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},c.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},c.Component.Core=function(){},c.Component.Core.install=function(a){c.Utils.mixinPrototype(this,c.Component.Core.prototype),this.components={};for(var b=0;bthis.maxHealth&&(this.health=this.maxHealth)),this}},c.Component.InCamera=function(){},c.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},c.Component.InputEnabled=function(){},c.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(a){a?null===this.input?(this.input=new c.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},c.Component.InWorld=function(){},c.Component.InWorld.preUpdate=function(){if((this.autoCull||this.checkWorldBounds)&&(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull&&(this.game.world.camera.view.intersects(this._bounds)?(this.renderable=!0,this.game.world.camera.totalInView++):this.renderable=!1),this.checkWorldBounds))if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1;return!0},c.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},c.Component.LifeSpan=function(){},c.Component.LifeSpan.preUpdate=function(){return this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0)?(this.kill(),!1):!0},c.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(a){return void 0===a&&(a=1),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.heal&&this.heal(a),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},c.Component.LoadTexture=function(){},c.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(a,b,d){b=b||0,(d||void 0===d)&&this.animations&&this.animations.stop(),this.key=a,this.customRender=!1;var e=this.game.cache,f=!0,g=!this.texture.baseTexture.scaleMode;if(c.RenderTexture&&a instanceof c.RenderTexture)this.key=a.key,this.setTexture(a);else if(c.BitmapData&&a instanceof c.BitmapData)this.customRender=!0,this.setTexture(a.texture),e.hasFrameData(a.key,c.Cache.BITMAPDATA)&&(f=!this.animations.loadFrameData(e.getFrameData(a.key,c.Cache.BITMAPDATA),b));else if(c.Video&&a instanceof c.Video){this.customRender=!0;var h=a.texture.valid;this.setTexture(a.texture),this.setFrame(a.texture.frame.clone()),a.onChangeSource.add(this.resizeFrame,this),this.texture.valid=h}else if(a instanceof PIXI.Texture)this.setTexture(a);else{var i=e.getImage(a,!0);this.key=i.key,this.setTexture(new PIXI.Texture(i.base)),f=!this.animations.loadFrameData(i.frameData,b)}f&&(this._frame=c.Rectangle.clone(this.texture.frame)),g||(this.texture.baseTexture.scaleMode=1)},setFrame:function(a){this._frame=a,this.texture.frame.x=a.x,this.texture.frame.y=a.y,this.texture.frame.width=a.width,this.texture.frame.height=a.height,this.texture.crop.x=a.x,this.texture.crop.y=a.y,this.texture.crop.width=a.width,this.texture.crop.height=a.height,a.trimmed?(this.texture.trim?(this.texture.trim.x=a.spriteSourceSizeX,this.texture.trim.y=a.spriteSourceSizeY,this.texture.trim.width=a.sourceSizeW,this.texture.trim.height=a.sourceSizeH):this.texture.trim={x:a.spriteSourceSizeX,y:a.spriteSourceSizeY,width:a.sourceSizeW,height:a.sourceSizeH},this.texture.width=a.sourceSizeW,this.texture.height=a.sourceSizeH,this.texture.frame.width=a.sourceSizeW,this.texture.frame.height=a.sourceSizeH):!a.trimmed&&this.texture.trim&&(this.texture.trim=null),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(a,b,c){this.texture.frame.resize(b,c),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(a){this.animations.frame=a}},frameName:{get:function(){return this.animations.frameName},set:function(a){this.animations.frameName=a}}},c.Component.Overlap=function(){},c.Component.Overlap.prototype={overlap:function(a){return c.Rectangle.intersects(this.getBounds(),a.getBounds())}},c.Component.PhysicsBody=function(){},c.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this._exists&&this.parent.exists?!0:(this.renderOrderID=-1,!1))},c.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},c.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(a){this.position.x=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(a){this.position.y=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},c.Component.Reset=function(){},c.Component.Reset.prototype.reset=function(a,b,c){return void 0===c&&(c=1),this.world.set(a,b),this.position.set(a,b),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=c),this.components.PhysicsBody&&this.body&&this.body.reset(a,b,!1,!1),this},c.Component.ScaleMinMax=function(){},c.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(a){this.scaleMin&&(a.athis.scaleMax.x&&(a.a=this.scaleMax.x),a.d>this.scaleMax.y&&(a.d=this.scaleMax.y))},setScaleMinMax:function(a,b,d,e){void 0===b?b=d=e=a:void 0===d&&(d=e=b,b=a),null===a?this.scaleMin=null:this.scaleMin?this.scaleMin.set(a,b):this.scaleMin=new c.Point(a,b),null===d?this.scaleMax=null:this.scaleMax?this.scaleMax.set(d,e):this.scaleMax=new c.Point(d,e),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},c.Component.Smoothed=function(){},c.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(a){a?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},c.GameObjectFactory=function(a){this.game=a,this.world=this.game.world},c.GameObjectFactory.prototype={existing:function(a){return this.world.add(a)},image:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Image(this.game,a,b,d,e))},sprite:function(a,b,c,d,e){return void 0===e&&(e=this.world),e.create(a,b,c,d)},creature:function(a,b,d,e,f){void 0===f&&(f=this.world);var g=new c.Creature(this.game,a,b,d,e);return f.add(g),g},tween:function(a){return this.game.tweens.create(a)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},physicsGroup:function(a,b,d,e){return new c.Group(this.game,b,d,e,!0,a)},spriteBatch:function(a,b,d){return void 0===a&&(a=null),void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},tileSprite:function(a,b,d,e,f,g,h){return void 0===h&&(h=this.world),h.add(new c.TileSprite(this.game,a,b,d,e,f,g))},rope:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.Rope(this.game,a,b,d,e,f))},text:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Text(this.game,a,b,d,e))},button:function(a,b,d,e,f,g,h,i,j,k){return void 0===k&&(k=this.world),k.add(new c.Button(this.game,a,b,d,e,f,g,h,i,j))},graphics:function(a,b,d){return void 0===d&&(d=this.world),d.add(new c.Graphics(this.game,a,b))},emitter:function(a,b,d){return this.game.particles.add(new c.Particles.Arcade.Emitter(this.game,a,b,d))},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.BitmapText(this.game,a,b,d,e,f))},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},video:function(a,b){return new c.Video(this.game,a,b)},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a},plugin:function(a){return this.game.plugins.add(a)}},c.GameObjectFactory.prototype.constructor=c.GameObjectFactory,c.GameObjectCreator=function(a){this.game=a,this.world=this.game.world},c.GameObjectCreator.prototype={image:function(a,b,d,e){return new c.Image(this.game,a,b,d,e)},sprite:function(a,b,d,e){return new c.Sprite(this.game,a,b,d,e)},tween:function(a){return new c.Tween(a,this.game,this.game.tweens)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},spriteBatch:function(a,b,d){return void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},tileSprite:function(a,b,d,e,f,g){return new c.TileSprite(this.game,a,b,d,e,f,g)},rope:function(a,b,d,e,f){return new c.Rope(this.game,a,b,d,e,f)},text:function(a,b,d,e){return new c.Text(this.game,a,b,d,e)},button:function(a,b,d,e,f,g,h,i,j){return new c.Button(this.game,a,b,d,e,f,g,h,i,j)},graphics:function(a,b){return new c.Graphics(this.game,a,b)},emitter:function(a,b,d){return new c.Particles.Arcade.Emitter(this.game,a,b,d)},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return new c.BitmapText(this.game,a,b,d,e,f,g)},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a}},c.GameObjectCreator.prototype.constructor=c.GameObjectCreator,c.Sprite=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.SPRITE,this.physicsType=c.SPRITE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Sprite.prototype=Object.create(PIXI.Sprite.prototype),c.Sprite.prototype.constructor=c.Sprite,c.Component.Core.install.call(c.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Sprite.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Sprite.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Sprite.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Sprite.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Sprite.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Image=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.IMAGE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Image.prototype=Object.create(PIXI.Sprite.prototype), -c.Image.prototype.constructor=c.Image,c.Component.Core.install.call(c.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","Smoothed"]),c.Image.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Image.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Image.prototype.preUpdate=function(){return this.preUpdateInWorld()?this.preUpdateCore():!1},c.Button=function(a,b,d,e,f,g,h,i,j,k){b=b||0,d=d||0,e=e||null,f=f||null,g=g||this,c.Image.call(this,a,b,d,e,i),this.type=c.BUTTON,this.physicsType=c.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new c.Signal,this.onInputOut=new c.Signal,this.onInputDown=new c.Signal,this.onInputUp=new c.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=c.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(h,i,j,k),null!==f&&this.onInputUp.add(f,g),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},c.Button.prototype=Object.create(c.Image.prototype),c.Button.prototype.constructor=c.Button;var f="Over",g="Out",h="Down",i="Up";c.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},c.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},c.Button.prototype.setStateFrame=function(a,b,c){var d="_on"+a+"Frame";null!==b?(this[d]=b,c&&this.changeStateFrame(a)):this[d]=null},c.Button.prototype.changeStateFrame=function(a){if(this.freezeFrames)return!1;var b="_on"+a+"Frame",c=this[b];return"string"==typeof c?(this.frameName=c,!0):"number"==typeof c?(this.frame=c,!0):!1},c.Button.prototype.setFrames=function(a,b,c,d){this.setStateFrame(f,a,this.input.pointerOver()),this.setStateFrame(g,b,!this.input.pointerOver()),this.setStateFrame(h,c,this.input.pointerDown()),this.setStateFrame(i,d,this.input.pointerUp())},c.Button.prototype.setStateSound=function(a,b,d){var e="on"+a+"Sound",f="on"+a+"SoundMarker";b instanceof c.Sound||b instanceof c.AudioSprite?(this[e]=b,this[f]="string"==typeof d?d:""):(this[e]=null,this[f]="")},c.Button.prototype.playStateSound=function(a){var b="on"+a+"Sound",c=this[b];if(c){var d="on"+a+"SoundMarker",e=this[d];return c.play(e),!0}return!1},c.Button.prototype.setSounds=function(a,b,c,d,e,j,k,l){this.setStateSound(f,a,b),this.setStateSound(g,e,j),this.setStateSound(h,c,d),this.setStateSound(i,k,l)},c.Button.prototype.setOverSound=function(a,b){this.setStateSound(f,a,b)},c.Button.prototype.setOutSound=function(a,b){this.setStateSound(g,a,b)},c.Button.prototype.setDownSound=function(a,b){this.setStateSound(h,a,b)},c.Button.prototype.setUpSound=function(a,b){this.setStateSound(i,a,b)},c.Button.prototype.onInputOverHandler=function(a,b){b.justReleased()&&(this.justReleasedPreventsOver&b.pointerMode)===b.pointerMode||(this.changeStateFrame(f),(!this.onOverMouseOnly||b.isMouse)&&(this.playStateSound(f),this.onInputOver&&this.onInputOver.dispatch(this,b)))},c.Button.prototype.onInputOutHandler=function(a,b){this.changeStateFrame(g),this.playStateSound(g),this.onInputOut&&this.onInputOut.dispatch(this,b)},c.Button.prototype.onInputDownHandler=function(a,b){this.changeStateFrame(h),this.playStateSound(h),this.onInputDown&&this.onInputDown.dispatch(this,b)},c.Button.prototype.onInputUpHandler=function(a,b,c){if(this.playStateSound(i),this.onInputUp&&this.onInputUp.dispatch(this,b,c),!this.freezeFrames)if(this.forceOut===!0||(this.forceOut&b.pointerMode)===b.pointerMode)this.changeStateFrame(g);else{var d=this.changeStateFrame(i);d||(c?this.changeStateFrame(f):this.changeStateFrame(g))}},c.SpriteBatch=function(a,b,d,e){(void 0===b||null===b)&&(b=a.world),PIXI.SpriteBatch.call(this),c.Group.call(this,a,b,d,e),this.type=c.SPRITEBATCH},c.SpriteBatch.prototype=c.Utils.extend(!0,c.SpriteBatch.prototype,c.Group.prototype,PIXI.SpriteBatch.prototype),c.SpriteBatch.prototype.constructor=c.SpriteBatch,c.TileSprite=function(){},c.Device=function(){this.deviceReadyAt=0,this.initialized=!1,this.desktop=!1,this.iOS=!1,this.iOSVersion=0,this.cocoonJS=!1,this.cocoonJSApp=!1,this.cordova=!1,this.node=!1,this.nodeWebkit=!1,this.electron=!1,this.ejecta=!1,this.crosswalk=!1,this.android=!1,this.chromeOS=!1,this.linux=!1,this.macOS=!1,this.windows=!1,this.windowsPhone=!1,this.canvas=!1,this.canvasBitBltShift=null,this.webGL=!1,this.file=!1,this.fileSystem=!1,this.localStorage=!1,this.worker=!1,this.css3D=!1,this.pointerLock=!1,this.typedArray=!1,this.vibration=!1,this.getUserMedia=!0,this.quirksMode=!1,this.touch=!1,this.mspointer=!1,this.wheelEvent=null,this.arora=!1,this.chrome=!1,this.chromeVersion=0,this.epiphany=!1,this.firefox=!1,this.firefoxVersion=0,this.ie=!1,this.ieVersion=0,this.trident=!1,this.tridentVersion=0,this.mobileSafari=!1,this.midori=!1,this.opera=!1,this.safari=!1,this.webApp=!1,this.silk=!1,this.audioData=!1,this.webAudio=!1,this.ogg=!1,this.opus=!1,this.mp3=!1,this.wav=!1,this.m4a=!1,this.webm=!1,this.oggVideo=!1,this.h264Video=!1,this.mp4Video=!1,this.webmVideo=!1,this.vp9Video=!1,this.hlsVideo=!1,this.iPhone=!1,this.iPhone4=!1,this.iPad=!1,this.pixelRatio=0,this.littleEndian=!1,this.LITTLE_ENDIAN=!1,this.support32bit=!1,this.fullscreen=!1,this.requestFullscreen="",this.cancelFullscreen="",this.fullscreenKeyboard=!1},c.Device=new c.Device,c.Device.onInitialized=new c.Signal,c.Device.whenReady=function(a,b,c){var d=this._readyCheck;if(this.deviceReadyAt||!d)a.call(b,this);else if(d._monitor||c)d._queue=d._queue||[],d._queue.push([a,b]);else{d._monitor=d.bind(this),d._queue=d._queue||[],d._queue.push([a,b]);var e="undefined"!=typeof window.cordova,f=navigator.isCocoonJS;"complete"===document.readyState||"interactive"===document.readyState?window.setTimeout(d._monitor,0):e&&!f?document.addEventListener("deviceready",d._monitor,!1):(document.addEventListener("DOMContentLoaded",d._monitor,!1),window.addEventListener("load",d._monitor,!1))}},c.Device._readyCheck=function(){var a=this._readyCheck;if(document.body){if(!this.deviceReadyAt){this.deviceReadyAt=Date.now(),document.removeEventListener("deviceready",a._monitor),document.removeEventListener("DOMContentLoaded",a._monitor),window.removeEventListener("load",a._monitor),this._initialize(),this.initialized=!0,this.onInitialized.dispatch(this);for(var b;b=a._queue.shift();){var c=b[0],d=b[1];c.call(d,this)}this._readyCheck=null,this._initialize=null,this.onInitialized=null}}else window.setTimeout(a._monitor,20)},c.Device._initialize=function(){function a(){var a=navigator.userAgent;/Playstation Vita/.test(a)?l.vita=!0:/Kindle/.test(a)||/\bKF[A-Z][A-Z]+/.test(a)||/Silk.*Mobile Safari/.test(a)?l.kindle=!0:/Android/.test(a)?l.android=!0:/CrOS/.test(a)?l.chromeOS=!0:/iP[ao]d|iPhone/i.test(a)?(l.iOS=!0,navigator.appVersion.match(/OS (\d+)/),l.iOSVersion=parseInt(RegExp.$1,10)):/Linux/.test(a)?l.linux=!0:/Mac OS/.test(a)?l.macOS=!0:/Windows/.test(a)&&(l.windows=!0),(/Windows Phone/i.test(a)||/IEMobile/i.test(a))&&(l.android=!1,l.iOS=!1,l.macOS=!1,l.windows=!0,l.windowsPhone=!0);var b=/Silk/.test(a);(l.windows||l.macOS||l.linux&&!b||l.chromeOS)&&(l.desktop=!0),(l.windowsPhone||/Windows NT/i.test(a)&&/Touch/i.test(a))&&(l.desktop=!1)}function b(){l.canvas=!!window.CanvasRenderingContext2D||l.cocoonJS;try{l.localStorage=!!localStorage.getItem}catch(a){l.localStorage=!1}l.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),l.fileSystem=!!window.requestFileSystem,l.webGL=function(){try{var a=document.createElement("canvas");return a.screencanvas=!1,!!window.WebGLRenderingContext&&(a.getContext("webgl")||a.getContext("experimental-webgl"))}catch(b){return!1}}(),l.webGL=!!l.webGL,l.worker=!!window.Worker,l.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,l.quirksMode="CSS1Compat"===document.compatMode?!1:!0,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,l.getUserMedia=l.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,l.firefox&&l.firefoxVersion<21&&(l.getUserMedia=!1),!l.iOS&&(l.ie||l.firefox||l.chrome)&&(l.canvasBitBltShift=!0),(l.safari||l.mobileSafari)&&(l.canvasBitBltShift=!1)}function c(){("ontouchstart"in document.documentElement||window.navigator.maxTouchPoints&&window.navigator.maxTouchPoints>=1)&&(l.touch=!0),(window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(l.mspointer=!0),l.cocoonJS||("onwheel"in window||l.ie&&"WheelEvent"in window?l.wheelEvent="wheel":"onmousewheel"in window?l.wheelEvent="mousewheel":l.firefox&&"MouseScrollEvent"in window&&(l.wheelEvent="DOMMouseScroll"))}function d(){for(var a=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],b=document.createElement("div"),c=0;c0&&"none"!==a}var l=this;a(),g(),f(),e(),k(),h(),b(),d(),c()},c.Device.canPlayAudio=function(a){return"mp3"===a&&this.mp3?!0:"ogg"===a&&(this.ogg||this.opus)?!0:"m4a"===a&&this.m4a?!0:"opus"===a&&this.opus?!0:"wav"===a&&this.wav?!0:"webm"===a&&this.webm?!0:!1},c.Device.canPlayVideo=function(a){return"webm"===a&&(this.webmVideo||this.vp9Video)?!0:"mp4"===a&&(this.mp4Video||this.h264Video)?!0:"ogg"!==a&&"ogv"!==a||!this.oggVideo?"mpeg"===a&&this.hlsVideo?!0:!1:!0},c.Device.isConsoleOpen=function(){return window.console&&window.console.firebug?!0:window.console&&(console.profile(),console.profileEnd(),console.clear&&console.clear(),console.profiles)?console.profiles.length>0:!1},c.Device.isAndroidStockBrowser=function(){var a=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return a&&a[1]<537},c.Canvas={create:function(a,b,c,d,e){if(b=b||256,c=c||256,void 0===e)var f=PIXI.CanvasPool.create(a,b,c);else var f=document.createElement("canvas");return"string"==typeof d&&""!==d&&(f.id=d),f.width=b,f.height=c,f.style.display="block",f},setBackgroundColor:function(a,b){return b=b||"rgb(0,0,0)",a.style.backgroundColor=b,a},setTouchAction:function(a,b){return b=b||"none",a.style.msTouchAction=b,a.style["ms-touch-action"]=b,a.style["touch-action"]=b,a},setUserSelect:function(a,b){return b=b||"none",a.style["-webkit-touch-callout"]=b,a.style["-webkit-user-select"]=b,a.style["-khtml-user-select"]=b,a.style["-moz-user-select"]=b,a.style["-ms-user-select"]=b,a.style["user-select"]=b,a.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",a},addToDOM:function(a,b,c){var d;return void 0===c&&(c=!0),b&&("string"==typeof b?d=document.getElementById(b):"object"==typeof b&&1===b.nodeType&&(d=b)),d||(d=document.body),c&&d.style&&(d.style.overflow="hidden"),d.appendChild(a),a},removeFromDOM:function(a){a.parentNode&&a.parentNode.removeChild(a)},setTransform:function(a,b,c,d,e,f,g){return a.setTransform(d,f,g,e,b,c),a},setSmoothingEnabled:function(a,b){var d=c.Canvas.getSmoothingPrefix(a);return d&&(a[d]=b),a},getSmoothingPrefix:function(a){var b=["i","webkitI","msI","mozI","oI"];for(var c in b){var d=b[c]+"mageSmoothingEnabled";if(d in a)return d}return null},getSmoothingEnabled:function(a){var b=c.Canvas.getSmoothingPrefix(a);return b?a[b]:void 0},setImageRenderingCrisp:function(a){for(var b=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],c=0;ca},fuzzyGreaterThan:function(a,b,c){return void 0===c&&(c=1e-4),a>b-c},fuzzyCeil:function(a,b){return void 0===b&&(b=1e-4),Math.ceil(a-b)},fuzzyFloor:function(a,b){return void 0===b&&(b=1e-4),Math.floor(a+b)},average:function(){for(var a=0,b=arguments.length,c=0;b>c;c++)a+=+arguments[c];return a/b},shear:function(a){return a%1},snapTo:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.round(a/b),c+a)},snapToFloor:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.floor(a/b),c+a)},snapToCeil:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.ceil(a/b),c+a)},roundTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.round(a*d)/d},floorTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.floor(a*d)/d},ceilTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.ceil(a*d)/d},angleBetween:function(a,b,c,d){return Math.atan2(d-b,c-a)},angleBetweenY:function(a,b,c,d){return Math.atan2(c-a,d-b)},angleBetweenPoints:function(a,b){return Math.atan2(b.y-a.y,b.x-a.x)},angleBetweenPointsY:function(a,b){return Math.atan2(b.x-a.x,b.y-a.y)},reverseAngle:function(a){return this.normalizeAngle(a+Math.PI,!0)},normalizeAngle:function(a){return a%=2*Math.PI,a>=0?a:a+2*Math.PI},maxAdd:function(a,b,c){return Math.min(a+b,c)},minSub:function(a,b,c){return Math.max(a-b,c)},wrap:function(a,b,c){var d=c-b;if(0>=d)return 0;var e=(a-b)%d;return 0>e&&(e+=d),e+b},wrapValue:function(a,b,c){var d;return a=Math.abs(a),b=Math.abs(b),c=Math.abs(c),d=(a+b)%c},isOdd:function(a){return!!(1&a)},isEven:function(a){return!(1&a)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])var a=arguments[0];else var a=arguments;for(var b=1,c=0,d=a.length;d>b;b++)a[b]b;b++)a[b]>a[c]&&(c=b);return a[c]},minProperty:function(a){if(2===arguments.length&&"object"==typeof arguments[1])var b=arguments[1];else var b=arguments.slice(1);for(var c=1,d=0,e=b.length;e>c;c++)b[c][a]c;c++)b[c][a]>b[d][a]&&(d=c);return b[d][a]},wrapAngle:function(a,b){return b?this.wrap(a,-Math.PI,Math.PI):this.wrap(a,-180,180)},linearInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return 0>b?this.linear(a[0],a[1],d):b>1?this.linear(a[c],a[c-1],c-d):this.linear(a[e],a[e+1>c?c:e+1],d-e)},bezierInterpolation:function(a,b){for(var c=0,d=a.length-1,e=0;d>=e;e++)c+=Math.pow(1-b,d-e)*Math.pow(b,e)*a[e]*this.bernstein(d,e);return c},catmullRomInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return a[0]===a[c]?(0>b&&(e=Math.floor(d=c*(1+b))),this.catmullRom(a[(e-1+c)%c],a[e],a[(e+1)%c],a[(e+2)%c],d-e)):0>b?a[0]-(this.catmullRom(a[0],a[0],a[1],a[1],-d)-a[0]):b>1?a[c]-(this.catmullRom(a[c],a[c],a[c-1],a[c-1],d-c)-a[c]):this.catmullRom(a[e?e-1:0],a[e],a[e+1>c?c:e+1],a[e+2>c?c:e+2],d-e)},linear:function(a,b,c){return(b-a)*c+a},bernstein:function(a,b){return this.factorial(a)/this.factorial(b)/this.factorial(a-b)},factorial:function(a){if(0===a)return 1;for(var b=a;--a;)b*=a;return b},catmullRom:function(a,b,c,d,e){var f=.5*(c-a),g=.5*(d-b),h=e*e,i=e*h;return(2*b-2*c+f+g)*i+(-3*b+3*c-2*f-g)*h+f*e+b},difference:function(a,b){return Math.abs(a-b)},roundAwayFromZero:function(a){return a>0?Math.ceil(a):Math.floor(a)},sinCosGenerator:function(a,b,c,d){void 0===b&&(b=1),void 0===c&&(c=1),void 0===d&&(d=1);for(var e=b,f=c,g=d*Math.PI/a,h=[],i=[],j=0;a>j;j++)f-=e*g,e+=f*g,h[j]=f,i[j]=e;return{sin:i,cos:h,length:a}},distance:function(a,b,c,d){var e=a-c,f=b-d;return Math.sqrt(e*e+f*f)},distanceSq:function(a,b,c,d){var e=a-c,f=b-d;return e*e+f*f},distancePow:function(a,b,c,d,e){return void 0===e&&(e=2),Math.sqrt(Math.pow(c-a,e)+Math.pow(d-b,e))},clamp:function(a,b,c){return b>a?b:a>c?c:a},clampBottom:function(a,b){return b>a?b:a},within:function(a,b,c){return Math.abs(a-b)<=c},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},smoothstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*(3-2*a)},smootherstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*a*(a*(6*a-15)+10)},sign:function(a){return 0>a?-1:a>0?1:0},percent:function(a,b,c){return void 0===c&&(c=0),a>b||c>b?1:c>a||c>a?0:(a-c)/b}};var j=Math.PI/180,k=180/Math.PI;c.Math.degToRad=function(a){return a*j},c.Math.radToDeg=function(a){return a*k},c.RandomDataGenerator=function(a){void 0===a&&(a=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof a?this.state(a):this.sow(a)},c.RandomDataGenerator.prototype={rnd:function(){var a=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|a,this.s0=this.s1,this.s1=this.s2,this.s2=a-this.c,this.s2},sow:function(a){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,a)for(var b=0;b>>0,b-=d,b*=d,d=b>>>0,b-=d,d+=4294967296*b;return 2.3283064365386963e-10*(d>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(a,b){return Math.floor(this.realInRange(0,b-a+1)+a)},between:function(a,b){return this.integerInRange(a,b)},realInRange:function(a,b){return this.frac()*(b-a)+a},normal:function(){return 1-2*this.frac()},uuid:function(){var a="",b="";for(b=a="";a++<36;b+=~a%5|3*a&4?(15^a?8^this.frac()*(20^a?16:4):4).toString(16):"-");return b},pick:function(a){return a[this.integerInRange(0,a.length-1)]},weightedPick:function(a){return a[~~(Math.pow(this.frac(),2)*(a.length-1)+.5)]},timestamp:function(a,b){return this.realInRange(a||9466848e5,b||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(a){return"string"==typeof a&&a.match(/^!rnd/)&&(a=a.split(","),this.c=parseFloat(a[1]),this.s0=parseFloat(a[2]),this.s1=parseFloat(a[3]),this.s2=parseFloat(a[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},c.RandomDataGenerator.prototype.constructor=c.RandomDataGenerator,c.QuadTree=function(a,b,c,d,e,f,g){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(a,b,c,d,e,f,g)},c.QuadTree.prototype={reset:function(a,b,c,d,e,f,g){this.maxObjects=e||10,this.maxLevels=f||4,this.level=g||0,this.bounds={x:Math.round(a),y:Math.round(b),width:c,height:d,subWidth:Math.floor(c/2),subHeight:Math.floor(d/2),right:Math.round(a)+Math.floor(c/2),bottom:Math.round(b)+Math.floor(d/2)},this.objects.length=0,this.nodes.length=0},populate:function(a){a.forEach(this.populateHandler,this,!0)},populateHandler:function(a){a.body&&a.exists&&this.insert(a.body)},split:function(){this.nodes[0]=new c.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new c.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new c.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new c.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(a){var b,c=0;if(null!=this.nodes[0]&&(b=this.getIndex(a),-1!==b))return void this.nodes[b].insert(a);if(this.objects.push(a),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(b=2):a.x>this.bounds.right&&(a.ythis.bounds.bottom&&(b=3)),b},retrieve:function(a){if(a instanceof c.Rectangle)var b=this.objects,d=this.getIndex(a);else{if(!a.body)return this._empty;var b=this.objects,d=this.getIndex(a.body)}return this.nodes[0]&&(-1!==d?b=b.concat(this.nodes[d].retrieve(a)):(b=b.concat(this.nodes[0].retrieve(a)),b=b.concat(this.nodes[1].retrieve(a)),b=b.concat(this.nodes[2].retrieve(a)),b=b.concat(this.nodes[3].retrieve(a)))),b},clear:function(){this.objects.length=0;for(var a=this.nodes.length;a--;)this.nodes[a].clear(),this.nodes.splice(a,1);this.nodes.length=0}},c.QuadTree.prototype.constructor=c.QuadTree;var l=function(){};c.Net=l,c.Net.prototype={isDisabled:!0,getHostName:l,checkDomainName:l,updateQueryString:l,getQueryString:l,decodeURI:l},c.Net.prototype.constructor=c.Net,c.TweenManager=function(){},c.TweenManager.prototype.update=function(){},c.TweenManager.prototype.constructor=c.TweenManager,c.Time=function(a){this.game=a,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new c.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},c.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(a){return this._timers.push(a),a},create:function(a){void 0===a&&(a=!0);var b=new c.Timer(this.game,a);return this._timers.push(b),b},removeAll:function(){for(var a=0;aa;)this._timers[a].update(this.time)?a++:(this._timers.splice(a,1),b--)},updateAdvancedTiming:function(){this._frameCount++,this._elapsedAccumulator+=this.elapsed,this._frameCount>=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var a=this._timers.length;a--;)this._timers[a]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var a=this._timers.length;a--;)this._timers[a]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(a){return this.time-a},elapsedSecondsSince:function(a){return.001*(this.time-a)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(c.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(a){this._desiredFps=a,this.physicsElapsed=1/a,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/a}}),c.Time.prototype.constructor=c.Time,c.Timer=function(a,b){void 0===b&&(b=!0),this.game=a,this.running=!1,this.autoDestroy=b,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new c.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},c.Timer.MINUTE=6e4,c.Timer.SECOND=1e3,c.Timer.HALF=500,c.Timer.QUARTER=250,c.Timer.prototype={create:function(a,b,d,e,f,g){a=Math.round(a);var h=a;h+=0===this._now?this.game.time.time:this._now;var i=new c.TimerEvent(this,a,h,d,b,e,f,g);return this.events.push(i),this.order(),this.expired=!1,i},add:function(a,b,c){return this.create(a,!1,0,b,c,Array.prototype.slice.call(arguments,3))},repeat:function(a,b,c,d){return this.create(a,!1,b,c,d,Array.prototype.slice.call(arguments,4))},loop:function(a,b,c){return this.create(a,!0,0,b,c,Array.prototype.slice.call(arguments,3))},start:function(a){if(!this.running){this._started=this.game.time.time+(a||0),this.running=!0;for(var b=0;b0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(a,b){return a.tickb.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1); -this._len=this.events.length,this._i=0},update:function(a){if(this.paused)return!0;if(this.elapsed=a-this._now,this._now=a,this.elapsed>this.timeCap&&this.adjustEvents(a-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=this.events[this._i].tick&&!this.events[this._i].pendingDelete;)this._newTick=this._now+this.events[this._i].delay-(this._now-this.events[this._i].tick),this._newTick<0&&(this._newTick=this._now+this.events[this._i].delay),this.events[this._i].loop===!0?(this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):this.events[this._i].repeatCount>0?(this.events[this._i].repeatCount--,this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):(this._marked++,this.events[this._i].pendingDelete=!0,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)),this._i++;this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return this.expired&&this.autoDestroy?!1:!0},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(a){for(var b=0;bc&&(c=0),this.events[b].tick=this._now+c}var d=this.nextTick-a;0>d?this.nextTick=this._now:this.nextTick=this._now+d},resume:function(){if(this.paused){var a=this.game.time.time;this._pauseTotal+=a-this._now,this._now=a,this.adjustEvents(this._pauseStarted),this.paused=!1,this._codePaused=!1}},_resume:function(){this._codePaused||this.resume()},removeAll:function(){this.onComplete.removeAll(),this.events.length=0,this._len=0,this._i=0},destroy:function(){this.onComplete.removeAll(),this.running=!1,this.events=[],this._len=0,this._i=0}},Object.defineProperty(c.Timer.prototype,"next",{get:function(){return this.nextTick}}),Object.defineProperty(c.Timer.prototype,"duration",{get:function(){return this.running&&this.nextTick>this._now?this.nextTick-this._now:0}}),Object.defineProperty(c.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(c.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(c.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),c.Timer.prototype.constructor=c.Timer,c.TimerEvent=function(a,b,c,d,e,f,g,h){this.timer=a,this.delay=b,this.tick=c,this.repeatCount=d-1,this.loop=e,this.callback=f,this.callbackContext=g,this.args=h,this.pendingDelete=!1},c.TimerEvent.prototype.constructor=c.TimerEvent,c.AnimationManager=function(a){this.sprite=a,this.game=a.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},c.AnimationManager.prototype={loadFrameData:function(a,b){if(void 0===a)return!1;if(this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(a);return this._frameData=a,void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},copyFrameData:function(a,b){if(this._frameData=a.clone(),this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(this._frameData);return void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},add:function(a,b,d,e,f){return b=b||[],d=d||60,void 0===e&&(e=!1),void 0===f&&(f=b&&"number"==typeof b[0]?!0:!1),this._outputFrames=[],this._frameData.getFrameIndexes(b,f,this._outputFrames),this._anims[a]=new c.Animation(this.game,this.sprite,a,this._frameData,this._outputFrames,d,e),this.currentAnim=this._anims[a],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[a]},validateFrames:function(a,b){void 0===b&&(b=!0);for(var c=0;cthis._frameData.total)return!1}else if(this._frameData.checkFrameName(a[c])===!1)return!1;return!0},play:function(a,b,c,d){return this._anims[a]?this.currentAnim===this._anims[a]?this.currentAnim.isPlaying===!1?(this.currentAnim.paused=!1,this.currentAnim.play(b,c,d)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[a],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(b,c,d)):void 0},stop:function(a,b){void 0===b&&(b=!1),"string"==typeof a?this._anims[a]&&(this.currentAnim=this._anims[a],this.currentAnim.stop(b)):this.currentAnim&&this.currentAnim.stop(b)},update:function(){return this.updateIfVisible&&!this.sprite.visible?!1:this.currentAnim&&this.currentAnim.update()?(this.currentFrame=this.currentAnim.currentFrame,!0):!1},next:function(a){this.currentAnim&&(this.currentAnim.next(a),this.currentFrame=this.currentAnim.currentFrame)},previous:function(a){this.currentAnim&&(this.currentAnim.previous(a),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(a){return"string"==typeof a&&this._anims[a]?this._anims[a]:null},refreshFrame:function(){this.sprite.setTexture(PIXI.TextureCache[this.currentFrame.uuid])},destroy:function(){var a=null;for(var a in this._anims)this._anims.hasOwnProperty(a)&&this._anims[a].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},c.AnimationManager.prototype.constructor=c.AnimationManager,Object.defineProperty(c.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(c.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(c.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(a){this.currentAnim.paused=a}}),Object.defineProperty(c.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(c.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(a){"number"==typeof a&&this._frameData&&null!==this._frameData.getFrame(a)&&(this.currentFrame=this._frameData.getFrame(a),this.currentFrame&&this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(c.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(a){"string"==typeof a&&this._frameData&&null!==this._frameData.getFrameByName(a)?(this.currentFrame=this._frameData.getFrameByName(a),this.currentFrame&&(this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame))):console.warn("Cannot set frameName: "+a)}}),c.Animation=function(a,b,d,e,f,g,h){void 0===h&&(h=!1),this.game=a,this._parent=b,this._frameData=e,this.name=d,this._frames=[],this._frames=this._frames.concat(f),this.delay=1e3/g,this.loop=h,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new c.Signal,this.onUpdate=null,this.onComplete=new c.Signal,this.onLoop=new c.Signal,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},c.Animation.prototype={play:function(a,b,c){return"number"==typeof a&&(this.delay=1e3/a),"boolean"==typeof b&&(this.loop=b),"undefined"!=typeof c&&(this.killOnComplete=c),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},setFrame:function(a,b){var c;if(void 0===b&&(b=!1),"string"==typeof a)for(var d=0;d=this._timeNextFrame?(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this._frameIndex+=this._frameSkip,this._frameIndex>=this._frames.length?this.loop?(this._frameIndex%=this._frames.length,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),this.onUpdate?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0):(this.complete(),!1):this.updateCurrentFrame(!0)):!1},updateCurrentFrame:function(a,b){if(void 0===b&&(b=!1),!this._frameData)return!1;var c=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(b||!b&&c!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),this.onUpdate&&a?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0},next:function(a){void 0===a&&(a=1);var b=this._frameIndex+a;b>=this._frames.length&&(this.loop?b%=this._frames.length:b=this._frames.length-1),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},previous:function(a){void 0===a&&(a=1);var b=this._frameIndex-a;0>b&&(this.loop?b=this._frames.length+b:b++),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},updateFrameData:function(a){this._frameData=a,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},c.Animation.prototype.constructor=c.Animation,Object.defineProperty(c.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(a){this.isPaused=a,a?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(c.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(c.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(a){this.currentFrame=this._frameData.getFrame(this._frames[a]),null!==this.currentFrame&&(this._frameIndex=a,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(c.Animation.prototype,"speed",{get:function(){return Math.round(1e3/this.delay)},set:function(a){a>=1&&(this.delay=1e3/a)}}),Object.defineProperty(c.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(a){a&&null===this.onUpdate?this.onUpdate=new c.Signal:a||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),c.Animation.generateFrameNames=function(a,b,d,e,f){void 0===e&&(e="");var g=[],h="";if(d>b)for(var i=b;d>=i;i++)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);else for(var i=b;i>=d;i--)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);return g},c.Frame=function(a,b,d,e,f,g){this.index=a,this.x=b,this.y=d,this.width=e,this.height=f,this.name=g,this.centerX=Math.floor(e/2),this.centerY=Math.floor(f/2),this.distance=c.Math.distance(0,0,e,f),this.rotated=!1,this.rotationDirection="cw",this.trimmed=!1,this.sourceSizeW=e,this.sourceSizeH=f,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},c.Frame.prototype={resize:function(a,b){this.width=a,this.height=b,this.centerX=Math.floor(a/2),this.centerY=Math.floor(b/2),this.distance=c.Math.distance(0,0,a,b),this.sourceSizeW=a,this.sourceSizeH=b,this.right=this.x+a,this.bottom=this.y+b},setTrim:function(a,b,c,d,e,f,g){this.trimmed=a,a&&(this.sourceSizeW=b,this.sourceSizeH=c,this.centerX=Math.floor(b/2),this.centerY=Math.floor(c/2),this.spriteSourceSizeX=d,this.spriteSourceSizeY=e,this.spriteSourceSizeW=f,this.spriteSourceSizeH=g)},clone:function(){var a=new c.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var b in this)this.hasOwnProperty(b)&&(a[b]=this[b]);return a},getRect:function(a){return void 0===a?a=new c.Rectangle(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a}},c.Frame.prototype.constructor=c.Frame,c.FrameData=function(){this._frames=[],this._frameNames=[]},c.FrameData.prototype={addFrame:function(a){return a.index=this._frames.length,this._frames.push(a),""!==a.name&&(this._frameNames[a.name]=a.index),a},getFrame:function(a){return a>=this._frames.length&&(a=0),this._frames[a]},getFrameByName:function(a){return"number"==typeof this._frameNames[a]?this._frames[this._frameNames[a]]:null},checkFrameName:function(a){return null==this._frameNames[a]?!1:!0},clone:function(){for(var a=new c.FrameData,b=0;b=d;d++)c.push(this._frames[d]);return c},getFrames:function(a,b,c){if(void 0===b&&(b=!0),void 0===c&&(c=[]),void 0===a||0===a.length)for(var d=0;d=d&&(d=Math.floor(-j/Math.min(-1,d))),0>=e&&(e=Math.floor(-k/Math.min(-1,e)));var l=Math.floor((j-g)/(d+h)),m=Math.floor((k-g)/(e+h)),n=l*m;if(-1!==f&&(n=f),0===j||0===k||d>j||e>k||0===n)return console.warn("Phaser.AnimationParser.spriteSheet: '"+b+"'s width/height zero or width/height < given frameWidth/frameHeight"),null;for(var o=new c.FrameData,p=g,q=g,r=0;n>r;r++)o.addFrame(new c.Frame(r,p,q,d,e,"")),p+=d+h,p+d>j&&(p=g,q+=e+h);return o},JSONData:function(a,b){if(!b.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(b);for(var d,e=new c.FrameData,f=b.frames,g=0;g tag");for(var d,e,f,g,h,i,j,k,l,m,n,o=new c.FrameData,p=b.getElementsByTagName("SubTexture"),q=0;q-1},getAssetIndex:function(a,b){for(var c=-1,d=0;d-1?{index:c,file:this._fileList[c]}:!1},reset:function(a,b){void 0===b&&(b=!1),this.resetLocked||(a&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,b&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(a,b,c,d,e,f){if(void 0===e&&(e=!1),void 0===b||""===b)return console.warn("Phaser.Loader: Invalid or no key given of type "+a),this;if(void 0===c||null===c){if(!f)return console.warn("Phaser.Loader: No URL given for file type: "+a+" key: "+b),this;c=b+f}var g={type:a,key:b,path:this.path,url:c,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(d)for(var h in d)g[h]=d[h];var i=this.getAssetIndex(a,b);if(e&&i>-1){var j=this._fileList[i];j.loading||j.loaded?(this._fileList.push(g),this._totalFileCount++):this._fileList[i]=g}else-1===i&&(this._fileList.push(g),this._totalFileCount++);return this},replaceInFileList:function(a,b,c,d){return this.addToFileList(a,b,c,d,!0)},pack:function(a,b,c,d){if(void 0===b&&(b=null),void 0===c&&(c=null),void 0===d&&(d=null),!b&&!c)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var e={type:"packfile",key:a,url:b,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:d};c&&("string"==typeof c&&(c=JSON.parse(c)),e.data=c||{},e.loaded=!0);for(var f=0;f=e||d&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var f=this;setTimeout(function(){f.finishedLoading(!0)},2e3)}},finishedLoading:function(a){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,a||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.onLoadComplete.dispatch(),this.reset(),this.game.state.loadComplete())},asyncComplete:function(a,b){void 0===b&&(b=""),a.loaded=!0,a.error=!!b,b&&(a.errorMessage=b,console.warn("Phaser.Loader - "+a.type+"["+a.key+"]: "+b)),this.processLoadQueue()},processPack:function(a){var b=a.data[a.key];if(!b)return void console.warn("Phaser.Loader - "+a.key+": pack has data, but not for pack key");for(var d=0;d=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var f=new window.XDomainRequest;f.open("GET",b,!0),f.responseType=c,f.timeout=3e3,e=e||this.fileError;var g=this;f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.ontimeout=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.onprogress=function(){},f.onload=function(){try{return d.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,setTimeout(function(){f.send()},0)},getVideoURL:function(a){for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayVideo(c))return a[b]}return null},getAudioURL:function(a){if(this.game.sound.noAudio)return null;for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayAudio(c))return a[b]}return null},fileError:function(a,b,c){var d=a.requestUrl||this.transformUrl(a.url,a),e="error loading asset from URL "+d;!c&&b&&(c=b.status),c&&(e=e+" ("+c+")"),this.asyncComplete(a,e)},fileComplete:function(a,b){var d=!0;switch(a.type){case"packfile":var e=JSON.parse(b.responseText);a.data=e||{};break;case"image":this.cache.addImage(a.key,a.url,a.data);break;case"spritesheet":this.cache.addSpriteSheet(a.key,a.url,a.data,a.frameWidth,a.frameHeight,a.frameMax,a.margin,a.spacing);break;case"textureatlas":if(null==a.atlasURL)this.cache.addTextureAtlas(a.key,a.url,a.data,a.atlasData,a.format);else if(d=!1,a.format==c.Loader.TEXTURE_ATLAS_JSON_ARRAY||a.format==c.Loader.TEXTURE_ATLAS_JSON_HASH||a.format==c.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.jsonLoadComplete);else{if(a.format!=c.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+a.format);this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.xmlLoadComplete)}break;case"bitmapfont":a.atlasURL?(d=!1,this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",function(a,b){var c;try{c=JSON.parse(b.responseText)}catch(d){}c?(a.atlasType="json",this.jsonLoadComplete(a,b)):(a.atlasType="xml",this.xmlLoadComplete(a,b))})):this.cache.addBitmapFont(a.key,a.url,a.data,a.atlasData,a.atlasType,a.xSpacing,a.ySpacing);break;case"video":if(a.asBlob)try{a.data=new Blob([new Uint8Array(b.response)])}catch(f){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+a.key)}this.cache.addVideo(a.key,a.url,a.data,a.asBlob);break;case"audio":this.game.sound.usingWebAudio?(a.data=b.response,this.cache.addSound(a.key,a.url,a.data,!0,!1),a.autoDecode&&this.game.sound.decode(a.key)):this.cache.addSound(a.key,a.url,a.data,!1,!0);break;case"text":a.data=b.responseText,this.cache.addText(a.key,a.url,a.data);break;case"shader":a.data=b.responseText,this.cache.addShader(a.key,a.url,a.data);break;case"physics":var e=JSON.parse(b.responseText);this.cache.addPhysicsData(a.key,a.url,e,a.format);break;case"script":a.data=document.createElement("script"),a.data.language="javascript",a.data.type="text/javascript",a.data.defer=!1,a.data.text=b.responseText,document.head.appendChild(a.data),a.callback&&(a.data=a.callback.call(a.callbackContext,a.key,b.responseText));break;case"binary":a.callback?a.data=a.callback.call(a.callbackContext,a.key,b.response):a.data=b.response,this.cache.addBinary(a.key,a.data)}d&&this.asyncComplete(a)},jsonLoadComplete:function(a,b){var c=JSON.parse(b.responseText);"tilemap"===a.type?this.cache.addTilemap(a.key,a.url,c,a.format):"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,c,a.atlasType,a.xSpacing,a.ySpacing):"json"===a.type?this.cache.addJSON(a.key,a.url,c):this.cache.addTextureAtlas(a.key,a.url,a.data,c,a.format),this.asyncComplete(a)},csvLoadComplete:function(a,b){var c=b.responseText;this.cache.addTilemap(a.key,a.url,c,a.format),this.asyncComplete(a)},xmlLoadComplete:function(a,b){var c=b.responseText,d=this.parseXml(c);if(!d){var e=b.responseType||b.contentType;return console.warn("Phaser.Loader - "+a.key+": invalid XML ("+e+")"),void this.asyncComplete(a,"invalid XML")}"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,d,a.atlasType,a.xSpacing,a.ySpacing):"textureatlas"===a.type?this.cache.addTextureAtlas(a.key,a.url,a.data,d,a.format):"xml"===a.type&&this.cache.addXML(a.key,a.url,d),this.asyncComplete(a)},parseXml:function(a){var b;try{if(window.DOMParser){var c=new DOMParser;b=c.parseFromString(a,"text/xml")}else b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)}catch(d){b=null}return b&&b.documentElement&&!b.getElementsByTagName("parsererror").length?b:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(c.Loader.prototype,"progressFloat",{get:function(){var a=this._loadedFileCount/this._totalFileCount*100;return c.Math.clamp(a||0,0,100)}}),Object.defineProperty(c.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),c.Loader.prototype.constructor=c.Loader,c.LoaderParser={bitmapFont:function(a,b,c,d){return this.xmlBitmapFont(a,b,c,d)},xmlBitmapFont:function(a,b,c,d){var e={},f=a.getElementsByTagName("info")[0],g=a.getElementsByTagName("common")[0];e.font=f.getAttribute("face"),e.size=parseInt(f.getAttribute("size"),10),e.lineHeight=parseInt(g.getAttribute("lineHeight"),10)+d,e.chars={};for(var h=a.getElementsByTagName("char"),i=0;i=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var b=this._parentBounds.width,d=this._parentBounds.height,e=this.getParentBounds(this._parentBounds),f=e.width!==b||e.height!==d,g=this.updateOrientationState();(f||g)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,e),this.updateLayout(),this.signalSizeChange());var h=2*this._updateThrottle;this._updateThrottle=b||0>=c)return a;var e=b,f=a.height*b/a.width,g=a.width*c/a.height,h=c,i=g>b;return i=i?d:!d,i?(a.width=Math.floor(e),a.height=Math.floor(f)):(a.width=Math.floor(g),a.height=Math.floor(h)),a},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},c.ScaleManager.prototype.constructor=c.ScaleManager,Object.defineProperty(c.ScaleManager.prototype,"boundingParent",{get:function(){if(this.parentIsWindow||this.isFullScreen&&!this._createdFullScreenTarget)return null;var a=this.game.canvas&&this.game.canvas.parentNode;return a||null}}),Object.defineProperty(c.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(a){return a!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=a),this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(a){return a!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=a,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=a),this._fullScreenScaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(a){a!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(a){a!==this._pageAlignVertically&&(this._pageAlignVertically=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(c.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(c.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var m=function(){};return c.Utils.Debug=m,c.Utils.Debug.prototype={isDisabled:!0,boot:m,preUpdate:m,reset:m,start:m,stop:m,line:m,soundInfo:m,cameraInfo:m,timer:m,pointer:m,spriteInputInfo:m,key:m,inputInfo:m,spriteBounds:m,ropeSegments:m,spriteInfo:m,spriteCoords:m,lineInfo:m,pixel:m,geom:m,rectangle:m,text:m,quadTree:m,body:m,bodyInfo:m,box2dWorld:m,box2dBody:m},c.Utils.Debug.prototype.constructor=c.Utils.Debug,c.DOM={getOffset:function(a,b){b=b||new c.Point;var d=a.getBoundingClientRect(),e=c.DOM.scrollY,f=c.DOM.scrollX,g=document.documentElement.clientTop,h=document.documentElement.clientLeft;return b.x=d.left+f-h,b.y=d.top+e-g,b},getBounds:function(a,b){return void 0===b&&(b=0),a=a&&!a.nodeType?a[0]:a,a&&1===a.nodeType?this.calibrate(a.getBoundingClientRect(),b):!1},calibrate:function(a,b){b=+b||0;var c={width:0,height:0,left:0,right:0,top:0,bottom:0};return c.width=(c.right=a.right+b)-(c.left=a.left-b),c.height=(c.bottom=a.bottom+b)-(c.top=a.top-b),c},getAspectRatio:function(a){a=null==a?this.visualBounds:1===a.nodeType?this.getBounds(a):a;var b=a.width,c=a.height;return"function"==typeof b&&(b=b.call(a)),"function"==typeof c&&(c=c.call(a)),b/c},inLayoutViewport:function(a,b){var c=this.getBounds(a,b);return!!c&&c.bottom>=0&&c.right>=0&&c.top<=this.layoutBounds.width&&c.left<=this.layoutBounds.height},getScreenOrientation:function(a){var b=window.screen,c=b.orientation||b.mozOrientation||b.msOrientation;if(c&&"string"==typeof c.type)return c.type;if("string"==typeof c)return c;var d="portrait-primary",e="landscape-primary";if("screen"===a)return b.height>b.width?d:e;if("viewport"===a)return this.visualBounds.height>this.visualBounds.width?d:e;if("window.orientation"===a&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?d:e;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return d;if(window.matchMedia("(orientation: landscape)").matches)return e}return this.visualBounds.height>this.visualBounds.width?d:e},visualBounds:new c.Rectangle,layoutBounds:new c.Rectangle,documentBounds:new c.Rectangle},c.Device.whenReady(function(a){var b=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},d=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};Object.defineProperty(c.DOM,"scrollX",{get:b}),Object.defineProperty(c.DOM,"scrollY",{get:d}),Object.defineProperty(c.DOM.visualBounds,"x",{get:b}),Object.defineProperty(c.DOM.visualBounds,"y",{get:d}),Object.defineProperty(c.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(c.DOM.layoutBounds,"y",{value:0});var e=a.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight;if(e){var f=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},g=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(c.DOM.visualBounds,"width",{get:f}),Object.defineProperty(c.DOM.visualBounds,"height",{get:g}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:f}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:g})}else Object.defineProperty(c.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(c.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:function(){var a=document.documentElement.clientWidth,b=window.innerWidth;return b>a?b:a}}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:function(){var a=document.documentElement.clientHeight,b=window.innerHeight;return b>a?b:a}});Object.defineProperty(c.DOM.documentBounds,"x",{value:0}),Object.defineProperty(c.DOM.documentBounds,"y",{value:0}),Object.defineProperty(c.DOM.documentBounds,"width",{get:function(){var a=document.documentElement;return Math.max(a.clientWidth,a.offsetWidth,a.scrollWidth)}}),Object.defineProperty(c.DOM.documentBounds,"height",{get:function(){var a=document.documentElement;return Math.max(a.clientHeight,a.offsetHeight,a.scrollHeight)}})},null,!0),c.ArraySet=function(a){this.position=0,this.list=a||[]},c.ArraySet.prototype={add:function(a){return this.exists(a)||this.list.push(a),a},getIndex:function(a){return this.list.indexOf(a)},getByKey:function(a,b){for(var c=this.list.length;c--;)if(this.list[c][a]===b)return this.list[c];return null},exists:function(a){return this.list.indexOf(a)>-1},reset:function(){this.list.length=0},remove:function(a){var b=this.list.indexOf(a);return b>-1?(this.list.splice(b,1),a):void 0},setAll:function(a,b){for(var c=this.list.length;c--;)this.list[c]&&(this.list[c][a]=b)},callAll:function(a){for(var b=Array.prototype.slice.call(arguments,1),c=this.list.length;c--;)this.list[c]&&this.list[c][a]&&this.list[c][a].apply(this.list[c],b)},removeAll:function(a){void 0===a&&(a=!1);for(var b=this.list.length;b--;)if(this.list[b]){var c=this.remove(this.list[b]);a&&c.destroy()}this.position=0,this.list=[]}},Object.defineProperty(c.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(c.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(c.ArraySet.prototype,"next",{get:function(){return this.position0;b--){var c=Math.floor(Math.random()*(b+1)),d=a[b];a[b]=a[c],a[c]=d}return a},transposeMatrix:function(a){for(var b=a.length,c=a[0].length,d=new Array(c),e=0;c>e;e++){d[e]=new Array(b);for(var f=b-1;f>-1;f--)d[e][f]=a[f][e]}return d},rotateMatrix:function(a,b){if("string"!=typeof b&&(b=(b%360+360)%360),90===b||-270===b||"rotateLeft"===b)a=c.ArrayUtils.transposeMatrix(a),a=a.reverse();else if(-90===b||270===b||"rotateRight"===b)a=a.reverse(),a=c.ArrayUtils.transposeMatrix(a);else if(180===Math.abs(b)||"rotate180"===b){for(var d=0;d=e-a?e:d},rotate:function(a){var b=a.shift();return a.push(b),b},numberArray:function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},numberArrayStep:function(a,b,d){(void 0===a||null===a)&&(a=0),(void 0===b||null===b)&&(b=a,a=0),void 0===d&&(d=1);for(var e=[],f=Math.max(c.Math.roundAwayFromZero((b-a)/(d||1)),0),g=0;f>g;g++)e.push(a),a+=d;return e}},c.LinkedList=function(){this.next=null,this.prev=null,this.first=null,this.last=null,this.total=0},c.LinkedList.prototype={add:function(a){return 0===this.total&&null===this.first&&null===this.last?(this.first=a,this.last=a,this.next=a,a.prev=this,this.total++,a):(this.last.next=a,a.prev=this.last,this.last=a,this.total++,a)},reset:function(){this.first=null,this.last=null,this.next=null,this.prev=null,this.total=0},remove:function(a){return 1===this.total?(this.reset(),void(a.next=a.prev=null)):(a===this.first?this.first=this.first.next:a===this.last&&(this.last=this.last.prev),a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),a.next=a.prev=null,null===this.first&&(this.last=null),void this.total--)},callAll:function(a){if(this.first&&this.last){var b=this.first;do b&&b[a]&&b[a].call(b),b=b.next;while(b!=this.last.next)}}},c.LinkedList.prototype.constructor=c.LinkedList,c.Create=function(a){this.game=a,this.bmd=null,this.canvas=null,this.ctx=null,this.palettes=[{0:"#000",1:"#9D9D9D",2:"#FFF",3:"#BE2633",4:"#E06F8B",5:"#493C2B",6:"#A46422",7:"#EB8931",8:"#F7E26B",9:"#2F484E",A:"#44891A",B:"#A3CE27",C:"#1B2632",D:"#005784",E:"#31A2F2",F:"#B2DCEF"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#f5f4eb"},{0:"#000",1:"#2234d1",2:"#0c7e45",3:"#44aacc",4:"#8a3622",5:"#5c2e78",6:"#aa5c3d",7:"#b5b5b5",8:"#5e606e",9:"#4c81fb",A:"#6cd947",B:"#7be2f9",C:"#eb8a60",D:"#e23d69",E:"#ffd93f",F:"#fff"},{0:"#000",1:"#fff",2:"#8b4131",3:"#7bbdc5",4:"#8b41ac",5:"#6aac41",6:"#3931a4",7:"#d5de73",8:"#945a20",9:"#5a4100",A:"#bd736a",B:"#525252",C:"#838383",D:"#acee8b",E:"#7b73de",F:"#acacac"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#fff"}]},c.Create.PALETTE_ARNE=0,c.Create.PALETTE_JMP=1,c.Create.PALETTE_CGA=2,c.Create.PALETTE_C64=3,c.Create.PALETTE_JAPANESE_MACHINE=4,c.Create.prototype={texture:function(a,b,c,d,e){void 0===c&&(c=8),void 0===d&&(d=c),void 0===e&&(e=0);var f=b[0].length*c,g=b.length*d;null===this.bmd&&(this.bmd=this.game.make.bitmapData(),this.canvas=this.bmd.canvas,this.ctx=this.bmd.context),this.bmd.resize(f,g),this.bmd.clear();for(var h=0;hg;g+=e)this.ctx.fillRect(0,g,b,1);for(var h=0;b>h;h+=d)this.ctx.fillRect(h,0,1,c);return this.bmd.generateTexture(a)}},c.Create.prototype.constructor=c.Create,c.FlexGrid=function(a,b,d){this.game=a.game,this.manager=a,this.width=b,this.height=d,this.boundsCustom=new c.Rectangle(0,0,b,d),this.boundsFluid=new c.Rectangle(0,0,b,d),this.boundsFull=new c.Rectangle(0,0,b,d),this.boundsNone=new c.Rectangle(0,0,b,d),this.positionCustom=new c.Point(0,0),this.positionFluid=new c.Point(0,0),this.positionFull=new c.Point(0,0),this.positionNone=new c.Point(0,0),this.scaleCustom=new c.Point(1,1),this.scaleFluid=new c.Point(1,1),this.scaleFluidInversed=new c.Point(1,1),this.scaleFull=new c.Point(1,1),this.scaleNone=new c.Point(1,1),this.customWidth=0,this.customHeight=0,this.customOffsetX=0,this.customOffsetY=0,this.ratioH=b/d,this.ratioV=d/b,this.multiplier=0,this.layers=[]},c.FlexGrid.prototype={setSize:function(a,b){this.width=a,this.height=b,this.ratioH=a/b,this.ratioV=b/a,this.scaleNone=new c.Point(1,1),this.boundsNone.width=this.width,this.boundsNone.height=this.height,this.refresh()},createCustomLayer:function(a,b,d,e){void 0===e&&(e=!0),this.customWidth=a,this.customHeight=b,this.boundsCustom.width=a,this.boundsCustom.height=b;var f=new c.FlexLayer(this,this.positionCustom,this.boundsCustom,this.scaleCustom);return e&&this.game.world.add(f),this.layers.push(f),"undefined"!=typeof d&&null!==typeof d&&f.addMultiple(d),f},createFluidLayer:function(a,b){void 0===b&&(b=!0);var d=new c.FlexLayer(this,this.positionFluid,this.boundsFluid,this.scaleFluid);return b&&this.game.world.add(d),this.layers.push(d),"undefined"!=typeof a&&null!==typeof a&&d.addMultiple(a),d},createFullLayer:function(a){var b=new c.FlexLayer(this,this.positionFull,this.boundsFull,this.scaleFluid);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},createFixedLayer:function(a){var b=new c.FlexLayer(this,this.positionNone,this.boundsNone,this.scaleNone);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},reset:function(){for(var a=this.layers.length;a--;)this.layers[a].persist||(this.layers[a].position=null,this.layers[a].scale=null,this.layers.slice(a,1))},onResize:function(a,b){this.ratioH=a/b,this.ratioV=b/a,this.refresh(a,b)},refresh:function(){this.multiplier=Math.min(this.manager.height/this.height,this.manager.width/this.width),this.boundsFluid.width=Math.round(this.width*this.multiplier),this.boundsFluid.height=Math.round(this.height*this.multiplier),this.scaleFluid.set(this.boundsFluid.width/this.width,this.boundsFluid.height/this.height),this.scaleFluidInversed.set(this.width/this.boundsFluid.width,this.height/this.boundsFluid.height),this.scaleFull.set(this.boundsFull.width/this.width,this.boundsFull.height/this.height),this.boundsFull.width=Math.round(this.manager.width*this.scaleFluidInversed.x),this.boundsFull.height=Math.round(this.manager.height*this.scaleFluidInversed.y),this.boundsFluid.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.boundsNone.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.positionFluid.set(this.boundsFluid.x,this.boundsFluid.y),this.positionNone.set(this.boundsNone.x,this.boundsNone.y)},fitSprite:function(a){this.manager.scaleSprite(a),a.x=this.manager.bounds.centerX,a.y=this.manager.bounds.centerY},debug:function(){this.game.debug.text(this.boundsFluid.width+" x "+this.boundsFluid.height,this.boundsFluid.x+4,this.boundsFluid.y+16),this.game.debug.geom(this.boundsFluid,"rgba(255,0,0,0.9",!1)}},c.FlexGrid.prototype.constructor=c.FlexGrid,c.FlexLayer=function(a,b,d,e){c.Group.call(this,a.game,null,"__flexLayer"+a.game.rnd.uuid(),!1),this.manager=a.manager,this.grid=a,this.persist=!1,this.position=b,this.bounds=d,this.scale=e,this.topLeft=d.topLeft,this.topMiddle=new c.Point(d.halfWidth,0),this.topRight=d.topRight,this.bottomLeft=d.bottomLeft,this.bottomMiddle=new c.Point(d.halfWidth,d.bottom),this.bottomRight=d.bottomRight},c.FlexLayer.prototype=Object.create(c.Group.prototype),c.FlexLayer.prototype.constructor=c.FlexLayer,c.FlexLayer.prototype.resize=function(){},c.FlexLayer.prototype.debug=function(){this.game.debug.text(this.bounds.width+" x "+this.bounds.height,this.bounds.x+4,this.bounds.y+16),this.game.debug.geom(this.bounds,"rgba(0,0,255,0.9",!1),this.game.debug.geom(this.topLeft,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topMiddle,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topRight,"rgba(255,255,255,0.9")},c.Color={packPixel:function(a,b,d,e){return c.Device.LITTLE_ENDIAN?(e<<24|d<<16|b<<8|a)>>>0:(a<<24|b<<16|d<<8|e)>>>0},unpackPixel:function(a,b,d,e){return(void 0===b||null===b)&&(b=c.Color.createColor()),(void 0===d||null===d)&&(d=!1),(void 0===e||null===e)&&(e=!1),c.Device.LITTLE_ENDIAN?(b.a=(4278190080&a)>>>24,b.b=(16711680&a)>>>16,b.g=(65280&a)>>>8,b.r=255&a):(b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a),b.color=a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a/255+")",d&&c.Color.RGBtoHSL(b.r,b.g,b.b,b),e&&c.Color.RGBtoHSV(b.r,b.g,b.b,b),b},fromRGBA:function(a,b){return b||(b=c.Color.createColor()),b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a+")",b},toRGBA:function(a,b,c,d){return a<<24|b<<16|c<<8|d},RGBtoHSL:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,1)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d);if(e.h=0,e.s=0,e.l=(g+f)/2,g!==f){var h=g-f;e.s=e.l>.5?h/(2-g-f):h/(g+f),g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6}return e},HSLtoRGB:function(a,b,d,e){if(e?(e.r=d,e.g=d,e.b=d):e=c.Color.createColor(d,d,d),0!==b){var f=.5>d?d*(1+b):d+b-d*b,g=2*d-f;e.r=c.Color.hueToColor(g,f,a+1/3),e.g=c.Color.hueToColor(g,f,a),e.b=c.Color.hueToColor(g,f,a-1/3)}return e.r=Math.floor(255*e.r|0),e.g=Math.floor(255*e.g|0),e.b=Math.floor(255*e.b|0),c.Color.updateColor(e),e},RGBtoHSV:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,255)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d),h=g-f;return e.h=0,e.s=0===g?0:h/g,e.v=g,g!==f&&(g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6),e},HSVtoRGB:function(a,b,d,e){void 0===e&&(e=c.Color.createColor(0,0,0,1,a,b,0,d));var f,g,h,i=Math.floor(6*a),j=6*a-i,k=d*(1-b),l=d*(1-j*b),m=d*(1-(1-j)*b);switch(i%6){case 0:f=d,g=m,h=k;break;case 1:f=l,g=d,h=k;break;case 2:f=k,g=d,h=m;break;case 3:f=k,g=l,h=d;break;case 4:f=m,g=k,h=d;break;case 5:f=d,g=k,h=l}return e.r=Math.floor(255*f),e.g=Math.floor(255*g),e.b=Math.floor(255*h),c.Color.updateColor(e),e},hueToColor:function(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a},createColor:function(a,b,d,e,f,g,h,i){var j={r:a||0,g:b||0,b:d||0,a:e||1,h:f||0,s:g||0,l:h||0,v:i||0,color:0,color32:0,rgba:""};return c.Color.updateColor(j)},updateColor:function(a){return a.rgba="rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+a.a.toString()+")",a.color=c.Color.getColor(a.r,a.g,a.b),a.color32=c.Color.getColor32(a.a,a.r,a.g,a.b),a},getColor32:function(a,b,c,d){return a<<24|b<<16|c<<8|d},getColor:function(a,b,c){return a<<16|b<<8|c},RGBtoString:function(a,b,d,e,f){return void 0===e&&(e=255),void 0===f&&(f="#"),"#"===f?"#"+((1<<24)+(a<<16)+(b<<8)+d).toString(16).slice(1):"0x"+c.Color.componentToHex(e)+c.Color.componentToHex(a)+c.Color.componentToHex(b)+c.Color.componentToHex(d)},hexToRGB:function(a){var b=c.Color.hexToColor(a);return b?c.Color.getColor32(b.a,b.r,b.g,b.b):void 0},hexToColor:function(a,b){a=a.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,b,c,d){return b+b+c+c+d+d});var d=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);if(d){var e=parseInt(d[1],16),f=parseInt(d[2],16),g=parseInt(d[3],16);b?(b.r=e,b.g=f,b.b=g):b=c.Color.createColor(e,f,g)}return b},webToColor:function(a,b){b||(b=c.Color.createColor());var d=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(a);return d&&(b.r=parseInt(d[1],10),b.g=parseInt(d[2],10),b.b=parseInt(d[3],10),b.a=void 0!==d[4]?parseFloat(d[4]):1,c.Color.updateColor(b)),b},valueToColor:function(a,b){if(b||(b=c.Color.createColor()),"string"==typeof a)return 0===a.indexOf("rgb")?c.Color.webToColor(a,b):(b.a=1,c.Color.hexToColor(a,b));if("number"==typeof a){var d=c.Color.getRGB(a);return b.r=d.r,b.g=d.g,b.b=d.b,b.a=d.a/255,b}return b},componentToHex:function(a){var b=a.toString(16);return 1==b.length?"0"+b:b},HSVColorWheel:function(a,b){void 0===a&&(a=1),void 0===b&&(b=1);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSVtoRGB(e/359,a,b));return d},HSLColorWheel:function(a,b){void 0===a&&(a=.5),void 0===b&&(b=.5);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSLtoRGB(e/359,a,b));return d},interpolateColor:function(a,b,d,e,f){void 0===f&&(f=255);var g=c.Color.getRGB(a),h=c.Color.getRGB(b),i=(h.red-g.red)*e/d+g.red,j=(h.green-g.green)*e/d+g.green,k=(h.blue-g.blue)*e/d+g.blue;return c.Color.getColor32(f,i,j,k)},interpolateColorWithRGB:function(a,b,d,e,f,g){var h=c.Color.getRGB(a),i=(b-h.red)*g/f+h.red,j=(d-h.green)*g/f+h.green,k=(e-h.blue)*g/f+h.blue;return c.Color.getColor(i,j,k)},interpolateRGB:function(a,b,d,e,f,g,h,i){var j=(e-a)*i/h+a,k=(f-b)*i/h+b,l=(g-d)*i/h+d;return c.Color.getColor(j,k,l)},getRandomColor:function(a,b,d){if(void 0===a&&(a=0),void 0===b&&(b=255),void 0===d&&(d=255),b>255||a>b)return c.Color.getColor(255,255,255);var e=a+Math.round(Math.random()*(b-a)),f=a+Math.round(Math.random()*(b-a)),g=a+Math.round(Math.random()*(b-a));return c.Color.getColor32(d,e,f,g)},getRGB:function(a){return a>16777215?{alpha:a>>>24,red:a>>16&255,green:a>>8&255,blue:255&a,a:a>>>24,r:a>>16&255,g:a>>8&255,b:255&a}:{alpha:255,red:a>>16&255,green:a>>8&255,blue:255&a,a:255,r:a>>16&255,g:a>>8&255,b:255&a}},getWebRGB:function(a){if("object"==typeof a)return"rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+(a.a/255).toString()+")";var b=c.Color.getRGB(a);return"rgba("+b.r.toString()+","+b.g.toString()+","+b.b.toString()+","+(b.a/255).toString()+")"},getAlpha:function(a){return a>>>24},getAlphaFloat:function(a){return(a>>>24)/255},getRed:function(a){return a>>16&255},getGreen:function(a){return a>>8&255},getBlue:function(a){return 255&a},blendNormal:function(a){return a},blendLighten:function(a,b){return b>a?b:a},blendDarken:function(a,b){return b>a?a:b},blendMultiply:function(a,b){return a*b/255},blendAverage:function(a,b){return(a+b)/2},blendAdd:function(a,b){return Math.min(255,a+b)},blendSubtract:function(a,b){return Math.max(0,a+b-255)},blendDifference:function(a,b){return Math.abs(a-b)},blendNegation:function(a,b){return 255-Math.abs(255-a-b)},blendScreen:function(a,b){return 255-((255-a)*(255-b)>>8)},blendExclusion:function(a,b){return a+b-2*a*b/255},blendOverlay:function(a,b){return 128>b?2*a*b/255:255-2*(255-a)*(255-b)/255},blendSoftLight:function(a,b){return 128>b?2*((a>>1)+64)*(b/255):255-2*(255-((a>>1)+64))*(255-b)/255},blendHardLight:function(a,b){return c.Color.blendOverlay(b,a)},blendColorDodge:function(a,b){return 255===b?b:Math.min(255,(a<<8)/(255-b))},blendColorBurn:function(a,b){return 0===b?b:Math.max(0,255-(255-a<<8)/b)},blendLinearDodge:function(a,b){return c.Color.blendAdd(a,b)},blendLinearBurn:function(a,b){return c.Color.blendSubtract(a,b)},blendLinearLight:function(a,b){return 128>b?c.Color.blendLinearBurn(a,2*b):c.Color.blendLinearDodge(a,2*(b-128))},blendVividLight:function(a,b){return 128>b?c.Color.blendColorBurn(a,2*b):c.Color.blendColorDodge(a,2*(b-128))},blendPinLight:function(a,b){return 128>b?c.Color.blendDarken(a,2*b):c.Color.blendLighten(a,2*(b-128))},blendHardMix:function(a,b){return c.Color.blendVividLight(a,b)<128?0:255},blendReflect:function(a,b){return 255===b?b:Math.min(255,a*a/(255-b))},blendGlow:function(a,b){return c.Color.blendReflect(b,a)},blendPhoenix:function(a,b){return Math.min(a,b)-Math.max(a,b)+255}},c.Physics=function(a,b){b=b||{},this.game=a,this.config=b,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},c.Physics.ARCADE=0,c.Physics.P2JS=1,c.Physics.NINJA=2,c.Physics.BOX2D=3,c.Physics.CHIPMUNK=4,c.Physics.MATTERJS=5,c.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&this.config.arcade!==!0||!c.Physics.hasOwnProperty("Arcade")||(this.arcade=new c.Physics.Arcade(this.game)), -this.config.hasOwnProperty("ninja")&&this.config.ninja===!0&&c.Physics.hasOwnProperty("Ninja")&&(this.ninja=new c.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&this.config.p2===!0&&c.Physics.hasOwnProperty("P2")&&(this.p2=new c.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&this.config.box2d===!0&&c.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new c.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&this.config.matter===!0&&c.Physics.hasOwnProperty("Matter")&&(this.matter=new c.Physics.Matter(this.game,this.config))},startSystem:function(a){a===c.Physics.ARCADE?this.arcade=new c.Physics.Arcade(this.game):a===c.Physics.P2JS?null===this.p2?this.p2=new c.Physics.P2(this.game,this.config):this.p2.reset():a===c.Physics.NINJA?this.ninja=new c.Physics.Ninja(this.game):a===c.Physics.BOX2D?null===this.box2d?this.box2d=new c.Physics.Box2D(this.game,this.config):this.box2d.reset():a===c.Physics.MATTERJS&&(null===this.matter?this.matter=new c.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(a,b,d){void 0===b&&(b=c.Physics.ARCADE),void 0===d&&(d=!1),b===c.Physics.ARCADE?this.arcade.enable(a):b===c.Physics.P2JS&&this.p2?this.p2.enable(a,d):b===c.Physics.NINJA&&this.ninja?this.ninja.enableAABB(a):b===c.Physics.BOX2D&&this.box2d?this.box2d.enable(a):b===c.Physics.MATTERJS&&this.matter&&this.matter.enable(a)},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},c.Physics.prototype.constructor=c.Physics,c.Particles=function(a){this.game=a,this.emitters={},this.ID=0},c.Particles.prototype={add:function(a){return this.emitters[a.name]=a,a},remove:function(a){delete this.emitters[a.name]},update:function(){for(var a in this.emitters)this.emitters[a].exists&&this.emitters[a].update()}},c.Particles.prototype.constructor=c.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=c.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=c.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new PIXI.Matrix),void 0===PIXI.RenderTexture.tempMatrix&&(PIXI.RenderTexture.tempMatrix=new PIXI.Matrix),PIXI.Graphics&&void 0===PIXI.Graphics.POLY&&(PIXI.Graphics.POLY=c.POLYGON,PIXI.Graphics.RECT=c.RECTANGLE,PIXI.Graphics.CIRC=c.CIRCLE,PIXI.Graphics.ELIP=c.ELLIPSE,PIXI.Graphics.RREC=c.ROUNDEDRECTANGLE),PIXI.TextureSilentFail=!0,"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=c),exports.Phaser=c):"undefined"!=typeof define&&define.amd?define("Phaser",function(){return b.Phaser=c}()):b.Phaser=c,c}.call(this); +(function(){var a=this,b=b||{};return b.game=null,b.WEBGL_RENDERER=0,b.CANVAS_RENDERER=1,b.VERSION="v2.2.9",b._UID=0,"undefined"!=typeof Float32Array?(b.Float32Array=Float32Array,b.Uint16Array=Uint16Array,b.Uint32Array=Uint32Array,b.ArrayBuffer=ArrayBuffer):(b.Float32Array=Array,b.Uint16Array=Array),b.PI_2=2*Math.PI,b.RAD_TO_DEG=180/Math.PI,b.DEG_TO_RAD=Math.PI/180,b.RETINA_PREFIX="@2x",b.DisplayObject=function(){this.position=new b.Point(0,0),this.scale=new b.Point(1,1),this.pivot=new b.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.stage=null,this.worldAlpha=1,this.worldTransform=new b.Matrix,this.worldPosition=new b.Point(0,0),this.worldScale=new b.Point(1,1),this.worldRotation=0,this._sr=0,this._cr=1,this.filterArea=null,this._bounds=new b.Rectangle(0,0,1,1),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},b.DisplayObject.prototype.constructor=b.DisplayObject,b.DisplayObject.prototype.destroy=function(){if(this.children){for(var a=this.children.length;a--;)this.children[a].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.stage=null,this.worldTransform=null,this.filterArea=null,this._bounds=null,this._currentBounds=null,this._mask=null,this.renderable=!1,this._destroyCachedSprite()},Object.defineProperty(b.DisplayObject.prototype,"worldVisible",{get:function(){var a=this;do{if(!a.visible)return!1;a=a.parent}while(a);return!0}}),Object.defineProperty(b.DisplayObject.prototype,"mask",{get:function(){return this._mask},set:function(a){this._mask&&(this._mask.isMask=!1),this._mask=a,this._mask&&(this._mask.isMask=!0)}}),Object.defineProperty(b.DisplayObject.prototype,"filters",{get:function(){return this._filters},set:function(a){if(a){for(var c=[],d=0;d=0&&b<=this.children.length)return a.parent&&a.parent.removeChild(a),a.parent=this,this.children.splice(b,0,a),this.stage&&a.setStageReference(this.stage),a;throw new Error(a+"addChildAt: The index "+b+" supplied is out of bounds "+this.children.length)},b.DisplayObjectContainer.prototype.swapChildren=function(a,b){if(a!==b){var c=this.getChildIndex(a),d=this.getChildIndex(b);if(0>c||0>d)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[c]=b,this.children[d]=a}},b.DisplayObjectContainer.prototype.getChildIndex=function(a){var b=this.children.indexOf(a);if(-1===b)throw new Error("The supplied DisplayObject must be a child of the caller");return b},b.DisplayObjectContainer.prototype.setChildIndex=function(a,b){if(0>b||b>=this.children.length)throw new Error("The supplied index is out of bounds");var c=this.getChildIndex(a);this.children.splice(c,1),this.children.splice(b,0,a)},b.DisplayObjectContainer.prototype.getChildAt=function(a){if(0>a||a>=this.children.length)throw new Error("getChildAt: Supplied index "+a+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[a]},b.DisplayObjectContainer.prototype.removeChild=function(a){var b=this.children.indexOf(a);if(-1!==b)return this.removeChildAt(b)},b.DisplayObjectContainer.prototype.removeChildAt=function(a){var b=this.getChildAt(a);return this.stage&&b.removeStageReference(),b.parent=void 0,this.children.splice(a,1),b},b.DisplayObjectContainer.prototype.removeChildren=function(a,b){var c=a||0,d="number"==typeof b?b:this.children.length,e=d-c;if(e>0&&d>=e){for(var f=this.children.splice(c,e),g=0;gj;j++){var l=this.children[j];l.visible&&(i=!0,a=this.children[j].getBounds(),e=ec?g:c,h=h>d?h:d)}if(!i)return b.EmptyRectangle;var m=this._bounds;return m.x=e,m.y=f,m.width=g-e,m.height=h-f,m},b.DisplayObjectContainer.prototype.getLocalBounds=function(){var a=this.worldTransform;this.worldTransform=b.identityMatrix;for(var c=0,d=this.children.length;d>c;c++)this.children[c].updateTransform();var e=this.getBounds();return this.worldTransform=a,e},b.DisplayObjectContainer.prototype.setStageReference=function(a){this.stage=a;for(var b=0;bi){i*=-1;var s=d;d=-e,e=-s}if(0>l){l*=-1;var s=f;f=-g,g=-s}q=i*e+m,o=i*d+m,r=l*g+n,p=l*f+n}else{var t=i*e+k*g+m,u=l*g+j*e+n,v=i*d+k*g+m,w=l*g+j*d+n,x=i*d+k*f+m,y=l*f+j*d+n,z=i*e+k*f+m,A=l*f+j*e+n;q=q>t?t:q,q=q>v?v:q,q=q>x?x:q,q=q>z?z:q,r=r>u?u:r,r=r>w?w:r,r=r>y?y:r,r=r>A?A:r,o=t>o?t:o,o=v>o?v:o,o=x>o?x:o,o=z>o?z:o,p=u>p?u:p,p=w>p?w:p,p=y>p?y:p,p=A>p?A:p}var B=this._bounds;return B.x=q,B.width=o-q,B.y=r,B.height=p-r,this._currentBounds=B,B},b.Sprite.prototype._renderWebGL=function(a,b){if(this.visible&&!(this.alpha<=0)&&this.renderable){var c=this.worldTransform;if(b&&(c=b),this._mask||this._filters){var d=a.spriteBatch;this._filters&&(d.flush(),a.filterManager.pushFilter(this._filterBlock)),this._mask&&(d.stop(),a.maskManager.pushMask(this.mask,a),d.start()),d.render(this);for(var e=0;e>16&255)/255,(a>>8&255)/255,(255&a)/255]},b.rgb2hex=function(a){return(255*a[0]<<16)+(255*a[1]<<8)+255*a[2]},b.canUseNewCanvasBlendModes=function(){if(void 0===document)return!1;var a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/",c="AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",d=new Image;d.src=a+"AP804Oa6"+c;var e=new Image;e.src=a+"/wCKxvRF"+c;var f=b.CanvasPool.create(this,6,1),g=f.getContext("2d");if(g.globalCompositeOperation="multiply",g.drawImage(d,0,0),g.drawImage(e,2,0),!g.getImageData(2,0,1,1))return!1;var h=g.getImageData(2,0,1,1).data;return b.CanvasPool.remove(this),255===h[0]&&0===h[1]&&0===h[2]},b.getNextPowerOfTwo=function(a){if(a>0&&0===(a&a-1))return a;for(var b=1;a>b;)b<<=1;return b},b.isPowerOfTwo=function(a,b){return a>0&&0===(a&a-1)&&b>0&&0===(b&b-1)},b.CanvasPool={create:function(a,c,d){var e,f=b.CanvasPool.getFirst();if(-1===f){var g={parent:a,canvas:document.createElement("canvas")};b.CanvasPool.pool.push(g),e=g.canvas}else b.CanvasPool.pool[f].parent=a,e=b.CanvasPool.pool[f].canvas;return void 0!==c&&(e.width=c,e.height=d),e},getFirst:function(){for(var a=b.CanvasPool.pool,c=0;cd;d+=6,e+=4)this.indices[d+0]=e+0,this.indices[d+1]=e+1,this.indices[d+2]=e+2,this.indices[d+3]=e+0,this.indices[d+4]=e+2,this.indices[d+5]=e+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.dirty=!0,this.textures=[],this.blendModes=[],this.shaders=[],this.sprites=[],this.defaultShader=new b.AbstractFilter(["precision lowp float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;","}"])},b.WebGLSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW),this.currentBlendMode=99999;var c=new b.PixiShader(a);c.fragmentSrc=this.defaultShader.fragmentSrc,c.uniforms={},c.init(),this.defaultShader.shaders[a.id]=c},b.WebGLSpriteBatch.prototype.begin=function(a){this.renderSession=a,this.shader=this.renderSession.shaderManager.defaultShader,this.start()},b.WebGLSpriteBatch.prototype.end=function(){this.flush()},b.WebGLSpriteBatch.prototype.render=function(a,b){var c=a.texture,d=a.worldTransform;b&&(d=b),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture);var e=c._uvs;if(e){var f,g,h,i,j=a.anchor.x,k=a.anchor.y;if(c.trim){var l=c.trim;g=l.x-j*l.width,f=g+c.crop.width,i=l.y-k*l.height,h=i+c.crop.height}else f=c.frame.width*(1-j),g=c.frame.width*-j,h=c.frame.height*(1-k),i=c.frame.height*-k;var m=4*this.currentBatchSize*this.vertSize,n=c.baseTexture.resolution,o=d.a/n,p=d.b/n,q=d.c/n,r=d.d/n,s=d.tx,t=d.ty,u=this.colors,v=this.positions;this.renderSession.roundPixels?(v[m]=o*g+q*i+s|0,v[m+1]=r*i+p*g+t|0,v[m+5]=o*f+q*i+s|0,v[m+6]=r*i+p*f+t|0,v[m+10]=o*f+q*h+s|0,v[m+11]=r*h+p*f+t|0,v[m+15]=o*g+q*h+s|0,v[m+16]=r*h+p*g+t|0):(v[m]=o*g+q*i+s,v[m+1]=r*i+p*g+t,v[m+5]=o*f+q*i+s,v[m+6]=r*i+p*f+t,v[m+10]=o*f+q*h+s,v[m+11]=r*h+p*f+t,v[m+15]=o*g+q*h+s,v[m+16]=r*h+p*g+t),v[m+2]=e.x0,v[m+3]=e.y0,v[m+7]=e.x1,v[m+8]=e.y1,v[m+12]=e.x2,v[m+13]=e.y2,v[m+17]=e.x3,v[m+18]=e.y3;var w=a.tint;u[m+4]=u[m+9]=u[m+14]=u[m+19]=(w>>16)+(65280&w)+((255&w)<<16)+(255*a.worldAlpha<<24),this.sprites[this.currentBatchSize++]=a}},b.WebGLSpriteBatch.prototype.renderTilingSprite=function(a){var c=a.tilingTexture;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture),a._uvs||(a._uvs=new b.TextureUvs);var d=a._uvs,e=c.baseTexture.width,f=c.baseTexture.height;a.tilePosition.x%=e*a.tileScaleOffset.x,a.tilePosition.y%=f*a.tileScaleOffset.y;var g=a.tilePosition.x/(e*a.tileScaleOffset.x),h=a.tilePosition.y/(f*a.tileScaleOffset.y),i=a.width/e/(a.tileScale.x*a.tileScaleOffset.x),j=a.height/f/(a.tileScale.y*a.tileScaleOffset.y);d.x0=0-g,d.y0=0-h,d.x1=1*i-g,d.y1=0-h,d.x2=1*i-g,d.y2=1*j-h,d.x3=0-g,d.y3=1*j-h;var k=a.tint,l=(k>>16)+(65280&k)+((255&k)<<16)+(255*a.worldAlpha<<24),m=this.positions,n=this.colors,o=a.width,p=a.height,q=a.anchor.x,r=a.anchor.y,s=o*(1-q),t=o*-q,u=p*(1-r),v=p*-r,w=4*this.currentBatchSize*this.vertSize,x=c.baseTexture.resolution,y=a.worldTransform,z=y.a/x,A=y.b/x,B=y.c/x,C=y.d/x,D=y.tx,E=y.ty;m[w++]=z*t+B*v+D,m[w++]=C*v+A*t+E,m[w++]=d.x0,m[w++]=d.y0,n[w++]=l,m[w++]=z*s+B*v+D,m[w++]=C*v+A*s+E,m[w++]=d.x1,m[w++]=d.y1,n[w++]=l,m[w++]=z*s+B*u+D,m[w++]=C*u+A*s+E,m[w++]=d.x2,m[w++]=d.y2,n[w++]=l,m[w++]=z*t+B*u+D,m[w++]=C*u+A*t+E,m[w++]=d.x3,m[w++]=d.y3,n[w++]=l,this.sprites[this.currentBatchSize++]=a},b.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a,c=this.gl;if(this.dirty){this.dirty=!1,c.activeTexture(c.TEXTURE0),c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a=this.defaultShader.shaders[c.id];var d=4*this.vertSize;c.vertexAttribPointer(a.aVertexPosition,2,c.FLOAT,!1,d,0),c.vertexAttribPointer(a.aTextureCoord,2,c.FLOAT,!1,d,8),c.vertexAttribPointer(a.colorAttribute,4,c.UNSIGNED_BYTE,!0,d,16)}if(this.currentBatchSize>.5*this.size)c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices);else{var e=this.positions.subarray(0,4*this.currentBatchSize*this.vertSize);c.bufferSubData(c.ARRAY_BUFFER,0,e)}for(var f,g,h,i,j=0,k=0,l=null,m=this.renderSession.blendModeManager.currentBlendMode,n=null,o=!1,p=!1,q=0,r=this.currentBatchSize;r>q;q++){i=this.sprites[q],f=i.tilingTexture?i.tilingTexture.baseTexture:i.texture.baseTexture,g=i.blendMode,h=i.shader||this.defaultShader,o=m!==g,p=n!==h;var s=f.skipRender;if(s&&i.children.length>0&&(s=!1),(l!==f&&!s||o||p)&&(this.renderBatch(l,j,k),k=q,j=0,l=f,o&&(m=g,this.renderSession.blendModeManager.setBlendMode(m)),p)){n=h,a=n.shaders[c.id],a||(a=new b.PixiShader(c),a.fragmentSrc=n.fragmentSrc,a.uniforms=n.uniforms,a.init(),n.shaders[c.id]=a),this.renderSession.shaderManager.setShader(a),a.dirty&&a.syncUniforms();var t=this.renderSession.projection;c.uniform2f(a.projectionVector,t.x,t.y);var u=this.renderSession.offset;c.uniform2f(a.offsetVector,u.x,u.y)}j++}this.renderBatch(l,j,k),this.currentBatchSize=0}},b.WebGLSpriteBatch.prototype.renderBatch=function(a,b,c){if(0!==b){var d=this.gl;if(a._dirty[d.id]){if(!this.renderSession.renderer.updateTexture(a))return}else d.bindTexture(d.TEXTURE_2D,a._glTextures[d.id]);d.drawElements(d.TRIANGLES,6*b,d.UNSIGNED_SHORT,6*c*2),this.renderSession.drawCount++}},b.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},b.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},b.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},b.WebGLFastSpriteBatch=function(a){this.vertSize=10,this.maxSize=6e3,this.size=this.maxSize;var c=4*this.size*this.vertSize,d=6*this.maxSize;this.vertices=new b.Float32Array(c),this.indices=new b.Uint16Array(d),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var e=0,f=0;d>e;e+=6,f+=4)this.indices[e+0]=f+0,this.indices[e+1]=f+1,this.indices[e+2]=f+2,this.indices[e+3]=f+0,this.indices[e+4]=f+2,this.indices[e+5]=f+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.currentBlendMode=0,this.renderSession=null,this.shader=null,this.matrix=null,this.setContext(a)},b.WebGLFastSpriteBatch.prototype.constructor=b.WebGLFastSpriteBatch,b.WebGLFastSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW)},b.WebGLFastSpriteBatch.prototype.begin=function(a,b){this.renderSession=b,this.shader=this.renderSession.shaderManager.fastShader,this.matrix=a.worldTransform.toArray(!0),this.start()},b.WebGLFastSpriteBatch.prototype.end=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.render=function(a){var b=a.children,c=b[0];if(c.texture._uvs){this.currentBaseTexture=c.texture.baseTexture,c.blendMode!==this.renderSession.blendModeManager.currentBlendMode&&(this.flush(),this.renderSession.blendModeManager.setBlendMode(c.blendMode));for(var d=0,e=b.length;e>d;d++)this.renderSprite(b[d]);this.flush()}},b.WebGLFastSpriteBatch.prototype.renderSprite=function(a){if(a.visible&&(a.texture.baseTexture===this.currentBaseTexture||a.texture.baseTexture.skipRender||(this.flush(),this.currentBaseTexture=a.texture.baseTexture,a.texture._uvs))){var b,c,d,e,f,g,h,i,j=this.vertices;if(b=a.texture._uvs,c=a.texture.frame.width,d=a.texture.frame.height,a.texture.trim){var k=a.texture.trim;f=k.x-a.anchor.x*k.width,e=f+a.texture.crop.width,h=k.y-a.anchor.y*k.height,g=h+a.texture.crop.height}else e=a.texture.frame.width*(1-a.anchor.x),f=a.texture.frame.width*-a.anchor.x,g=a.texture.frame.height*(1-a.anchor.y),h=a.texture.frame.height*-a.anchor.y;i=4*this.currentBatchSize*this.vertSize,j[i++]=f,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x0,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x1,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x2,j[i++]=b.y2,j[i++]=a.alpha,j[i++]=f,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x3,j[i++]=b.y3,j[i++]=a.alpha,this.currentBatchSize++,this.currentBatchSize>=this.size&&this.flush()}},b.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a=this.gl;if(this.currentBaseTexture._glTextures[a.id]||this.renderSession.renderer.updateTexture(this.currentBaseTexture,a),a.bindTexture(a.TEXTURE_2D,this.currentBaseTexture._glTextures[a.id]),this.currentBatchSize>.5*this.size)a.bufferSubData(a.ARRAY_BUFFER,0,this.vertices);else{var b=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);a.bufferSubData(a.ARRAY_BUFFER,0,b)}a.drawElements(a.TRIANGLES,6*this.currentBatchSize,a.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}},b.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.start=function(){var a=this.gl;a.activeTexture(a.TEXTURE0),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var b=this.renderSession.projection;a.uniform2f(this.shader.projectionVector,b.x,b.y),a.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var c=4*this.vertSize;a.vertexAttribPointer(this.shader.aVertexPosition,2,a.FLOAT,!1,c,0),a.vertexAttribPointer(this.shader.aPositionCoord,2,a.FLOAT,!1,c,8),a.vertexAttribPointer(this.shader.aScale,2,a.FLOAT,!1,c,16),a.vertexAttribPointer(this.shader.aRotation,1,a.FLOAT,!1,c,24),a.vertexAttribPointer(this.shader.aTextureCoord,2,a.FLOAT,!1,c,28),a.vertexAttribPointer(this.shader.colorAttribute,1,a.FLOAT,!1,c,36)},b.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},b.WebGLFilterManager.prototype.constructor=b.WebGLFilterManager,b.WebGLFilterManager.prototype.setContext=function(a){this.gl=a,this.texturePool=[],this.initShaderBuffers()},b.WebGLFilterManager.prototype.begin=function(a,b){this.renderSession=a,this.defaultShader=a.shaderManager.defaultShader;var c=this.renderSession.projection;this.width=2*c.x,this.height=2*-c.y,this.buffer=b},b.WebGLFilterManager.prototype.pushFilter=function(a){var c=this.gl,d=this.renderSession.projection,e=this.renderSession.offset;a._filterArea=a.target.filterArea||a.target.getBounds(),a._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new b.WebGLStencilManager,this.renderSession.stencilManager.setContext(c),c.disable(c.STENCIL_TEST),this.filterStack.push(a);var f=a.filterPasses[0];this.offsetX+=a._filterArea.x,this.offsetY+=a._filterArea.y;var g=this.texturePool.pop();g?g.resize(this.width,this.height):g=new b.FilterTexture(this.gl,this.width,this.height),c.bindTexture(c.TEXTURE_2D,g.texture);var h=a._filterArea,i=f.padding;h.x-=i,h.y-=i,h.width+=2*i,h.height+=2*i,h.x<0&&(h.x=0),h.width>this.width&&(h.width=this.width),h.y<0&&(h.y=0),h.height>this.height&&(h.height=this.height),c.bindFramebuffer(c.FRAMEBUFFER,g.frameBuffer),c.viewport(0,0,h.width,h.height),d.x=h.width/2,d.y=-h.height/2,e.x=-h.x,e.y=-h.y,c.colorMask(!0,!0,!0,!0),c.clearColor(0,0,0,0),c.clear(c.COLOR_BUFFER_BIT),a._glFilterTexture=g},b.WebGLFilterManager.prototype.popFilter=function(){var a=this.gl,c=this.filterStack.pop(),d=c._filterArea,e=c._glFilterTexture,f=this.renderSession.projection,g=this.renderSession.offset;if(c.filterPasses.length>1){a.viewport(0,0,d.width,d.height),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=d.height,this.vertexArray[2]=d.width,this.vertexArray[3]=d.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=d.width,this.vertexArray[7]=0,a.bufferSubData(a.ARRAY_BUFFER,0,this.vertexArray),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=d.width/this.width,this.uvArray[5]=d.height/this.height,this.uvArray[6]=d.width/this.width,this.uvArray[7]=d.height/this.height,a.bufferSubData(a.ARRAY_BUFFER,0,this.uvArray);var h=e,i=this.texturePool.pop();i||(i=new b.FilterTexture(this.gl,this.width,this.height)),i.resize(this.width,this.height),a.bindFramebuffer(a.FRAMEBUFFER,i.frameBuffer),a.clear(a.COLOR_BUFFER_BIT),a.disable(a.BLEND);for(var j=0;j0?a.enable(a.STENCIL_TEST):a.disable(a.STENCIL_TEST),this.applyFilterPass(m,d,n,o),this.texturePool.push(e),c._glFilterTexture=null},b.WebGLFilterManager.prototype.applyFilterPass=function(a,c,d,e){var f=this.gl,g=a.shaders[f.id];g||(g=new b.PixiShader(f),g.fragmentSrc=a.fragmentSrc,g.uniforms=a.uniforms,g.init(),a.shaders[f.id]=g),this.renderSession.shaderManager.setShader(g),f.uniform2f(g.projectionVector,d/2,-e/2),f.uniform2f(g.offsetVector,0,0),a.uniforms.dimensions&&(a.uniforms.dimensions.value[0]=this.width,a.uniforms.dimensions.value[1]=this.height,a.uniforms.dimensions.value[2]=this.vertexArray[0],a.uniforms.dimensions.value[3]=this.vertexArray[5]),g.syncUniforms(),f.bindBuffer(f.ARRAY_BUFFER,this.vertexBuffer),f.vertexAttribPointer(g.aVertexPosition,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ARRAY_BUFFER,this.uvBuffer),f.vertexAttribPointer(g.aTextureCoord,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ARRAY_BUFFER,this.colorBuffer),f.vertexAttribPointer(g.colorAttribute,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ELEMENT_ARRAY_BUFFER,this.indexBuffer),f.drawElements(f.TRIANGLES,6,f.UNSIGNED_SHORT,0),this.renderSession.drawCount++},b.WebGLFilterManager.prototype.initShaderBuffers=function(){var a=this.gl;this.vertexBuffer=a.createBuffer(),this.uvBuffer=a.createBuffer(),this.colorBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),this.vertexArray=new b.Float32Array([0,0,1,0,0,1,1,1]),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertexArray,a.STATIC_DRAW),this.uvArray=new b.Float32Array([0,0,1,0,0,1,1,1]),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),a.bufferData(a.ARRAY_BUFFER,this.uvArray,a.STATIC_DRAW),this.colorArray=new b.Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),a.bindBuffer(a.ARRAY_BUFFER,this.colorBuffer),a.bufferData(a.ARRAY_BUFFER,this.colorArray,a.STATIC_DRAW),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),a.STATIC_DRAW)},b.WebGLFilterManager.prototype.destroy=function(){var a=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var b=0;b=0;a--){var c=this._glTextures[a],d=b.glContexts[a];d&&c&&d.deleteTexture(c)}this._glTextures.length=0,this.dirty()},b.BaseTexture.fromImage=function(a,c,d){var e=b.BaseTextureCache[a];if(void 0===c&&-1===a.indexOf("data:")&&(c=!0),!e){var f=new Image;c&&(f.crossOrigin=""),f.src=a,e=new b.BaseTexture(f,d),e.imageUrl=a,b.BaseTextureCache[a]=e,-1!==a.indexOf(b.RETINA_PREFIX+".")&&(e.resolution=2)}return e},b.BaseTexture.fromCanvas=function(a,c){a._pixiId||(a._pixiId="canvas_"+b.TextureCacheIdGenerator++),0===a.width&&(a.width=1),0===a.height&&(a.height=1);var d=b.BaseTextureCache[a._pixiId];return d||(d=new b.BaseTexture(a,c),b.BaseTextureCache[a._pixiId]=d),d},b.TextureCache={},b.FrameCache={},b.TextureSilentFail=!1,b.TextureCacheIdGenerator=0,b.Texture=function(a,c,d,e){this.noFrame=!1,c||(this.noFrame=!0,c=new b.Rectangle(0,0,1,1)),a instanceof b.Texture&&(a=a.baseTexture),this.baseTexture=a,this.frame=c,this.trim=e,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=d||new b.Rectangle(0,0,1,1),a.hasLoaded&&(this.noFrame&&(c=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(c))},b.Texture.prototype.constructor=b.Texture,b.Texture.prototype.onBaseTextureLoaded=function(){var a=this.baseTexture;this.noFrame&&(this.frame=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(this.frame)},b.Texture.prototype.destroy=function(a){a&&this.baseTexture.destroy(),this.valid=!1},b.Texture.prototype.setFrame=function(a){if(this.noFrame=!1,this.frame=a,this.width=a.width,this.height=a.height,this.crop.x=a.x,this.crop.y=a.y,this.crop.width=a.width,this.crop.height=a.height,!this.trim&&(a.x+a.width>this.baseTexture.width||a.y+a.height>this.baseTexture.height)){if(!b.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);return void(this.valid=!1)}this.valid=a&&a.width&&a.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()},b.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new b.TextureUvs);var a=this.crop,c=this.baseTexture.width,d=this.baseTexture.height;this._uvs.x0=a.x/c,this._uvs.y0=a.y/d,this._uvs.x1=(a.x+a.width)/c,this._uvs.y1=a.y/d,this._uvs.x2=(a.x+a.width)/c,this._uvs.y2=(a.y+a.height)/d,this._uvs.x3=a.x/c,this._uvs.y3=(a.y+a.height)/d},b.Texture.fromImage=function(a,c,d){var e=b.TextureCache[a];return e||(e=new b.Texture(b.BaseTexture.fromImage(a,c,d)),b.TextureCache[a]=e),e},b.Texture.fromFrame=function(a){var c=b.TextureCache[a];if(!c)throw new Error('The frameId "'+a+'" does not exist in the texture cache ');return c},b.Texture.fromCanvas=function(a,c){var d=b.BaseTexture.fromCanvas(a,c);return new b.Texture(d)},b.Texture.addTextureToCache=function(a,c){b.TextureCache[c]=a},b.Texture.removeTextureFromCache=function(a){var c=b.TextureCache[a];return delete b.TextureCache[a],delete b.BaseTextureCache[a],c},b.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},b.RenderTexture=function(a,c,d,e,f){if(this.width=a||100,this.height=c||100,this.resolution=f||1,this.frame=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.baseTexture=new b.BaseTexture,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=e||b.scaleModes.DEFAULT,this.baseTexture.hasLoaded=!0,b.Texture.call(this,this.baseTexture,new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution)),this.renderer=d||b.defaultRenderer,this.renderer.type===b.WEBGL_RENDERER){var g=this.renderer.gl;this.baseTexture._dirty[g.id]=!1,this.textureBuffer=new b.FilterTexture(g,this.width,this.height,this.baseTexture.scaleMode),this.baseTexture._glTextures[g.id]=this.textureBuffer.texture,this.render=this.renderWebGL,this.projection=new b.Point(.5*this.width,.5*-this.height)}else this.render=this.renderCanvas,this.textureBuffer=new b.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new Phaser.Matrix,this._updateUvs()},b.RenderTexture.prototype=Object.create(b.Texture.prototype),b.RenderTexture.prototype.constructor=b.RenderTexture,b.RenderTexture.prototype.resize=function(a,c,d){(a!==this.width||c!==this.height)&&(this.valid=a>0&&c>0,this.width=a,this.height=c,this.frame.width=this.crop.width=a*this.resolution,this.frame.height=this.crop.height=c*this.resolution,d&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===b.WEBGL_RENDERER&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},b.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===b.WEBGL_RENDERER&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},b.RenderTexture.prototype.renderWebGL=function(a,b,c){if(this.valid&&0!==a.alpha){var d=a.worldTransform;d.identity(),d.translate(0,2*this.projection.y),b&&d.append(b),d.scale(1,-1);for(var e=0;ea;a++)this.shaders[a].dirty=!0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=b),exports.PIXI=b):"undefined"!=typeof define&&define.amd?define("PIXI",function(){return a.PIXI=b}()):a.PIXI=b,b}).call(this),function(){function a(a,b){this._scaleFactor=a,this._deltaMode=b,this.originalEvent=null}var b=this,c=c||{VERSION:"2.4.5-dev",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,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},PIXI:PIXI||{}};if(Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)}),Function.prototype.bind||(Function.prototype.bind=function(){var a=Array.prototype.slice;return function(b){function c(){var f=e.concat(a.call(arguments));d.apply(this instanceof c?this:b,f)}var d=this,e=a.call(arguments,1);if("function"!=typeof d)throw new TypeError;return c.prototype=function f(a){return a&&(f.prototype=a),this instanceof f?void 0:new f}(d.prototype),c}}()),Array.isArray||(Array.isArray=function(a){return"[object Array]"==Object.prototype.toString.call(a)}),Array.prototype.forEach||(Array.prototype.forEach=function(a){"use strict";if(void 0===this||null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!=typeof a)throw new TypeError;for(var d=arguments.length>=2?arguments[1]:void 0,e=0;c>e;e++)e in b&&a.call(d,b[e],e,b)}),"function"!=typeof window.Uint32Array&&"object"!=typeof window.Uint32Array){var d=function(a){var b=new Array;window[a]=function(a){if("number"==typeof a){Array.call(this,a),this.length=a;for(var b=0;bf&&(a=a[g]);)g=c[f],f++;return a?a[d]:null},setProperty:function(a,b,c){for(var d=b.split("."),e=d.pop(),f=d.length,g=1,h=d[0];f>g&&(a=a[h]);)h=d[g],g++;return a&&(a[e]=c),a},chanceRoll:function(a){return void 0===a&&(a=50),a>0&&100*Math.random()<=a},randomChoice:function(a,b){return Math.random()<.5?a:b},parseDimension:function(a,b){var c=0,d=0;return"string"==typeof a?"%"===a.substr(-1)?(c=parseInt(a,10)/100,d=0===b?window.innerWidth*c:window.innerHeight*c):d=parseInt(a,10):d=a,d},pad:function(a,b,c,d){if(void 0===b)var b=0;if(void 0===c)var c=" ";if(void 0===d)var d=3;var e=0;if(b+1>=a.length)switch(d){case 1:a=new Array(b+1-a.length).join(c)+a;break;case 3:var f=Math.ceil((e=b-a.length)/2),g=e-f;a=new Array(g+1).join(c)+a+new Array(f+1).join(c);break;default:a+=new Array(b+1-a.length).join(c)}return a},isPlainObject:function(a){if("object"!=typeof a||a.nodeType||a===a.window)return!1;try{if(a.constructor&&!{}.hasOwnProperty.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(b){return!1}return!0},extend:function(){var a,b,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(b in a)d=h[b],e=a[b],h!==e&&(k&&e&&(c.Utils.isPlainObject(e)||(f=Array.isArray(e)))?(f?(f=!1,g=d&&Array.isArray(d)?d:[]):g=d&&c.Utils.isPlainObject(d)?d:{},h[b]=c.Utils.extend(k,g,e)):void 0!==e&&(h[b]=e));return h},mixinPrototype:function(a,b,c){void 0===c&&(c=!1);for(var d=Object.keys(b),e=0;e0&&(this._radius=.5*d),this.type=c.CIRCLE},c.Circle.prototype={circumference:function(){return 2*(Math.PI*this._radius)},random:function(a){void 0===a&&(a=new c.Point);var b=2*Math.PI*Math.random(),d=Math.random()+Math.random(),e=d>1?2-d:d,f=e*Math.cos(b),g=e*Math.sin(b);return a.x=this.x+f*this.radius,a.y=this.y+g*this.radius,a},getBounds:function(){return new c.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(a,b,c){return this.x=a,this.y=b,this._diameter=c,this._radius=.5*c,this},copyFrom:function(a){return this.setTo(a.x,a.y,a.diameter)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.diameter=this._diameter,a},distance:function(a,b){var d=c.Math.distance(this.x,this.y,a.x,a.y);return b?Math.round(d):d},clone:function(a){return void 0===a||null===a?a=new c.Circle(this.x,this.y,this.diameter):a.setTo(this.x,this.y,this.diameter),a},contains:function(a,b){return c.Circle.contains(this,a,b)},circumferencePoint:function(a,b,d){return c.Circle.circumferencePoint(this,a,b,d)},offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},c.Circle.prototype.constructor=c.Circle,Object.defineProperty(c.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(a){a>0&&(this._diameter=a,this._radius=.5*a)}}),Object.defineProperty(c.Circle.prototype,"radius",{get:function(){return this._radius},set:function(a){a>0&&(this._radius=a,this._diameter=2*a)}}),Object.defineProperty(c.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(a){a>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-a}}),Object.defineProperty(c.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(a){athis.y?(this._radius=0,this._diameter=0):this.radius=this.y-a}}),Object.defineProperty(c.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(a){a0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(c.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(a){a===!0&&this.setTo(0,0,0)}}),c.Circle.contains=function(a,b,c){if(a.radius>0&&b>=a.left&&b<=a.right&&c>=a.top&&c<=a.bottom){var d=(a.x-b)*(a.x-b),e=(a.y-c)*(a.y-c);return d+e<=a.radius*a.radius}return!1},c.Circle.equals=function(a,b){return a.x==b.x&&a.y==b.y&&a.diameter==b.diameter},c.Circle.intersects=function(a,b){return c.Math.distance(a.x,a.y,b.x,b.y)<=a.radius+b.radius},c.Circle.circumferencePoint=function(a,b,d,e){return void 0===d&&(d=!1),void 0===e&&(e=new c.Point),d===!0&&(b=c.Math.degToRad(b)),e.x=a.x+a.radius*Math.cos(b),e.y=a.y+a.radius*Math.sin(b),e},c.Circle.intersectsRectangle=function(a,b){var c=Math.abs(a.x-b.x-b.halfWidth),d=b.halfWidth+a.radius;if(c>d)return!1;var e=Math.abs(a.y-b.y-b.halfHeight),f=b.halfHeight+a.radius;if(e>f)return!1;if(c<=b.halfWidth||e<=b.halfHeight)return!0;var g=c-b.halfWidth,h=e-b.halfHeight,i=g*g,j=h*h,k=a.radius*a.radius;return k>=i+j},PIXI.Circle=c.Circle,c.Ellipse=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.ELLIPSE},c.Ellipse.prototype={setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},getBounds:function(){return new c.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},clone:function(a){return void 0===a||null===a?a=new c.Ellipse(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a},contains:function(a,b){return c.Ellipse.contains(this,a,b)},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random()*Math.PI*2,d=Math.random();return a.x=Math.sqrt(d)*Math.cos(b),a.y=Math.sqrt(d)*Math.sin(b),a.x=this.x+a.x*this.width/2,a.y=this.y+a.y*this.height/2,a},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},c.Ellipse.prototype.constructor=c.Ellipse,Object.defineProperty(c.Ellipse.prototype,"left",{get:function(){return this.x},set:function(a){this.x=a}}),Object.defineProperty(c.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(a){ad+e},PIXI.Ellipse=c.Ellipse,c.Line=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.start=new c.Point(a,b),this.end=new c.Point(d,e),this.type=c.LINE},c.Line.prototype={setTo:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(c,d),this},fromSprite:function(a,b,c){return void 0===c&&(c=!1),c?this.setTo(a.center.x,a.center.y,b.center.x,b.center.y):this.setTo(a.x,a.y,b.x,b.y)},fromAngle:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(a+Math.cos(c)*d,b+Math.sin(c)*d),this},rotate:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2;return this.start.rotate(c,d,a,b),this.end.rotate(c,d,a,b),this},rotateAround:function(a,b,c,d){return this.start.rotate(a,b,c,d),this.end.rotate(a,b,c,d),this},intersects:function(a,b,d){return c.Line.intersectsPoints(this.start,this.end,a.start,a.end,b,d)},reflect:function(a){return c.Line.reflect(this,a)},midPoint:function(a){return void 0===a&&(a=new c.Point),a.x=(this.start.x+this.end.x)/2,a.y=(this.start.y+this.end.y)/2,a},centerOn:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2,e=a-c,f=b-d;this.start.add(e,f),this.end.add(e,f)},pointOnLine:function(a,b){return(a-this.start.x)*(this.end.y-this.start.y)===(this.end.x-this.start.x)*(b-this.start.y)},pointOnSegment:function(a,b){var c=Math.min(this.start.x,this.end.x),d=Math.max(this.start.x,this.end.x),e=Math.min(this.start.y,this.end.y),f=Math.max(this.start.y,this.end.y);return this.pointOnLine(a,b)&&a>=c&&d>=a&&b>=e&&f>=b},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random();return a.x=this.start.x+b*(this.end.x-this.start.x),a.y=this.start.y+b*(this.end.y-this.start.y),a},coordinatesOnLine:function(a,b){void 0===a&&(a=1),void 0===b&&(b=[]);var c=Math.round(this.start.x),d=Math.round(this.start.y),e=Math.round(this.end.x),f=Math.round(this.end.y),g=Math.abs(e-c),h=Math.abs(f-d),i=e>c?1:-1,j=f>d?1:-1,k=g-h;b.push([c,d]);for(var l=1;c!=e||d!=f;){var m=k<<1;m>-h&&(k-=h,c+=i),g>m&&(k+=g,d+=j),l%a===0&&b.push([c,d]),l++}return b},clone:function(a){return void 0===a||null===a?a=new c.Line(this.start.x,this.start.y,this.end.x,this.end.y):a.setTo(this.start.x,this.start.y,this.end.x,this.end.y),a}},Object.defineProperty(c.Line.prototype,"length",{get:function(){return Math.sqrt((this.end.x-this.start.x)*(this.end.x-this.start.x)+(this.end.y-this.start.y)*(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"angle",{get:function(){return Math.atan2(this.end.y-this.start.y,this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"slope",{get:function(){return(this.end.y-this.start.y)/(this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"perpSlope",{get:function(){return-((this.end.x-this.start.x)/(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"x",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"y",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"left",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"right",{get:function(){return Math.max(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"top",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"bottom",{get:function(){return Math.max(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"width",{get:function(){return Math.abs(this.start.x-this.end.x)}}),Object.defineProperty(c.Line.prototype,"height",{get:function(){return Math.abs(this.start.y-this.end.y)}}),Object.defineProperty(c.Line.prototype,"normalX",{get:function(){return Math.cos(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalY",{get:function(){return Math.sin(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalAngle",{get:function(){return c.Math.wrap(this.angle-1.5707963267948966,-Math.PI,Math.PI)}}),c.Line.intersectsPoints=function(a,b,d,e,f,g){void 0===f&&(f=!0),void 0===g&&(g=new c.Point);var h=b.y-a.y,i=e.y-d.y,j=a.x-b.x,k=d.x-e.x,l=b.x*a.y-a.x*b.y,m=e.x*d.y-d.x*e.y,n=h*k-i*j;if(0===n)return null;if(g.x=(j*m-k*l)/n,g.y=(i*l-h*m)/n,f){var o=(e.y-d.y)*(b.x-a.x)-(e.x-d.x)*(b.y-a.y),p=((e.x-d.x)*(a.y-d.y)-(e.y-d.y)*(a.x-d.x))/o,q=((b.x-a.x)*(a.y-d.y)-(b.y-a.y)*(a.x-d.x))/o;return p>=0&&1>=p&&q>=0&&1>=q?g:null}return g},c.Line.intersects=function(a,b,d,e){return c.Line.intersectsPoints(a.start,a.end,b.start,b.end,d,e)},c.Line.reflect=function(a,b){return 2*b.normalAngle-3.141592653589793-a.angle},c.Matrix=function(a,b,d,e,f,g){a=a||1,b=b||0,d=d||0,e=e||1,f=f||0,g=g||0,this.a=a,this.b=b,this.c=d,this.d=e,this.tx=f,this.ty=g,this.type=c.MATRIX},c.Matrix.prototype={fromArray:function(a){return this.setTo(a[0],a[1],a[3],a[4],a[2],a[5])},setTo:function(a,b,c,d,e,f){return this.a=a,this.b=b,this.c=c,this.d=d,this.tx=e,this.ty=f,this},clone:function(a){return void 0===a||null===a?a=new c.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(a.a=this.a,a.b=this.b,a.c=this.c,a.d=this.d,a.tx=this.tx,a.ty=this.ty),a},copyTo:function(a){return a.copyFrom(this),a},copyFrom:function(a){return this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.tx=a.tx,this.ty=a.ty,this},toArray:function(a,b){return void 0===b&&(b=new PIXI.Float32Array(9)),a?(b[0]=this.a,b[1]=this.b,b[2]=0,b[3]=this.c,b[4]=this.d,b[5]=0,b[6]=this.tx,b[7]=this.ty,b[8]=1):(b[0]=this.a,b[1]=this.c,b[2]=this.tx,b[3]=this.b,b[4]=this.d,b[5]=this.ty,b[6]=0,b[7]=0,b[8]=1),b},apply:function(a,b){return void 0===b&&(b=new c.Point),b.x=this.a*a.x+this.c*a.y+this.tx,b.y=this.b*a.x+this.d*a.y+this.ty,b},applyInverse:function(a,b){void 0===b&&(b=new c.Point);var d=1/(this.a*this.d+this.c*-this.b),e=a.x,f=a.y;return b.x=this.d*d*e+-this.c*d*f+(this.ty*this.c-this.tx*this.d)*d,b.y=this.a*d*f+-this.b*d*e+(-this.ty*this.a+this.tx*this.b)*d,b},translate:function(a,b){return this.tx+=a,this.ty+=b,this},scale:function(a,b){return this.a*=a,this.d*=b,this.c*=a,this.b*=b,this.tx*=a,this.ty*=b,this},rotate:function(a){var b=Math.cos(a),c=Math.sin(a),d=this.a,e=this.c,f=this.tx;return this.a=d*b-this.b*c,this.b=d*c+this.b*b,this.c=e*b-this.d*c,this.d=e*c+this.d*b,this.tx=f*b-this.ty*c,this.ty=f*c+this.ty*b,this},append:function(a){var b=this.a,c=this.b,d=this.c,e=this.d;return this.a=a.a*b+a.b*d,this.b=a.a*c+a.b*e,this.c=a.c*b+a.d*d,this.d=a.c*c+a.d*e,this.tx=a.tx*b+a.ty*d+this.tx,this.ty=a.tx*c+a.ty*e+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},c.identityMatrix=new c.Matrix,PIXI.Matrix=c.Matrix,PIXI.identityMatrix=c.identityMatrix,c.Point=function(a,b){a=a||0,b=b||0,this.x=a,this.y=b,this.type=c.POINT},c.Point.prototype={copyFrom:function(a){return this.setTo(a.x,a.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},set:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},add:function(a,b){return this.x+=a,this.y+=b,this},subtract:function(a,b){return this.x-=a,this.y-=b,this},multiply:function(a,b){return this.x*=a,this.y*=b,this},divide:function(a,b){return this.x/=a,this.y/=b,this},clampX:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this},clampY:function(a,b){return this.y=c.Math.clamp(this.y,a,b),this},clamp:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this.y=c.Math.clamp(this.y,a,b),this},clone:function(a){return void 0===a||null===a?a=new c.Point(this.x,this.y):a.setTo(this.x,this.y),a},copyTo:function(a){return a.x=this.x,a.y=this.y,a},distance:function(a,b){return c.Point.distance(this,a,b)},equals:function(a){return a.x===this.x&&a.y===this.y},angle:function(a,b){return void 0===b&&(b=!1),b?c.Math.radToDeg(Math.atan2(a.y-this.y,a.x-this.x)):Math.atan2(a.y-this.y,a.x-this.x)},rotate:function(a,b,d,e,f){return c.Point.rotate(this,a,b,d,e,f)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(a){return this.normalize().multiply(a,a)},normalize:function(){if(!this.isZero()){var a=this.getMagnitude();this.x/=a,this.y/=a}return this},isZero:function(){return 0===this.x&&0===this.y},dot:function(a){return this.x*a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},c.Point.prototype.constructor=c.Point,c.Point.add=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x+b.x,d.y=a.y+b.y,d},c.Point.subtract=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x-b.x,d.y=a.y-b.y,d},c.Point.multiply=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x*b.x,d.y=a.y*b.y,d},c.Point.divide=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x/b.x,d.y=a.y/b.y,d},c.Point.equals=function(a,b){return a.x===b.x&&a.y===b.y},c.Point.angle=function(a,b){return Math.atan2(a.y-b.y,a.x-b.x)},c.Point.negative=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.x,-a.y)},c.Point.multiplyAdd=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+b.x*d,a.y+b.y*d)},c.Point.interpolate=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+(b.x-a.x)*d,a.y+(b.y-a.y)*d)},c.Point.perp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.y,a.x)},c.Point.rperp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(a.y,-a.x)},c.Point.distance=function(a,b,d){var e=c.Math.distance(a.x,a.y,b.x,b.y);return d?Math.round(e):e},c.Point.project=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b)/b.getMagnitudeSq();return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.projectUnit=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b);return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.normalRightHand=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-1*a.y,a.x)},c.Point.normalize=function(a,b){void 0===b&&(b=new c.Point);var d=a.getMagnitude();return 0!==d&&b.setTo(a.x/d,a.y/d),b},c.Point.rotate=function(a,b,d,e,f,g){if(f&&(e=c.Math.degToRad(e)),void 0===g){a.subtract(b,d);var h=Math.sin(e),i=Math.cos(e),j=i*a.x-h*a.y,k=h*a.x+i*a.y;a.x=j+b,a.y=k+d; +}else{var l=e+Math.atan2(a.y-d,a.x-b);a.x=b+g*Math.cos(l),a.y=d+g*Math.sin(l)}return a},c.Point.centroid=function(a,b){if(void 0===b&&(b=new c.Point),"[object Array]"!==Object.prototype.toString.call(a))throw new Error("Phaser.Point. Parameter 'points' must be an array");var d=a.length;if(1>d)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===d)return b.copyFrom(a[0]),b;for(var e=0;d>e;e++)c.Point.add(b,a[e],b);return b.divide(d,d),b},c.Point.parse=function(a,b,d){b=b||"x",d=d||"y";var e=new c.Point;return a[b]&&(e.x=parseInt(a[b],10)),a[d]&&(e.y=parseInt(a[d],10)),e},PIXI.Point=c.Point,c.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.type=c.POLYGON},c.Polygon.prototype={toNumberArray:function(a){void 0===a&&(a=[]);for(var b=0;b=h&&j>b||b>=j&&h>b)&&(i-g)*(b-h)/(j-h)+g>a&&(d=!d)}return d},setTo:function(a){if(this.area=0,this._points=[],arguments.length>0){Array.isArray(a)||(a=Array.prototype.slice.call(arguments));for(var b=Number.MAX_VALUE,c=0,d=a.length;d>c;c++){if("number"==typeof a[c]){var e=new PIXI.Point(a[c],a[c+1]);c++}else var e=new PIXI.Point(a[c].x,a[c].y);this._points.push(e),e.yf;f++)b=this._points[f],c=f===g-1?this._points[0]:this._points[f+1],d=(b.y-a+(c.y-a))/2,e=b.x-c.x,this.area+=d*e;return this.area}},c.Polygon.prototype.constructor=c.Polygon,Object.defineProperty(c.Polygon.prototype,"points",{get:function(){return this._points},set:function(a){null!=a?this.setTo(a):this.setTo()}}),PIXI.Polygon=c.Polygon,c.Rectangle=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.RECTANGLE},c.Rectangle.prototype={offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},scale:function(a,b){return void 0===b&&(b=a),this.width*=a,this.height*=b,this},centerOn:function(a,b){return this.centerX=a,this.centerY=b,this},floor:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y)},floorAll:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.width=Math.floor(this.width),this.height=Math.floor(this.height)},ceil:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y)},ceilAll:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.width=Math.ceil(this.width),this.height=Math.ceil(this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},inflate:function(a,b){return c.Rectangle.inflate(this,a,b)},size:function(a){return c.Rectangle.size(this,a)},resize:function(a,b){return this.width=a,this.height=b,this},clone:function(a){return c.Rectangle.clone(this,a)},contains:function(a,b){return c.Rectangle.contains(this,a,b)},containsRect:function(a){return c.Rectangle.containsRect(a,this)},equals:function(a){return c.Rectangle.equals(this,a)},intersection:function(a,b){return c.Rectangle.intersection(this,a,b)},intersects:function(a){return c.Rectangle.intersects(this,a)},intersectsRaw:function(a,b,d,e,f){return c.Rectangle.intersectsRaw(this,a,b,d,e,f)},union:function(a,b){return c.Rectangle.union(this,a,b)},random:function(a){return void 0===a&&(a=new c.Point),a.x=this.randomX,a.y=this.randomY,a},toString:function(){return"[{Rectangle (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+" empty="+this.empty+")}]"}},Object.defineProperty(c.Rectangle.prototype,"halfWidth",{get:function(){return Math.round(this.width/2)}}),Object.defineProperty(c.Rectangle.prototype,"halfHeight",{get:function(){return Math.round(this.height/2)}}),Object.defineProperty(c.Rectangle.prototype,"bottom",{get:function(){return this.y+this.height},set:function(a){a<=this.y?this.height=0:this.height=a-this.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomLeft",{get:function(){return new c.Point(this.x,this.bottom)},set:function(a){this.x=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomRight",{get:function(){return new c.Point(this.right,this.bottom)},set:function(a){this.right=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"left",{get:function(){return this.x},set:function(a){a>=this.right?this.width=0:this.width=this.right-a,this.x=a}}),Object.defineProperty(c.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(a){a<=this.x?this.width=0:this.width=a-this.x}}),Object.defineProperty(c.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(c.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(c.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(a){this.x=a-this.halfWidth}}),Object.defineProperty(c.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(a){this.y=a-this.halfHeight}}),Object.defineProperty(c.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(c.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(c.Rectangle.prototype,"top",{get:function(){return this.y},set:function(a){a>=this.bottom?(this.height=0,this.y=a):this.height=this.bottom-a}}),Object.defineProperty(c.Rectangle.prototype,"topLeft",{get:function(){return new c.Point(this.x,this.y)},set:function(a){this.x=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"topRight",{get:function(){return new c.Point(this.x+this.width,this.y)},set:function(a){this.right=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(a){a===!0&&this.setTo(0,0,0,0)}}),c.Rectangle.prototype.constructor=c.Rectangle,c.Rectangle.inflate=function(a,b,c){return a.x-=b,a.width+=2*b,a.y-=c,a.height+=2*c,a},c.Rectangle.inflatePoint=function(a,b){return c.Rectangle.inflate(a,b.x,b.y)},c.Rectangle.size=function(a,b){return void 0===b||null===b?b=new c.Point(a.width,a.height):b.setTo(a.width,a.height),b},c.Rectangle.clone=function(a,b){return void 0===b||null===b?b=new c.Rectangle(a.x,a.y,a.width,a.height):b.setTo(a.x,a.y,a.width,a.height),b},c.Rectangle.contains=function(a,b,c){return a.width<=0||a.height<=0?!1:b>=a.x&&b=a.y&&c=a&&a+c>e&&f>=b&&b+d>f},c.Rectangle.containsPoint=function(a,b){return c.Rectangle.contains(a,b.x,b.y)},c.Rectangle.containsRect=function(a,b){return a.volume>b.volume?!1:a.x>=b.x&&a.y>=b.y&&a.rightb.right||a.y>b.bottom)},c.Rectangle.intersectsRaw=function(a,b,c,d,e,f){return void 0===f&&(f=0),!(b>a.right+f||ca.bottom+f||ed&&(d=a.x),a.xf&&(f=a.y),a.y=c&&a<=c+this.width){var d=this.y;if(b>=d&&b<=d+this.height)return!0}return!1}},c.RoundedRectangle.prototype.constructor=c.RoundedRectangle,PIXI.RoundedRectangle=c.RoundedRectangle,c.Camera=function(a,b,d,e,f,g){this.game=a,this.world=a.world,this.id=0,this.view=new c.Rectangle(d,e,f,g),this.bounds=new c.Rectangle(d,e,f,g),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this._targetPosition=new c.Point,this._edge=0,this._position=new c.Point},c.Camera.FOLLOW_LOCKON=0,c.Camera.FOLLOW_PLATFORMER=1,c.Camera.FOLLOW_TOPDOWN=2,c.Camera.FOLLOW_TOPDOWN_TIGHT=3,c.Camera.prototype={preUpdate:function(){this.totalInView=0},follow:function(a,b){void 0===b&&(b=c.Camera.FOLLOW_LOCKON),this.target=a;var d;switch(b){case c.Camera.FOLLOW_PLATFORMER:var e=this.width/8,f=this.height/3;this.deadzone=new c.Rectangle((this.width-e)/2,(this.height-f)/2-.25*f,e,f);break;case c.Camera.FOLLOW_TOPDOWN:d=Math.max(this.width,this.height)/4,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_TOPDOWN_TIGHT:d=Math.max(this.width,this.height)/8,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_LOCKON:this.deadzone=null;break;default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(a){this.setPosition(Math.round(a.x-this.view.halfWidth),Math.round(a.y-this.view.halfHeight))},focusOnXY:function(a,b){this.setPosition(Math.round(a-this.view.halfWidth),Math.round(b-this.view.halfHeight))},update:function(){this.target&&this.updateTarget(),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateTarget:function(){this._targetPosition.copyFrom(this.target),this.target.parent&&this._targetPosition.multiply(this.target.parent.worldTransform.a,this.target.parent.worldTransform.d),this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this._targetPosition.x-this.deadzone.right),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this._targetPosition.y-this.deadzone.bottom)):(this.view.x=this._targetPosition.x-this.view.halfWidth,this.view.y=this._targetPosition.y-this.view.halfHeight)},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1,this.view.x<=this.bounds.x*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x),this.view.right>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width),this.view.y<=this.bounds.top*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y),this.view.bottom>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height)},setPosition:function(a,b){this.view.x=a,this.view.y=b,this.bounds&&this.checkBounds()},setSize:function(a,b){this.view.width=a,this.view.height=b},reset:function(){this.target=null,this.view.x=0,this.view.y=0}},c.Camera.prototype.constructor=c.Camera,Object.defineProperty(c.Camera.prototype,"x",{get:function(){return this.view.x},set:function(a){this.view.x=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"y",{get:function(){return this.view.y},set:function(a){this.view.y=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"position",{get:function(){return this._position.set(this.view.centerX,this.view.centerY),this._position},set:function(a){"undefined"!=typeof a.x&&(this.view.x=a.x),"undefined"!=typeof a.y&&(this.view.y=a.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"width",{get:function(){return this.view.width},set:function(a){this.view.width=a}}),Object.defineProperty(c.Camera.prototype,"height",{get:function(){return this.view.height},set:function(a){this.view.height=a}}),c.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},c.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},c.State.prototype.constructor=c.State,c.StateManager=function(a,b){this.game=a,this.states={},this._pendingState=null,"undefined"!=typeof b&&null!==b&&(this._pendingState=b),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new c.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},c.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(a,b,d){void 0===d&&(d=!1);var e;return b instanceof c.State?e=b:"object"==typeof b?(e=b,e.game=this.game):"function"==typeof b&&(e=new b(this.game)),this.states[a]=e,d&&(this.game.isBooted?this.start(a):this._pendingState=a),e},remove:function(a){this.current===a&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[a]},start:function(a,b,c){void 0===b&&(b=!0),void 0===c&&(c=!1),this.checkState(a)&&(this._pendingState=a,this._clearWorld=b,this._clearCache=c,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!1),this._pendingState=this.current,this._clearWorld=a,this._clearCache=b,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var a=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,a),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache===!0&&this.game.cache.destroy()))},checkState:function(a){return this.states[a]?this.states[a].preload||this.states[a].create||this.states[a].update||this.states[a].render?!0:(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+a),!1)},link:function(a){this.states[a].game=this.game,this.states[a].add=this.game.add,this.states[a].make=this.game.make,this.states[a].camera=this.game.camera,this.states[a].cache=this.game.cache,this.states[a].input=this.game.input,this.states[a].load=this.game.load,this.states[a].math=this.game.math,this.states[a].sound=this.game.sound,this.states[a].scale=this.game.scale,this.states[a].state=this,this.states[a].stage=this.game.stage,this.states[a].time=this.game.time,this.states[a].tweens=this.game.tweens,this.states[a].world=this.game.world,this.states[a].particles=this.game.particles,this.states[a].rnd=this.game.rnd,this.states[a].physics=this.game.physics,this.states[a].key=a},unlink:function(a){this.states[a]&&(this.states[a].game=null,this.states[a].add=null,this.states[a].make=null,this.states[a].camera=null,this.states[a].cache=null,this.states[a].input=null,this.states[a].load=null,this.states[a].math=null,this.states[a].sound=null,this.states[a].scale=null,this.states[a].state=null,this.states[a].stage=null,this.states[a].time=null,this.states[a].tweens=null,this.states[a].world=null,this.states[a].particles=null,this.states[a].rnd=null,this.states[a].physics=null)},setCurrentState:function(a){this.callbackContext=this.states[a],this.link(a),this.onInitCallback=this.states[a].init||this.dummy,this.onPreloadCallback=this.states[a].preload||null,this.onLoadRenderCallback=this.states[a].loadRender||null,this.onLoadUpdateCallback=this.states[a].loadUpdate||null,this.onCreateCallback=this.states[a].create||null,this.onUpdateCallback=this.states[a].update||null,this.onPreRenderCallback=this.states[a].preRender||null,this.onRenderCallback=this.states[a].render||null,this.onResizeCallback=this.states[a].resize||null,this.onPausedCallback=this.states[a].paused||null,this.onResumedCallback=this.states[a].resumed||null,this.onPauseUpdateCallback=this.states[a].pauseUpdate||null,this.onShutDownCallback=this.states[a].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=a,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),a===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){this._created===!1&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),this._created===!1&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(a){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,a)},resize:function(a,b){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,a,b)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===c.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},c.StateManager.prototype.constructor=c.StateManager,Object.defineProperty(c.StateManager.prototype,"created",{get:function(){return this._created}}),c.Signal=function(){},c.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!0,validateListener:function(a,b){if("function"!=typeof a)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",b))},_registerListener:function(a,b,d,e,f){var g,h=this._indexOfListener(a,d);if(-1!==h){if(g=this._bindings[h],g.isOnce()!==b)throw new Error("You cannot add"+(b?"":"Once")+"() then add"+(b?"Once":"")+"() the same listener without removing the relationship first.")}else g=new c.SignalBinding(this,a,b,d,e,f),this._addBinding(g);return this.memorize&&this._prevParams&&g.execute(this._prevParams),g},_addBinding:function(a){this._bindings||(this._bindings=[]);var b=this._bindings.length;do b--;while(this._bindings[b]&&a._priority<=this._bindings[b]._priority);this._bindings.splice(b+1,0,a)},_indexOfListener:function(a,b){if(!this._bindings)return-1;void 0===b&&(b=null);for(var c,d=this._bindings.length;d--;)if(c=this._bindings[d],c._listener===a&&c.context===b)return d;return-1},has:function(a,b){return-1!==this._indexOfListener(a,b)},add:function(a,b,c){this.validateListener(a,"add");var d=[];if(arguments.length>3)for(var e=3;e3)for(var e=3;ea||a>=this.children.length?-1:this.getChildAt(a)},c.Group.prototype.create=function(a,b,c,d,e){void 0===e&&(e=!0);var f=new this.classType(this.game,a,b,c,d);return f.exists=e,f.visible=e,f.alive=e,this.addChild(f),f.z=this.children.length,this.enableBody&&this.game.physics.enable(f,this.physicsBodyType,this.enableBodyDebug),f.events&&f.events.onAddedToGroup$dispatch(f,this),null===this.cursor&&(this.cursor=f),f},c.Group.prototype.createMultiple=function(a,b,c,d){void 0===d&&(d=!1);for(var e=0;a>e;e++)this.create(0,0,b,c,d)},c.Group.prototype.updateZ=function(){for(var a=this.children.length;a--;)this.children[a].z=a},c.Group.prototype.resetCursor=function(a){return void 0===a&&(a=0),a>this.children.length-1&&(a=0),this.cursor?(this.cursorIndex=a,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.next=function(){return this.cursor?(this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.previous=function(){return this.cursor?(0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.swap=function(a,b){this.swapChildren(a,b),this.updateZ()},c.Group.prototype.bringToTop=function(a){return a.parent===this&&this.getIndex(a)0&&(this.remove(a,!1,!0),this.addAt(a,0,!0)),a},c.Group.prototype.moveUp=function(a){if(a.parent===this&&this.getIndex(a)0){var b=this.getIndex(a),c=this.getAt(b-1);c&&this.swap(a,c)}return a},c.Group.prototype.xy=function(a,b,c){return 0>a||a>this.children.length?-1:(this.getChildAt(a).x=b,void(this.getChildAt(a).y=c))},c.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},c.Group.prototype.getIndex=function(a){return this.children.indexOf(a)},c.Group.prototype.replace=function(a,b){var d=this.getIndex(a);return-1!==d?(b.parent&&(b.parent instanceof c.Group?b.parent.remove(b):b.parent.removeChild(b)),this.remove(a),this.addAt(b,d),a):void 0},c.Group.prototype.hasProperty=function(a,b){var c=b.length;return 1===c&&b[0]in a?!0:2===c&&b[0]in a&&b[1]in a[b[0]]?!0:3===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]?!0:4===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]&&b[3]in a[b[0]][b[1]][b[2]]?!0:!1},c.Group.prototype.setProperty=function(a,b,c,d,e){if(void 0===e&&(e=!1),d=d||0,!this.hasProperty(a,b)&&(!e||d>0))return!1;var f=b.length;return 1===f?0===d?a[b[0]]=c:1==d?a[b[0]]+=c:2==d?a[b[0]]-=c:3==d?a[b[0]]*=c:4==d&&(a[b[0]]/=c):2===f?0===d?a[b[0]][b[1]]=c:1==d?a[b[0]][b[1]]+=c:2==d?a[b[0]][b[1]]-=c:3==d?a[b[0]][b[1]]*=c:4==d&&(a[b[0]][b[1]]/=c):3===f?0===d?a[b[0]][b[1]][b[2]]=c:1==d?a[b[0]][b[1]][b[2]]+=c:2==d?a[b[0]][b[1]][b[2]]-=c:3==d?a[b[0]][b[1]][b[2]]*=c:4==d&&(a[b[0]][b[1]][b[2]]/=c):4===f&&(0===d?a[b[0]][b[1]][b[2]][b[3]]=c:1==d?a[b[0]][b[1]][b[2]][b[3]]+=c:2==d?a[b[0]][b[1]][b[2]][b[3]]-=c:3==d?a[b[0]][b[1]][b[2]][b[3]]*=c:4==d&&(a[b[0]][b[1]][b[2]][b[3]]/=c)),!0},c.Group.prototype.checkProperty=function(a,b,d,e){return void 0===e&&(e=!1),!c.Utils.getProperty(a,b)&&e?!1:c.Utils.getProperty(a,b)!==d?!1:!0},c.Group.prototype.set=function(a,b,c,d,e,f,g){return void 0===g&&(g=!1),b=b.split("."),void 0===d&&(d=!1),void 0===e&&(e=!1),(d===!1||d&&a.alive)&&(e===!1||e&&a.visible)?this.setProperty(a,b,c,f,g):void 0},c.Group.prototype.setAll=function(a,b,c,d,e,f){void 0===c&&(c=!1),void 0===d&&(d=!1),void 0===f&&(f=!1),a=a.split("."),e=e||0;for(var g=0;g2){c=[];for(var d=2;d2){e=[];for(var f=2;f2){d=[null];for(var e=2;e2){d=[null];for(var e=2;e2){d=[null];for(var e=2;eb[this._sortProperty]?1:a.zb[this._sortProperty]?-1:0},c.Group.prototype.iterate=function(a,b,d,e,f,g){if(d===c.Group.RETURN_TOTAL&&0===this.children.length)return 0;for(var h=0,i=0;i0?this.children[this.children.length-1]:void 0},c.Group.prototype.getBottom=function(){return this.children.length>0?this.children[0]:void 0},c.Group.prototype.countLiving=function(){return this.iterate("alive",!0,c.Group.RETURN_TOTAL)},c.Group.prototype.countDead=function(){return this.iterate("alive",!1,c.Group.RETURN_TOTAL)},c.Group.prototype.getRandom=function(a,b){return 0===this.children.length?null:(a=a||0,b=b||this.children.length,c.ArrayUtils.getRandomItem(this.children,a,b))},c.Group.prototype.remove=function(a,b,c){if(void 0===b&&(b=!1),void 0===c&&(c=!1),0===this.children.length||-1===this.children.indexOf(a))return!1;c||!a.events||a.destroyPhase||a.events.onRemovedFromGroup$dispatch(a,this);var d=this.removeChild(a);return this.removeFromHash(a),this.updateZ(),this.cursor===a&&this.next(),b&&d&&d.destroy(!0),!0},c.Group.prototype.moveAll=function(a,b){if(void 0===b&&(b=!1),this.children.length>0&&a instanceof c.Group){do a.add(this.children[0],b);while(this.children.length>0);this.hash=[],this.cursor=null}return a},c.Group.prototype.removeAll=function(a,b){if(void 0===a&&(a=!1),void 0===b&&(b=!1),0!==this.children.length){do{!b&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var c=this.removeChild(this.children[0]);this.removeFromHash(c),a&&c&&c.destroy(!0)}while(this.children.length>0);this.hash=[],this.cursor=null}},c.Group.prototype.removeBetween=function(a,b,c,d){if(void 0===b&&(b=this.children.length-1),void 0===c&&(c=!1),void 0===d&&(d=!1),0!==this.children.length){if(a>b||0>a||b>this.children.length)return!1;for(var e=b;e>=a;){!d&&this.children[e].events&&this.children[e].events.onRemovedFromGroup$dispatch(this.children[e],this);var f=this.removeChild(this.children[e]);this.removeFromHash(f),c&&f&&f.destroy(!0),this.cursor===this.children[e]&&(this.cursor=null),e--}this.updateZ()}},c.Group.prototype.destroy=function(a,b){null===this.game||this.ignoreDestroy||(void 0===a&&(a=!0),void 0===b&&(b=!1),this.onDestroy.dispatch(this,a,b),this.removeAll(a),this.cursor=null,this.filters=null,this.pendingDestroy=!1,b||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(c.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,c.Group.RETURN_TOTAL)}}),Object.defineProperty(c.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(c.Group.prototype,"angle",{get:function(){return c.Math.radToDeg(this.rotation)},set:function(a){this.rotation=c.Math.degToRad(a)}}),c.World=function(a){c.Group.call(this,a,null,"__world",!1),this.bounds=new c.Rectangle(0,0,a.width,a.height),this.camera=null,this._definedSize=!1,this._width=a.width,this._height=a.height,this.game.state.onStateChange.add(this.stateChange,this)},c.World.prototype=Object.create(c.Group.prototype),c.World.prototype.constructor=c.World,c.World.prototype.boot=function(){this.camera=new c.Camera(this.game,0,0,0,this.game.width,this.game.height),this.camera.displayObject=this,this.camera.scale=this.scale,this.game.camera=this.camera,this.game.stage.addChild(this)},c.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},c.World.prototype.setBounds=function(a,b,c,d){this._definedSize=!0,this._width=c,this._height=d,this.bounds.setTo(a,b,c,d),this.x=a,this.y=b,this.camera.bounds&&this.camera.bounds.setTo(a,b,Math.max(c,this.game.width),Math.max(d,this.game.height)),this.game.physics.setBoundsToWorld()},c.World.prototype.resize=function(a,b){this._definedSize&&(athis.bounds.right&&(a.x=this.bounds.left)),e&&(a.y+a._currentBounds.heightthis.bounds.bottom&&(a.y=this.bounds.top))):(d&&a.x+bthis.bounds.right&&(a.x=this.bounds.left-b),e&&a.y+bthis.bounds.bottom&&(a.y=this.bounds.top-b))},Object.defineProperty(c.World.prototype,"width",{get:function(){return this.bounds.width},set:function(a){ag;g++)e>g?f.push("color: #ff2424; background: #fff"):f.push("color: #959595; background: #fff");console.log.apply(console,f)}else window.console&&console.log("Phaser v"+a+" | Pixi.js "+PIXI.VERSION+" | "+b+" | "+d+" | http://phaser.io")}},setUpRenderer:function(){if(this.canvas=c.Canvas.create(this,this.width,this.height,this.config.canvasID,!0),this.config.canvasStyle?this.canvas.style=this.config.canvasStyle:this.canvas.style["-webkit-full-screen"]="width: 100%; height: 100%",this.renderType===c.HEADLESS||this.renderType===c.CANVAS||this.renderType===c.AUTO&&!this.device.webGL){if(!this.device.canvas)throw new Error("Phaser.Game - Cannot create Canvas or WebGL context, aborting.");this.renderType=c.CANVAS,this.renderer=new PIXI.CanvasRenderer(this),this.context=this.renderer.context}else this.renderType=c.WEBGL,this.renderer=new PIXI.WebGLRenderer(this),this.context=null,this.canvas.addEventListener("webglcontextlost",this.contextLost.bind(this),!1),this.canvas.addEventListener("webglcontextrestored",this.contextRestored.bind(this),!1);this.device.cocoonJS&&(this.canvas.screencanvas=this.renderType===c.CANVAS?!0:!1),this.renderType!==c.HEADLESS&&(this.stage.smoothed=this.antialias,c.Canvas.addToDOM(this.canvas,this.parent,!1),c.Canvas.setTouchAction(this.canvas))},contextLost:function(a){a.preventDefault(),this.renderer.contextLost=!0},contextRestored:function(){this.renderer.initContext(),this.cache.clearGLTextures(),this.renderer.contextLost=!1},update:function(a){if(this.time.update(a),this._kickstart)return this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),this.updateRender(this.time.slowMotion*this.time.desiredFps),void(this._kickstart=!1);if(this._spiraling>1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var b=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*b,this.time.elapsed),0);var c=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/b),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=b&&(this._deltaTime-=b,this.currentUpdateID=c,this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),c++,!this.forceSingleUpdate||1!==c);)this.time.refresh();c>this._lastCount?this._spiraling++:c=c.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+c.Input.MAX_POINTERS+" pointers reached."),null;var a=this.pointers.length+1,b=new c.Pointer(this.game,a,c.PointerMode.TOUCH);return this.pointers.push(b),this["pointer"+a]=b,b},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(a);if(!this.pointer2.active)return this.pointer2.start(a);for(var b=2;b0;c++){var d=this.pointers[c];d.active&&b--}return a-b},getPointer:function(a){void 0===a&&(a=!1);for(var b=0;b=g&&this._localPoint.x=h&&this._localPoint.y=g&&this._localPoint.x=h&&this._localPoint.yi;i++)if(this.hitTest(a.children[i],b,d))return!0;return!1},onClickTrampoline:function(){this.activePointer.processClickTrampolines()}},c.Input.prototype.constructor=c.Input,Object.defineProperty(c.Input.prototype,"x",{get:function(){return this._x},set:function(a){this._x=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"y",{get:function(){return this._y},set:function(a){this._y=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"pollLocked",{get:function(){return this.pollRate>0&&this._pollCounterthis.game.time.time},justReleased:function(a){return a=a||250,this.isUp&&this.timeUp+a>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},c.DeviceButton.prototype.constructor=c.DeviceButton,Object.defineProperty(c.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),c.Pointer=function(a,b,d){this.game=a,this.id=b,this.type=c.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=d||c.PointerMode.CURSOR|c.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new c.DeviceButton(this,c.Pointer.LEFT_BUTTON),this.middleButton=new c.DeviceButton(this,c.Pointer.MIDDLE_BUTTON),this.rightButton=new c.DeviceButton(this,c.Pointer.RIGHT_BUTTON),this.backButton=new c.DeviceButton(this,c.Pointer.BACK_BUTTON),this.forwardButton=new c.DeviceButton(this,c.Pointer.FORWARD_BUTTON),this.eraserButton=new c.DeviceButton(this,c.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===b,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.active=!1,this.dirty=!1,this.position=new c.Point,this.positionDown=new c.Point,this.positionUp=new c.Point,this.circle=new c.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},c.Pointer.NO_BUTTON=0,c.Pointer.LEFT_BUTTON=1,c.Pointer.RIGHT_BUTTON=2,c.Pointer.MIDDLE_BUTTON=4,c.Pointer.BACK_BUTTON=8,c.Pointer.FORWARD_BUTTON=16,c.Pointer.ERASER_BUTTON=32,c.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(a,b){c.Pointer.LEFT_BUTTON&a&&this.leftButton.start(b),c.Pointer.RIGHT_BUTTON&a&&this.rightButton.start(b),c.Pointer.MIDDLE_BUTTON&a&&this.middleButton.start(b),c.Pointer.BACK_BUTTON&a&&this.backButton.start(b),c.Pointer.FORWARD_BUTTON&a&&this.forwardButton.start(b),c.Pointer.ERASER_BUTTON&a&&this.eraserButton.start(b)},processButtonsUp:function(a,b){a===c.Mouse.LEFT_BUTTON&&this.leftButton.stop(b),a===c.Mouse.RIGHT_BUTTON&&this.rightButton.stop(b),a===c.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(b),a===c.Mouse.BACK_BUTTON&&this.backButton.stop(b),a===c.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(b),5===a&&this.eraserButton.stop(b)},updateButtons:function(a){this.button=a.button;var b="down"===a.type.toLowerCase().substr(-4);void 0!==a.buttons?b?this.processButtonsDown(a.buttons,a):this.processButtonsUp(a.button,a):b?this.leftButton.start(a):(this.leftButton.stop(a),this.rightButton.stop(a)),a.ctrlKey&&this.leftButton.isDown&&this.rightButton.start(a),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(a){var b=this.game.input;return a.pointerId&&(this.pointerId=a.pointerId),this.identifier=a.identifier,this.target=a.target,this.isMouse?this.updateButtons(a):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(a,!0),this.positionDown.setTo(this.x,this.y),(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.x=this.x,b.y=this.y,b.position.setTo(this.x,this.y),b.onDown.dispatch(this,a),b.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var a=this.game.input;this.active&&(this.dirty&&(a.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),this._holdSent===!1&&this.duration>=a.holdRate&&((a.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||a.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||a.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===a.totalActivePointers)&&a.onHold.dispatch(this),this._holdSent=!0),a.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+a.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>a.recordLimit&&this._history.shift()))},move:function(a,b){var d=this.game.input;if(!d.pollLocked){if(void 0===b&&(b=!1),void 0!==a.button&&(this.button=a.button),b&&this.isMouse&&this.updateButtons(a),this.clientX=a.clientX,this.clientY=a.clientY,this.pageX=a.pageX,this.pageY=a.pageY,this.screenX=a.screenX,this.screenY=a.screenY,this.isMouse&&d.mouse.locked&&!b&&(this.rawMovementX=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.rawMovementY=a.movementY||a.mozMovementY||a.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*d.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*d.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(d.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||d.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||d.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===d.totalActivePointers)&&(d.activePointer=this,d.x=this.x,d.y=this.y,d.position.setTo(d.x,d.y),d.circle.x=d.x,d.circle.y=d.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY),this.game.paused)return this;for(var e=d.moveCallbacks.length;e--;)d.moveCallbacks[e].callback.call(d.moveCallbacks[e].context,this,this.x,this.y,b);return null!==this.targetObject&&this.targetObject.isDragged===!0?this.targetObject.update(this)===!1&&(this.targetObject=null):d.interactiveItems.total>0&&this.processInteractiveObjects(b),this}},processInteractiveObjects:function(a){for(var b=Number.MAX_VALUE,c=-1,d=null,e=this.game.input.interactiveItems.first;e;)e.checked=!1,e.validForInput(c,b,!1)&&(e.checked=!0,(a&&e.checkPointerDown(this,!0)||!a&&e.checkPointerOver(this,!0))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e)),e=this.game.input.interactiveItems.next;for(var e=this.game.input.interactiveItems.first;e;)!e.checked&&e.validForInput(c,b,!0)&&(a&&e.checkPointerDown(this,!1)||!a&&e.checkPointerOver(this,!1))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e),e=this.game.input.interactiveItems.next;return null===d?this.targetObject&&(this.targetObject._pointerOutHandler(this),this.targetObject=null):null===this.targetObject?(this.targetObject=d,d._pointerOverHandler(this)):this.targetObject===d?d.update(this)===!1&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this),this.targetObject=d,this.targetObject._pointerOverHandler(this)),null!==this.targetObject},leave:function(a){this.withinGame=!1,this.move(a,!1)},stop:function(a){var b=this.game.input;return this._stateReset&&this.withinGame?void a.preventDefault():(this.timeUp=this.game.time.time,(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.onUp.dispatch(this,a),this.duration>=0&&this.duration<=b.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(a.pageX,a.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),this.isMouse===!1&&b.currentPointers--,b.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this)},justPressed:function(a){return a=a||this.game.input.justPressedRate,this.isDown===!0&&this.timeDown+a>this.game.time.time},justReleased:function(a){return a=a||this.game.input.justReleasedRate,this.isUp&&this.timeUp+a>this.game.time.time},addClickTrampoline:function(a,b,c,d){if(this.isDown){for(var e=this._clickTrampolines=this._clickTrampolines||[],f=0;fd;d++)this._pointerData[d]={id:d,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1};this.snapOffset=new c.Point,this.enabled=!0,this._wasEnabled=!0}return this.sprite.events.onAddedToGroup.add(this.addedToGroup,this),this.sprite.events.onRemovedFromGroup.add(this.removedFromGroup,this),this.flagged=!1,this.sprite},addedToGroup:function(){this._dragPhase||this._wasEnabled&&!this.enabled&&this.start()},removedFromGroup:function(){this._dragPhase||(this.enabled?(this._wasEnabled=!0,this.stop()):this._wasEnabled=!1)},reset:function(){this.enabled=!1,this.flagged=!1;for(var a=0;10>a;a++)this._pointerData[a]={id:a,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1}},stop:function(){this.enabled!==!1&&(this.enabled=!1,this.game.input.interactiveItems.remove(this))},destroy:function(){this.sprite&&(this._setHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.enabled=!1,this.game.input.interactiveItems.remove(this),this._pointerData.length=0,this.boundsRect=null,this.boundsSprite=null,this.sprite=null)},validForInput:function(a,b,c){return void 0===c&&(c=!0),!this.enabled||0===this.sprite.scale.x||0===this.sprite.scale.y||this.priorityIDa||this.priorityID===a&&this.sprite.renderOrderIDb;b++)if(this._pointerData[b].isOver)return!0},pointerOut:function(a){if(!this.enabled)return!1;if(void 0!==a)return this._pointerData[a].isOut;for(var b=0;10>b;b++)if(this._pointerData[b].isOut)return!0},pointerTimeOver:function(a){return a=a||0,this._pointerData[a].timeOver},pointerTimeOut:function(a){return a=a||0,this._pointerData[a].timeOut},pointerDragged:function(a){return a=a||0,this._pointerData[a].isDragged},checkPointerDown:function(a,b){return a.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectClick?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPointerOver:function(a,b){return this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectOver?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPixel:function(a,b,c){if(this.sprite.texture.baseTexture.source){if(null===a&&null===b){this.game.input.getLocalPosition(this.sprite,c,this._tempPoint);var a=this._tempPoint.x,b=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(a-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(b-=-this.sprite.texture.frame.height*this.sprite.anchor.y),a+=this.sprite.texture.frame.x,b+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(a-=this.sprite.texture.trim.x,b-=this.sprite.texture.trim.y,athis.sprite.texture.crop.right||bthis.sprite.texture.crop.bottom))return this._dx=a,this._dy=b,!1;this._dx=a,this._dy=b,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,a,b,1,1,0,0,1,1);var d=this.game.input.hitContext.getImageData(0,0,1,1);if(d.data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(a){return null!==this.sprite&&void 0!==this.sprite.parent?this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this.draggable&&this._draggedPointerID===a.id?this.updateDrag(a):this._pointerData[a.id].isOver?this.checkPointerOver(a)?(this._pointerData[a.id].x=a.x-this.sprite.x,this._pointerData[a.id].y=a.y-this.sprite.y,!0):(this._pointerOutHandler(a),!1):void 0:(this._pointerOutHandler(a),!1):void 0},_pointerOverHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];(b.isOver===!1||a.dirty)&&(b.isOver=!0,b.isOut=!1,b.timeOver=this.game.time.time,b.x=a.x-this.sprite.x,b.y=a.y-this.sprite.y,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,a))}},_pointerOutHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];b.isOver=!1,b.isOut=!0,b.timeOut=this.game.time.time,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.sprite&&this.sprite.events&&this.sprite.events.onInputOut$dispatch(this.sprite,a)}},_touchedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(!b.isDown&&b.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,a))return;b.isDown=!0,b.isUp=!1,b.timeDown=this.game.time.time,this.sprite&&this.sprite.events&&this.sprite.events.onInputDown$dispatch(this.sprite,a),a.dirty=!0,this.draggable&&this.isDragged===!1&&this.startDrag(a),this.bringToTop&&this.sprite.bringToTop()}}},_releasedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(b.isDown&&a.isUp){b.isDown=!1,b.isUp=!0,b.timeUp=this.game.time.time,b.downDuration=b.timeUp-b.timeDown;var c=this.checkPointerOver(a);this.sprite&&this.sprite.events&&(this.sprite.events.onInputUp$dispatch(this.sprite,a,c),c&&(c=this.checkPointerOver(a))),b.isOver=c,!c&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),a.dirty=!0,this.draggable&&this.isDragged&&this._draggedPointerID===a.id&&this.stopDrag(a)}}},updateDrag:function(a,b){if(a.isUp)return this.stopDrag(a),!1;void 0===b&&(b=!1);var c=this.globalToLocalX(a.x)+this._dragPoint.x+this.dragOffset.x,d=this.globalToLocalY(a.y)+this._dragPoint.y+this.dragOffset.y;return this.sprite.fixedToCamera?(this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=c),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=d),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y))):(this.allowHorizontalDrag&&(this.sprite.x=c),this.allowVerticalDrag&&(this.sprite.y=d),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))),this.sprite.events.onDragUpdate.dispatch(this.sprite,a,c,d,this.snapPoint,b),!0},justOver:function(a,b){return a=a||0,b=b||500,this._pointerData[a].isOver&&this.overDuration(a)a;a++)this._pointerData[a].isDragged=!1;this.draggable=!1,this.isDragged=!1,this._draggedPointerID=-1},startDrag:function(a){var b=this.sprite.x,c=this.sprite.y;if(this.isDragged=!0,this._draggedPointerID=a.id,this._pointerData[a.id].isDragged=!0,this.sprite.fixedToCamera)this.dragFromCenter?(this.sprite.centerOn(a.x,a.y),this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y)):this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y);else{if(this.dragFromCenter){var d=this.sprite.getBounds();this.sprite.x=this.globalToLocalX(a.x)+(this.sprite.x-d.centerX),this.sprite.y=this.globalToLocalY(a.y)+(this.sprite.y-d.centerY)}this._dragPoint.setTo(this.sprite.x-this.globalToLocalX(a.x),this.sprite.y-this.globalToLocalY(a.y))}this.updateDrag(a,!0),this.bringToTop&&(this._dragPhase=!0,this.sprite.bringToTop()),this.dragStartPoint.set(b,c),this.sprite.events.onDragStart$dispatch(this.sprite,a,b,c)},globalToLocalX:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.x,a*=this.game.scale.grid.scaleFluidInversed.x),a},globalToLocalY:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.y,a*=this.game.scale.grid.scaleFluidInversed.y),a},stopDrag:function(a){this.isDragged=!1,this._draggedPointerID=-1,this._pointerData[a.id].isDragged=!1,this._dragPhase=!1,this.snapOnRelease&&(this.sprite.fixedToCamera?(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY):(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY)),this.sprite.events.onDragStop$dispatch(this.sprite,a),this.checkPointerOver(a)===!1&&this._pointerOutHandler(a)},setDragLock:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!0),this.allowHorizontalDrag=a,this.allowVerticalDrag=b},enableSnap:function(a,b,c,d,e,f){void 0===c&&(c=!0),void 0===d&&(d=!1),void 0===e&&(e=0),void 0===f&&(f=0),this.snapX=a,this.snapY=b,this.snapOffsetX=e,this.snapOffsetY=f,this.snapOnDrag=c,this.snapOnRelease=d},disableSnap:function(){this.snapOnDrag=!1,this.snapOnRelease=!1},checkBoundsRect:function(){this.sprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},c.InputHandler.prototype.constructor=c.InputHandler,c.Component=function(){},c.Component.Angle=function(){},c.Component.Angle.prototype={angle:{get:function(){return c.Math.wrapAngle(c.Math.radToDeg(this.rotation))},set:function(a){this.rotation=c.Math.degToRad(c.Math.wrapAngle(a))}}},c.Component.Animation=function(){},c.Component.Animation.prototype={play:function(a,b,c,d){return this.animations?this.animations.play(a,b,c,d):void 0}},c.Component.AutoCull=function(){},c.Component.AutoCull.prototype={autoCull:!1,inCamera:{get:function(){return this.autoCull||this.checkWorldBounds||(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y),this.game.world.camera.view.intersects(this._bounds)}}},c.Component.Bounds=function(){},c.Component.Bounds.prototype={offsetX:{get:function(){return this.anchor.x*this.width}},offsetY:{get:function(){return this.anchor.y*this.height}},left:{get:function(){return this.x-this.offsetX}},right:{get:function(){return this.x+this.width-this.offsetX}},top:{get:function(){return this.y-this.offsetY}},bottom:{get:function(){return this.y+this.height-this.offsetY}}},c.Component.BringToTop=function(){},c.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringToTop(this),this},c.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendToBack(this),this},c.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},c.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},c.Component.Core=function(){},c.Component.Core.install=function(a){c.Utils.mixinPrototype(this,c.Component.Core.prototype),this.components={};for(var b=0;bthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(a){return this.alive&&(this.health+=a,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},c.Component.InCamera=function(){},c.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},c.Component.InputEnabled=function(){},c.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(a){a?null===this.input?(this.input=new c.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},c.Component.InWorld=function(){},c.Component.InWorld.preUpdate=function(){if((this.autoCull||this.checkWorldBounds)&&(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull&&(this.game.world.camera.view.intersects(this._bounds)?(this.renderable=!0,this.game.world.camera.totalInView++):this.renderable=!1),this.checkWorldBounds))if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1;return!0},c.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},c.Component.LifeSpan=function(){},c.Component.LifeSpan.preUpdate=function(){return this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0)?(this.kill(),!1):!0},c.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(a){return void 0===a&&(a=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(a),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},c.Component.LoadTexture=function(){},c.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(a,b,d){a===c.PENDING_ATLAS?(a=b,b=0):b=b||0,(d||void 0===d)&&this.animations&&this.animations.stop(),this.key=a,this.customRender=!1;var e=this.game.cache,f=!0,g=!this.texture.baseTexture.scaleMode;if(c.RenderTexture&&a instanceof c.RenderTexture)this.key=a.key,this.setTexture(a);else if(c.BitmapData&&a instanceof c.BitmapData)this.customRender=!0,this.setTexture(a.texture),e.hasFrameData(a.key,c.Cache.BITMAPDATA)&&(f=!this.animations.loadFrameData(e.getFrameData(a.key,c.Cache.BITMAPDATA),b));else if(c.Video&&a instanceof c.Video){this.customRender=!0;var h=a.texture.valid;this.setTexture(a.texture),this.setFrame(a.texture.frame.clone()),a.onChangeSource.add(this.resizeFrame,this),this.texture.valid=h}else if(a instanceof PIXI.Texture)this.setTexture(a);else{var i=e.getImage(a,!0);this.key=i.key,this.setTexture(new PIXI.Texture(i.base)),"__default"===a?this.texture.baseTexture.skipRender=!0:this.texture.baseTexture.skipRender=!1,f=!this.animations.loadFrameData(i.frameData,b)}f&&(this._frame=c.Rectangle.clone(this.texture.frame)),g||(this.texture.baseTexture.scaleMode=1)},setFrame:function(a){this._frame=a,this.texture.frame.x=a.x,this.texture.frame.y=a.y,this.texture.frame.width=a.width,this.texture.frame.height=a.height,this.texture.crop.x=a.x,this.texture.crop.y=a.y,this.texture.crop.width=a.width,this.texture.crop.height=a.height,a.trimmed?(this.texture.trim?(this.texture.trim.x=a.spriteSourceSizeX,this.texture.trim.y=a.spriteSourceSizeY,this.texture.trim.width=a.sourceSizeW,this.texture.trim.height=a.sourceSizeH):this.texture.trim={x:a.spriteSourceSizeX,y:a.spriteSourceSizeY,width:a.sourceSizeW,height:a.sourceSizeH},this.texture.width=a.sourceSizeW,this.texture.height=a.sourceSizeH,this.texture.frame.width=a.sourceSizeW,this.texture.frame.height=a.sourceSizeH):!a.trimmed&&this.texture.trim&&(this.texture.trim=null),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(a,b,c){this.texture.frame.resize(b,c),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(a){this.animations.frame=a}},frameName:{get:function(){return this.animations.frameName},set:function(a){this.animations.frameName=a}}},c.Component.Overlap=function(){},c.Component.Overlap.prototype={overlap:function(a){return c.Rectangle.intersects(this.getBounds(),a.getBounds())}},c.Component.PhysicsBody=function(){},c.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this._exists&&this.parent.exists?!0:(this.renderOrderID=-1,!1))},c.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},c.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(a){this.position.x=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(a){this.position.y=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},c.Component.Reset=function(){},c.Component.Reset.prototype.reset=function(a,b,c){return void 0===c&&(c=1),this.world.set(a,b),this.position.set(a,b),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=c),this.components.PhysicsBody&&this.body&&this.body.reset(a,b,!1,!1),this},c.Component.ScaleMinMax=function(){},c.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(a){this.scaleMin&&(a.athis.scaleMax.x&&(a.a=this.scaleMax.x),a.d>this.scaleMax.y&&(a.d=this.scaleMax.y))},setScaleMinMax:function(a,b,d,e){void 0===b?b=d=e=a:void 0===d&&(d=e=b,b=a),null===a?this.scaleMin=null:this.scaleMin?this.scaleMin.set(a,b):this.scaleMin=new c.Point(a,b),null===d?this.scaleMax=null:this.scaleMax?this.scaleMax.set(d,e):this.scaleMax=new c.Point(d,e),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},c.Component.Smoothed=function(){},c.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(a){a?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},c.GameObjectFactory=function(a){this.game=a,this.world=this.game.world},c.GameObjectFactory.prototype={existing:function(a){return this.world.add(a)},image:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Image(this.game,a,b,d,e))},sprite:function(a,b,c,d,e){return void 0===e&&(e=this.world),e.create(a,b,c,d)},creature:function(a,b,d,e,f){void 0===f&&(f=this.world);var g=new c.Creature(this.game,a,b,d,e);return f.add(g),g},tween:function(a){return this.game.tweens.create(a)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},physicsGroup:function(a,b,d,e){return new c.Group(this.game,b,d,e,!0,a)},spriteBatch:function(a,b,d){return void 0===a&&(a=null),void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},tileSprite:function(a,b,d,e,f,g,h){return void 0===h&&(h=this.world),h.add(new c.TileSprite(this.game,a,b,d,e,f,g))},rope:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.Rope(this.game,a,b,d,e,f))},text:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Text(this.game,a,b,d,e))},button:function(a,b,d,e,f,g,h,i,j,k){return void 0===k&&(k=this.world),k.add(new c.Button(this.game,a,b,d,e,f,g,h,i,j))},graphics:function(a,b,d){return void 0===d&&(d=this.world),d.add(new c.Graphics(this.game,a,b))},emitter:function(a,b,d){return this.game.particles.add(new c.Particles.Arcade.Emitter(this.game,a,b,d))},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.BitmapText(this.game,a,b,d,e,f))},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},video:function(a,b){return new c.Video(this.game,a,b)},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a},plugin:function(a){return this.game.plugins.add(a)}},c.GameObjectFactory.prototype.constructor=c.GameObjectFactory,c.GameObjectCreator=function(a){this.game=a,this.world=this.game.world},c.GameObjectCreator.prototype={image:function(a,b,d,e){return new c.Image(this.game,a,b,d,e)},sprite:function(a,b,d,e){return new c.Sprite(this.game,a,b,d,e)},tween:function(a){return new c.Tween(a,this.game,this.game.tweens)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},spriteBatch:function(a,b,d){return void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},tileSprite:function(a,b,d,e,f,g){return new c.TileSprite(this.game,a,b,d,e,f,g)},rope:function(a,b,d,e,f){return new c.Rope(this.game,a,b,d,e,f)},text:function(a,b,d,e){return new c.Text(this.game,a,b,d,e)},button:function(a,b,d,e,f,g,h,i,j){return new c.Button(this.game,a,b,d,e,f,g,h,i,j)},graphics:function(a,b){return new c.Graphics(this.game,a,b)},emitter:function(a,b,d){return new c.Particles.Arcade.Emitter(this.game,a,b,d)},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return new c.BitmapText(this.game,a,b,d,e,f,g)},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game); +return a.init.apply(a,b),a}},c.GameObjectCreator.prototype.constructor=c.GameObjectCreator,c.Sprite=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.SPRITE,this.physicsType=c.SPRITE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Sprite.prototype=Object.create(PIXI.Sprite.prototype),c.Sprite.prototype.constructor=c.Sprite,c.Component.Core.install.call(c.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Sprite.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Sprite.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Sprite.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Sprite.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Sprite.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Image=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.IMAGE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Image.prototype=Object.create(PIXI.Sprite.prototype),c.Image.prototype.constructor=c.Image,c.Component.Core.install.call(c.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","Smoothed"]),c.Image.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Image.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Image.prototype.preUpdate=function(){return this.preUpdateInWorld()?this.preUpdateCore():!1},c.Button=function(a,b,d,e,f,g,h,i,j,k){b=b||0,d=d||0,e=e||null,f=f||null,g=g||this,c.Image.call(this,a,b,d,e,i),this.type=c.BUTTON,this.physicsType=c.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new c.Signal,this.onInputOut=new c.Signal,this.onInputDown=new c.Signal,this.onInputUp=new c.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=c.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(h,i,j,k),null!==f&&this.onInputUp.add(f,g),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},c.Button.prototype=Object.create(c.Image.prototype),c.Button.prototype.constructor=c.Button;var f="Over",g="Out",h="Down",i="Up";c.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},c.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},c.Button.prototype.setStateFrame=function(a,b,c){var d="_on"+a+"Frame";null!==b?(this[d]=b,c&&this.changeStateFrame(a)):this[d]=null},c.Button.prototype.changeStateFrame=function(a){if(this.freezeFrames)return!1;var b="_on"+a+"Frame",c=this[b];return"string"==typeof c?(this.frameName=c,!0):"number"==typeof c?(this.frame=c,!0):!1},c.Button.prototype.setFrames=function(a,b,c,d){this.setStateFrame(f,a,this.input.pointerOver()),this.setStateFrame(g,b,!this.input.pointerOver()),this.setStateFrame(h,c,this.input.pointerDown()),this.setStateFrame(i,d,this.input.pointerUp())},c.Button.prototype.setStateSound=function(a,b,d){var e="on"+a+"Sound",f="on"+a+"SoundMarker";b instanceof c.Sound||b instanceof c.AudioSprite?(this[e]=b,this[f]="string"==typeof d?d:""):(this[e]=null,this[f]="")},c.Button.prototype.playStateSound=function(a){var b="on"+a+"Sound",c=this[b];if(c){var d="on"+a+"SoundMarker",e=this[d];return c.play(e),!0}return!1},c.Button.prototype.setSounds=function(a,b,c,d,e,j,k,l){this.setStateSound(f,a,b),this.setStateSound(g,e,j),this.setStateSound(h,c,d),this.setStateSound(i,k,l)},c.Button.prototype.setOverSound=function(a,b){this.setStateSound(f,a,b)},c.Button.prototype.setOutSound=function(a,b){this.setStateSound(g,a,b)},c.Button.prototype.setDownSound=function(a,b){this.setStateSound(h,a,b)},c.Button.prototype.setUpSound=function(a,b){this.setStateSound(i,a,b)},c.Button.prototype.onInputOverHandler=function(a,b){b.justReleased()&&(this.justReleasedPreventsOver&b.pointerMode)===b.pointerMode||(this.changeStateFrame(f),(!this.onOverMouseOnly||b.isMouse)&&(this.playStateSound(f),this.onInputOver&&this.onInputOver.dispatch(this,b)))},c.Button.prototype.onInputOutHandler=function(a,b){this.changeStateFrame(g),this.playStateSound(g),this.onInputOut&&this.onInputOut.dispatch(this,b)},c.Button.prototype.onInputDownHandler=function(a,b){this.changeStateFrame(h),this.playStateSound(h),this.onInputDown&&this.onInputDown.dispatch(this,b)},c.Button.prototype.onInputUpHandler=function(a,b,c){if(this.playStateSound(i),this.onInputUp&&this.onInputUp.dispatch(this,b,c),!this.freezeFrames)if(this.forceOut===!0||(this.forceOut&b.pointerMode)===b.pointerMode)this.changeStateFrame(g);else{var d=this.changeStateFrame(i);d||(c?this.changeStateFrame(f):this.changeStateFrame(g))}},c.SpriteBatch=function(a,b,d,e){(void 0===b||null===b)&&(b=a.world),PIXI.SpriteBatch.call(this),c.Group.call(this,a,b,d,e),this.type=c.SPRITEBATCH},c.SpriteBatch.prototype=c.Utils.extend(!0,c.SpriteBatch.prototype,c.Group.prototype,PIXI.SpriteBatch.prototype),c.SpriteBatch.prototype.constructor=c.SpriteBatch,c.TileSprite=function(){},c.Device=function(){this.deviceReadyAt=0,this.initialized=!1,this.desktop=!1,this.iOS=!1,this.iOSVersion=0,this.cocoonJS=!1,this.cocoonJSApp=!1,this.cordova=!1,this.node=!1,this.nodeWebkit=!1,this.electron=!1,this.ejecta=!1,this.crosswalk=!1,this.android=!1,this.chromeOS=!1,this.linux=!1,this.macOS=!1,this.windows=!1,this.windowsPhone=!1,this.canvas=!1,this.canvasBitBltShift=null,this.webGL=!1,this.file=!1,this.fileSystem=!1,this.localStorage=!1,this.worker=!1,this.css3D=!1,this.pointerLock=!1,this.typedArray=!1,this.vibration=!1,this.getUserMedia=!0,this.quirksMode=!1,this.touch=!1,this.mspointer=!1,this.wheelEvent=null,this.arora=!1,this.chrome=!1,this.chromeVersion=0,this.epiphany=!1,this.firefox=!1,this.firefoxVersion=0,this.ie=!1,this.ieVersion=0,this.trident=!1,this.tridentVersion=0,this.mobileSafari=!1,this.midori=!1,this.opera=!1,this.safari=!1,this.webApp=!1,this.silk=!1,this.audioData=!1,this.webAudio=!1,this.ogg=!1,this.opus=!1,this.mp3=!1,this.wav=!1,this.m4a=!1,this.webm=!1,this.oggVideo=!1,this.h264Video=!1,this.mp4Video=!1,this.webmVideo=!1,this.vp9Video=!1,this.hlsVideo=!1,this.iPhone=!1,this.iPhone4=!1,this.iPad=!1,this.pixelRatio=0,this.littleEndian=!1,this.LITTLE_ENDIAN=!1,this.support32bit=!1,this.fullscreen=!1,this.requestFullscreen="",this.cancelFullscreen="",this.fullscreenKeyboard=!1},c.Device=new c.Device,c.Device.onInitialized=new c.Signal,c.Device.whenReady=function(a,b,c){var d=this._readyCheck;if(this.deviceReadyAt||!d)a.call(b,this);else if(d._monitor||c)d._queue=d._queue||[],d._queue.push([a,b]);else{d._monitor=d.bind(this),d._queue=d._queue||[],d._queue.push([a,b]);var e="undefined"!=typeof window.cordova,f=navigator.isCocoonJS;"complete"===document.readyState||"interactive"===document.readyState?window.setTimeout(d._monitor,0):e&&!f?document.addEventListener("deviceready",d._monitor,!1):(document.addEventListener("DOMContentLoaded",d._monitor,!1),window.addEventListener("load",d._monitor,!1))}},c.Device._readyCheck=function(){var a=this._readyCheck;if(document.body){if(!this.deviceReadyAt){this.deviceReadyAt=Date.now(),document.removeEventListener("deviceready",a._monitor),document.removeEventListener("DOMContentLoaded",a._monitor),window.removeEventListener("load",a._monitor),this._initialize(),this.initialized=!0,this.onInitialized.dispatch(this);for(var b;b=a._queue.shift();){var c=b[0],d=b[1];c.call(d,this)}this._readyCheck=null,this._initialize=null,this.onInitialized=null}}else window.setTimeout(a._monitor,20)},c.Device._initialize=function(){function a(){var a=navigator.userAgent;/Playstation Vita/.test(a)?l.vita=!0:/Kindle/.test(a)||/\bKF[A-Z][A-Z]+/.test(a)||/Silk.*Mobile Safari/.test(a)?l.kindle=!0:/Android/.test(a)?l.android=!0:/CrOS/.test(a)?l.chromeOS=!0:/iP[ao]d|iPhone/i.test(a)?(l.iOS=!0,navigator.appVersion.match(/OS (\d+)/),l.iOSVersion=parseInt(RegExp.$1,10)):/Linux/.test(a)?l.linux=!0:/Mac OS/.test(a)?l.macOS=!0:/Windows/.test(a)&&(l.windows=!0),(/Windows Phone/i.test(a)||/IEMobile/i.test(a))&&(l.android=!1,l.iOS=!1,l.macOS=!1,l.windows=!0,l.windowsPhone=!0);var b=/Silk/.test(a);(l.windows||l.macOS||l.linux&&!b||l.chromeOS)&&(l.desktop=!0),(l.windowsPhone||/Windows NT/i.test(a)&&/Touch/i.test(a))&&(l.desktop=!1)}function b(){l.canvas=!!window.CanvasRenderingContext2D||l.cocoonJS;try{l.localStorage=!!localStorage.getItem}catch(a){l.localStorage=!1}l.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),l.fileSystem=!!window.requestFileSystem,l.webGL=function(){try{var a=document.createElement("canvas");return a.screencanvas=!1,!!window.WebGLRenderingContext&&(a.getContext("webgl")||a.getContext("experimental-webgl"))}catch(b){return!1}}(),l.webGL=!!l.webGL,l.worker=!!window.Worker,l.pointerLock="pointerLockElement"in document||"mozPointerLockElement"in document||"webkitPointerLockElement"in document,l.quirksMode="CSS1Compat"===document.compatMode?!1:!0,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,l.getUserMedia=l.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,l.firefox&&l.firefoxVersion<21&&(l.getUserMedia=!1),!l.iOS&&(l.ie||l.firefox||l.chrome)&&(l.canvasBitBltShift=!0),(l.safari||l.mobileSafari)&&(l.canvasBitBltShift=!1)}function c(){("ontouchstart"in document.documentElement||window.navigator.maxTouchPoints&&window.navigator.maxTouchPoints>=1)&&(l.touch=!0),(window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(l.mspointer=!0),l.cocoonJS||("onwheel"in window||l.ie&&"WheelEvent"in window?l.wheelEvent="wheel":"onmousewheel"in window?l.wheelEvent="mousewheel":l.firefox&&"MouseScrollEvent"in window&&(l.wheelEvent="DOMMouseScroll"))}function d(){for(var a=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],b=document.createElement("div"),c=0;c0&&"none"!==a}var l=this;a(),g(),f(),e(),k(),h(),b(),d(),c()},c.Device.canPlayAudio=function(a){return"mp3"===a&&this.mp3?!0:"ogg"===a&&(this.ogg||this.opus)?!0:"m4a"===a&&this.m4a?!0:"opus"===a&&this.opus?!0:"wav"===a&&this.wav?!0:"webm"===a&&this.webm?!0:!1},c.Device.canPlayVideo=function(a){return"webm"===a&&(this.webmVideo||this.vp9Video)?!0:"mp4"===a&&(this.mp4Video||this.h264Video)?!0:"ogg"!==a&&"ogv"!==a||!this.oggVideo?"mpeg"===a&&this.hlsVideo?!0:!1:!0},c.Device.isConsoleOpen=function(){return window.console&&window.console.firebug?!0:window.console&&(console.profile(),console.profileEnd(),console.clear&&console.clear(),console.profiles)?console.profiles.length>0:!1},c.Device.isAndroidStockBrowser=function(){var a=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return a&&a[1]<537},c.Canvas={create:function(a,b,c,d,e){if(b=b||256,c=c||256,void 0===e)var f=PIXI.CanvasPool.create(a,b,c);else var f=document.createElement("canvas");return"string"==typeof d&&""!==d&&(f.id=d),f.width=b,f.height=c,f.style.display="block",f},setBackgroundColor:function(a,b){return b=b||"rgb(0,0,0)",a.style.backgroundColor=b,a},setTouchAction:function(a,b){return b=b||"none",a.style.msTouchAction=b,a.style["ms-touch-action"]=b,a.style["touch-action"]=b,a},setUserSelect:function(a,b){return b=b||"none",a.style["-webkit-touch-callout"]=b,a.style["-webkit-user-select"]=b,a.style["-khtml-user-select"]=b,a.style["-moz-user-select"]=b,a.style["-ms-user-select"]=b,a.style["user-select"]=b,a.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",a},addToDOM:function(a,b,c){var d;return void 0===c&&(c=!0),b&&("string"==typeof b?d=document.getElementById(b):"object"==typeof b&&1===b.nodeType&&(d=b)),d||(d=document.body),c&&d.style&&(d.style.overflow="hidden"),d.appendChild(a),a},removeFromDOM:function(a){a.parentNode&&a.parentNode.removeChild(a)},setTransform:function(a,b,c,d,e,f,g){return a.setTransform(d,f,g,e,b,c),a},setSmoothingEnabled:function(a,b){var d=c.Canvas.getSmoothingPrefix(a);return d&&(a[d]=b),a},getSmoothingPrefix:function(a){var b=["i","webkitI","msI","mozI","oI"];for(var c in b){var d=b[c]+"mageSmoothingEnabled";if(d in a)return d}return null},getSmoothingEnabled:function(a){var b=c.Canvas.getSmoothingPrefix(a);return b?a[b]:void 0},setImageRenderingCrisp:function(a){for(var b=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],c=0;ca},fuzzyGreaterThan:function(a,b,c){return void 0===c&&(c=1e-4),a>b-c},fuzzyCeil:function(a,b){return void 0===b&&(b=1e-4),Math.ceil(a-b)},fuzzyFloor:function(a,b){return void 0===b&&(b=1e-4),Math.floor(a+b)},average:function(){for(var a=0,b=arguments.length,c=0;b>c;c++)a+=+arguments[c];return a/b},shear:function(a){return a%1},snapTo:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.round(a/b),c+a)},snapToFloor:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.floor(a/b),c+a)},snapToCeil:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.ceil(a/b),c+a)},roundTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.round(a*d)/d},floorTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.floor(a*d)/d},ceilTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.ceil(a*d)/d},angleBetween:function(a,b,c,d){return Math.atan2(d-b,c-a)},angleBetweenY:function(a,b,c,d){return Math.atan2(c-a,d-b)},angleBetweenPoints:function(a,b){return Math.atan2(b.y-a.y,b.x-a.x)},angleBetweenPointsY:function(a,b){return Math.atan2(b.x-a.x,b.y-a.y)},reverseAngle:function(a){return this.normalizeAngle(a+Math.PI,!0)},normalizeAngle:function(a){return a%=2*Math.PI,a>=0?a:a+2*Math.PI},maxAdd:function(a,b,c){return Math.min(a+b,c)},minSub:function(a,b,c){return Math.max(a-b,c)},wrap:function(a,b,c){var d=c-b;if(0>=d)return 0;var e=(a-b)%d;return 0>e&&(e+=d),e+b},wrapValue:function(a,b,c){var d;return a=Math.abs(a),b=Math.abs(b),c=Math.abs(c),d=(a+b)%c},isOdd:function(a){return!!(1&a)},isEven:function(a){return!(1&a)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])var a=arguments[0];else var a=arguments;for(var b=1,c=0,d=a.length;d>b;b++)a[b]b;b++)a[b]>a[c]&&(c=b);return a[c]},minProperty:function(a){if(2===arguments.length&&"object"==typeof arguments[1])var b=arguments[1];else var b=arguments.slice(1);for(var c=1,d=0,e=b.length;e>c;c++)b[c][a]c;c++)b[c][a]>b[d][a]&&(d=c);return b[d][a]},wrapAngle:function(a,b){return b?this.wrap(a,-Math.PI,Math.PI):this.wrap(a,-180,180)},linearInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return 0>b?this.linear(a[0],a[1],d):b>1?this.linear(a[c],a[c-1],c-d):this.linear(a[e],a[e+1>c?c:e+1],d-e)},bezierInterpolation:function(a,b){for(var c=0,d=a.length-1,e=0;d>=e;e++)c+=Math.pow(1-b,d-e)*Math.pow(b,e)*a[e]*this.bernstein(d,e);return c},catmullRomInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return a[0]===a[c]?(0>b&&(e=Math.floor(d=c*(1+b))),this.catmullRom(a[(e-1+c)%c],a[e],a[(e+1)%c],a[(e+2)%c],d-e)):0>b?a[0]-(this.catmullRom(a[0],a[0],a[1],a[1],-d)-a[0]):b>1?a[c]-(this.catmullRom(a[c],a[c],a[c-1],a[c-1],d-c)-a[c]):this.catmullRom(a[e?e-1:0],a[e],a[e+1>c?c:e+1],a[e+2>c?c:e+2],d-e)},linear:function(a,b,c){return(b-a)*c+a},bernstein:function(a,b){return this.factorial(a)/this.factorial(b)/this.factorial(a-b)},factorial:function(a){if(0===a)return 1;for(var b=a;--a;)b*=a;return b},catmullRom:function(a,b,c,d,e){var f=.5*(c-a),g=.5*(d-b),h=e*e,i=e*h;return(2*b-2*c+f+g)*i+(-3*b+3*c-2*f-g)*h+f*e+b},difference:function(a,b){return Math.abs(a-b)},roundAwayFromZero:function(a){return a>0?Math.ceil(a):Math.floor(a)},sinCosGenerator:function(a,b,c,d){void 0===b&&(b=1),void 0===c&&(c=1),void 0===d&&(d=1);for(var e=b,f=c,g=d*Math.PI/a,h=[],i=[],j=0;a>j;j++)f-=e*g,e+=f*g,h[j]=f,i[j]=e;return{sin:i,cos:h,length:a}},distance:function(a,b,c,d){var e=a-c,f=b-d;return Math.sqrt(e*e+f*f)},distanceSq:function(a,b,c,d){var e=a-c,f=b-d;return e*e+f*f},distancePow:function(a,b,c,d,e){return void 0===e&&(e=2),Math.sqrt(Math.pow(c-a,e)+Math.pow(d-b,e))},clamp:function(a,b,c){return b>a?b:a>c?c:a},clampBottom:function(a,b){return b>a?b:a},within:function(a,b,c){return Math.abs(a-b)<=c},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},smoothstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*(3-2*a)},smootherstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*a*(a*(6*a-15)+10)},sign:function(a){return 0>a?-1:a>0?1:0},percent:function(a,b,c){return void 0===c&&(c=0),a>b||c>b?1:c>a||c>a?0:(a-c)/b}};var j=Math.PI/180,k=180/Math.PI;c.Math.degToRad=function(a){return a*j},c.Math.radToDeg=function(a){return a*k},c.RandomDataGenerator=function(a){void 0===a&&(a=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof a?this.state(a):this.sow(a)},c.RandomDataGenerator.prototype={rnd:function(){var a=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|a,this.s0=this.s1,this.s1=this.s2,this.s2=a-this.c,this.s2},sow:function(a){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,a)for(var b=0;b>>0,b-=d,b*=d,d=b>>>0,b-=d,d+=4294967296*b;return 2.3283064365386963e-10*(d>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(a,b){return Math.floor(this.realInRange(0,b-a+1)+a)},between:function(a,b){return this.integerInRange(a,b)},realInRange:function(a,b){return this.frac()*(b-a)+a},normal:function(){return 1-2*this.frac()},uuid:function(){var a="",b="";for(b=a="";a++<36;b+=~a%5|3*a&4?(15^a?8^this.frac()*(20^a?16:4):4).toString(16):"-");return b},pick:function(a){return a[this.integerInRange(0,a.length-1)]},weightedPick:function(a){return a[~~(Math.pow(this.frac(),2)*(a.length-1)+.5)]},timestamp:function(a,b){return this.realInRange(a||9466848e5,b||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(a){return"string"==typeof a&&a.match(/^!rnd/)&&(a=a.split(","),this.c=parseFloat(a[1]),this.s0=parseFloat(a[2]),this.s1=parseFloat(a[3]),this.s2=parseFloat(a[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},c.RandomDataGenerator.prototype.constructor=c.RandomDataGenerator,c.QuadTree=function(a,b,c,d,e,f,g){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(a,b,c,d,e,f,g)},c.QuadTree.prototype={reset:function(a,b,c,d,e,f,g){this.maxObjects=e||10,this.maxLevels=f||4,this.level=g||0,this.bounds={x:Math.round(a),y:Math.round(b),width:c,height:d,subWidth:Math.floor(c/2),subHeight:Math.floor(d/2),right:Math.round(a)+Math.floor(c/2),bottom:Math.round(b)+Math.floor(d/2)},this.objects.length=0,this.nodes.length=0},populate:function(a){a.forEach(this.populateHandler,this,!0)},populateHandler:function(a){a.body&&a.exists&&this.insert(a.body)},split:function(){this.nodes[0]=new c.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new c.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new c.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new c.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(a){var b,c=0;if(null!=this.nodes[0]&&(b=this.getIndex(a),-1!==b))return void this.nodes[b].insert(a);if(this.objects.push(a),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(b=2):a.x>this.bounds.right&&(a.ythis.bounds.bottom&&(b=3)),b},retrieve:function(a){if(a instanceof c.Rectangle)var b=this.objects,d=this.getIndex(a);else{if(!a.body)return this._empty;var b=this.objects,d=this.getIndex(a.body)}return this.nodes[0]&&(-1!==d?b=b.concat(this.nodes[d].retrieve(a)):(b=b.concat(this.nodes[0].retrieve(a)),b=b.concat(this.nodes[1].retrieve(a)),b=b.concat(this.nodes[2].retrieve(a)),b=b.concat(this.nodes[3].retrieve(a)))),b},clear:function(){this.objects.length=0;for(var a=this.nodes.length;a--;)this.nodes[a].clear(),this.nodes.splice(a,1);this.nodes.length=0}},c.QuadTree.prototype.constructor=c.QuadTree;var l=function(){};c.Net=l,c.Net.prototype={isDisabled:!0,getHostName:l,checkDomainName:l,updateQueryString:l,getQueryString:l,decodeURI:l},c.Net.prototype.constructor=c.Net,c.TweenManager=function(){},c.TweenManager.prototype.update=function(){},c.TweenManager.prototype.removeAll=function(){},c.TweenManager.prototype.constructor=c.TweenManager,c.Time=function(a){this.game=a,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new c.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},c.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(a){return this._timers.push(a),a},create:function(a){void 0===a&&(a=!0);var b=new c.Timer(this.game,a);return this._timers.push(b),b},removeAll:function(){for(var a=0;aa;)this._timers[a].update(this.time)?a++:(this._timers.splice(a,1),b--)},updateAdvancedTiming:function(){this._frameCount++,this._elapsedAccumulator+=this.elapsed,this._frameCount>=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var a=this._timers.length;a--;)this._timers[a]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var a=this._timers.length;a--;)this._timers[a]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(a){return this.time-a},elapsedSecondsSince:function(a){return.001*(this.time-a)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(c.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(a){this._desiredFps=a,this.physicsElapsed=1/a,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/a}}),c.Time.prototype.constructor=c.Time,c.Timer=function(a,b){void 0===b&&(b=!0),this.game=a,this.running=!1,this.autoDestroy=b,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new c.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0, +this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},c.Timer.MINUTE=6e4,c.Timer.SECOND=1e3,c.Timer.HALF=500,c.Timer.QUARTER=250,c.Timer.prototype={create:function(a,b,d,e,f,g){a=Math.round(a);var h=a;h+=0===this._now?this.game.time.time:this._now;var i=new c.TimerEvent(this,a,h,d,b,e,f,g);return this.events.push(i),this.order(),this.expired=!1,i},add:function(a,b,c){return this.create(a,!1,0,b,c,Array.prototype.slice.call(arguments,3))},repeat:function(a,b,c,d){return this.create(a,!1,b,c,d,Array.prototype.slice.call(arguments,4))},loop:function(a,b,c){return this.create(a,!0,0,b,c,Array.prototype.slice.call(arguments,3))},start:function(a){if(!this.running){this._started=this.game.time.time+(a||0),this.running=!0;for(var b=0;b0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(a,b){return a.tickb.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(a){if(this.paused)return!0;if(this.elapsed=a-this._now,this._now=a,this.elapsed>this.timeCap&&this.adjustEvents(a-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=this.events[this._i].tick&&!this.events[this._i].pendingDelete;)this._newTick=this._now+this.events[this._i].delay-(this._now-this.events[this._i].tick),this._newTick<0&&(this._newTick=this._now+this.events[this._i].delay),this.events[this._i].loop===!0?(this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):this.events[this._i].repeatCount>0?(this.events[this._i].repeatCount--,this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):(this._marked++,this.events[this._i].pendingDelete=!0,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)),this._i++;this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return this.expired&&this.autoDestroy?!1:!0},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(a){for(var b=0;bc&&(c=0),this.events[b].tick=this._now+c}var d=this.nextTick-a;0>d?this.nextTick=this._now:this.nextTick=this._now+d},resume:function(){if(this.paused){var a=this.game.time.time;this._pauseTotal+=a-this._now,this._now=a,this.adjustEvents(this._pauseStarted),this.paused=!1,this._codePaused=!1}},_resume:function(){this._codePaused||this.resume()},removeAll:function(){this.onComplete.removeAll(),this.events.length=0,this._len=0,this._i=0},destroy:function(){this.onComplete.removeAll(),this.running=!1,this.events=[],this._len=0,this._i=0}},Object.defineProperty(c.Timer.prototype,"next",{get:function(){return this.nextTick}}),Object.defineProperty(c.Timer.prototype,"duration",{get:function(){return this.running&&this.nextTick>this._now?this.nextTick-this._now:0}}),Object.defineProperty(c.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(c.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(c.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),c.Timer.prototype.constructor=c.Timer,c.TimerEvent=function(a,b,c,d,e,f,g,h){this.timer=a,this.delay=b,this.tick=c,this.repeatCount=d-1,this.loop=e,this.callback=f,this.callbackContext=g,this.args=h,this.pendingDelete=!1},c.TimerEvent.prototype.constructor=c.TimerEvent,c.AnimationManager=function(a){this.sprite=a,this.game=a.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},c.AnimationManager.prototype={loadFrameData:function(a,b){if(void 0===a)return!1;if(this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(a);return this._frameData=a,void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},copyFrameData:function(a,b){if(this._frameData=a.clone(),this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(this._frameData);return void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},add:function(a,b,d,e,f){return b=b||[],d=d||60,void 0===e&&(e=!1),void 0===f&&(f=b&&"number"==typeof b[0]?!0:!1),this._outputFrames=[],this._frameData.getFrameIndexes(b,f,this._outputFrames),this._anims[a]=new c.Animation(this.game,this.sprite,a,this._frameData,this._outputFrames,d,e),this.currentAnim=this._anims[a],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[a]},validateFrames:function(a,b){void 0===b&&(b=!0);for(var c=0;cthis._frameData.total)return!1}else if(this._frameData.checkFrameName(a[c])===!1)return!1;return!0},play:function(a,b,c,d){return this._anims[a]?this.currentAnim===this._anims[a]?this.currentAnim.isPlaying===!1?(this.currentAnim.paused=!1,this.currentAnim.play(b,c,d)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[a],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(b,c,d)):void 0},stop:function(a,b){void 0===b&&(b=!1),!this.currentAnim||"string"==typeof a&&a!==this.currentAnim.name||this.currentAnim.stop(b)},update:function(){return this.updateIfVisible&&!this.sprite.visible?!1:this.currentAnim&&this.currentAnim.update()?(this.currentFrame=this.currentAnim.currentFrame,!0):!1},next:function(a){this.currentAnim&&(this.currentAnim.next(a),this.currentFrame=this.currentAnim.currentFrame)},previous:function(a){this.currentAnim&&(this.currentAnim.previous(a),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(a){return"string"==typeof a&&this._anims[a]?this._anims[a]:null},refreshFrame:function(){this.sprite.setTexture(PIXI.TextureCache[this.currentFrame.uuid])},destroy:function(){var a=null;for(var a in this._anims)this._anims.hasOwnProperty(a)&&this._anims[a].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},c.AnimationManager.prototype.constructor=c.AnimationManager,Object.defineProperty(c.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(c.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(c.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(a){this.currentAnim.paused=a}}),Object.defineProperty(c.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(c.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(a){"number"==typeof a&&this._frameData&&null!==this._frameData.getFrame(a)&&(this.currentFrame=this._frameData.getFrame(a),this.currentFrame&&this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(c.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(a){"string"==typeof a&&this._frameData&&null!==this._frameData.getFrameByName(a)?(this.currentFrame=this._frameData.getFrameByName(a),this.currentFrame&&(this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame))):console.warn("Cannot set frameName: "+a)}}),c.Animation=function(a,b,d,e,f,g,h){void 0===h&&(h=!1),this.game=a,this._parent=b,this._frameData=e,this.name=d,this._frames=[],this._frames=this._frames.concat(f),this.delay=1e3/g,this.loop=h,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new c.Signal,this.onUpdate=null,this.onComplete=new c.Signal,this.onLoop=new c.Signal,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},c.Animation.prototype={play:function(a,b,c){return"number"==typeof a&&(this.delay=1e3/a),"boolean"==typeof b&&(this.loop=b),"undefined"!=typeof c&&(this.killOnComplete=c),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},setFrame:function(a,b){var c;if(void 0===b&&(b=!1),"string"==typeof a)for(var d=0;d=this._timeNextFrame?(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this._frameIndex+=this._frameSkip,this._frameIndex>=this._frames.length?this.loop?(this._frameIndex%=this._frames.length,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),this.onUpdate?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0):(this.complete(),!1):this.updateCurrentFrame(!0)):!1},updateCurrentFrame:function(a,b){if(void 0===b&&(b=!1),!this._frameData)return!1;var c=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(b||!b&&c!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),this.onUpdate&&a?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0},next:function(a){void 0===a&&(a=1);var b=this._frameIndex+a;b>=this._frames.length&&(this.loop?b%=this._frames.length:b=this._frames.length-1),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},previous:function(a){void 0===a&&(a=1);var b=this._frameIndex-a;0>b&&(this.loop?b=this._frames.length+b:b++),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},updateFrameData:function(a){this._frameData=a,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},c.Animation.prototype.constructor=c.Animation,Object.defineProperty(c.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(a){this.isPaused=a,a?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(c.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(c.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(a){this.currentFrame=this._frameData.getFrame(this._frames[a]),null!==this.currentFrame&&(this._frameIndex=a,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(c.Animation.prototype,"speed",{get:function(){return Math.round(1e3/this.delay)},set:function(a){a>=1&&(this.delay=1e3/a)}}),Object.defineProperty(c.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(a){a&&null===this.onUpdate?this.onUpdate=new c.Signal:a||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),c.Animation.generateFrameNames=function(a,b,d,e,f){void 0===e&&(e="");var g=[],h="";if(d>b)for(var i=b;d>=i;i++)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);else for(var i=b;i>=d;i--)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);return g},c.Frame=function(a,b,d,e,f,g){this.index=a,this.x=b,this.y=d,this.width=e,this.height=f,this.name=g,this.centerX=Math.floor(e/2),this.centerY=Math.floor(f/2),this.distance=c.Math.distance(0,0,e,f),this.rotated=!1,this.rotationDirection="cw",this.trimmed=!1,this.sourceSizeW=e,this.sourceSizeH=f,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},c.Frame.prototype={resize:function(a,b){this.width=a,this.height=b,this.centerX=Math.floor(a/2),this.centerY=Math.floor(b/2),this.distance=c.Math.distance(0,0,a,b),this.sourceSizeW=a,this.sourceSizeH=b,this.right=this.x+a,this.bottom=this.y+b},setTrim:function(a,b,c,d,e,f,g){this.trimmed=a,a&&(this.sourceSizeW=b,this.sourceSizeH=c,this.centerX=Math.floor(b/2),this.centerY=Math.floor(c/2),this.spriteSourceSizeX=d,this.spriteSourceSizeY=e,this.spriteSourceSizeW=f,this.spriteSourceSizeH=g)},clone:function(){var a=new c.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var b in this)this.hasOwnProperty(b)&&(a[b]=this[b]);return a},getRect:function(a){return void 0===a?a=new c.Rectangle(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a}},c.Frame.prototype.constructor=c.Frame,c.FrameData=function(){this._frames=[],this._frameNames=[]},c.FrameData.prototype={addFrame:function(a){return a.index=this._frames.length,this._frames.push(a),""!==a.name&&(this._frameNames[a.name]=a.index),a},getFrame:function(a){return a>=this._frames.length&&(a=0),this._frames[a]},getFrameByName:function(a){return"number"==typeof this._frameNames[a]?this._frames[this._frameNames[a]]:null},checkFrameName:function(a){return null==this._frameNames[a]?!1:!0},clone:function(){for(var a=new c.FrameData,b=0;b=d;d++)c.push(this._frames[d]);return c},getFrames:function(a,b,c){if(void 0===b&&(b=!0),void 0===c&&(c=[]),void 0===a||0===a.length)for(var d=0;d=d&&(d=Math.floor(-j/Math.min(-1,d))),0>=e&&(e=Math.floor(-k/Math.min(-1,e)));var l=Math.floor((j-g)/(d+h)),m=Math.floor((k-g)/(e+h)),n=l*m;if(-1!==f&&(n=f),0===j||0===k||d>j||e>k||0===n)return console.warn("Phaser.AnimationParser.spriteSheet: '"+b+"'s width/height zero or width/height < given frameWidth/frameHeight"),null;for(var o=new c.FrameData,p=g,q=g,r=0;n>r;r++)o.addFrame(new c.Frame(r,p,q,d,e,"")),p+=d+h,p+d>j&&(p=g,q+=e+h);return o},JSONData:function(a,b){if(!b.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(b);for(var d,e=new c.FrameData,f=b.frames,g=0;g tag");for(var d,e,f,g,h,i,j,k,l,m,n,o=new c.FrameData,p=b.getElementsByTagName("SubTexture"),q=0;q-1},getAssetIndex:function(a,b){for(var c=-1,d=0;d-1?{index:c,file:this._fileList[c]}:!1},reset:function(a,b){void 0===b&&(b=!1),this.resetLocked||(a&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,b&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(a,b,c,d,e,f){if(void 0===e&&(e=!1),void 0===b||""===b)return console.warn("Phaser.Loader: Invalid or no key given of type "+a),this;if(void 0===c||null===c){if(!f)return console.warn("Phaser.Loader: No URL given for file type: "+a+" key: "+b),this;c=b+f}var g={type:a,key:b,path:this.path,url:c,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(d)for(var h in d)g[h]=d[h];var i=this.getAssetIndex(a,b);if(e&&i>-1){var j=this._fileList[i];j.loading||j.loaded?(this._fileList.push(g),this._totalFileCount++):this._fileList[i]=g}else-1===i&&(this._fileList.push(g),this._totalFileCount++);return this},replaceInFileList:function(a,b,c,d){return this.addToFileList(a,b,c,d,!0)},pack:function(a,b,c,d){if(void 0===b&&(b=null),void 0===c&&(c=null),void 0===d&&(d=null),!b&&!c)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var e={type:"packfile",key:a,url:b,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:d};c&&("string"==typeof c&&(c=JSON.parse(c)),e.data=c||{},e.loaded=!0);for(var f=0;f=e||d&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var f=this;setTimeout(function(){f.finishedLoading(!0)},2e3)}},finishedLoading:function(a){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,a||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.onLoadComplete.dispatch(),this.game.state.loadComplete(),this.reset())},asyncComplete:function(a,b){void 0===b&&(b=""),a.loaded=!0,a.error=!!b,b&&(a.errorMessage=b,console.warn("Phaser.Loader - "+a.type+"["+a.key+"]: "+b)),this.processLoadQueue()},processPack:function(a){var b=a.data[a.key];if(!b)return void console.warn("Phaser.Loader - "+a.key+": pack has data, but not for pack key");for(var d=0;d=400&&f.status<=599?e.call(g,a,f):d.call(g,a,f)}catch(b){g.hasLoaded?window.console&&console.error(b):g.asyncComplete(a,b.message||"Exception")}},f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.hasLoaded?window.console&&console.error(b):g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,f.send()},xhrLoadWithXDR:function(a,b,c,d,e){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var f=new window.XDomainRequest;f.open("GET",b,!0),f.responseType=c,f.timeout=3e3,e=e||this.fileError;var g=this;f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.ontimeout=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.onprogress=function(){},f.onload=function(){try{return 4==f.readyState&&f.status>=400&&f.status<=599?e.call(g,a,f):d.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,setTimeout(function(){f.send()},0)},getVideoURL:function(a){for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayVideo(c))return d}return null},getAudioURL:function(a){if(this.game.sound.noAudio)return null;for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayAudio(c))return d}return null},fileError:function(a,b,c){var d=a.requestUrl||this.transformUrl(a.url,a),e="error loading asset from URL "+d;!c&&b&&(c=b.status),c&&(e=e+" ("+c+")"),this.asyncComplete(a,e)},fileComplete:function(a,b){var d=!0;switch(a.type){case"packfile":var e=JSON.parse(b.responseText);a.data=e||{};break;case"image":this.cache.addImage(a.key,a.url,a.data);break;case"spritesheet":this.cache.addSpriteSheet(a.key,a.url,a.data,a.frameWidth,a.frameHeight,a.frameMax,a.margin,a.spacing);break;case"textureatlas":if(null==a.atlasURL)this.cache.addTextureAtlas(a.key,a.url,a.data,a.atlasData,a.format);else if(d=!1,a.format==c.Loader.TEXTURE_ATLAS_JSON_ARRAY||a.format==c.Loader.TEXTURE_ATLAS_JSON_HASH||a.format==c.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.jsonLoadComplete);else{if(a.format!=c.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+a.format);this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.xmlLoadComplete)}break;case"bitmapfont":a.atlasURL?(d=!1,this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",function(a,b){var c;try{c=JSON.parse(b.responseText)}catch(d){}c?(a.atlasType="json",this.jsonLoadComplete(a,b)):(a.atlasType="xml",this.xmlLoadComplete(a,b))})):this.cache.addBitmapFont(a.key,a.url,a.data,a.atlasData,a.atlasType,a.xSpacing,a.ySpacing);break;case"video":if(a.asBlob)try{a.data=new Blob([new Uint8Array(b.response)])}catch(f){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+a.key)}this.cache.addVideo(a.key,a.url,a.data,a.asBlob);break;case"audio":this.game.sound.usingWebAudio?(a.data=b.response,this.cache.addSound(a.key,a.url,a.data,!0,!1),a.autoDecode&&this.game.sound.decode(a.key)):this.cache.addSound(a.key,a.url,a.data,!1,!0);break;case"text":a.data=b.responseText,this.cache.addText(a.key,a.url,a.data);break;case"shader":a.data=b.responseText,this.cache.addShader(a.key,a.url,a.data);break;case"physics":var e=JSON.parse(b.responseText);this.cache.addPhysicsData(a.key,a.url,e,a.format);break;case"script":a.data=document.createElement("script"),a.data.language="javascript",a.data.type="text/javascript",a.data.defer=!1,a.data.text=b.responseText,document.head.appendChild(a.data),a.callback&&(a.data=a.callback.call(a.callbackContext,a.key,b.responseText));break;case"binary":a.callback?a.data=a.callback.call(a.callbackContext,a.key,b.response):a.data=b.response,this.cache.addBinary(a.key,a.data)}d&&this.asyncComplete(a)},jsonLoadComplete:function(a,b){var c=JSON.parse(b.responseText);"tilemap"===a.type?this.cache.addTilemap(a.key,a.url,c,a.format):"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,c,a.atlasType,a.xSpacing,a.ySpacing):"json"===a.type?this.cache.addJSON(a.key,a.url,c):this.cache.addTextureAtlas(a.key,a.url,a.data,c,a.format),this.asyncComplete(a)},csvLoadComplete:function(a,b){var c=b.responseText;this.cache.addTilemap(a.key,a.url,c,a.format),this.asyncComplete(a)},xmlLoadComplete:function(a,b){var c=b.responseText,d=this.parseXml(c);if(!d){var e=b.responseType||b.contentType;return console.warn("Phaser.Loader - "+a.key+": invalid XML ("+e+")"),void this.asyncComplete(a,"invalid XML")}"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,d,a.atlasType,a.xSpacing,a.ySpacing):"textureatlas"===a.type?this.cache.addTextureAtlas(a.key,a.url,a.data,d,a.format):"xml"===a.type&&this.cache.addXML(a.key,a.url,d),this.asyncComplete(a)},parseXml:function(a){var b;try{if(window.DOMParser){var c=new DOMParser;b=c.parseFromString(a,"text/xml")}else b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)}catch(d){b=null}return b&&b.documentElement&&!b.getElementsByTagName("parsererror").length?b:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(c.Loader.prototype,"progressFloat",{get:function(){var a=this._loadedFileCount/this._totalFileCount*100;return c.Math.clamp(a||0,0,100)}}),Object.defineProperty(c.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),c.Loader.prototype.constructor=c.Loader,c.LoaderParser={bitmapFont:function(a,b,c,d){return this.xmlBitmapFont(a,b,c,d)},xmlBitmapFont:function(a,b,c,d){var e={},f=a.getElementsByTagName("info")[0],g=a.getElementsByTagName("common")[0];e.font=f.getAttribute("face"),e.size=parseInt(f.getAttribute("size"),10),e.lineHeight=parseInt(g.getAttribute("lineHeight"),10)+d,e.chars={};for(var h=a.getElementsByTagName("char"),i=0;i=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var b=this._parentBounds.width,d=this._parentBounds.height,e=this.getParentBounds(this._parentBounds),f=e.width!==b||e.height!==d,g=this.updateOrientationState();(f||g)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,e),this.updateLayout(),this.signalSizeChange());var h=2*this._updateThrottle;this._updateThrottle=b||0>=c)return a;var e=b,f=a.height*b/a.width,g=a.width*c/a.height,h=c,i=g>b;return i=i?d:!d,i?(a.width=Math.floor(e),a.height=Math.floor(f)):(a.width=Math.floor(g),a.height=Math.floor(h)),a},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},c.ScaleManager.prototype.constructor=c.ScaleManager,Object.defineProperty(c.ScaleManager.prototype,"boundingParent",{get:function(){if(this.parentIsWindow||this.isFullScreen&&!this._createdFullScreenTarget)return null;var a=this.game.canvas&&this.game.canvas.parentNode;return a||null}}),Object.defineProperty(c.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(a){return a!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=a),this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(a){return a!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=a,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=a),this._fullScreenScaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(a){a!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(a){a!==this._pageAlignVertically&&(this._pageAlignVertically=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(c.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(c.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var m=function(){};return c.Utils.Debug=m,c.Utils.Debug.prototype={isDisabled:!0,boot:m,preUpdate:m,reset:m,start:m,stop:m,line:m,soundInfo:m,cameraInfo:m,timer:m,pointer:m,spriteInputInfo:m,key:m,inputInfo:m,spriteBounds:m,ropeSegments:m,spriteInfo:m,spriteCoords:m,lineInfo:m,pixel:m,geom:m,rectangle:m,text:m,quadTree:m,body:m,bodyInfo:m,box2dWorld:m,box2dBody:m},c.Utils.Debug.prototype.constructor=c.Utils.Debug,c.DOM={getOffset:function(a,b){b=b||new c.Point;var d=a.getBoundingClientRect(),e=c.DOM.scrollY,f=c.DOM.scrollX,g=document.documentElement.clientTop,h=document.documentElement.clientLeft;return b.x=d.left+f-h,b.y=d.top+e-g,b},getBounds:function(a,b){return void 0===b&&(b=0),a=a&&!a.nodeType?a[0]:a,a&&1===a.nodeType?this.calibrate(a.getBoundingClientRect(),b):!1},calibrate:function(a,b){b=+b||0;var c={width:0,height:0,left:0,right:0,top:0,bottom:0};return c.width=(c.right=a.right+b)-(c.left=a.left-b),c.height=(c.bottom=a.bottom+b)-(c.top=a.top-b),c},getAspectRatio:function(a){a=null==a?this.visualBounds:1===a.nodeType?this.getBounds(a):a;var b=a.width,c=a.height;return"function"==typeof b&&(b=b.call(a)),"function"==typeof c&&(c=c.call(a)),b/c},inLayoutViewport:function(a,b){var c=this.getBounds(a,b);return!!c&&c.bottom>=0&&c.right>=0&&c.top<=this.layoutBounds.width&&c.left<=this.layoutBounds.height},getScreenOrientation:function(a){var b=window.screen,c=b.orientation||b.mozOrientation||b.msOrientation;if(c&&"string"==typeof c.type)return c.type;if("string"==typeof c)return c;var d="portrait-primary",e="landscape-primary";if("screen"===a)return b.height>b.width?d:e;if("viewport"===a)return this.visualBounds.height>this.visualBounds.width?d:e;if("window.orientation"===a&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?d:e;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return d;if(window.matchMedia("(orientation: landscape)").matches)return e}return this.visualBounds.height>this.visualBounds.width?d:e},visualBounds:new c.Rectangle,layoutBounds:new c.Rectangle,documentBounds:new c.Rectangle},c.Device.whenReady(function(a){var b=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},d=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};Object.defineProperty(c.DOM,"scrollX",{get:b}),Object.defineProperty(c.DOM,"scrollY",{get:d}),Object.defineProperty(c.DOM.visualBounds,"x",{get:b}),Object.defineProperty(c.DOM.visualBounds,"y",{get:d}),Object.defineProperty(c.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(c.DOM.layoutBounds,"y",{value:0});var e=a.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight;if(e){var f=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},g=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(c.DOM.visualBounds,"width",{get:f}),Object.defineProperty(c.DOM.visualBounds,"height",{get:g}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:f}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:g})}else Object.defineProperty(c.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(c.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:function(){var a=document.documentElement.clientWidth,b=window.innerWidth;return b>a?b:a}}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:function(){var a=document.documentElement.clientHeight,b=window.innerHeight;return b>a?b:a}});Object.defineProperty(c.DOM.documentBounds,"x",{value:0}),Object.defineProperty(c.DOM.documentBounds,"y",{value:0}),Object.defineProperty(c.DOM.documentBounds,"width",{get:function(){var a=document.documentElement;return Math.max(a.clientWidth,a.offsetWidth,a.scrollWidth)}}),Object.defineProperty(c.DOM.documentBounds,"height",{get:function(){var a=document.documentElement;return Math.max(a.clientHeight,a.offsetHeight,a.scrollHeight)}})},null,!0),c.ArraySet=function(a){this.position=0,this.list=a||[]},c.ArraySet.prototype={add:function(a){return this.exists(a)||this.list.push(a),a},getIndex:function(a){return this.list.indexOf(a)},getByKey:function(a,b){for(var c=this.list.length;c--;)if(this.list[c][a]===b)return this.list[c];return null},exists:function(a){return this.list.indexOf(a)>-1},reset:function(){this.list.length=0},remove:function(a){var b=this.list.indexOf(a);return b>-1?(this.list.splice(b,1),a):void 0},setAll:function(a,b){for(var c=this.list.length;c--;)this.list[c]&&(this.list[c][a]=b)},callAll:function(a){for(var b=Array.prototype.slice.call(arguments,1),c=this.list.length;c--;)this.list[c]&&this.list[c][a]&&this.list[c][a].apply(this.list[c],b)},removeAll:function(a){void 0===a&&(a=!1);for(var b=this.list.length;b--;)if(this.list[b]){var c=this.remove(this.list[b]);a&&c.destroy()}this.position=0,this.list=[]}},Object.defineProperty(c.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(c.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(c.ArraySet.prototype,"next",{get:function(){return this.position0;b--){var c=Math.floor(Math.random()*(b+1)),d=a[b];a[b]=a[c],a[c]=d}return a},transposeMatrix:function(a){for(var b=a.length,c=a[0].length,d=new Array(c),e=0;c>e;e++){d[e]=new Array(b);for(var f=b-1;f>-1;f--)d[e][f]=a[f][e]}return d},rotateMatrix:function(a,b){if("string"!=typeof b&&(b=(b%360+360)%360),90===b||-270===b||"rotateLeft"===b)a=c.ArrayUtils.transposeMatrix(a),a=a.reverse();else if(-90===b||270===b||"rotateRight"===b)a=a.reverse(),a=c.ArrayUtils.transposeMatrix(a);else if(180===Math.abs(b)||"rotate180"===b){for(var d=0;d=e-a?e:d},rotate:function(a){var b=a.shift();return a.push(b),b},numberArray:function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},numberArrayStep:function(a,b,d){(void 0===a||null===a)&&(a=0),(void 0===b||null===b)&&(b=a,a=0),void 0===d&&(d=1);for(var e=[],f=Math.max(c.Math.roundAwayFromZero((b-a)/(d||1)),0),g=0;f>g;g++)e.push(a),a+=d;return e}},c.LinkedList=function(){this.next=null,this.prev=null,this.first=null,this.last=null,this.total=0},c.LinkedList.prototype={add:function(a){return 0===this.total&&null===this.first&&null===this.last?(this.first=a,this.last=a,this.next=a,a.prev=this,this.total++,a):(this.last.next=a,a.prev=this.last,this.last=a,this.total++,a)},reset:function(){this.first=null,this.last=null,this.next=null,this.prev=null,this.total=0},remove:function(a){return 1===this.total?(this.reset(),void(a.next=a.prev=null)):(a===this.first?this.first=this.first.next:a===this.last&&(this.last=this.last.prev),a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),a.next=a.prev=null,null===this.first&&(this.last=null),void this.total--)},callAll:function(a){if(this.first&&this.last){var b=this.first;do b&&b[a]&&b[a].call(b),b=b.next;while(b!=this.last.next)}}},c.LinkedList.prototype.constructor=c.LinkedList,c.Create=function(a){this.game=a,this.bmd=null,this.canvas=null,this.ctx=null,this.palettes=[{0:"#000",1:"#9D9D9D",2:"#FFF",3:"#BE2633",4:"#E06F8B",5:"#493C2B",6:"#A46422",7:"#EB8931",8:"#F7E26B",9:"#2F484E",A:"#44891A",B:"#A3CE27",C:"#1B2632",D:"#005784",E:"#31A2F2",F:"#B2DCEF"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#f5f4eb"},{0:"#000",1:"#2234d1",2:"#0c7e45",3:"#44aacc",4:"#8a3622",5:"#5c2e78",6:"#aa5c3d",7:"#b5b5b5",8:"#5e606e",9:"#4c81fb",A:"#6cd947",B:"#7be2f9",C:"#eb8a60",D:"#e23d69",E:"#ffd93f",F:"#fff"},{0:"#000",1:"#fff",2:"#8b4131",3:"#7bbdc5",4:"#8b41ac",5:"#6aac41",6:"#3931a4",7:"#d5de73",8:"#945a20",9:"#5a4100",A:"#bd736a",B:"#525252",C:"#838383",D:"#acee8b",E:"#7b73de",F:"#acacac"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#fff"}]},c.Create.PALETTE_ARNE=0,c.Create.PALETTE_JMP=1,c.Create.PALETTE_CGA=2,c.Create.PALETTE_C64=3,c.Create.PALETTE_JAPANESE_MACHINE=4,c.Create.prototype={texture:function(a,b,c,d,e){void 0===c&&(c=8),void 0===d&&(d=c),void 0===e&&(e=0);var f=b[0].length*c,g=b.length*d;null===this.bmd&&(this.bmd=this.game.make.bitmapData(),this.canvas=this.bmd.canvas,this.ctx=this.bmd.context),this.bmd.resize(f,g),this.bmd.clear();for(var h=0;hg;g+=e)this.ctx.fillRect(0,g,b,1);for(var h=0;b>h;h+=d)this.ctx.fillRect(h,0,1,c);return this.bmd.generateTexture(a)}},c.Create.prototype.constructor=c.Create,c.FlexGrid=function(a,b,d){this.game=a.game,this.manager=a,this.width=b,this.height=d,this.boundsCustom=new c.Rectangle(0,0,b,d),this.boundsFluid=new c.Rectangle(0,0,b,d),this.boundsFull=new c.Rectangle(0,0,b,d),this.boundsNone=new c.Rectangle(0,0,b,d),this.positionCustom=new c.Point(0,0),this.positionFluid=new c.Point(0,0),this.positionFull=new c.Point(0,0),this.positionNone=new c.Point(0,0),this.scaleCustom=new c.Point(1,1),this.scaleFluid=new c.Point(1,1),this.scaleFluidInversed=new c.Point(1,1),this.scaleFull=new c.Point(1,1),this.scaleNone=new c.Point(1,1),this.customWidth=0,this.customHeight=0,this.customOffsetX=0,this.customOffsetY=0,this.ratioH=b/d,this.ratioV=d/b,this.multiplier=0,this.layers=[]},c.FlexGrid.prototype={setSize:function(a,b){this.width=a,this.height=b,this.ratioH=a/b,this.ratioV=b/a,this.scaleNone=new c.Point(1,1),this.boundsNone.width=this.width,this.boundsNone.height=this.height,this.refresh()},createCustomLayer:function(a,b,d,e){void 0===e&&(e=!0),this.customWidth=a,this.customHeight=b,this.boundsCustom.width=a,this.boundsCustom.height=b;var f=new c.FlexLayer(this,this.positionCustom,this.boundsCustom,this.scaleCustom);return e&&this.game.world.add(f),this.layers.push(f),"undefined"!=typeof d&&null!==typeof d&&f.addMultiple(d),f},createFluidLayer:function(a,b){void 0===b&&(b=!0);var d=new c.FlexLayer(this,this.positionFluid,this.boundsFluid,this.scaleFluid);return b&&this.game.world.add(d),this.layers.push(d),"undefined"!=typeof a&&null!==typeof a&&d.addMultiple(a),d},createFullLayer:function(a){var b=new c.FlexLayer(this,this.positionFull,this.boundsFull,this.scaleFluid);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},createFixedLayer:function(a){var b=new c.FlexLayer(this,this.positionNone,this.boundsNone,this.scaleNone);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},reset:function(){for(var a=this.layers.length;a--;)this.layers[a].persist||(this.layers[a].position=null,this.layers[a].scale=null,this.layers.slice(a,1))},onResize:function(a,b){this.ratioH=a/b,this.ratioV=b/a,this.refresh(a,b)},refresh:function(){this.multiplier=Math.min(this.manager.height/this.height,this.manager.width/this.width),this.boundsFluid.width=Math.round(this.width*this.multiplier),this.boundsFluid.height=Math.round(this.height*this.multiplier),this.scaleFluid.set(this.boundsFluid.width/this.width,this.boundsFluid.height/this.height),this.scaleFluidInversed.set(this.width/this.boundsFluid.width,this.height/this.boundsFluid.height),this.scaleFull.set(this.boundsFull.width/this.width,this.boundsFull.height/this.height),this.boundsFull.width=Math.round(this.manager.width*this.scaleFluidInversed.x),this.boundsFull.height=Math.round(this.manager.height*this.scaleFluidInversed.y),this.boundsFluid.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.boundsNone.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.positionFluid.set(this.boundsFluid.x,this.boundsFluid.y),this.positionNone.set(this.boundsNone.x,this.boundsNone.y)},fitSprite:function(a){this.manager.scaleSprite(a),a.x=this.manager.bounds.centerX,a.y=this.manager.bounds.centerY},debug:function(){this.game.debug.text(this.boundsFluid.width+" x "+this.boundsFluid.height,this.boundsFluid.x+4,this.boundsFluid.y+16),this.game.debug.geom(this.boundsFluid,"rgba(255,0,0,0.9",!1)}},c.FlexGrid.prototype.constructor=c.FlexGrid,c.FlexLayer=function(a,b,d,e){c.Group.call(this,a.game,null,"__flexLayer"+a.game.rnd.uuid(),!1),this.manager=a.manager,this.grid=a,this.persist=!1,this.position=b,this.bounds=d,this.scale=e,this.topLeft=d.topLeft,this.topMiddle=new c.Point(d.halfWidth,0),this.topRight=d.topRight,this.bottomLeft=d.bottomLeft,this.bottomMiddle=new c.Point(d.halfWidth,d.bottom),this.bottomRight=d.bottomRight},c.FlexLayer.prototype=Object.create(c.Group.prototype),c.FlexLayer.prototype.constructor=c.FlexLayer,c.FlexLayer.prototype.resize=function(){},c.FlexLayer.prototype.debug=function(){this.game.debug.text(this.bounds.width+" x "+this.bounds.height,this.bounds.x+4,this.bounds.y+16),this.game.debug.geom(this.bounds,"rgba(0,0,255,0.9",!1),this.game.debug.geom(this.topLeft,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topMiddle,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topRight,"rgba(255,255,255,0.9")},c.Color={packPixel:function(a,b,d,e){return c.Device.LITTLE_ENDIAN?(e<<24|d<<16|b<<8|a)>>>0:(a<<24|b<<16|d<<8|e)>>>0},unpackPixel:function(a,b,d,e){return(void 0===b||null===b)&&(b=c.Color.createColor()),(void 0===d||null===d)&&(d=!1),(void 0===e||null===e)&&(e=!1),c.Device.LITTLE_ENDIAN?(b.a=(4278190080&a)>>>24,b.b=(16711680&a)>>>16,b.g=(65280&a)>>>8,b.r=255&a):(b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a),b.color=a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a/255+")",d&&c.Color.RGBtoHSL(b.r,b.g,b.b,b),e&&c.Color.RGBtoHSV(b.r,b.g,b.b,b),b},fromRGBA:function(a,b){return b||(b=c.Color.createColor()),b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a+")",b},toRGBA:function(a,b,c,d){return a<<24|b<<16|c<<8|d},RGBtoHSL:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,1)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d);if(e.h=0,e.s=0,e.l=(g+f)/2,g!==f){var h=g-f;e.s=e.l>.5?h/(2-g-f):h/(g+f),g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6}return e},HSLtoRGB:function(a,b,d,e){if(e?(e.r=d,e.g=d,e.b=d):e=c.Color.createColor(d,d,d),0!==b){var f=.5>d?d*(1+b):d+b-d*b,g=2*d-f;e.r=c.Color.hueToColor(g,f,a+1/3),e.g=c.Color.hueToColor(g,f,a),e.b=c.Color.hueToColor(g,f,a-1/3)}return e.r=Math.floor(255*e.r|0),e.g=Math.floor(255*e.g|0),e.b=Math.floor(255*e.b|0),c.Color.updateColor(e),e},RGBtoHSV:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,255)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d),h=g-f;return e.h=0,e.s=0===g?0:h/g,e.v=g,g!==f&&(g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6),e},HSVtoRGB:function(a,b,d,e){void 0===e&&(e=c.Color.createColor(0,0,0,1,a,b,0,d));var f,g,h,i=Math.floor(6*a),j=6*a-i,k=d*(1-b),l=d*(1-j*b),m=d*(1-(1-j)*b);switch(i%6){case 0:f=d,g=m,h=k;break;case 1:f=l,g=d,h=k;break;case 2:f=k,g=d,h=m;break;case 3:f=k,g=l,h=d;break;case 4:f=m,g=k,h=d;break;case 5:f=d,g=k,h=l}return e.r=Math.floor(255*f),e.g=Math.floor(255*g),e.b=Math.floor(255*h),c.Color.updateColor(e),e},hueToColor:function(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a},createColor:function(a,b,d,e,f,g,h,i){var j={r:a||0,g:b||0,b:d||0,a:e||1,h:f||0,s:g||0,l:h||0,v:i||0,color:0,color32:0,rgba:""};return c.Color.updateColor(j)},updateColor:function(a){return a.rgba="rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+a.a.toString()+")",a.color=c.Color.getColor(a.r,a.g,a.b),a.color32=c.Color.getColor32(a.a,a.r,a.g,a.b),a},getColor32:function(a,b,c,d){return a<<24|b<<16|c<<8|d},getColor:function(a,b,c){return a<<16|b<<8|c},RGBtoString:function(a,b,d,e,f){return void 0===e&&(e=255),void 0===f&&(f="#"),"#"===f?"#"+((1<<24)+(a<<16)+(b<<8)+d).toString(16).slice(1):"0x"+c.Color.componentToHex(e)+c.Color.componentToHex(a)+c.Color.componentToHex(b)+c.Color.componentToHex(d)},hexToRGB:function(a){var b=c.Color.hexToColor(a);return b?c.Color.getColor32(b.a,b.r,b.g,b.b):void 0},hexToColor:function(a,b){a=a.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,b,c,d){return b+b+c+c+d+d});var d=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);if(d){var e=parseInt(d[1],16),f=parseInt(d[2],16),g=parseInt(d[3],16);b?(b.r=e,b.g=f,b.b=g):b=c.Color.createColor(e,f,g)}return b},webToColor:function(a,b){b||(b=c.Color.createColor());var d=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(a);return d&&(b.r=parseInt(d[1],10),b.g=parseInt(d[2],10),b.b=parseInt(d[3],10),b.a=void 0!==d[4]?parseFloat(d[4]):1,c.Color.updateColor(b)),b},valueToColor:function(a,b){if(b||(b=c.Color.createColor()),"string"==typeof a)return 0===a.indexOf("rgb")?c.Color.webToColor(a,b):(b.a=1,c.Color.hexToColor(a,b));if("number"==typeof a){var d=c.Color.getRGB(a);return b.r=d.r,b.g=d.g,b.b=d.b,b.a=d.a/255,b}return b},componentToHex:function(a){var b=a.toString(16);return 1==b.length?"0"+b:b},HSVColorWheel:function(a,b){void 0===a&&(a=1),void 0===b&&(b=1);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSVtoRGB(e/359,a,b));return d},HSLColorWheel:function(a,b){void 0===a&&(a=.5),void 0===b&&(b=.5);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSLtoRGB(e/359,a,b));return d},interpolateColor:function(a,b,d,e,f){void 0===f&&(f=255);var g=c.Color.getRGB(a),h=c.Color.getRGB(b),i=(h.red-g.red)*e/d+g.red,j=(h.green-g.green)*e/d+g.green,k=(h.blue-g.blue)*e/d+g.blue;return c.Color.getColor32(f,i,j,k)},interpolateColorWithRGB:function(a,b,d,e,f,g){var h=c.Color.getRGB(a),i=(b-h.red)*g/f+h.red,j=(d-h.green)*g/f+h.green,k=(e-h.blue)*g/f+h.blue;return c.Color.getColor(i,j,k)},interpolateRGB:function(a,b,d,e,f,g,h,i){var j=(e-a)*i/h+a,k=(f-b)*i/h+b,l=(g-d)*i/h+d;return c.Color.getColor(j,k,l)},getRandomColor:function(a,b,d){if(void 0===a&&(a=0),void 0===b&&(b=255),void 0===d&&(d=255),b>255||a>b)return c.Color.getColor(255,255,255);var e=a+Math.round(Math.random()*(b-a)),f=a+Math.round(Math.random()*(b-a)),g=a+Math.round(Math.random()*(b-a));return c.Color.getColor32(d,e,f,g)},getRGB:function(a){return a>16777215?{alpha:a>>>24,red:a>>16&255,green:a>>8&255,blue:255&a,a:a>>>24,r:a>>16&255,g:a>>8&255,b:255&a}:{alpha:255,red:a>>16&255,green:a>>8&255,blue:255&a,a:255,r:a>>16&255,g:a>>8&255,b:255&a}},getWebRGB:function(a){if("object"==typeof a)return"rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+(a.a/255).toString()+")";var b=c.Color.getRGB(a);return"rgba("+b.r.toString()+","+b.g.toString()+","+b.b.toString()+","+(b.a/255).toString()+")"},getAlpha:function(a){return a>>>24},getAlphaFloat:function(a){return(a>>>24)/255},getRed:function(a){return a>>16&255},getGreen:function(a){return a>>8&255},getBlue:function(a){return 255&a},blendNormal:function(a){return a},blendLighten:function(a,b){return b>a?b:a},blendDarken:function(a,b){return b>a?a:b},blendMultiply:function(a,b){return a*b/255},blendAverage:function(a,b){return(a+b)/2},blendAdd:function(a,b){return Math.min(255,a+b)},blendSubtract:function(a,b){return Math.max(0,a+b-255)},blendDifference:function(a,b){return Math.abs(a-b)},blendNegation:function(a,b){ +return 255-Math.abs(255-a-b)},blendScreen:function(a,b){return 255-((255-a)*(255-b)>>8)},blendExclusion:function(a,b){return a+b-2*a*b/255},blendOverlay:function(a,b){return 128>b?2*a*b/255:255-2*(255-a)*(255-b)/255},blendSoftLight:function(a,b){return 128>b?2*((a>>1)+64)*(b/255):255-2*(255-((a>>1)+64))*(255-b)/255},blendHardLight:function(a,b){return c.Color.blendOverlay(b,a)},blendColorDodge:function(a,b){return 255===b?b:Math.min(255,(a<<8)/(255-b))},blendColorBurn:function(a,b){return 0===b?b:Math.max(0,255-(255-a<<8)/b)},blendLinearDodge:function(a,b){return c.Color.blendAdd(a,b)},blendLinearBurn:function(a,b){return c.Color.blendSubtract(a,b)},blendLinearLight:function(a,b){return 128>b?c.Color.blendLinearBurn(a,2*b):c.Color.blendLinearDodge(a,2*(b-128))},blendVividLight:function(a,b){return 128>b?c.Color.blendColorBurn(a,2*b):c.Color.blendColorDodge(a,2*(b-128))},blendPinLight:function(a,b){return 128>b?c.Color.blendDarken(a,2*b):c.Color.blendLighten(a,2*(b-128))},blendHardMix:function(a,b){return c.Color.blendVividLight(a,b)<128?0:255},blendReflect:function(a,b){return 255===b?b:Math.min(255,a*a/(255-b))},blendGlow:function(a,b){return c.Color.blendReflect(b,a)},blendPhoenix:function(a,b){return Math.min(a,b)-Math.max(a,b)+255}},c.Physics=function(a,b){b=b||{},this.game=a,this.config=b,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},c.Physics.ARCADE=0,c.Physics.P2JS=1,c.Physics.NINJA=2,c.Physics.BOX2D=3,c.Physics.CHIPMUNK=4,c.Physics.MATTERJS=5,c.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&this.config.arcade!==!0||!c.Physics.hasOwnProperty("Arcade")||(this.arcade=new c.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&this.config.ninja===!0&&c.Physics.hasOwnProperty("Ninja")&&(this.ninja=new c.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&this.config.p2===!0&&c.Physics.hasOwnProperty("P2")&&(this.p2=new c.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&this.config.box2d===!0&&c.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new c.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&this.config.matter===!0&&c.Physics.hasOwnProperty("Matter")&&(this.matter=new c.Physics.Matter(this.game,this.config))},startSystem:function(a){a===c.Physics.ARCADE?this.arcade=new c.Physics.Arcade(this.game):a===c.Physics.P2JS?null===this.p2?this.p2=new c.Physics.P2(this.game,this.config):this.p2.reset():a===c.Physics.NINJA?this.ninja=new c.Physics.Ninja(this.game):a===c.Physics.BOX2D?null===this.box2d?this.box2d=new c.Physics.Box2D(this.game,this.config):this.box2d.reset():a===c.Physics.MATTERJS&&(null===this.matter?this.matter=new c.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(a,b,d){void 0===b&&(b=c.Physics.ARCADE),void 0===d&&(d=!1),b===c.Physics.ARCADE?this.arcade.enable(a):b===c.Physics.P2JS&&this.p2?this.p2.enable(a,d):b===c.Physics.NINJA&&this.ninja?this.ninja.enableAABB(a):b===c.Physics.BOX2D&&this.box2d?this.box2d.enable(a):b===c.Physics.MATTERJS&&this.matter&&this.matter.enable(a)},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},c.Physics.prototype.constructor=c.Physics,c.Particles=function(a){this.game=a,this.emitters={},this.ID=0},c.Particles.prototype={add:function(a){return this.emitters[a.name]=a,a},remove:function(a){delete this.emitters[a.name]},update:function(){for(var a in this.emitters)this.emitters[a].exists&&this.emitters[a].update()}},c.Particles.prototype.constructor=c.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=c.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=c.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new PIXI.Matrix),void 0===PIXI.RenderTexture.tempMatrix&&(PIXI.RenderTexture.tempMatrix=new PIXI.Matrix),PIXI.Graphics&&void 0===PIXI.Graphics.POLY&&(PIXI.Graphics.POLY=c.POLYGON,PIXI.Graphics.RECT=c.RECTANGLE,PIXI.Graphics.CIRC=c.CIRCLE,PIXI.Graphics.ELIP=c.ELLIPSE,PIXI.Graphics.RREC=c.ROUNDEDRECTANGLE),PIXI.TextureSilentFail=!0,"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=c),exports.Phaser=c):"undefined"!=typeof define&&define.amd?define("Phaser",function(){return b.Phaser=c}()):b.Phaser=c,c}.call(this); //# sourceMappingURL=phaser-minimum.map \ No newline at end of file diff --git a/build/custom/phaser-no-physics.js b/build/custom/phaser-no-physics.js index a2da3f441..6a48b17e7 100644 --- a/build/custom/phaser-no-physics.js +++ b/build/custom/phaser-no-physics.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.4.4 "Amador" - Built: Thu Oct 15 2015 11:52:45 +* v2.4.5 "Sienda" - Built: Fri Feb 05 2016 11:51:28 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -1594,6 +1594,8 @@ PIXI.Sprite.prototype.setTexture = function(texture, destroyBase) this.texture.baseTexture.destroy(); } + // Over-ridden by loadTexture as needed + this.texture.baseTexture.skipRender = false; this.texture = texture; this.texture.valid = true; }; @@ -3957,12 +3959,15 @@ PIXI.WebGLMaskManager.prototype.pushMask = function(maskData, renderSession) { var gl = renderSession.gl; - if(maskData.dirty) + if (maskData.dirty) { PIXI.WebGLGraphics.updateGraphics(maskData, gl); } - if(!maskData._webGL[gl.id].data.length)return; + if (maskData._webGL[gl.id] === undefined || maskData._webGL[gl.id].data === undefined || maskData._webGL[gl.id].data.length === 0) + { + return; + } renderSession.stencilManager.pushStencil(maskData, maskData._webGL[gl.id].data[0], renderSession); }; @@ -3977,7 +3982,14 @@ PIXI.WebGLMaskManager.prototype.pushMask = function(maskData, renderSession) PIXI.WebGLMaskManager.prototype.popMask = function(maskData, renderSession) { var gl = this.gl; + + if (maskData._webGL[gl.id] === undefined || maskData._webGL[gl.id].data === undefined || maskData._webGL[gl.id].data.length === 0) + { + return; + } + renderSession.stencilManager.popStencil(maskData, maskData._webGL[gl.id].data[0], renderSession); + }; /** @@ -4987,7 +4999,14 @@ PIXI.WebGLSpriteBatch.prototype.flush = function() blendSwap = currentBlendMode !== nextBlendMode; shaderSwap = currentShader !== nextShader; // should I use _UIDS??? - if ((currentBaseTexture !== nextTexture && !nextTexture.skipRender) || blendSwap || shaderSwap) + var skip = nextTexture.skipRender; + + if (skip && sprite.children.length > 0) + { + skip = false; + } + + if ((currentBaseTexture !== nextTexture && !skip) || blendSwap || shaderSwap) { this.renderBatch(currentBaseTexture, batchSize, start); @@ -5623,7 +5642,14 @@ PIXI.WebGLFilterManager.prototype.pushFilter = function(filterBlock) var offset = this.renderSession.offset; filterBlock._filterArea = filterBlock.target.filterArea || filterBlock.target.getBounds(); - + + // >>> modify by nextht + filterBlock._previous_stencil_mgr = this.renderSession.stencilManager; + this.renderSession.stencilManager = new PIXI.WebGLStencilManager(); + this.renderSession.stencilManager.setContext(gl); + gl.disable(gl.STENCIL_TEST); + // <<< modify by nextht + // filter program // OPTIMISATION - the first filter is free if its a simple color change? this.filterStack.push(filterBlock); @@ -5848,6 +5874,20 @@ PIXI.WebGLFilterManager.prototype.popFilter = function() gl.activeTexture(gl.TEXTURE0); gl.bindTexture(gl.TEXTURE_2D, texture.texture); + // >>> modify by nextht + if (this.renderSession.stencilManager) { + this.renderSession.stencilManager.destroy(); + } + this.renderSession.stencilManager = filterBlock._previous_stencil_mgr; + filterBlock._previous_stencil_mgr = null; + if (this.renderSession.stencilManager.count > 0) { + gl.enable(gl.STENCIL_TEST); + } + else { + gl.disable(gl.STENCIL_TEST); + } + // <<< modify by nextht + // apply! this.applyFilterPass(filter, filterArea, sizeX, sizeY); @@ -6903,11 +6943,11 @@ PIXI.BaseTexture.prototype.destroy = function() if (!navigator.isCocoonJS) this.source.src = ''; } - else if (this.source && this.source._pixiId) + else if (this.source) { PIXI.CanvasPool.removeByCanvas(this.source); - delete PIXI.BaseTextureCache[this.source._pixiId]; + delete PIXI.BaseTextureCache[this.source]; } this.source = null; @@ -6978,7 +7018,7 @@ PIXI.BaseTexture.prototype.unloadFromGPU = function() * @param imageUrl {String} The image url of the texture * @param crossorigin {Boolean} * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return BaseTexture + * @return {BaseTexture} */ PIXI.BaseTexture.fromImage = function(imageUrl, crossorigin, scaleMode) { @@ -7019,7 +7059,7 @@ PIXI.BaseTexture.fromImage = function(imageUrl, crossorigin, scaleMode) * @method fromCanvas * @param canvas {Canvas} The canvas element source of the texture * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return BaseTexture + * @return {BaseTexture} */ PIXI.BaseTexture.fromCanvas = function(canvas, scaleMode) { @@ -7311,7 +7351,7 @@ PIXI.Texture.prototype._updateUvs = function() * @param imageUrl {String} The image url of the texture * @param crossorigin {Boolean} Whether requests should be treated as crossorigin * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return Texture + * @return {Texture} */ PIXI.Texture.fromImage = function(imageUrl, crossorigin, scaleMode) { @@ -7333,7 +7373,7 @@ PIXI.Texture.fromImage = function(imageUrl, crossorigin, scaleMode) * @static * @method fromFrame * @param frameId {String} The frame id of the texture - * @return Texture + * @return {Texture} */ PIXI.Texture.fromFrame = function(frameId) { @@ -7349,7 +7389,7 @@ PIXI.Texture.fromFrame = function(frameId) * @method fromCanvas * @param canvas {Canvas} The canvas element source of the texture * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return Texture + * @return {Texture} */ PIXI.Texture.fromCanvas = function(canvas, scaleMode) { @@ -8634,7 +8674,7 @@ PIXI.TilingSprite.prototype.setTexture = function(texture) */ PIXI.TilingSprite.prototype._renderWebGL = function(renderSession) { - if (this.visible === false || this.alpha === 0) + if (!this.visible || !this.renderable || this.alpha === 0) { return; } @@ -8702,7 +8742,7 @@ PIXI.TilingSprite.prototype._renderWebGL = function(renderSession) */ PIXI.TilingSprite.prototype._renderCanvas = function(renderSession) { - if (this.visible === false || this.alpha === 0) + if (!this.visible || !this.renderable || this.alpha === 0) { return; } @@ -8824,6 +8864,8 @@ PIXI.TilingSprite.prototype.generateTilingTexture = function(forcePowerOfTwo, re var texture = this.texture; var frame = texture.frame; + console.log('generateTilingTexture', texture, frame); + var targetWidth = this._frame.sourceSizeW; var targetHeight = this._frame.sourceSizeH; @@ -9072,7 +9114,7 @@ var Phaser = Phaser || { * @constant * @type {string} */ - VERSION: '2.4.4', + VERSION: '2.4.5-dev', /** * An array of Phaser game instances. @@ -9347,6 +9389,13 @@ var Phaser = Phaser || { */ VIDEO: 28, + /** + * Game Object type. + * @constant + * @type {integer} + */ + PENDING_ATLAS: -1, + /** * Various blend modes supported by Pixi. * @@ -11012,6 +11061,8 @@ Phaser.Line.prototype = { * Rotation takes place around the coordinates given. * * @method Phaser.Line#rotateAround + * @param {number} x - The x coordinate to offset the rotation from. + * @param {number} y - The y coordinate to offset the rotation from. * @param {number} angle - The angle in radians (unless asDegrees is true) to rotate the line by. * @param {boolean} [asDegrees=false] - Is the given angle in radians (false) or degrees (true)? * @return {Phaser.Line} This line object @@ -14563,28 +14614,28 @@ Phaser.Camera.prototype = { this.atLimit.y = false; // Make sure we didn't go outside the cameras bounds - if (this.view.x <= this.bounds.x) + if (this.view.x <= this.bounds.x * this.scale.x) { this.atLimit.x = true; - this.view.x = this.bounds.x; + this.view.x = this.bounds.x * this.scale.x; } - if (this.view.right >= this.bounds.right) + if (this.view.right >= this.bounds.right * this.scale.x) { this.atLimit.x = true; - this.view.x = this.bounds.right - this.width; + this.view.x = (this.bounds.right * this.scale.x) - this.width; } - if (this.view.y <= this.bounds.top) + if (this.view.y <= this.bounds.top * this.scale.y) { this.atLimit.y = true; - this.view.y = this.bounds.top; + this.view.y = this.bounds.top * this.scale.y; } - if (this.view.bottom >= this.bounds.bottom) + if (this.view.bottom >= this.bounds.bottom * this.scale.y) { this.atLimit.y = true; - this.view.y = this.bounds.bottom - this.height; + this.view.y = (this.bounds.bottom * this.scale.y) - this.height; } }, @@ -14903,7 +14954,7 @@ Phaser.State.prototype = { /** * The update method is left empty for your own use. * It is called during the core game loop AFTER debug, physics, plugins and the Stage have had their preUpdate methods called. - * If is called BEFORE Stage, Tweens, Sounds, Input, Physics, Particles and Plugins have had their postUpdate methods called. + * It is called BEFORE Stage, Tweens, Sounds, Input, Physics, Particles and Plugins have had their postUpdate methods called. * * @method Phaser.State#update */ @@ -15405,20 +15456,15 @@ Phaser.StateManager.prototype = { if (this.states[key]) { - var valid = false; - if (this.states[key]['preload'] || this.states[key]['create'] || this.states[key]['update'] || this.states[key]['render']) { - valid = true; + return true; } - - if (valid === false) + else { console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"); return false; } - - return true; } else { @@ -15549,7 +15595,7 @@ Phaser.StateManager.prototype = { * Gets the current State. * * @method Phaser.StateManager#getCurrentState - * @return Phaser.State + * @return {Phaser.State} * @public */ getCurrentState: function() { @@ -15562,6 +15608,12 @@ Phaser.StateManager.prototype = { */ loadComplete: function () { + // Make sure to do load-update one last time before state is set to _created + if (this._created === false && this.onLoadUpdateCallback) + { + this.onLoadUpdateCallback.call(this.callbackContext, this.game); + } + if (this._created === false && this.onCreateCallback) { this._created = true; @@ -16432,6 +16484,9 @@ Phaser.SignalBinding.prototype.constructor = Phaser.SignalBinding; /** * This is a base Filter class to use for any Phaser filter development. * +* The vast majority of filters (including all of those that ship with Phaser) use fragment shaders, and +* therefore only work in WebGL and are not supported by Canvas at all. +* * @class Phaser.Filter * @constructor * @param {Phaser.Game} game - A reference to the currently running game. @@ -17110,7 +17165,12 @@ Phaser.Stage = function (game) { this.name = '_stage_root'; /** - * @property {boolean} disableVisibilityChange - By default if the browser tab loses focus the game will pause. You can stop that behaviour by setting this property to true. + * By default if the browser tab loses focus the game will pause. + * You can stop that behavior by setting this property to true. + * Note that the browser can still elect to pause your game if it wishes to do so, + * for example swapping to another browser tab. This will cause the RAF callback to halt, + * effectively pausing your game, even though no in-game pause event is triggered if you enable this property. + * @property {boolean} disableVisibilityChange * @default */ this.disableVisibilityChange = false; @@ -17786,6 +17846,11 @@ Phaser.Group.prototype.add = function (child, silent) { if (child.parent !== this) { + if (child.body) + { + child.parent.removeFromHash(child); + } + this.addChild(child); child.z = this.children.length; @@ -17912,6 +17977,11 @@ Phaser.Group.prototype.addAt = function (child, index, silent) { if (child.parent !== this) { + if (child.body) + { + child.parent.removeFromHash(child); + } + this.addChildAt(child, index); this.updateZ(); @@ -18262,7 +18332,7 @@ Phaser.Group.prototype.xy = function (index, x, y) { /** * Reverses all children in this group. * -* This operaation applies only to immediate children and does not propagate to subgroups. +* This operation applies only to immediate children and does not propagate to subgroups. * * @method Phaser.Group#reverse */ @@ -19083,8 +19153,12 @@ Phaser.Group.prototype.forEachDead = function (callback, callbackContext) { * Sort the children in the group according to a particular key and ordering. * * Call this function to sort the group according to a particular key value and order. +* * For example to depth sort Sprites for Zelda-style game you might call `group.sort('y', Phaser.Group.SORT_ASCENDING)` at the bottom of your `State.update()`. * +* Internally this uses a standard JavaScript Array sort, so everything that applies there also applies here, including +* alphabetical sorting, mixing strings and numbers, and Unicode sorting. See MDN for more details. +* * @method Phaser.Group#sort * @param {string} [key='z'] - The name of the property to sort on. Defaults to the objects z-depth value. * @param {integer} [order=Phaser.Group.SORT_ASCENDING] - Order ascending ({@link Phaser.Group.SORT_ASCENDING SORT_ASCENDING}) or descending ({@link Phaser.Group.SORT_DESCENDING SORT_DESCENDING}). @@ -20638,12 +20712,12 @@ Phaser.Game.prototype = { this.parent = config['parent']; } - if (config['transparent']) + if (config['transparent'] !== undefined) { this.transparent = config['transparent']; } - if (config['antialias']) + if (config['antialias'] !== undefined) { this.antialias = config['antialias']; } @@ -20653,7 +20727,7 @@ Phaser.Game.prototype = { this.resolution = config['resolution']; } - if (config['preserveDrawingBuffer']) + if (config['preserveDrawingBuffer'] !== undefined) { this.preserveDrawingBuffer = config['preserveDrawingBuffer']; } @@ -20696,6 +20770,13 @@ Phaser.Game.prototype = { return; } + // The game width / height must be an integer + this.width = Math.floor(this.width); + this.height = Math.floor(this.height); + + this._width = Math.floor(this._width); + this._height = Math.floor(this._height); + this.onPause = new Phaser.Signal(); this.onResume = new Phaser.Signal(); this.onBlur = new Phaser.Signal(); @@ -25740,14 +25821,6 @@ Phaser.InputHandler = function (sprite) { */ this.boundsSprite = null; - /** - * If this object is set to consume the pointer event then it will stop all propagation from this object on. - * For example if you had a stack of 6 sprites with the same priority IDs and one consumed the event, none of the others would receive it. - * @property {boolean} consumePointerEvent - * @default - */ - this.consumePointerEvent = false; - /** * @property {boolean} scaleLayer - EXPERIMENTAL: Please do not use this property unless you know what it does. Likely to change in the future. */ @@ -26552,9 +26625,6 @@ Phaser.InputHandler.prototype = { } } - // Consume the event? - return this.consumePointerEvent; - }, /** @@ -26621,7 +26691,7 @@ Phaser.InputHandler.prototype = { * @param {Phaser.Pointer} pointer * @return {boolean} */ - updateDrag: function (pointer) { + updateDrag: function (pointer, fromStart) { if (pointer.isUp) { @@ -26629,6 +26699,11 @@ Phaser.InputHandler.prototype = { return false; } + if (fromStart === undefined) + { + fromStart = false; + } + var px = this.globalToLocalX(pointer.x) + this._dragPoint.x + this.dragOffset.x; var py = this.globalToLocalY(pointer.y) + this._dragPoint.y + this.dragOffset.y; @@ -26691,7 +26766,7 @@ Phaser.InputHandler.prototype = { } } - this.sprite.events.onDragUpdate.dispatch(this.sprite, pointer, px, py, this.snapPoint); + this.sprite.events.onDragUpdate.dispatch(this.sprite, pointer, px, py, this.snapPoint, fromStart); return true; @@ -26915,7 +26990,7 @@ Phaser.InputHandler.prototype = { this._dragPoint.setTo(this.sprite.x - this.globalToLocalX(pointer.x), this.sprite.y - this.globalToLocalY(pointer.y)); } - this.updateDrag(pointer); + this.updateDrag(pointer, true); if (this.bringToTop) { @@ -27980,8 +28055,9 @@ Phaser.SinglePad.prototype = { this.onUpCallback = (typeof callbacks.onUp === 'function') ? callbacks.onUp : this.onUpCallback; this.onAxisCallback = (typeof callbacks.onAxis === 'function') ? callbacks.onAxis : this.onAxisCallback; this.onFloatCallback = (typeof callbacks.onFloat === 'function') ? callbacks.onFloat : this.onFloatCallback; - } + this.callbackContext = context; + } }, /** @@ -28203,6 +28279,11 @@ Phaser.SinglePad.prototype = { */ processButtonDown: function (buttonCode, value) { + if (this._buttons[buttonCode]) + { + this._buttons[buttonCode].start(null, value); + } + if (this._padParent.onDownCallback) { this._padParent.onDownCallback.call(this._padParent.callbackContext, buttonCode, value, this.index); @@ -28213,11 +28294,6 @@ Phaser.SinglePad.prototype = { this.onDownCallback.call(this.callbackContext, buttonCode, value); } - if (this._buttons[buttonCode]) - { - this._buttons[buttonCode].start(null, value); - } - }, /** @@ -30516,14 +30592,19 @@ Phaser.Component.Destroy.prototype = { * * If this Game Object has the Events component it will also dispatch the `onDestroy` event. * + * You can optionally also destroy the BaseTexture this Game Object is using. Be careful if you've + * more than one Game Object sharing the same BaseTexture. + * * @method * @param {boolean} [destroyChildren=true] - Should every child of this object have its destroy method called as well? + * @param {boolean} [destroyTexture=false] - Destroy the BaseTexture this Game Object is using? Note that if another Game Object is sharing the same BaseTexture it will invalidate it. */ - destroy: function (destroyChildren) { + destroy: function (destroyChildren, destroyTexture) { if (this.game === null || this.destroyPhase) { return; } if (destroyChildren === undefined) { destroyChildren = true; } + if (destroyTexture === undefined) { destroyTexture = false; } this.destroyPhase = true; @@ -30630,6 +30711,12 @@ Phaser.Component.Destroy.prototype = { this._destroyCachedSprite(); + // Texture? + if (destroyTexture) + { + this.texture.destroy(true); + } + this.destroyPhase = false; this.pendingDestroy = false; @@ -30965,7 +31052,7 @@ Phaser.Component.Health.prototype = { * @param {number} amount - The amount to subtract from the current `health` value. * @return {Phaser.Sprite} This instance. */ - damage: function(amount) { + damage: function (amount) { if (this.alive) { @@ -30981,6 +31068,27 @@ Phaser.Component.Health.prototype = { }, + /** + * Sets the health property of the Game Object to the given amount. + * Will never exceed the `maxHealth` value. + * + * @member + * @param {number} amount - The amount to set the `health` value to. The total will never exceed `maxHealth`. + * @return {Phaser.Sprite} This instance. + */ + setHealth: function (amount) { + + this.health = amount; + + if (this.health > this.maxHealth) + { + this.health = this.maxHealth; + } + + return this; + + }, + /** * Heal the Game Object. This adds the given amount of health to the `health` property. * @@ -30988,7 +31096,7 @@ Phaser.Component.Health.prototype = { * @param {number} amount - The amount to add to the current `health` value. The total will never exceed `maxHealth`. * @return {Phaser.Sprite} This instance. */ - heal: function(amount) { + heal: function (amount) { if (this.alive) { @@ -31315,20 +31423,20 @@ Phaser.Component.LifeSpan.prototype = { * It will dispatch the `onRevived` event. Listen to `events.onRevived` for the signal. * * @method - * @param {number} [health=1] - The health to give the Game Object. Only set if the GameObject has the Health component. + * @param {number} [health=100] - The health to give the Game Object. Only set if the GameObject has the Health component. * @return {PIXI.DisplayObject} This instance. */ revive: function (health) { - if (health === undefined) { health = 1; } + if (health === undefined) { health = 100; } this.alive = true; this.exists = true; this.visible = true; - if (typeof this.heal === 'function') + if (typeof this.setHealth === 'function') { - this.heal(health); + this.setHealth(health); } if (this.events) @@ -31406,6 +31514,13 @@ Phaser.Component.LoadTexture.prototype = { * * Calling this method causes a WebGL texture update, so use sparingly or in low-intensity portions of your game, or if you know the new texture is already on the GPU. * + * You can use the new const `Phaser.PENDING_ATLAS` as the texture key for any sprite. + * Doing this then sets the key to be the `frame` argument (the frame is set to zero). + * + * This allows you to create sprites using `load.image` during development, and then change them + * to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' + * and swapping it to be the key of the atlas data. + * * @method * @param {string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture} key - This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache Image entry, or an instance of a RenderTexture, BitmapData, Video or PIXI.Texture. * @param {string|number} [frame] - If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index. @@ -31413,7 +31528,15 @@ Phaser.Component.LoadTexture.prototype = { */ loadTexture: function (key, frame, stopAnimation) { - frame = frame || 0; + if (key === Phaser.PENDING_ATLAS) + { + key = frame; + frame = 0; + } + else + { + frame = frame || 0; + } if ((stopAnimation || stopAnimation === undefined) && this.animations) { @@ -31465,6 +31588,15 @@ Phaser.Component.LoadTexture.prototype = { this.key = img.key; this.setTexture(new PIXI.Texture(img.base)); + if (key === '__default') + { + this.texture.baseTexture.skipRender = true; + } + else + { + this.texture.baseTexture.skipRender = false; + } + setFrame = !this.animations.loadFrameData(img.frameData, frame); } @@ -33982,7 +34114,6 @@ Phaser.BitmapData = function (game, key, width, height) { * @property {HTMLCanvasElement} canvas - The canvas to which this BitmapData draws. * @default */ - // this.canvas = Phaser.Canvas.create(width, height, '', true); this.canvas = PIXI.CanvasPool.create(this, width, height); /** @@ -34150,10 +34281,10 @@ Phaser.BitmapData = function (game, key, width, height) { this._circle = new Phaser.Circle(); /** - * @property {HTMLCanvasElement} _swapCanvas - A swap canvas. + * @property {HTMLCanvasElement} _swapCanvas - A swap canvas. Used by moveH and moveV, created in those methods. * @private */ - this._swapCanvas = PIXI.CanvasPool.create(this, width, height); + this._swapCanvas = undefined; }; @@ -34200,6 +34331,11 @@ Phaser.BitmapData.prototype = { if (wrap === undefined) { wrap = true; } + if (this._swapCanvas === undefined) + { + this._swapCanvas = PIXI.CanvasPool.create(this, this.width, this.height); + } + var c = this._swapCanvas; var ctx = c.getContext('2d'); var h = this.height; @@ -34258,6 +34394,11 @@ Phaser.BitmapData.prototype = { if (wrap === undefined) { wrap = true; } + if (this._swapCanvas === undefined) + { + this._swapCanvas = PIXI.CanvasPool.create(this, this.width, this.height); + } + var c = this._swapCanvas; var ctx = c.getContext('2d'); var w = this.width; @@ -34378,6 +34519,9 @@ Phaser.BitmapData.prototype = { * You can optionally define the area to clear. * If the arguments are left empty it will clear the entire canvas. * + * You may need to call BitmapData.update after this in order to clear out the pixel data, + * but Phaser will not do this automatically for you. + * * @method Phaser.BitmapData#clear * @param {number} [x=0] - The x coordinate of the top-left of the area to clear. * @param {number} [y=0] - The y coordinate of the top-left of the area to clear. @@ -34394,8 +34538,6 @@ Phaser.BitmapData.prototype = { this.context.clearRect(x, y, width, height); - this.update(); - this.dirty = true; return this; @@ -34464,6 +34606,8 @@ Phaser.BitmapData.prototype = { * Resizes the BitmapData. This changes the size of the underlying canvas and refreshes the buffer. * * @method Phaser.BitmapData#resize + * @param {integer} width - The new width of the BitmapData. + * @param {integer} height - The new height of the BitmapData. * @return {Phaser.BitmapData} This BitmapData object for method chaining. */ resize: function (width, height) { @@ -34476,8 +34620,11 @@ Phaser.BitmapData.prototype = { this.canvas.width = width; this.canvas.height = height; - this._swapCanvas.width = width; - this._swapCanvas.height = height; + if (this._swapCanvas !== undefined) + { + this._swapCanvas.width = width; + this._swapCanvas.height = height; + } this.baseTexture.width = width; this.baseTexture.height = height; @@ -34504,6 +34651,8 @@ Phaser.BitmapData.prototype = { * It then re-builds the ArrayBuffer, the data Uint8ClampedArray reference and the pixels Int32Array. * If not given the dimensions defaults to the full size of the context. * + * Warning: This is a very expensive operation, so use it sparingly. + * * @method Phaser.BitmapData#update * @param {number} [x=0] - The x coordinate of the top-left of the image data area to grab from. * @param {number} [y=0] - The y coordinate of the top-left of the image data area to grab from. @@ -34716,12 +34865,12 @@ Phaser.BitmapData.prototype = { * @return {Phaser.BitmapData} This BitmapData object for method chaining. */ setHSL: function (h, s, l, region) { + + var bHaveH = h || h === 0; + var bHaveS = s || s === 0; + var bHaveL = l || l === 0; - if (h === undefined || h === null) { h = false; } - if (s === undefined || s === null) { s = false; } - if (l === undefined || l === null) { l = false; } - - if (!h && !s && !l) + if (!bHaveH && !bHaveS && !bHaveL) { return; } @@ -34739,17 +34888,17 @@ Phaser.BitmapData.prototype = { { Phaser.Color.unpackPixel(this.getPixel32(x, y), pixel, true); - if (h) + if (bHaveH) { pixel.h = h; } - if (s) + if (bHaveS) { pixel.s = s; } - if (l) + if (bHaveL) { pixel.l = l; } @@ -34809,12 +34958,12 @@ Phaser.BitmapData.prototype = { if (s) { - pixel.s = this.game.math.limitValue(pixel.s + s, 0, 1); + pixel.s = this.game.math.clamp(pixel.s + s, 0, 1); } if (l) { - pixel.l = this.game.math.limitValue(pixel.l + l, 0, 1); + pixel.l = this.game.math.clamp(pixel.l + l, 0, 1); } Phaser.Color.HSLtoRGB(pixel.h, pixel.s, pixel.l, pixel); @@ -35347,7 +35496,7 @@ Phaser.BitmapData.prototype = { /** * Draws the immediate children of a Phaser.Group to this BitmapData. - * Children are only drawn if they have their `exists` property set to `true`. + * Children are only drawn if they have their `exists` property set to `true` and have image based Textures. * The children will be drawn at their `x` and `y` world space coordinates. If this is outside the bounds of the BitmapData they won't be drawn. * When drawing it will take into account the child's rotation, scale and alpha values. * No iteration takes place. Groups nested inside other Groups will not be iterated through. @@ -35362,13 +35511,38 @@ Phaser.BitmapData.prototype = { if (group.total > 0) { - group.forEachExists(this.copy, this, null, null, null, null, null, null, null, null, null, null, null, null, null, null, blendMode, roundPx); + group.forEachExists(this.drawGroupProxy, this, blendMode, roundPx); } return this; }, + /** + * A proxy for drawGroup that handles child iteration for more complex Game Objects. + * + * @method Phaser.BitmapData#drawGroupProxy + * @private + * @param {Phaser.Sprite|Phaser.Image|Phaser.BitmapText} child - The child to draw. + * @param {string} [blendMode=null] - The composite blend mode that will be used when drawing. The default is no blend mode at all. This is a Canvas globalCompositeOperation value such as 'lighter' or 'xor'. + * @param {boolean} [roundPx=false] - Should the x and y values be rounded to integers before drawing? This prevents anti-aliasing in some instances. + */ + drawGroupProxy: function (child, blendMode, roundPx) { + + if (child.type === Phaser.EMITTER || child.type === Phaser.BITMAPTEXT) + { + for (var i = 0; i < child.children.length; i++) + { + this.copy(child.children[i], null, null, null, null, null, null, null, null, null, null, null, null, null, null, blendMode, roundPx); + } + } + else + { + this.copy(child, null, null, null, null, null, null, null, null, null, null, null, null, null, null, blendMode, roundPx); + } + + }, + /** * Draws the Game Object or Group to this BitmapData and then recursively iterates through all of its children. * @@ -36559,9 +36733,10 @@ PIXI.Graphics.prototype.arcTo = function(x1, y1, x2, y2, radius) * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle) * @param endAngle {Number} The ending angle, in radians * @param anticlockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise. + * @param segments {Number} Optional. The number of segments to use when calculating the arc. The default is 40. If you need more fidelity use a higher number. * @return {Graphics} */ -PIXI.Graphics.prototype.arc = function(cx, cy, radius, startAngle, endAngle, anticlockwise) +PIXI.Graphics.prototype.arc = function(cx, cy, radius, startAngle, endAngle, anticlockwise, segments) { // If we do this we can never draw a full circle if (startAngle === endAngle) @@ -36570,6 +36745,7 @@ PIXI.Graphics.prototype.arc = function(cx, cy, radius, startAngle, endAngle, ant } if (anticlockwise === undefined) { anticlockwise = false; } + if (segments === undefined) { segments = 40; } if (!anticlockwise && endAngle <= startAngle) { @@ -36581,7 +36757,7 @@ PIXI.Graphics.prototype.arc = function(cx, cy, radius, startAngle, endAngle, ant } var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * segments; // Sweep check - moved here because we don't want to do the moveTo below if the arc fails if (sweep === 0) @@ -37359,9 +37535,11 @@ Object.defineProperty(PIXI.Graphics.prototype, "cacheAsBitmap", { else { this.destroyCachedSprite(); - this.dirty = true; } + this.dirty = true; + this.webGLDirty = true; + } }); @@ -37644,6 +37822,631 @@ PIXI.PolyK._convex = function(ax, ay, bx, by, cx, cy, sign) return ((ay-by)*(cx-bx) + (bx-ax)*(cy-by) >= 0) === sign; }; +/* +Copyright (c) 2016, Mapbox + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. +*/ + +/** +* @class EarCut +*/ +PIXI.EarCut = {}; + +PIXI.EarCut.Triangulate = function (data, holeIndices, dim) { + + dim = dim || 2; + + var hasHoles = holeIndices && holeIndices.length, + outerLen = hasHoles ? holeIndices[0] * dim : data.length, + outerNode = PIXI.EarCut.linkedList(data, 0, outerLen, dim, true), + triangles = []; + + if (!outerNode) return triangles; + + var minX, minY, maxX, maxY, x, y, size; + + if (hasHoles) outerNode = PIXI.EarCut.eliminateHoles(data, holeIndices, outerNode, dim); + + // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox + if (data.length > 80 * dim) { + minX = maxX = data[0]; + minY = maxY = data[1]; + + for (var i = dim; i < outerLen; i += dim) { + x = data[i]; + y = data[i + 1]; + if (x < minX) minX = x; + if (y < minY) minY = y; + if (x > maxX) maxX = x; + if (y > maxY) maxY = y; + } + + // minX, minY and size are later used to transform coords into integers for z-order calculation + size = Math.max(maxX - minX, maxY - minY); + } + + PIXI.EarCut.earcutLinked(outerNode, triangles, dim, minX, minY, size); + + return triangles; +} + +// create a circular doubly linked list from polygon points in the specified winding order + +PIXI.EarCut.linkedList = function (data, start, end, dim, clockwise) { + var sum = 0, + i, j, last; + + // calculate original winding order of a polygon ring + for (i = start, j = end - dim; i < end; i += dim) { + sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]); + j = i; + } + + // link points into circular doubly-linked list in the specified winding order + if (clockwise === (sum > 0)) { + for (i = start; i < end; i += dim) last = PIXI.EarCut.insertNode(i, data[i], data[i + 1], last); + } else { + for (i = end - dim; i >= start; i -= dim) last = PIXI.EarCut.insertNode(i, data[i], data[i + 1], last); + } + + return last; +} + +// eliminate colinear or duplicate points + +PIXI.EarCut.filterPoints = function (start, end) { + if (!start) return start; + if (!end) end = start; + + var p = start, + again; + do { + again = false; + + if (!p.steiner && (PIXI.EarCut.equals(p, p.next) || PIXI.EarCut.area(p.prev, p, p.next) === 0)) { + PIXI.EarCut.removeNode(p); + p = end = p.prev; + if (p === p.next) return null; + again = true; + + } else { + p = p.next; + } + } while (again || p !== end); + + return end; +} + +// main ear slicing loop which triangulates a polygon (given as a linked list) + +PIXI.EarCut.earcutLinked = function (ear, triangles, dim, minX, minY, size, pass) { + if (!ear) return; + + // interlink polygon nodes in z-order + if (!pass && size) PIXI.EarCut.indexCurve(ear, minX, minY, size); + + var stop = ear, + prev, next; + + // iterate through ears, slicing them one by one + while (ear.prev !== ear.next) { + prev = ear.prev; + next = ear.next; + + if (size ? PIXI.EarCut.isEarHashed(ear, minX, minY, size) : PIXI.EarCut.isEar(ear)) { + // cut off the triangle + triangles.push(prev.i / dim); + triangles.push(ear.i / dim); + triangles.push(next.i / dim); + + PIXI.EarCut.removeNode(ear); + + // skipping the next vertice leads to less sliver triangles + ear = next.next; + stop = next.next; + + continue; + } + + ear = next; + + // if we looped through the whole remaining polygon and can't find any more ears + if (ear === stop) { + // try filtering points and slicing again + if (!pass) { + PIXI.EarCut.earcutLinked(PIXI.EarCut.filterPoints(ear), triangles, dim, minX, minY, size, 1); + + // if this didn't work, try curing all small self-intersections locally + } else if (pass === 1) { + ear = PIXI.EarCut.cureLocalIntersections(ear, triangles, dim); + PIXI.EarCut.earcutLinked(ear, triangles, dim, minX, minY, size, 2); + + // as a last resort, try splitting the remaining polygon into two + } else if (pass === 2) { + PIXI.EarCut.splitEarcut(ear, triangles, dim, minX, minY, size); + } + + break; + } + } +} + +// check whether a polygon node forms a valid ear with adjacent nodes + +PIXI.EarCut.isEar = function (ear) { + var a = ear.prev, + b = ear, + c = ear.next; + + if (PIXI.EarCut.area(a, b, c) >= 0) return false; // reflex, can't be an ear + + // now make sure we don't have other points inside the potential ear + var p = ear.next.next; + + while (p !== ear.prev) { + if (PIXI.EarCut.pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && + PIXI.EarCut.area(p.prev, p, p.next) >= 0) return false; + p = p.next; + } + + return true; +} + +PIXI.EarCut.isEarHashed = function (ear, minX, minY, size) { + var a = ear.prev, + b = ear, + c = ear.next; + + if (PIXI.EarCut.area(a, b, c) >= 0) return false; // reflex, can't be an ear + + // triangle bbox; min & max are calculated like this for speed + var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x), + minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y), + maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x), + maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y); + + // z-order range for the current triangle bbox; + var minZ = PIXI.EarCut.zOrder(minTX, minTY, minX, minY, size), + maxZ = PIXI.EarCut.zOrder(maxTX, maxTY, minX, minY, size); + + // first look for points inside the triangle in increasing z-order + var p = ear.nextZ; + + while (p && p.z <= maxZ) { + if (p !== ear.prev && p !== ear.next && + PIXI.EarCut.pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && + PIXI.EarCut.area(p.prev, p, p.next) >= 0) return false; + p = p.nextZ; + } + + // then look for points in decreasing z-order + p = ear.prevZ; + + while (p && p.z >= minZ) { + if (p !== ear.prev && p !== ear.next && + PIXI.EarCut.pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && + PIXI.EarCut.area(p.prev, p, p.next) >= 0) return false; + p = p.prevZ; + } + + return true; +} + +// go through all polygon nodes and cure small local self-intersections + +PIXI.EarCut.cureLocalIntersections = function (start, triangles, dim) { + var p = start; + do { + var a = p.prev, + b = p.next.next; + + // a self-intersection where edge (v[i-1],v[i]) intersects (v[i+1],v[i+2]) + if (PIXI.EarCut.intersects(a, p, p.next, b) && PIXI.EarCut.locallyInside(a, b) && PIXI.EarCut.locallyInside(b, a)) { + + triangles.push(a.i / dim); + triangles.push(p.i / dim); + triangles.push(b.i / dim); + + // remove two nodes involved + PIXI.EarCut.removeNode(p); + PIXI.EarCut.removeNode(p.next); + + p = start = b; + } + p = p.next; + } while (p !== start); + + return p; +} + +// try splitting polygon into two and triangulate them independently + +PIXI.EarCut.splitEarcut = function (start, triangles, dim, minX, minY, size) { + // look for a valid diagonal that divides the polygon into two + var a = start; + do { + var b = a.next.next; + while (b !== a.prev) { + if (a.i !== b.i && PIXI.EarCut.isValidDiagonal(a, b)) { + // split the polygon in two by the diagonal + var c = PIXI.EarCut.splitPolygon(a, b); + + // filter colinear points around the cuts + a = PIXI.EarCut.filterPoints(a, a.next); + c = PIXI.EarCut.filterPoints(c, c.next); + + // run earcut on each half + PIXI.EarCut.earcutLinked(a, triangles, dim, minX, minY, size); + PIXI.EarCut.earcutLinked(c, triangles, dim, minX, minY, size); + return; + } + b = b.next; + } + a = a.next; + } while (a !== start); +} + +// link every hole into the outer loop, producing a single-ring polygon without holes + +PIXI.EarCut.eliminateHoles = function (data, holeIndices, outerNode, dim) { + var queue = [], + i, len, start, end, list; + + for (i = 0, len = holeIndices.length; i < len; i++) { + start = holeIndices[i] * dim; + end = i < len - 1 ? holeIndices[i + 1] * dim : data.length; + list = PIXI.EarCut.linkedList(data, start, end, dim, false); + if (list === list.next) list.steiner = true; + queue.push(PIXI.EarCut.getLeftmost(list)); + } + + queue.sort(compareX); + + // process holes from left to right + for (i = 0; i < queue.length; i++) { + PIXI.EarCut.eliminateHole(queue[i], outerNode); + outerNode = PIXI.EarCut.filterPoints(outerNode, outerNode.next); + } + + return outerNode; +} + +PIXI.EarCut.compareX = function (a, b) { + return a.x - b.x; +} + +// find a bridge between vertices that connects hole with an outer ring and and link it + +PIXI.EarCut.eliminateHole = function (hole, outerNode) { + outerNode = PIXI.EarCut.findHoleBridge(hole, outerNode); + if (outerNode) { + var b = PIXI.EarCut.splitPolygon(outerNode, hole); + PIXI.EarCut.filterPoints(b, b.next); + } +} + +// David Eberly's algorithm for finding a bridge between hole and outer polygon + +PIXI.EarCut.findHoleBridge = function (hole, outerNode) { + var p = outerNode, + hx = hole.x, + hy = hole.y, + qx = -Infinity, + m; + + // find a segment intersected by a ray from the hole's leftmost point to the left; + // segment's endpoint with lesser x will be potential connection point + do { + if (hy <= p.y && hy >= p.next.y) { + var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y); + if (x <= hx && x > qx) { + qx = x; + m = p.x < p.next.x ? p : p.next; + } + } + p = p.next; + } while (p !== outerNode); + + if (!m) return null; + + if (hole.x === m.x) return m.prev; // hole touches outer segment; pick lower endpoint + + // look for points inside the triangle of hole point, segment intersection and endpoint; + // if there are no points found, we have a valid connection; + // otherwise choose the point of the minimum angle with the ray as connection point + + var stop = m, + tanMin = Infinity, + tan; + + p = m.next; + + while (p !== stop) { + if (hx >= p.x && p.x >= m.x && + PIXI.EarCut.pointInTriangle(hy < m.y ? hx : qx, hy, m.x, m.y, hy < m.y ? qx : hx, hy, p.x, p.y)) { + + tan = Math.abs(hy - p.y) / (hx - p.x); // tangential + + if ((tan < tanMin || (tan === tanMin && p.x > m.x)) && PIXI.EarCut.locallyInside(p, hole)) { + m = p; + tanMin = tan; + } + } + + p = p.next; + } + + return m; +} + +// interlink polygon nodes in z-order + +PIXI.EarCut.indexCurve = function (start, minX, minY, size) { + var p = start; + do { + if (p.z === null) p.z = PIXI.EarCut.zOrder(p.x, p.y, minX, minY, size); + p.prevZ = p.prev; + p.nextZ = p.next; + p = p.next; + } while (p !== start); + + p.prevZ.nextZ = null; + p.prevZ = null; + + PIXI.EarCut.sortLinked(p); +} + +// Simon Tatham's linked list merge sort algorithm +// http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html + +PIXI.EarCut.sortLinked = function (list) { + var i, p, q, e, tail, numMerges, pSize, qSize, + inSize = 1; + + do { + p = list; + list = null; + tail = null; + numMerges = 0; + + while (p) { + numMerges++; + q = p; + pSize = 0; + for (i = 0; i < inSize; i++) { + pSize++; + q = q.nextZ; + if (!q) break; + } + + qSize = inSize; + + while (pSize > 0 || (qSize > 0 && q)) { + + if (pSize === 0) { + e = q; + q = q.nextZ; + qSize--; + } else if (qSize === 0 || !q) { + e = p; + p = p.nextZ; + pSize--; + } else if (p.z <= q.z) { + e = p; + p = p.nextZ; + pSize--; + } else { + e = q; + q = q.nextZ; + qSize--; + } + + if (tail) tail.nextZ = e; + else list = e; + + e.prevZ = tail; + tail = e; + } + + p = q; + } + + tail.nextZ = null; + inSize *= 2; + + } while (numMerges > 1); + + return list; +} + +// z-order of a point given coords and size of the data bounding box + +PIXI.EarCut.zOrder = function (x, y, minX, minY, size) { + // coords are transformed into non-negative 15-bit integer range + x = 32767 * (x - minX) / size; + y = 32767 * (y - minY) / size; + + x = (x | (x << 8)) & 0x00FF00FF; + x = (x | (x << 4)) & 0x0F0F0F0F; + x = (x | (x << 2)) & 0x33333333; + x = (x | (x << 1)) & 0x55555555; + + y = (y | (y << 8)) & 0x00FF00FF; + y = (y | (y << 4)) & 0x0F0F0F0F; + y = (y | (y << 2)) & 0x33333333; + y = (y | (y << 1)) & 0x55555555; + + return x | (y << 1); +} + +// find the leftmost node of a polygon ring + +PIXI.EarCut.getLeftmost = function (start) { + var p = start, + leftmost = start; + do { + if (p.x < leftmost.x) leftmost = p; + p = p.next; + } while (p !== start); + + return leftmost; +} + +// check if a point lies within a convex triangle + +PIXI.EarCut.pointInTriangle = function (ax, ay, bx, by, cx, cy, px, py) { + return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 && + (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 && + (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0; +} + +// check if a diagonal between two polygon nodes is valid (lies in polygon interior) + +PIXI.EarCut.isValidDiagonal = function (a, b) { + return PIXI.EarCut.equals(a, b) || a.next.i !== b.i && a.prev.i !== b.i && !PIXI.EarCut.intersectsPolygon(a, b) && + PIXI.EarCut.locallyInside(a, b) && PIXI.EarCut.locallyInside(b, a) && PIXI.EarCut.middleInside(a, b); +} + +// signed area of a triangle + +PIXI.EarCut.area = function (p, q, r) { + return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y); +} + +// check if two points are equal + +PIXI.EarCut.equals = function (p1, p2) { + return p1.x === p2.x && p1.y === p2.y; +} + +// check if two segments intersect + +PIXI.EarCut.intersects = function (p1, q1, p2, q2) { + return PIXI.EarCut.area(p1, q1, p2) > 0 !== PIXI.EarCut.area(p1, q1, q2) > 0 && + PIXI.EarCut.area(p2, q2, p1) > 0 !== PIXI.EarCut.area(p2, q2, q1) > 0; +} + +// check if a polygon diagonal intersects any polygon segments + +PIXI.EarCut.intersectsPolygon = function (a, b) { + var p = a; + do { + if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i && + PIXI.EarCut.intersects(p, p.next, a, b)) return true; + p = p.next; + } while (p !== a); + + return false; +} + +// check if a polygon diagonal is locally inside the polygon + +PIXI.EarCut.locallyInside = function (a, b) { + return PIXI.EarCut.area(a.prev, a, a.next) < 0 ? + PIXI.EarCut.area(a, b, a.next) >= 0 && PIXI.EarCut.area(a, a.prev, b) >= 0 : + PIXI.EarCut.area(a, b, a.prev) < 0 || PIXI.EarCut.area(a, a.next, b) < 0; +} + +// check if the middle point of a polygon diagonal is inside the polygon + +PIXI.EarCut.middleInside = function (a, b) { + var p = a, + inside = false, + px = (a.x + b.x) / 2, + py = (a.y + b.y) / 2; + do { + if (((p.y > py) !== (p.next.y > py)) && (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x)) + inside = !inside; + p = p.next; + } while (p !== a); + + return inside; +} + +// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two; +// if one belongs to the outer ring and another to a hole, it merges it into a single ring + +PIXI.EarCut.splitPolygon = function (a, b) { + var a2 = new PIXI.EarCut.Node(a.i, a.x, a.y), + b2 = new PIXI.EarCut.Node(b.i, b.x, b.y), + an = a.next, + bp = b.prev; + + a.next = b; + b.prev = a; + + a2.next = an; + an.prev = a2; + + b2.next = a2; + a2.prev = b2; + + bp.next = b2; + b2.prev = bp; + + return b2; +} + +// create a node and optionally link it with previous one (in a circular doubly linked list) + +PIXI.EarCut.insertNode = function (i, x, y, last) { + var p = new PIXI.EarCut.Node(i, x, y); + + if (!last) { + p.prev = p; + p.next = p; + + } else { + p.next = last.next; + p.prev = last; + last.next.prev = p; + last.next = p; + } + return p; +} + +PIXI.EarCut.removeNode = function (p) { + p.next.prev = p.prev; + p.prev.next = p.next; + + if (p.prevZ) p.prevZ.nextZ = p.nextZ; + if (p.nextZ) p.nextZ.prevZ = p.prevZ; +} + +PIXI.EarCut.Node = function (i, x, y) { + // vertice index in coordinates array + this.i = i; + + // vertex coordinates + this.x = x; + this.y = y; + + // previous and next vertice nodes in a polygon ring + this.prev = null; + this.next = null; + + // z-order curve value + this.z = null; + + // previous and next nodes in z-order + this.prevZ = null; + this.nextZ = null; + + // indicates whether this is a steiner point + this.steiner = false; +} + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -37659,6 +38462,13 @@ PIXI.WebGLGraphics = function() { }; +/** + * The number of points beyond which Pixi swaps to using the Stencil Buffer to render the Graphics. + * + * @type {number} + */ +PIXI.WebGLGraphics.stencilBufferLimit = 6; + /** * Renders the graphics object * @@ -37793,9 +38603,9 @@ PIXI.WebGLGraphics.updateGraphics = function(graphics, gl) // MAKE SURE WE HAVE THE CORRECT TYPE.. if(data.fill) { - if(data.points.length >= 6) + if(data.points.length >= PIXI.WebGLGraphics.stencilBufferLimit) { - if(data.points.length < 6 * 2) + if(data.points.length < PIXI.WebGLGraphics.stencilBufferLimit * 2) { webGLData = PIXI.WebGLGraphics.switchMode(webGL, 0); @@ -37920,7 +38730,7 @@ PIXI.WebGLGraphics.buildRectangle = function(graphicsData, webGLData) var verts = webGLData.points; var indices = webGLData.indices; - var vertPos = verts.length/6; + var vertPos = verts.length / 6; // start verts.push(x, y); @@ -37936,10 +38746,10 @@ PIXI.WebGLGraphics.buildRectangle = function(graphicsData, webGLData) verts.push(r, g, b, alpha); // insert 2 dead triangles.. - indices.push(vertPos, vertPos, vertPos+1, vertPos+2, vertPos+3, vertPos+3); + indices.push(vertPos, vertPos, vertPos + 1, vertPos + 2, vertPos + 3, vertPos + 3); } - if(graphicsData.lineWidth) + if (graphicsData.lineWidth) { var tempPoints = graphicsData.points; @@ -37993,13 +38803,12 @@ PIXI.WebGLGraphics.buildRoundedRectangle = function(graphicsData, webGLData) var verts = webGLData.points; var indices = webGLData.indices; - var vecPos = verts.length/6; + var vecPos = verts.length / 6; - var triangles = PIXI.PolyK.Triangulate(recPoints); + var triangles = PIXI.EarCut.Triangulate(recPoints, null, 2); - // - var i = 0; + for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -38126,7 +38935,7 @@ PIXI.WebGLGraphics.buildCircle = function(graphicsData, webGLData) var verts = webGLData.points; var indices = webGLData.indices; - var vecPos = verts.length/6; + var vecPos = verts.length / 6; indices.push(vecPos); @@ -38463,7 +39272,7 @@ PIXI.WebGLGraphics.buildPoly = function(graphicsData, webGLData) var g = color[1] * alpha; var b = color[2] * alpha; - var triangles = PIXI.PolyK.Triangulate(points); + var triangles = PIXI.EarCut.Triangulate(points, null, 2); if(!triangles)return false; @@ -39290,7 +40099,7 @@ Phaser.Text = function (game, x, y, text, style) { text = text.toString(); } - style = style || {}; + style = Phaser.Utils.extend({}, style); /** * @property {number} type - The const type of this object. @@ -39357,6 +40166,19 @@ Phaser.Text = function (game, x, y, text, style) { */ this.autoRound = false; + /** + * Will this Text object use Basic or Advanced Word Wrapping? + * + * Advanced wrapping breaks long words if they are the first of a line, and repeats the process as necessary. + * White space is condensed (e.g., consecutive spaces are replaced with one). + * Lines are trimmed of white space before processing. + * + * It throws an error if wordWrapWidth is less than a single character. + * @property {boolean} useAdvancedWrap + * @default + */ + this.useAdvancedWrap = false; + /** * @property {number} _res - Internal canvas resolution var. * @private @@ -40045,6 +40867,28 @@ Phaser.Text.prototype.addFontWeight = function (weight, position) { }; +/** +* Runs the given text through the Text.runWordWrap function and returns +* the results as an array, where each element of the array corresponds to a wrapped +* line of text. +* +* Useful if you wish to control pagination on long pieces of content. +* +* @method Phaser.Text#precalculateWordWrap +* @param {string} text - The text for which the wrapping will be calculated. +* @return {array} An array of strings with the pieces of wrapped text. +*/ +Phaser.Text.prototype.precalculateWordWrap = function (text) { + + this.texture.baseTexture.resolution = this._res; + this.context.font = this.style.font; + + var wrappedLines = this.runWordWrap(text); + + return wrappedLines.split(/(?:\r\n|\r|\n)/); + +}; + /** * Greedy wrapping algorithm that will wrap words as the line grows longer than its horizontal bounds. * @@ -40054,6 +40898,150 @@ Phaser.Text.prototype.addFontWeight = function (weight, position) { */ Phaser.Text.prototype.runWordWrap = function (text) { + if (this.useAdvancedWrap) + { + return this.advancedWordWrap(text); + } + else + { + return this.basicWordWrap(text); + } + +}; + +/** +* Advanced wrapping algorithm that will wrap words as the line grows longer than its horizontal bounds. +* White space is condensed (e.g., consecutive spaces are replaced with one). +* Lines are trimmed of white space before processing. +* Throws an error if the user was smart enough to specify a wordWrapWidth less than a single character. +* +* @method Phaser.Text#advancedWordWrap +* @param {string} text - The text to perform word wrap detection against. +* @private +*/ +Phaser.Text.prototype.advancedWordWrap = function (text) { + + var context = this.context; + var wordWrapWidth = this.style.wordWrapWidth; + + var output = ''; + + // (1) condense whitespace + // (2) split into lines + var lines = text + .replace(/ +/gi, ' ') + .split(/\r?\n/gi); + + var linesCount = lines.length; + + for (var i = 0; i < linesCount; i++) + { + var line = lines[i]; + var out = ''; + + // trim whitespace + line = line.replace(/^ *|\s*$/gi, ''); + + // if entire line is less than wordWrapWidth + // append the entire line and exit early + var lineWidth = context.measureText(line).width; + + if (lineWidth < wordWrapWidth) + { + output += line + '\n'; + continue; + } + + // otherwise, calculate new lines + var currentLineWidth = wordWrapWidth; + + // split into words + var words = line.split(' '); + + for (var j = 0; j < words.length; j++) + { + var word = words[j]; + var wordWithSpace = word + ' '; + var wordWidth = context.measureText(wordWithSpace).width; + + if (wordWidth > currentLineWidth) + { + // break word + if (j === 0) + { + // shave off letters from word until it's small enough + var newWord = wordWithSpace; + + while (newWord.length) + { + newWord = newWord.slice(0, -1); + wordWidth = context.measureText(newWord).width; + + if (wordWidth <= currentLineWidth) + { + break; + } + } + + // if wordWrapWidth is too small for even a single + // letter, shame user failure with a fatal error + if (!newWord.length) + { + throw new Error('This text\'s wordWrapWidth setting is less than a single character!'); + } + + // replace current word in array with remainder + var secondPart = word.substr(newWord.length); + + words[j] = secondPart; + + // append first piece to output + out += newWord; + } + + // if existing word length is 0, don't include it + var offset = (words[j].length) ? j : j + 1; + + // collapse rest of sentence + var remainder = words.slice(offset).join(' ') + // remove any trailing white space + .replace(/[ \n]*$/gi, ''); + + // prepend remainder to next line + lines[i + 1] = remainder + ' ' + (lines[i + 1] || ''); + linesCount = lines.length; + + break; // processing on this line + + // append word with space to output + } + else + { + out += wordWithSpace; + currentLineWidth -= wordWidth; + } + } + + // append processed line to output + output += out.replace(/[ \n]*$/gi, '') + '\n'; + } + + // trim the end of the string + output = output.replace(/[\s|\n]*$/gi, ''); + + return output; + +}; + +/** +* Greedy wrapping algorithm that will wrap words as the line grows longer than its horizontal bounds. +* +* @method Phaser.Text#basicWordWrap +* @param {string} text - The text to perform word wrap detection against. +* @private +*/ +Phaser.Text.prototype.basicWordWrap = function (text) { + var result = ''; var lines = text.split('\n'); @@ -41487,10 +42475,12 @@ Phaser.BitmapText.prototype.scanLine = function (data, scale, text) { var c = 0; - if (!charData) + // If the character data isn't found in the data array + // then we replace it with a blank space + if (charData === undefined) { - // Skip a character not found in the font data - continue; + charCode = 32; + charData = data.chars[charCode]; } // Adjust for kerning from previous character to this one @@ -41510,11 +42500,11 @@ Phaser.BitmapText.prototype.scanLine = function (data, scale, text) { } else { - w += charData.xAdvance * scale; + w += (charData.xAdvance + kerning) * scale; - chars.push(x + (charData.xOffset * scale)); + chars.push(x + (charData.xOffset + kerning) * scale); - x += charData.xAdvance * scale; + x += (charData.xAdvance + kerning) * scale; prevCharCode = charCode; } @@ -41525,6 +42515,58 @@ Phaser.BitmapText.prototype.scanLine = function (data, scale, text) { }; +/** +* Given a text string this will scan each character in the string to ensure it exists +* in the BitmapText font data. If it doesn't the character is removed, or replaced with the `replace` argument. +* +* If no font data has been loaded at all this returns an empty string, as nothing can be rendered. +* +* @method Phaser.BitmapText.prototype.cleanText +* @param {string} text - The text to parse. +* @param {string} [replace=''] - The replacement string for any missing characters. +* @return {string} The cleaned text string. +*/ +Phaser.BitmapText.prototype.cleanText = function (text, replace) { + + if (replace === undefined) + { + replace = ''; + } + + var data = this._data.font; + + if (!data) + { + return ''; + } + + var re = /\r\n|\n\r|\n|\r/g; + var lines = text.replace(re, "\n").split("\n"); + + for (var i = 0; i < lines.length; i++) + { + var output = ''; + var line = lines[i]; + + for (var c = 0; c < line.length; c++) + { + if (data.chars[line.charCodeAt(c)]) + { + output = output.concat(line[c]); + } + else + { + output = output.concat(replace); + } + } + + lines[i] = output; + } + + return lines.join("\n"); + +}; + /** * Renders text and updates it when needed. * @@ -41592,6 +42634,12 @@ Phaser.BitmapText.prototype.updateText = function () { var charCode = line.text.charCodeAt(c); var charData = data.chars[charCode]; + if (charData === undefined) + { + charCode = 32; + charData = data.chars[charCode]; + } + var g = this._glyphs[t]; if (g) @@ -42455,7 +43503,7 @@ Object.defineProperty(Phaser.RetroFont.prototype, "text", { /** * @name Phaser.RetroFont#smoothed -* @property {string} text - Set this value to update the text in this sprite. Carriage returns are automatically stripped out if multiLine is false. Text is converted to upper case if autoUpperCase is true. +* @property {boolean} smoothed - Sets if the stamp is smoothed or not. */ Object.defineProperty(Phaser.RetroFont.prototype, "smoothed", { @@ -42607,7 +43655,7 @@ Phaser.Rope.prototype.update = function() { * @memberof Phaser.Rope * @param {number} x - The x coordinate (in world space) to position the Sprite at. * @param {number} y - The y coordinate (in world space) to position the Sprite at. -* @return (Phaser.Rope) This instance. +* @return {Phaser.Rope} This instance. */ Phaser.Rope.prototype.reset = function(x, y) { @@ -42886,7 +43934,7 @@ Phaser.TileSprite.prototype.destroy = function(destroyChildren) { * @memberof Phaser.TileSprite * @param {number} x - The x coordinate (in world space) to position the Sprite at. * @param {number} y - The y coordinate (in world space) to position the Sprite at. -* @return (Phaser.TileSprite) This instance. +* @return {Phaser.TileSprite} This instance. */ Phaser.TileSprite.prototype.reset = function(x, y) { @@ -47116,13 +48164,13 @@ Phaser.Tween = function (target, game, manager) { * Is this Tween frame or time based? A frame based tween will use the physics elapsed timer when updating. This means * it will retain the same consistent frame rate, regardless of the speed of the device. The duration value given should * be given in frames. - * + * * If the Tween uses a time based update (which is the default) then the duration is given in milliseconds. * In this situation a 2000ms tween will last exactly 2 seconds, regardless of the device and how many visual updates the tween * has actually been through. For very short tweens you may wish to experiment with a frame based update instead. * * The default value is whatever you've set in TweenManager.frameBased. - * + * * @property {boolean} frameBased * @default */ @@ -47335,6 +48383,7 @@ Phaser.Tween.prototype = { if (complete) { this.onComplete.dispatch(this.target, this); + this._hasStarted = false; if (this.chainedTween) { @@ -47791,6 +48840,7 @@ Phaser.Tween.prototype = { // No more repeats and no more children, so we're done this.isRunning = false; this.onComplete.dispatch(this.target, this); + this._hasStarted = false; if (this.chainedTween) { @@ -48388,6 +49438,15 @@ Phaser.TweenData.prototype = { // We're already in reverse mode, which means the yoyo has finished and there's no repeats, so end if (this.inReverse && this.repeatCounter === 0) { + // Restore the properties + for (var property in this.vStartCache) + { + this.vStart[property] = this.vStartCache[property]; + this.vEnd[property] = this.vEndCache[property]; + } + + this.inReverse = false; + return Phaser.TweenData.COMPLETE; } @@ -50807,20 +51866,9 @@ Phaser.AnimationManager.prototype = { if (resetFrame === undefined) { resetFrame = false; } - if (typeof name === 'string') + if (this.currentAnim && (typeof name !== 'string' || name === this.currentAnim.name)) { - if (this._anims[name]) - { - this.currentAnim = this._anims[name]; - this.currentAnim.stop(resetFrame); - } - } - else - { - if (this.currentAnim) - { - this.currentAnim.stop(resetFrame); - } + this.currentAnim.stop(resetFrame); } }, @@ -51097,7 +52145,6 @@ Object.defineProperty(Phaser.AnimationManager.prototype, 'frameName', { * @param {number[]|string[]} frames - An array of numbers or strings indicating which frames to play in which order. * @param {number} [frameRate=60] - The speed at which the animation should play. The speed is given in frames per second. * @param {boolean} [loop=false] - Whether or not the animation is looped or just plays once. -* @param {boolean} loop - Should this animation loop when it reaches the end or play through once. */ Phaser.Animation = function (game, parent, name, frameData, frames, frameRate, loop) { @@ -51212,6 +52259,9 @@ Phaser.Animation = function (game, parent, name, frameData, frames, frameRate, l /** * This event is dispatched when the Animation changes frame. * By default this event is disabled due to its intensive nature. Enable it with: `Animation.enableUpdate = true`. + * Note that the event is only dispatched with the current frame. In a low-FPS environment Animations + * will automatically frame-skip to try and claw back time, so do not base your code on expecting to + * receive a perfectly sequential set of frames from this event. * @property {Phaser.Signal|null} onUpdate * @default */ @@ -52360,7 +53410,7 @@ Phaser.FrameData.prototype = { for (var i = 0; i < frames.length; i++) { // Does the frames array contain names or indexes? - if (useNumericIndex) + if (useNumericIndex && this._frames[frames[i]]) { output.push(this._frames[frames[i]].index); } @@ -54668,9 +55718,9 @@ Phaser.Cache.prototype = { */ clearGLTextures: function () { - for (var key in this.cache.image) + for (var key in this._cache.image) { - this.cache.image[key].base._glTextures = []; + this._cache.image[key].base._glTextures = []; } }, @@ -54930,7 +55980,7 @@ Phaser.Loader = function (game) { * * To disable all parallel downloads this must be set to false prior to any resource being loaded. * - * @property {integer} enableParallel + * @property {boolean} enableParallel */ this.enableParallel = true; @@ -55404,7 +56454,7 @@ Phaser.Loader.prototype = { if (!file || (!file.loaded && !file.loading && file.type !== 'packfile')) { - this._fileList.splice(i, 1, pack); + this._fileList.splice(i, 0, pack); this._totalPackCount++; break; } @@ -55779,7 +56829,7 @@ Phaser.Loader.prototype = { * Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially. * @return {Phaser.Loader} This Loader instance. */ - audiosprite: function(key, urls, jsonURL, jsonData, autoDecode) { + audioSprite: function (key, urls, jsonURL, jsonData, autoDecode) { if (this.game.sound.noAudio) { @@ -55814,6 +56864,23 @@ Phaser.Loader.prototype = { }, + /** + * A legacy alias for Loader.audioSprite. Please see that method for documentation. + * + * @method Phaser.Loader#audiosprite + * @param {string} key - Unique asset key of the audio file. + * @param {Array|string} urls - An array containing the URLs of the audio files, i.e.: [ 'audiosprite.mp3', 'audiosprite.ogg', 'audiosprite.m4a' ] or a single string containing just one URL. + * @param {string} [jsonURL=null] - The URL of the audiosprite configuration JSON object. If you wish to pass the data directly set this parameter to null. + * @param {string|object} [jsonData=null] - A JSON object or string containing the audiosprite configuration data. This is ignored if jsonURL is not null. + * @param {boolean} [autoDecode=true] - When using Web Audio the audio files can either be decoded at load time or run-time. + * Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially. + * @return {Phaser.Loader} This Loader instance. + */ + audiosprite: function (key, urls, jsonURL, jsonData, autoDecode) { + + return this.audioSprite(key, urls, jsonURL, jsonData, autoDecode); + + }, /** * Adds a video file to the current load queue. @@ -56630,10 +57697,10 @@ Phaser.Loader.prototype = { this.onLoadComplete.dispatch(); - this.reset(); - this.game.state.loadComplete(); + this.reset(); + }, /** @@ -57055,9 +58122,12 @@ Phaser.Loader.prototype = { xhr.onload = function () { try { - - return onload.call(_this, file, xhr); - + if (xhr.readyState == 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. + return onerror.call(_this, file, xhr); + } + else { + return onload.call(_this, file, xhr); + } } catch (e) { // If this was the last file in the queue and an error is thrown in the create method @@ -57166,6 +58236,12 @@ Phaser.Loader.prototype = { xhr.onload = function () { try { + if (xhr.readyState == 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. + return onerror.call(_this, file, xhr); + } + else { + return onload.call(_this, file, xhr); + } return onload.call(_this, file, xhr); } catch (e) { _this.asyncComplete(file, e.message || 'Exception'); @@ -57202,8 +58278,8 @@ Phaser.Loader.prototype = { if (url.uri) // {uri: .., type: ..} pair { - url = url.uri; videoType = url.type; + url = url.uri; } else { @@ -57225,7 +58301,7 @@ Phaser.Loader.prototype = { if (this.game.device.canPlayVideo(videoType)) { - return urls[i]; + return url; } } @@ -57257,8 +58333,8 @@ Phaser.Loader.prototype = { if (url.uri) // {uri: .., type: ..} pair { - url = url.uri; audioType = url.type; + url = url.uri; } else { @@ -57280,7 +58356,7 @@ Phaser.Loader.prototype = { if (this.game.device.canPlayAudio(audioType)) { - return urls[i]; + return url; } } @@ -57585,7 +58661,7 @@ Phaser.Loader.prototype = { /** * Parses string data as XML. * - * @method parseXml + * @method Phaser.Loader#parseXml * @private * @param {string} data - The XML text to parse * @return {?XMLDocument} Returns the xml document, or null if such could not parsed to a valid document. @@ -58442,6 +59518,7 @@ Phaser.Sound.prototype = { this._sound.onended = null; this.isPlaying = false; + this.currentTime = this.durationMS; this.stop(); }, @@ -58559,15 +59636,6 @@ Phaser.Sound.prototype = { { if (this.usingWebAudio) { - if (this.externalNode) - { - this._sound.disconnect(this.externalNode); - } - else - { - this._sound.disconnect(this.gainNode); - } - if (this._sound.stop === undefined) { this._sound.noteOff(0); @@ -58580,6 +59648,15 @@ Phaser.Sound.prototype = { catch (e) { } } + + if (this.externalNode) + { + this._sound.disconnect(this.externalNode); + } + else + { + this._sound.disconnect(this.gainNode); + } } else if (this.usingAudioTag) { @@ -58892,15 +59969,6 @@ Phaser.Sound.prototype = { { if (this.usingWebAudio) { - if (this.externalNode) - { - this._sound.disconnect(this.externalNode); - } - else - { - this._sound.disconnect(this.gainNode); - } - if (this._sound.stop === undefined) { this._sound.noteOff(0); @@ -58915,6 +59983,15 @@ Phaser.Sound.prototype = { // Thanks Android 4.4 } } + + if (this.externalNode) + { + this._sound.disconnect(this.externalNode); + } + else + { + this._sound.disconnect(this.gainNode); + } } else if (this.usingAudioTag) { @@ -58925,22 +60002,23 @@ Phaser.Sound.prototype = { this.pendingPlayback = false; this.isPlaying = false; - var prevMarker = this.currentMarker; - - if (this.currentMarker !== '') - { - this.onMarkerComplete.dispatch(this.currentMarker, this); - } - - this.currentMarker = ''; - - if (this.fadeTween !== null) - { - this.fadeTween.stop(); - } if (!this.paused) { + var prevMarker = this.currentMarker; + + if (this.currentMarker !== '') + { + this.onMarkerComplete.dispatch(this.currentMarker, this); + } + + this.currentMarker = ''; + + if (this.fadeTween !== null) + { + this.fadeTween.stop(); + } + this.onStop.dispatch(this, prevMarker); } @@ -59462,6 +60540,11 @@ Phaser.SoundManager.prototype = { */ setTouchLock: function () { + if (this.noAudio || window['PhaserGlobal'].disableAudio === true) + { + return; + } + if (this.game.device.iOSVersion > 8) { this.game.input.touch.addTouchLockCallback(this.unlock, this, true); @@ -59922,6 +61005,8 @@ Phaser.SoundManager.prototype = { this.onSoundDecode.dispose(); + this.context.close(); + if (this.context && window['PhaserGlobal']) { // Store this in the PhaserGlobal window var, if set, to allow for re-use if the game is created again without the page refreshing @@ -60404,7 +61489,7 @@ Phaser.ScaleManager = function (game, width, height) { * * @protected * - * @property {boolean} [supportsFullscreen=(auto)] - True only if fullscreen support will be used. (Changing to fullscreen still might not work.) + * @property {boolean} [supportsFullScreen=(auto)] - True only if fullscreen support will be used. (Changing to fullscreen still might not work.) * * @property {boolean} [orientationFallback=(auto)] - See {@link Phaser.DOM.getScreenOrientation}. * @@ -60752,7 +61837,7 @@ Phaser.ScaleManager.prototype = { this._booted = true; - if (this._pendingScaleMode) + if (this._pendingScaleMode !== null) { this.scaleMode = this._pendingScaleMode; this._pendingScaleMode = null; @@ -60769,7 +61854,7 @@ Phaser.ScaleManager.prototype = { */ parseConfig: function (config) { - if (config['scaleMode']) + if (config['scaleMode'] !== undefined) { if (this._booted) { @@ -60781,7 +61866,7 @@ Phaser.ScaleManager.prototype = { } } - if (config['fullScreenScaleMode']) + if (config['fullScreenScaleMode'] !== undefined) { this.fullScreenScaleMode = config['fullScreenScaleMode']; } @@ -61391,8 +62476,8 @@ Phaser.ScaleManager.prototype = { } else if (scaleMode === Phaser.ScaleManager.NO_SCALE) { - this.width = this.game.width; - this.height = this.game.height; + this.width = this.game.width / this.game.device.pixelRatio; + this.height = this.game.height / this.game.device.pixelRatio; } else if (scaleMode === Phaser.ScaleManager.USER_SCALE) { @@ -67131,6 +68216,18 @@ Phaser.Video = function (game, key, url) { */ this._autoplay = false; + /** + * @property {function} _endCallback - The addEventListener ended function. + * @private + */ + this._endCallback = null; + + /** + * @property {function} _playCallback - The addEventListener playing function. + * @private + */ + this._playCallback = null; + if (key && this.game.cache.checkVideoKey(key)) { var _video = this.game.cache.getVideo(key); @@ -67570,7 +68667,9 @@ Phaser.Video.prototype = { this.game.onPause.add(this.setPause, this); this.game.onResume.add(this.setResume, this); - this.video.addEventListener('ended', this.complete.bind(this), true); + this._endCallback = this.complete.bind(this); + + this.video.addEventListener('ended', this._endCallback, true); if (loop) { @@ -67600,7 +68699,8 @@ Phaser.Video.prototype = { } else { - this.video.addEventListener('playing', this.playHandler.bind(this), true); + this._playCallback = this.playHandler.bind(this); + this.video.addEventListener('playing', this._playCallback, true); } } @@ -67621,7 +68721,7 @@ Phaser.Video.prototype = { */ playHandler: function () { - this.video.removeEventListener('playing', this.playHandler.bind(this)); + this.video.removeEventListener('playing', this._playCallback, true); this.updateTexture(); @@ -67680,8 +68780,8 @@ Phaser.Video.prototype = { } else { - this.video.removeEventListener('ended', this.complete.bind(this), true); - this.video.removeEventListener('playing', this.playHandler.bind(this), true); + this.video.removeEventListener('ended', this._endCallback, true); + this.video.removeEventListener('playing', this._playCallback, true); if (this.touchLocked) { @@ -68061,7 +69161,7 @@ Phaser.Video.prototype = { }; /** -* @memberof Phaser.Video +* @name Phaser.Video#currentTime * @property {number} currentTime - The current time of the video in seconds. If set the video will attempt to seek to that point in time. */ Object.defineProperty(Phaser.Video.prototype, "currentTime", { @@ -68081,7 +69181,7 @@ Object.defineProperty(Phaser.Video.prototype, "currentTime", { }); /** -* @memberof Phaser.Video +* @name Phaser.Video#duration * @property {number} duration - The duration of the video in seconds. * @readOnly */ @@ -68096,7 +69196,7 @@ Object.defineProperty(Phaser.Video.prototype, "duration", { }); /** -* @memberof Phaser.Video +* @name Phaser.Video#progress * @property {number} progress - The progress of this video. This is a value between 0 and 1, where 0 is the start and 1 is the end of the video. * @readOnly */ diff --git a/build/custom/phaser-no-physics.map b/build/custom/phaser-no-physics.map index db617fff1..6ac79dc3c 100644 --- a/build/custom/phaser-no-physics.map +++ b/build/custom/phaser-no-physics.map @@ -1 +1 @@ -{"version":3,"file":"phaser-no-physics.min.js","sources":["phaser-no-physics.js"],"names":["root","this","PIXI","game","WEBGL_RENDERER","CANVAS_RENDERER","VERSION","_UID","Float32Array","Uint16Array","Uint32Array","ArrayBuffer","Array","PI_2","Math","PI","RAD_TO_DEG","DEG_TO_RAD","RETINA_PREFIX","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","stage","worldAlpha","worldTransform","Matrix","worldPosition","worldScale","worldRotation","_sr","_cr","filterArea","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","Object","defineProperty","get","item","set","value","isMask","_filters","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","_generateCachedSprite","updateTransform","p","world","a","b","c","d","tx","ty","pt","wt","rotationCache","sin","cos","x","y","sqrt","atan2","transformCallback","call","transformCallbackContext","displayObjectUpdateTransform","getBounds","matrix","EmptyRectangle","getLocalBounds","identityMatrix","setStageReference","preUpdate","generateTexture","resolution","scaleMode","renderer","bounds","renderTexture","RenderTexture","width","height","_tempMatrix","render","updateCache","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","gl","Sprite","_renderWebGL","_renderCanvas","texture","resize","tempFilters","filters","anchor","DisplayObjectContainer","create","_width","_height","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeStageReference","undefined","removeChildren","beginIndex","endIndex","begin","end","range","removed","displayObjectContainerUpdateTransform","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","matrixCache","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","mask","start","popMask","popFilter","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","baseTexture","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","valid","w0","w1","h0","h1","temp","x1","y1","x2","y2","x3","y3","x4","y4","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","scaleModes","LINEAR","dx","trim","dy","roundPixels","setTransform","cw","ch","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","fromFrame","frameId","TextureCache","fromImage","imageId","crossorigin","SpriteBatch","textureThing","ready","initWebGL","fastSpriteBatch","WebGLFastSpriteBatch","setContext","shaderManager","setShader","fastShader","transform","isRotated","childTransform","hex2rgb","hex","rgb2hex","rgb","canUseNewCanvasBlendModes","document","pngHead","pngEnd","magenta","Image","src","yellow","canvas","CanvasPool","getContext","getImageData","data","remove","getNextPowerOfTwo","number","result","isPowerOfTwo","idx","getFirst","container","createElement","pool","removeByCanvas","getTotal","getFree","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","isArray","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","console","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","PixiShader","program","textureCount","firstRun","dirty","attributes","init","defaultVertexSrc","useProgram","uSampler","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","key","uniforms","uniformLocation","initUniforms","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","activeTexture","bindTexture","TEXTURE_2D","_glTextures","id","textureData","magFilter","minFilter","wrapS","CLAMP_TO_EDGE","wrapT","format","LUMINANCE","RGBA","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","texImage2D","UNSIGNED_BYTE","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","drawCount","initContext","mapBlendModes","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","contextLost","viewport","bindFramebuffer","FRAMEBUFFER","clearColor","_bgColor","r","g","clear","COLOR_BUFFER_BIT","renderDisplayObject","displayObject","buffer","setBlendMode","style","createTexture","UNPACK_PREMULTIPLY_ALPHA_WEBGL","NEAREST","mipmap","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","indices","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","uniform1f","toArray","uniform2f","uniform3fv","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","stripShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","numVerts","numIndices","vertices","positions","colors","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","AbstractFilter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","TEXTURE0","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skipRender","renderBatch","startIndex","TRIANGLES","deleteBuffer","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorBuffer","colorArray","createFramebuffer","DEFAULT","framebufferTexture2D","COLOR_ATTACHMENT0","renderBuffer","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","pixels","canHandleAlpha","putImageData","checkInverseAlpha","s1","s2","canUseMultiply","CanvasRenderer","refresh","Phaser","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","BaseTextureCache","BaseTextureCacheIdGenerator","BaseTexture","complete","naturalWidth","naturalHeight","imageUrl","forceLoaded","_pixiId","unloadFromGPU","updateSourceImage","newSrc","glTexture","image","crossOrigin","fromCanvas","TextureCacheIdGenerator","FrameCache","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","addTextureToCache","removeTextureFromCache","textureBuffer","renderWebGL","renderCanvas","tempMatrix","updateBase","identity","translate","append","realResolution","getImage","getBase64","getCanvas","toDataURL","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","Strip","canvasPadding","drawMode","DrawModes","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","centerX","centerY","normX","normY","dist","beginPath","moveTo","lineTo","closePath","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","fill","updateFrame","n","rawX","rawY","Rope","points","lastPoint","point","amount","total","nextPoint","perp","ratio","perpLength","num","TilingSprite","textureDebug","canvasBuffer","tilePattern","refreshTexture","frameWidth","frameHeight","generateTilingTexture","needsUpdate","createPattern","sessionBlendMode","forcePowerOfTwo","targetWidth","_frame","sourceSizeW","targetHeight","sourceSizeH","trimmed","spriteSourceSizeX","spriteSourceSizeY","strokeStyle","strokeRect","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","trunc","ceil","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","warn","Utils","getProperty","obj","prop","parts","split","last","l","current","setProperty","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","hasOwnProperty","e","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","to","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","xDist","halfHeight","yDist","xCornerDist","yCornerDist","xCornerDistSq","yCornerDistSq","maxCornerDistSq","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","center","fromAngle","rotate","rotateAround","line","asSegment","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","normalAngle","fromArray","array","pos","newPos","tx1","d1","invert","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","dot","cross","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","pointslength","parse","xProp","yProp","Polygon","area","_points","closed","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","empty","inflatePoint","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","MIN_VALUE","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","_targetPosition","_edge","_position","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","follow","helper","unfollow","focusOn","setPosition","focusOnXY","update","updateTarget","checkBounds","setBoundsToWorld","setSize","reset","State","make","camera","cache","input","load","math","sound","time","tweens","particles","physics","rnd","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","Signal","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","boot","onPause","pause","onResume","resume","state","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","dispatch","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","exists","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","webkitHidden","mozHidden","msHidden","hidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","SORT_ASCENDING","SORT_DESCENDING","silent","body","addToHash","events","onAddedToGroup$dispatch","removeFromHash","addMultiple","moveAll","addAt","updateZ","getAt","createMultiple","quantity","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","oldChild","newChild","hasProperty","operation","force","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","addAll","property","subAll","multiplyAll","divideAll","callAllExists","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","checkExists","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","getFirstExists","createIfNull","resetChild","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","destroyPhase","onRemovedFromGroup$dispatch","group","removeBetween","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","horizontal","vertical","between","Game","physicsConfig","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Cache","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","chrome","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","addMoveCallback","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","limit","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","worldVisible","TileSprite","Graphics","graphicsData","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","duration","justReleased","pointerMode","CONTACT","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchLockCallbacks","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","addTouchLockCallback","onEnd","removeTouchLockCallback","cb","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","consumePointerEvent","scaleLayer","dragOffset","dragFromCenter","dragStartPoint","snapPoint","_dragPoint","_dragPhase","_wasEnabled","_tempPoint","_pointerData","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","flagged","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","_draggedPointerID","updateDrag","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","startDrag","onInputUp$dispatch","stopDrag","globalToLocalX","py","globalToLocalY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","onDragStart$dispatch","grid","boundsFluid","scaleFluidInversed","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","singlePad","validConnections","rawIndices","padIndices","connected","k","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_rawPad","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","BringToTop","Core","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","rect","updateCrop","resetFrame","Delta","Destroy","onDestroy$dispatch","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","heal","InCamera","InputEnabled","inputEnabled","InWorld","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","img","base","frameData","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","object","creature","mesh","Creature","tween","physicsGroup","audio","audioSprite","addSprite","tileSprite","rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","Tilemap","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","align","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","STATE_OVER","STATE_OUT","STATE_DOWN","STATE_UP","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","changedUp","ctx","imageData","textureFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","addImage","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","HSLtoRGB","shiftHSL","limitValue","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","direction","scan","newWidth","newHeight","op","copyRect","drawGroup","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","arc","lineWidth","stroke","textureLine","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","fillAlpha","lineColor","currentPath","boundsPadding","_localBounds","webGLDirty","cachedSpriteDirty","lineStyle","lineAlpha","drawShape","quadraticCurveTo","cpX","cpY","toX","toY","xa","ya","fromX","fromY","bezierCurveTo","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qx","qy","startAngle","endAngle","anticlockwise","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","real","beginFill","fillColor","endFill","drawRect","drawRoundedRect","drawCircle","drawEllipse","drawPolygon","path","clearDirty","updateCachedSpriteTexture","_prevTint","updateLocalBounds","tempPoint","RECT","RREC","CIRC","ELIP","cachedSprite","destroyCachedSprite","GraphicsData","POLY","_lineTint","_fillTint","PolyK","Triangulate","sign","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","earFound","_convex","vi","_PointInTriangle","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","lastIndex","graphicsDataPool","switchMode","canDrawUsingSimple","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","triangles","getPt","n1","n2","perc","diff","xb","yb","circleData","totalSegs","seg","firstPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","pdist","indexCount","indexStart","glPoints","glIndicies","updateGraphicsTint","kappa","ox","oy","xe","ye","xm","ym","maxRadius","tintR","tintG","tintB","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawTriangles","point1","point2","point3","renderXY","renderRawXY","textBounds","strokeColors","fontStyles","fontWeights","autoRound","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","spaceLeft","words","wordWidth","wordWidthWithSpace","updateFont","fontFamily","setText","parseList","list","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","exec","parseFloat","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","FrameData","currentX","currentY","addFrame","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","updateAnimation","_updateAnimation","segments","difference","_scroll","def","physicsElapsed","autoScroll","stopScroll","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ie","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkOS","vita","kindle","RegExp","$1","_checkFeatures","getItem","error","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkInput","documentElement","maxTouchPoints","msPointerEnabled","pointerEnabled","_checkFullScreenSupport","fs","cfs","Element","_checkBrowser","$3","process","require","versions","_checkVideo","videoElement","canPlayType","_checkAudio","audioElement","_checkDevice","Int8Array","_checkIsLittleEndian","Uint8ClampedArray","Int32Array","_checkIsUint8ClampedImageData","vibrate","webkitVibrate","mozVibrate","msVibrate","elem","createImageData","_checkCSS3D","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","canPlayAudio","canPlayVideo","isConsoleOpen","profile","profileEnd","isAndroidStockBrowser","matches","skipPool","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","fuzzyEqual","epsilon","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","val","fuzzyFloor","average","sum","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","radians","linearInterpolation","linear","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","percent","degreeToRadiansFactor","radianToDegreesFactor","degrees","seeds","s0","sow","integer","frac","integerInRange","realInRange","normal","pick","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","re","separator","getQueryString","parameter","keyValues","search","substring","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","getAll","pendingDelete","removeFrom","_manager","addTweens","numTweens","isTweening","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","elapsedMS","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","useLocalFrameIndex","frameIndex","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","rotated","rotationDirection","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","row","column","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","signature","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","_cache","binary","bitmapFont","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","addCanvas","removeImage","_resolveURL","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","LoaderParser","jsonBitmapFont","xmlBitmapFont","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getJSON","getXML","getVideo","getShader","getRenderTexture","getBaseTexture","getFrameCount","getFrameByIndex","getPixiTexture","getPixiBaseTexture","getURL","getKeys","removeCanvas","removeFromPixi","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","atlas","baseURL","isLoading","preloadSprite","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","extension","syncPoint","currentFile","replaceInFileList","pack","images","urls","script","spritesheet","autoDecode","noAudio","audiosprite","jsonURL","jsonData","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onload","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","Blob","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","onFadeComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","mute","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","fakeiOSTouchLock","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","reflowGame","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","currentColor","soundInfo","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","filled","rectangle","ropeSegments","self","segment","spriteInfo","spriteCoords","lineInfo","geom","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","PORTRAIT","LANDSCAPE","matchMedia","documentBounds","pageXOffset","pageYOffset","treatAsDesktop","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","shuffle","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","POSITIVE_INFINITY","numberArray","numberArrayStep","LinkedList","entity","palettes",1,2,3,4,5,6,7,8,9,"PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","cellWidth","cellHeight","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","q","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","emitters","ID","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_autoplay","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"phaser-no-physics.min.js","sources":["phaser-no-physics.js"],"names":["root","this","PIXI","game","WEBGL_RENDERER","CANVAS_RENDERER","VERSION","_UID","Float32Array","Uint16Array","Uint32Array","ArrayBuffer","Array","PI_2","Math","PI","RAD_TO_DEG","DEG_TO_RAD","RETINA_PREFIX","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","stage","worldAlpha","worldTransform","Matrix","worldPosition","worldScale","worldRotation","_sr","_cr","filterArea","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","Object","defineProperty","get","item","set","value","isMask","_filters","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","_generateCachedSprite","updateTransform","p","world","a","b","c","d","tx","ty","pt","wt","rotationCache","sin","cos","x","y","sqrt","atan2","transformCallback","call","transformCallbackContext","displayObjectUpdateTransform","getBounds","matrix","EmptyRectangle","getLocalBounds","identityMatrix","setStageReference","preUpdate","generateTexture","resolution","scaleMode","renderer","bounds","renderTexture","RenderTexture","width","height","_tempMatrix","render","updateCache","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","gl","Sprite","_renderWebGL","_renderCanvas","texture","resize","tempFilters","filters","anchor","DisplayObjectContainer","create","_width","_height","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","removeStageReference","undefined","removeChildren","beginIndex","endIndex","begin","end","range","removed","displayObjectContainerUpdateTransform","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","matrixCache","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","mask","start","popMask","popFilter","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","baseTexture","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","w0","w1","h0","h1","temp","x1","y1","x2","y2","x3","y3","x4","y4","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","scaleModes","LINEAR","dx","trim","dy","roundPixels","setTransform","cw","ch","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","fromFrame","frameId","TextureCache","fromImage","imageId","crossorigin","SpriteBatch","textureThing","ready","initWebGL","fastSpriteBatch","WebGLFastSpriteBatch","setContext","shaderManager","setShader","fastShader","transform","isRotated","childTransform","hex2rgb","hex","rgb2hex","rgb","canUseNewCanvasBlendModes","document","pngHead","pngEnd","magenta","Image","src","yellow","canvas","CanvasPool","getContext","getImageData","data","remove","getNextPowerOfTwo","number","result","isPowerOfTwo","idx","getFirst","container","createElement","pool","removeByCanvas","getTotal","getFree","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","isArray","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","console","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","PixiShader","program","textureCount","firstRun","dirty","attributes","init","defaultVertexSrc","useProgram","uSampler","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","key","uniforms","uniformLocation","initUniforms","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","activeTexture","bindTexture","TEXTURE_2D","_glTextures","id","textureData","magFilter","minFilter","wrapS","CLAMP_TO_EDGE","wrapT","format","LUMINANCE","RGBA","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","texImage2D","UNSIGNED_BYTE","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","_contextOptions","antialias","premultipliedAlpha","stencil","projection","offset","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","drawCount","initContext","mapBlendModes","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","contextLost","viewport","bindFramebuffer","FRAMEBUFFER","clearColor","_bgColor","r","g","clear","COLOR_BUFFER_BIT","renderDisplayObject","displayObject","buffer","setBlendMode","style","createTexture","UNPACK_PREMULTIPLY_ALPHA_WEBGL","NEAREST","mipmap","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","indices","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","uniform1f","toArray","uniform2f","uniform3fv","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","stripShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","numVerts","numIndices","vertices","positions","colors","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","AbstractFilter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","TEXTURE0","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorBuffer","colorArray","createFramebuffer","DEFAULT","framebufferTexture2D","COLOR_ATTACHMENT0","renderBuffer","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","pixels","canHandleAlpha","putImageData","checkInverseAlpha","s1","s2","canUseMultiply","CanvasRenderer","refresh","Phaser","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","BaseTextureCache","BaseTextureCacheIdGenerator","BaseTexture","complete","naturalWidth","naturalHeight","imageUrl","forceLoaded","unloadFromGPU","updateSourceImage","newSrc","glTexture","image","crossOrigin","fromCanvas","_pixiId","TextureCacheIdGenerator","FrameCache","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","addTextureToCache","removeTextureFromCache","textureBuffer","renderWebGL","renderCanvas","tempMatrix","updateBase","identity","translate","append","realResolution","getImage","getBase64","getCanvas","toDataURL","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","Strip","canvasPadding","drawMode","DrawModes","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","centerX","centerY","normX","normY","dist","beginPath","moveTo","lineTo","closePath","delta","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","fill","updateFrame","n","rawX","rawY","Rope","points","lastPoint","point","amount","total","nextPoint","perp","ratio","perpLength","num","TilingSprite","textureDebug","canvasBuffer","tilePattern","refreshTexture","frameWidth","frameHeight","generateTilingTexture","needsUpdate","createPattern","sessionBlendMode","forcePowerOfTwo","targetWidth","_frame","sourceSizeW","targetHeight","sourceSizeH","trimmed","spriteSourceSizeX","spriteSourceSizeY","strokeStyle","strokeRect","exports","module","define","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","trunc","ceil","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","warn","Utils","getProperty","obj","prop","parts","split","last","l","current","setProperty","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","hasOwnProperty","e","extend","options","name","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","keys","to","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","xDist","halfHeight","yDist","xCornerDist","yCornerDist","xCornerDistSq","yCornerDistSq","maxCornerDistSq","Ellipse","normx","normy","Line","fromSprite","startSprite","endSprite","useCenter","center","fromAngle","rotate","rotateAround","line","asSegment","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","pointOnSegment","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","normalAngle","fromArray","array","pos","newPos","tx1","d1","invert","subtract","multiply","divide","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","m","dot","cross","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","pointslength","parse","xProp","yProp","Polygon","area","_points","closed","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p1","p2","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","empty","inflatePoint","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","MIN_VALUE","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","_targetPosition","_edge","_position","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","follow","helper","unfollow","focusOn","setPosition","focusOnXY","update","updateTarget","checkBounds","setBoundsToWorld","setSize","reset","State","make","camera","cache","input","load","math","sound","time","tweens","particles","physics","rnd","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","Signal","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","boot","onPause","pause","onResume","resume","state","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","dispatch","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","exists","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","webkitHidden","mozHidden","msHidden","hidden","event","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","SORT_ASCENDING","SORT_DESCENDING","silent","body","removeFromHash","addToHash","events","onAddedToGroup$dispatch","addMultiple","moveAll","addAt","updateZ","getAt","createMultiple","quantity","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","oldChild","newChild","hasProperty","operation","force","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","addAll","property","subAll","multiplyAll","divideAll","callAllExists","callback","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","checkExists","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","sort","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","getFirstExists","createIfNull","resetChild","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","destroyPhase","onRemovedFromGroup$dispatch","group","removeBetween","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","horizontal","vertical","between","Game","physicsConfig","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Cache","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","v","webAudio","chrome","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","enableStep","disableStep","step","removeFromDOM","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","addMoveCallback","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","limit","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","worldVisible","TileSprite","Graphics","graphicsData","shape","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","duration","justReleased","pointerMode","CONTACT","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchLockCallbacks","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","addTouchLockCallback","onEnd","removeTouchLockCallback","cb","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStartPoint","snapPoint","_dragPoint","_dragPhase","_wasEnabled","_tempPoint","_pointerData","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","flagged","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","_draggedPointerID","updateDrag","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","startDrag","onInputUp$dispatch","stopDrag","fromStart","globalToLocalX","py","globalToLocalY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","onDragStart$dispatch","grid","boundsFluid","scaleFluidInversed","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","singlePad","validConnections","rawIndices","padIndices","connected","k","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_rawPad","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","BringToTop","Core","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","rect","updateCrop","resetFrame","Delta","Destroy","destroyTexture","onDestroy$dispatch","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","inputEnabled","InWorld","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","img","base","frameData","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","object","creature","mesh","Creature","tween","physicsGroup","audio","audioSprite","addSprite","tileSprite","rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","Tilemap","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","align","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","STATE_OVER","STATE_OUT","STATE_DOWN","STATE_UP","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","changedUp","ctx","imageData","textureFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","addImage","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","direction","scan","newWidth","newHeight","op","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","arc","lineWidth","stroke","textureLine","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","fillAlpha","lineColor","currentPath","boundsPadding","_localBounds","webGLDirty","cachedSpriteDirty","lineStyle","lineAlpha","drawShape","quadraticCurveTo","cpX","cpY","toX","toY","xa","ya","fromX","fromY","bezierCurveTo","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qx","qy","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","real","beginFill","fillColor","endFill","drawRect","drawRoundedRect","drawCircle","drawEllipse","drawPolygon","path","clearDirty","updateCachedSpriteTexture","_prevTint","updateLocalBounds","tempPoint","RECT","RREC","CIRC","ELIP","cachedSprite","destroyCachedSprite","GraphicsData","POLY","_lineTint","_fillTint","PolyK","Triangulate","sign","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","earFound","_convex","vi","_PointInTriangle","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","EarCut","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","list","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","graphicsDataPool","switchMode","canDrawUsingSimple","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","getPt","n1","n2","perc","diff","xb","yb","circleData","totalSegs","seg","firstPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","pdist","indexCount","indexStart","glPoints","glIndicies","updateGraphicsTint","kappa","ox","oy","xe","ye","xm","ym","maxRadius","tintR","tintG","tintB","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawTriangles","point1","point2","point3","renderXY","renderRawXY","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","wrappedLines","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","exec","parseFloat","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","FrameData","currentX","currentY","addFrame","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","updateAnimation","_updateAnimation","difference","_scroll","def","physicsElapsed","autoScroll","stopScroll","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ie","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkOS","vita","kindle","RegExp","$1","_checkFeatures","getItem","error","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkInput","documentElement","maxTouchPoints","msPointerEnabled","pointerEnabled","_checkFullScreenSupport","fs","cfs","Element","_checkBrowser","$3","process","require","versions","_checkVideo","videoElement","canPlayType","_checkAudio","audioElement","_checkDevice","Int8Array","_checkIsLittleEndian","Uint8ClampedArray","Int32Array","_checkIsUint8ClampedImageData","vibrate","webkitVibrate","mozVibrate","msVibrate","elem","createImageData","_checkCSS3D","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","canPlayAudio","canPlayVideo","isConsoleOpen","profile","profileEnd","isAndroidStockBrowser","matches","skipPool","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","fuzzyEqual","epsilon","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","val","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","radians","linearInterpolation","linear","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","p0","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","percent","degreeToRadiansFactor","radianToDegreesFactor","degrees","seeds","s0","sow","integer","frac","integerInRange","realInRange","normal","pick","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","substring","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","getAll","pendingDelete","removeFrom","_manager","addTweens","numTweens","isTweening","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","elapsedMS","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","useLocalFrameIndex","frameIndex","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","rotated","rotationDirection","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","row","column","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","signature","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","_cache","binary","bitmapFont","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","addCanvas","removeImage","_resolveURL","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","LoaderParser","jsonBitmapFont","xmlBitmapFont","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getJSON","getXML","getVideo","getShader","getRenderTexture","getBaseTexture","getFrameCount","getFrameByIndex","getPixiTexture","getPixiBaseTexture","getURL","getKeys","removeCanvas","removeFromPixi","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","atlas","baseURL","isLoading","preloadSprite","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","extension","syncPoint","currentFile","replaceInFileList","pack","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onload","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","Blob","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","onFadeComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","mute","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","fakeiOSTouchLock","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","reflowGame","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","currentColor","soundInfo","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","filled","rectangle","ropeSegments","self","segment","spriteInfo","spriteCoords","lineInfo","geom","forceType","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","PORTRAIT","LANDSCAPE","matchMedia","documentBounds","pageXOffset","pageYOffset","treatAsDesktop","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","shuffle","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","POSITIVE_INFINITY","numberArray","numberArrayStep","LinkedList","entity","palettes",1,2,3,4,5,6,7,8,9,"PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","cellWidth","cellHeight","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","emitters","ID","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute"],"mappings":"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"} \ No newline at end of file diff --git a/build/custom/phaser-no-physics.min.js b/build/custom/phaser-no-physics.min.js index 4a2db27a3..8ee7e1862 100644 --- a/build/custom/phaser-no-physics.min.js +++ b/build/custom/phaser-no-physics.min.js @@ -1,19 +1,20 @@ -/* Phaser v2.4.4 - http://phaser.io - @photonstorm - (c) 2015 Photon Storm Ltd. */ +/* Phaser v2.4.5 - http://phaser.io - @photonstorm - (c) 2015 Photon Storm Ltd. */ -(function(){var a=this,b=b||{};return b.game=null,b.WEBGL_RENDERER=0,b.CANVAS_RENDERER=1,b.VERSION="v2.2.9",b._UID=0,"undefined"!=typeof Float32Array?(b.Float32Array=Float32Array,b.Uint16Array=Uint16Array,b.Uint32Array=Uint32Array,b.ArrayBuffer=ArrayBuffer):(b.Float32Array=Array,b.Uint16Array=Array),b.PI_2=2*Math.PI,b.RAD_TO_DEG=180/Math.PI,b.DEG_TO_RAD=Math.PI/180,b.RETINA_PREFIX="@2x",b.DisplayObject=function(){this.position=new b.Point(0,0),this.scale=new b.Point(1,1),this.pivot=new b.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.stage=null,this.worldAlpha=1,this.worldTransform=new b.Matrix,this.worldPosition=new b.Point(0,0),this.worldScale=new b.Point(1,1),this.worldRotation=0,this._sr=0,this._cr=1,this.filterArea=null,this._bounds=new b.Rectangle(0,0,1,1),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},b.DisplayObject.prototype.constructor=b.DisplayObject,b.DisplayObject.prototype.destroy=function(){if(this.children){for(var a=this.children.length;a--;)this.children[a].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.stage=null,this.worldTransform=null,this.filterArea=null,this._bounds=null,this._currentBounds=null,this._mask=null,this.renderable=!1,this._destroyCachedSprite()},Object.defineProperty(b.DisplayObject.prototype,"worldVisible",{get:function(){var a=this;do{if(!a.visible)return!1;a=a.parent}while(a);return!0}}),Object.defineProperty(b.DisplayObject.prototype,"mask",{get:function(){return this._mask},set:function(a){this._mask&&(this._mask.isMask=!1),this._mask=a,this._mask&&(this._mask.isMask=!0)}}),Object.defineProperty(b.DisplayObject.prototype,"filters",{get:function(){return this._filters},set:function(a){if(a){for(var c=[],d=0;d=0&&b<=this.children.length)return a.parent&&a.parent.removeChild(a),a.parent=this,this.children.splice(b,0,a),this.stage&&a.setStageReference(this.stage),a;throw new Error(a+"addChildAt: The index "+b+" supplied is out of bounds "+this.children.length)},b.DisplayObjectContainer.prototype.swapChildren=function(a,b){if(a!==b){var c=this.getChildIndex(a),d=this.getChildIndex(b);if(0>c||0>d)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[c]=b,this.children[d]=a}},b.DisplayObjectContainer.prototype.getChildIndex=function(a){var b=this.children.indexOf(a);if(-1===b)throw new Error("The supplied DisplayObject must be a child of the caller");return b},b.DisplayObjectContainer.prototype.setChildIndex=function(a,b){if(0>b||b>=this.children.length)throw new Error("The supplied index is out of bounds");var c=this.getChildIndex(a);this.children.splice(c,1),this.children.splice(b,0,a)},b.DisplayObjectContainer.prototype.getChildAt=function(a){if(0>a||a>=this.children.length)throw new Error("getChildAt: Supplied index "+a+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[a]},b.DisplayObjectContainer.prototype.removeChild=function(a){var b=this.children.indexOf(a);if(-1!==b)return this.removeChildAt(b)},b.DisplayObjectContainer.prototype.removeChildAt=function(a){var b=this.getChildAt(a);return this.stage&&b.removeStageReference(),b.parent=void 0,this.children.splice(a,1),b},b.DisplayObjectContainer.prototype.removeChildren=function(a,b){var c=a||0,d="number"==typeof b?b:this.children.length,e=d-c;if(e>0&&d>=e){for(var f=this.children.splice(c,e),g=0;gj;j++){var l=this.children[j];l.visible&&(i=!0,a=this.children[j].getBounds(),e=ec?g:c,h=h>d?h:d)}if(!i)return b.EmptyRectangle;var m=this._bounds;return m.x=e,m.y=f,m.width=g-e,m.height=h-f,m},b.DisplayObjectContainer.prototype.getLocalBounds=function(){var a=this.worldTransform;this.worldTransform=b.identityMatrix;for(var c=0,d=this.children.length;d>c;c++)this.children[c].updateTransform();var e=this.getBounds();return this.worldTransform=a,e},b.DisplayObjectContainer.prototype.setStageReference=function(a){this.stage=a;for(var b=0;bi){i*=-1;var s=d;d=-e,e=-s}if(0>l){l*=-1;var s=f;f=-g,g=-s}q=i*e+m,o=i*d+m,r=l*g+n,p=l*f+n}else{var t=i*e+k*g+m,u=l*g+j*e+n,v=i*d+k*g+m,w=l*g+j*d+n,x=i*d+k*f+m,y=l*f+j*d+n,z=i*e+k*f+m,A=l*f+j*e+n;q=q>t?t:q,q=q>v?v:q,q=q>x?x:q,q=q>z?z:q,r=r>u?u:r,r=r>w?w:r,r=r>y?y:r,r=r>A?A:r,o=t>o?t:o,o=v>o?v:o,o=x>o?x:o,o=z>o?z:o,p=u>p?u:p,p=w>p?w:p,p=y>p?y:p,p=A>p?A:p}var B=this._bounds;return B.x=q,B.width=o-q,B.y=r,B.height=p-r,this._currentBounds=B,B},b.Sprite.prototype._renderWebGL=function(a,b){if(this.visible&&!(this.alpha<=0)&&this.renderable){var c=this.worldTransform;if(b&&(c=b),this._mask||this._filters){var d=a.spriteBatch;this._filters&&(d.flush(),a.filterManager.pushFilter(this._filterBlock)),this._mask&&(d.stop(),a.maskManager.pushMask(this.mask,a),d.start()),d.render(this);for(var e=0;e>16&255)/255,(a>>8&255)/255,(255&a)/255]},b.rgb2hex=function(a){return(255*a[0]<<16)+(255*a[1]<<8)+255*a[2]},b.canUseNewCanvasBlendModes=function(){if(void 0===document)return!1;var a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/",c="AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",d=new Image;d.src=a+"AP804Oa6"+c;var e=new Image;e.src=a+"/wCKxvRF"+c;var f=b.CanvasPool.create(this,6,1),g=f.getContext("2d");if(g.globalCompositeOperation="multiply",g.drawImage(d,0,0),g.drawImage(e,2,0),!g.getImageData(2,0,1,1))return!1;var h=g.getImageData(2,0,1,1).data;return b.CanvasPool.remove(this),255===h[0]&&0===h[1]&&0===h[2]},b.getNextPowerOfTwo=function(a){if(a>0&&0===(a&a-1))return a;for(var b=1;a>b;)b<<=1;return b},b.isPowerOfTwo=function(a,b){return a>0&&0===(a&a-1)&&b>0&&0===(b&b-1)},b.CanvasPool={create:function(a,c,d){var e,f=b.CanvasPool.getFirst();if(-1===f){var g={parent:a,canvas:document.createElement("canvas")};b.CanvasPool.pool.push(g),e=g.canvas}else b.CanvasPool.pool[f].parent=a,e=b.CanvasPool.pool[f].canvas;return void 0!==c&&(e.width=c,e.height=d),e},getFirst:function(){for(var a=b.CanvasPool.pool,c=0;cd;d+=6,e+=4)this.indices[d+0]=e+0,this.indices[d+1]=e+1,this.indices[d+2]=e+2,this.indices[d+3]=e+0,this.indices[d+4]=e+2,this.indices[d+5]=e+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.dirty=!0,this.textures=[],this.blendModes=[],this.shaders=[],this.sprites=[],this.defaultShader=new b.AbstractFilter(["precision lowp float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;","}"])},b.WebGLSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW),this.currentBlendMode=99999;var c=new b.PixiShader(a);c.fragmentSrc=this.defaultShader.fragmentSrc,c.uniforms={},c.init(),this.defaultShader.shaders[a.id]=c},b.WebGLSpriteBatch.prototype.begin=function(a){this.renderSession=a,this.shader=this.renderSession.shaderManager.defaultShader,this.start()},b.WebGLSpriteBatch.prototype.end=function(){this.flush()},b.WebGLSpriteBatch.prototype.render=function(a,b){var c=a.texture,d=a.worldTransform;b&&(d=b),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture);var e=c._uvs;if(e){var f,g,h,i,j=a.anchor.x,k=a.anchor.y;if(c.trim){var l=c.trim;g=l.x-j*l.width,f=g+c.crop.width,i=l.y-k*l.height,h=i+c.crop.height}else f=c.frame.width*(1-j),g=c.frame.width*-j,h=c.frame.height*(1-k),i=c.frame.height*-k;var m=4*this.currentBatchSize*this.vertSize,n=c.baseTexture.resolution,o=d.a/n,p=d.b/n,q=d.c/n,r=d.d/n,s=d.tx,t=d.ty,u=this.colors,v=this.positions;this.renderSession.roundPixels?(v[m]=o*g+q*i+s|0,v[m+1]=r*i+p*g+t|0,v[m+5]=o*f+q*i+s|0,v[m+6]=r*i+p*f+t|0,v[m+10]=o*f+q*h+s|0,v[m+11]=r*h+p*f+t|0,v[m+15]=o*g+q*h+s|0,v[m+16]=r*h+p*g+t|0):(v[m]=o*g+q*i+s,v[m+1]=r*i+p*g+t,v[m+5]=o*f+q*i+s,v[m+6]=r*i+p*f+t,v[m+10]=o*f+q*h+s,v[m+11]=r*h+p*f+t,v[m+15]=o*g+q*h+s,v[m+16]=r*h+p*g+t),v[m+2]=e.x0,v[m+3]=e.y0,v[m+7]=e.x1,v[m+8]=e.y1,v[m+12]=e.x2,v[m+13]=e.y2,v[m+17]=e.x3,v[m+18]=e.y3;var w=a.tint;u[m+4]=u[m+9]=u[m+14]=u[m+19]=(w>>16)+(65280&w)+((255&w)<<16)+(255*a.worldAlpha<<24),this.sprites[this.currentBatchSize++]=a}},b.WebGLSpriteBatch.prototype.renderTilingSprite=function(a){var c=a.tilingTexture;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture),a._uvs||(a._uvs=new b.TextureUvs);var d=a._uvs,e=c.baseTexture.width,f=c.baseTexture.height;a.tilePosition.x%=e*a.tileScaleOffset.x,a.tilePosition.y%=f*a.tileScaleOffset.y;var g=a.tilePosition.x/(e*a.tileScaleOffset.x),h=a.tilePosition.y/(f*a.tileScaleOffset.y),i=a.width/e/(a.tileScale.x*a.tileScaleOffset.x),j=a.height/f/(a.tileScale.y*a.tileScaleOffset.y);d.x0=0-g,d.y0=0-h,d.x1=1*i-g,d.y1=0-h,d.x2=1*i-g,d.y2=1*j-h,d.x3=0-g,d.y3=1*j-h;var k=a.tint,l=(k>>16)+(65280&k)+((255&k)<<16)+(255*a.worldAlpha<<24),m=this.positions,n=this.colors,o=a.width,p=a.height,q=a.anchor.x,r=a.anchor.y,s=o*(1-q),t=o*-q,u=p*(1-r),v=p*-r,w=4*this.currentBatchSize*this.vertSize,x=c.baseTexture.resolution,y=a.worldTransform,z=y.a/x,A=y.b/x,B=y.c/x,C=y.d/x,D=y.tx,E=y.ty;m[w++]=z*t+B*v+D,m[w++]=C*v+A*t+E,m[w++]=d.x0,m[w++]=d.y0,n[w++]=l,m[w++]=z*s+B*v+D,m[w++]=C*v+A*s+E,m[w++]=d.x1,m[w++]=d.y1,n[w++]=l,m[w++]=z*s+B*u+D,m[w++]=C*u+A*s+E,m[w++]=d.x2,m[w++]=d.y2,n[w++]=l,m[w++]=z*t+B*u+D,m[w++]=C*u+A*t+E,m[w++]=d.x3,m[w++]=d.y3,n[w++]=l,this.sprites[this.currentBatchSize++]=a},b.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a,c=this.gl;if(this.dirty){this.dirty=!1,c.activeTexture(c.TEXTURE0),c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a=this.defaultShader.shaders[c.id];var d=4*this.vertSize;c.vertexAttribPointer(a.aVertexPosition,2,c.FLOAT,!1,d,0),c.vertexAttribPointer(a.aTextureCoord,2,c.FLOAT,!1,d,8),c.vertexAttribPointer(a.colorAttribute,4,c.UNSIGNED_BYTE,!0,d,16)}if(this.currentBatchSize>.5*this.size)c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices);else{var e=this.positions.subarray(0,4*this.currentBatchSize*this.vertSize);c.bufferSubData(c.ARRAY_BUFFER,0,e)}for(var f,g,h,i,j=0,k=0,l=null,m=this.renderSession.blendModeManager.currentBlendMode,n=null,o=!1,p=!1,q=0,r=this.currentBatchSize;r>q;q++){if(i=this.sprites[q],f=i.tilingTexture?i.tilingTexture.baseTexture:i.texture.baseTexture,g=i.blendMode,h=i.shader||this.defaultShader,o=m!==g,p=n!==h,(l!==f&&!f.skipRender||o||p)&&(this.renderBatch(l,j,k),k=q,j=0,l=f,o&&(m=g,this.renderSession.blendModeManager.setBlendMode(m)),p)){n=h,a=n.shaders[c.id],a||(a=new b.PixiShader(c),a.fragmentSrc=n.fragmentSrc,a.uniforms=n.uniforms,a.init(),n.shaders[c.id]=a),this.renderSession.shaderManager.setShader(a),a.dirty&&a.syncUniforms();var s=this.renderSession.projection;c.uniform2f(a.projectionVector,s.x,s.y);var t=this.renderSession.offset;c.uniform2f(a.offsetVector,t.x,t.y)}j++}this.renderBatch(l,j,k),this.currentBatchSize=0}},b.WebGLSpriteBatch.prototype.renderBatch=function(a,b,c){if(0!==b){var d=this.gl;if(a._dirty[d.id]){if(!this.renderSession.renderer.updateTexture(a))return}else d.bindTexture(d.TEXTURE_2D,a._glTextures[d.id]);d.drawElements(d.TRIANGLES,6*b,d.UNSIGNED_SHORT,6*c*2),this.renderSession.drawCount++}},b.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},b.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},b.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},b.WebGLFastSpriteBatch=function(a){this.vertSize=10,this.maxSize=6e3,this.size=this.maxSize;var c=4*this.size*this.vertSize,d=6*this.maxSize;this.vertices=new b.Float32Array(c),this.indices=new b.Uint16Array(d),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var e=0,f=0;d>e;e+=6,f+=4)this.indices[e+0]=f+0,this.indices[e+1]=f+1,this.indices[e+2]=f+2,this.indices[e+3]=f+0,this.indices[e+4]=f+2,this.indices[e+5]=f+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.currentBlendMode=0,this.renderSession=null,this.shader=null,this.matrix=null,this.setContext(a)},b.WebGLFastSpriteBatch.prototype.constructor=b.WebGLFastSpriteBatch,b.WebGLFastSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW)},b.WebGLFastSpriteBatch.prototype.begin=function(a,b){this.renderSession=b,this.shader=this.renderSession.shaderManager.fastShader,this.matrix=a.worldTransform.toArray(!0),this.start()},b.WebGLFastSpriteBatch.prototype.end=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.render=function(a){var b=a.children,c=b[0];if(c.texture._uvs){this.currentBaseTexture=c.texture.baseTexture,c.blendMode!==this.renderSession.blendModeManager.currentBlendMode&&(this.flush(),this.renderSession.blendModeManager.setBlendMode(c.blendMode));for(var d=0,e=b.length;e>d;d++)this.renderSprite(b[d]);this.flush()}},b.WebGLFastSpriteBatch.prototype.renderSprite=function(a){if(a.visible&&(a.texture.baseTexture===this.currentBaseTexture||a.texture.baseTexture.skipRender||(this.flush(),this.currentBaseTexture=a.texture.baseTexture,a.texture._uvs))){var b,c,d,e,f,g,h,i,j=this.vertices;if(b=a.texture._uvs,c=a.texture.frame.width,d=a.texture.frame.height,a.texture.trim){var k=a.texture.trim;f=k.x-a.anchor.x*k.width,e=f+a.texture.crop.width,h=k.y-a.anchor.y*k.height,g=h+a.texture.crop.height}else e=a.texture.frame.width*(1-a.anchor.x),f=a.texture.frame.width*-a.anchor.x,g=a.texture.frame.height*(1-a.anchor.y),h=a.texture.frame.height*-a.anchor.y;i=4*this.currentBatchSize*this.vertSize,j[i++]=f,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x0,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x1,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x2,j[i++]=b.y2,j[i++]=a.alpha,j[i++]=f,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x3,j[i++]=b.y3,j[i++]=a.alpha,this.currentBatchSize++,this.currentBatchSize>=this.size&&this.flush()}},b.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a=this.gl;if(this.currentBaseTexture._glTextures[a.id]||this.renderSession.renderer.updateTexture(this.currentBaseTexture,a),a.bindTexture(a.TEXTURE_2D,this.currentBaseTexture._glTextures[a.id]),this.currentBatchSize>.5*this.size)a.bufferSubData(a.ARRAY_BUFFER,0,this.vertices);else{var b=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);a.bufferSubData(a.ARRAY_BUFFER,0,b)}a.drawElements(a.TRIANGLES,6*this.currentBatchSize,a.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}},b.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.start=function(){var a=this.gl;a.activeTexture(a.TEXTURE0),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var b=this.renderSession.projection;a.uniform2f(this.shader.projectionVector,b.x,b.y),a.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var c=4*this.vertSize;a.vertexAttribPointer(this.shader.aVertexPosition,2,a.FLOAT,!1,c,0),a.vertexAttribPointer(this.shader.aPositionCoord,2,a.FLOAT,!1,c,8),a.vertexAttribPointer(this.shader.aScale,2,a.FLOAT,!1,c,16),a.vertexAttribPointer(this.shader.aRotation,1,a.FLOAT,!1,c,24),a.vertexAttribPointer(this.shader.aTextureCoord,2,a.FLOAT,!1,c,28),a.vertexAttribPointer(this.shader.colorAttribute,1,a.FLOAT,!1,c,36)},b.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},b.WebGLFilterManager.prototype.constructor=b.WebGLFilterManager,b.WebGLFilterManager.prototype.setContext=function(a){this.gl=a,this.texturePool=[],this.initShaderBuffers()},b.WebGLFilterManager.prototype.begin=function(a,b){this.renderSession=a,this.defaultShader=a.shaderManager.defaultShader;var c=this.renderSession.projection;this.width=2*c.x,this.height=2*-c.y,this.buffer=b},b.WebGLFilterManager.prototype.pushFilter=function(a){var c=this.gl,d=this.renderSession.projection,e=this.renderSession.offset;a._filterArea=a.target.filterArea||a.target.getBounds(),this.filterStack.push(a);var f=a.filterPasses[0];this.offsetX+=a._filterArea.x,this.offsetY+=a._filterArea.y;var g=this.texturePool.pop();g?g.resize(this.width,this.height):g=new b.FilterTexture(this.gl,this.width,this.height),c.bindTexture(c.TEXTURE_2D,g.texture);var h=a._filterArea,i=f.padding;h.x-=i,h.y-=i,h.width+=2*i,h.height+=2*i,h.x<0&&(h.x=0),h.width>this.width&&(h.width=this.width),h.y<0&&(h.y=0),h.height>this.height&&(h.height=this.height),c.bindFramebuffer(c.FRAMEBUFFER,g.frameBuffer),c.viewport(0,0,h.width,h.height),d.x=h.width/2,d.y=-h.height/2,e.x=-h.x,e.y=-h.y,c.colorMask(!0,!0,!0,!0),c.clearColor(0,0,0,0),c.clear(c.COLOR_BUFFER_BIT),a._glFilterTexture=g},b.WebGLFilterManager.prototype.popFilter=function(){var a=this.gl,c=this.filterStack.pop(),d=c._filterArea,e=c._glFilterTexture,f=this.renderSession.projection,g=this.renderSession.offset;if(c.filterPasses.length>1){a.viewport(0,0,d.width,d.height),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=d.height,this.vertexArray[2]=d.width,this.vertexArray[3]=d.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=d.width,this.vertexArray[7]=0,a.bufferSubData(a.ARRAY_BUFFER,0,this.vertexArray),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=d.width/this.width,this.uvArray[5]=d.height/this.height,this.uvArray[6]=d.width/this.width,this.uvArray[7]=d.height/this.height,a.bufferSubData(a.ARRAY_BUFFER,0,this.uvArray);var h=e,i=this.texturePool.pop();i||(i=new b.FilterTexture(this.gl,this.width,this.height)),i.resize(this.width,this.height),a.bindFramebuffer(a.FRAMEBUFFER,i.frameBuffer),a.clear(a.COLOR_BUFFER_BIT),a.disable(a.BLEND);for(var j=0;j=0;a--){var c=this._glTextures[a],d=b.glContexts[a];d&&c&&d.deleteTexture(c)}this._glTextures.length=0,this.dirty()},b.BaseTexture.fromImage=function(a,c,d){var e=b.BaseTextureCache[a];if(void 0===c&&-1===a.indexOf("data:")&&(c=!0),!e){var f=new Image;c&&(f.crossOrigin=""),f.src=a,e=new b.BaseTexture(f,d),e.imageUrl=a,b.BaseTextureCache[a]=e,-1!==a.indexOf(b.RETINA_PREFIX+".")&&(e.resolution=2)}return e},b.BaseTexture.fromCanvas=function(a,c){a._pixiId||(a._pixiId="canvas_"+b.TextureCacheIdGenerator++),0===a.width&&(a.width=1),0===a.height&&(a.height=1);var d=b.BaseTextureCache[a._pixiId];return d||(d=new b.BaseTexture(a,c),b.BaseTextureCache[a._pixiId]=d),d},b.TextureCache={},b.FrameCache={},b.TextureSilentFail=!1,b.TextureCacheIdGenerator=0,b.Texture=function(a,c,d,e){this.noFrame=!1,c||(this.noFrame=!0,c=new b.Rectangle(0,0,1,1)),a instanceof b.Texture&&(a=a.baseTexture),this.baseTexture=a,this.frame=c,this.trim=e,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=d||new b.Rectangle(0,0,1,1),a.hasLoaded&&(this.noFrame&&(c=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(c))},b.Texture.prototype.constructor=b.Texture,b.Texture.prototype.onBaseTextureLoaded=function(){var a=this.baseTexture;this.noFrame&&(this.frame=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(this.frame)},b.Texture.prototype.destroy=function(a){a&&this.baseTexture.destroy(),this.valid=!1},b.Texture.prototype.setFrame=function(a){if(this.noFrame=!1,this.frame=a,this.width=a.width,this.height=a.height,this.crop.x=a.x,this.crop.y=a.y,this.crop.width=a.width,this.crop.height=a.height,!this.trim&&(a.x+a.width>this.baseTexture.width||a.y+a.height>this.baseTexture.height)){if(!b.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);return void(this.valid=!1)}this.valid=a&&a.width&&a.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()},b.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new b.TextureUvs);var a=this.crop,c=this.baseTexture.width,d=this.baseTexture.height;this._uvs.x0=a.x/c,this._uvs.y0=a.y/d,this._uvs.x1=(a.x+a.width)/c,this._uvs.y1=a.y/d,this._uvs.x2=(a.x+a.width)/c,this._uvs.y2=(a.y+a.height)/d,this._uvs.x3=a.x/c,this._uvs.y3=(a.y+a.height)/d},b.Texture.fromImage=function(a,c,d){var e=b.TextureCache[a];return e||(e=new b.Texture(b.BaseTexture.fromImage(a,c,d)),b.TextureCache[a]=e),e},b.Texture.fromFrame=function(a){var c=b.TextureCache[a];if(!c)throw new Error('The frameId "'+a+'" does not exist in the texture cache ');return c},b.Texture.fromCanvas=function(a,c){var d=b.BaseTexture.fromCanvas(a,c);return new b.Texture(d)},b.Texture.addTextureToCache=function(a,c){b.TextureCache[c]=a},b.Texture.removeTextureFromCache=function(a){var c=b.TextureCache[a];return delete b.TextureCache[a],delete b.BaseTextureCache[a],c},b.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},b.RenderTexture=function(a,c,d,e,f){if(this.width=a||100,this.height=c||100,this.resolution=f||1,this.frame=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.baseTexture=new b.BaseTexture,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=e||b.scaleModes.DEFAULT,this.baseTexture.hasLoaded=!0,b.Texture.call(this,this.baseTexture,new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution)),this.renderer=d||b.defaultRenderer,this.renderer.type===b.WEBGL_RENDERER){var g=this.renderer.gl;this.baseTexture._dirty[g.id]=!1,this.textureBuffer=new b.FilterTexture(g,this.width,this.height,this.baseTexture.scaleMode),this.baseTexture._glTextures[g.id]=this.textureBuffer.texture,this.render=this.renderWebGL,this.projection=new b.Point(.5*this.width,.5*-this.height)}else this.render=this.renderCanvas,this.textureBuffer=new b.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new Phaser.Matrix,this._updateUvs()},b.RenderTexture.prototype=Object.create(b.Texture.prototype),b.RenderTexture.prototype.constructor=b.RenderTexture,b.RenderTexture.prototype.resize=function(a,c,d){(a!==this.width||c!==this.height)&&(this.valid=a>0&&c>0,this.width=a,this.height=c,this.frame.width=this.crop.width=a*this.resolution,this.frame.height=this.crop.height=c*this.resolution,d&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===b.WEBGL_RENDERER&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},b.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===b.WEBGL_RENDERER&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},b.RenderTexture.prototype.renderWebGL=function(a,b,c){if(this.valid&&0!==a.alpha){var d=a.worldTransform;d.identity(),d.translate(0,2*this.projection.y),b&&d.append(b),d.scale(1,-1);for(var e=0;ea;a++)this.shaders[a].dirty=!0},b.Strip=function(a){b.DisplayObjectContainer.call(this),this.texture=a,this.uvs=new b.Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new b.Float32Array([0,0,100,0,100,100,0,100]),this.colors=new b.Float32Array([1,1,1,1]),this.indices=new b.Uint16Array([0,1,2,3]),this.dirty=!0,this.blendMode=b.blendModes.NORMAL,this.canvasPadding=0,this.drawMode=b.Strip.DrawModes.TRIANGLE_STRIP},b.Strip.prototype=Object.create(b.DisplayObjectContainer.prototype),b.Strip.prototype.constructor=b.Strip,b.Strip.prototype._renderWebGL=function(a){!this.visible||this.alpha<=0||(a.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(a),a.shaderManager.setShader(a.shaderManager.stripShader),this._renderStrip(a),a.spriteBatch.start())},b.Strip.prototype._initWebGL=function(a){var b=a.gl;this._vertexBuffer=b.createBuffer(),this._indexBuffer=b.createBuffer(),this._uvBuffer=b.createBuffer(),this._colorBuffer=b.createBuffer(),b.bindBuffer(b.ARRAY_BUFFER,this._vertexBuffer),b.bufferData(b.ARRAY_BUFFER,this.vertices,b.DYNAMIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._uvBuffer),b.bufferData(b.ARRAY_BUFFER,this.uvs,b.STATIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._colorBuffer),b.bufferData(b.ARRAY_BUFFER,this.colors,b.STATIC_DRAW),b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,this._indexBuffer),b.bufferData(b.ELEMENT_ARRAY_BUFFER,this.indices,b.STATIC_DRAW)},b.Strip.prototype._renderStrip=function(a){var c=a.gl,d=a.projection,e=a.offset,f=a.shaderManager.stripShader,g=this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?c.TRIANGLE_STRIP:c.TRIANGLES;a.blendModeManager.setBlendMode(this.blendMode),c.uniformMatrix3fv(f.translationMatrix,!1,this.worldTransform.toArray(!0)),c.uniform2f(f.projectionVector,d.x,-d.y),c.uniform2f(f.offsetVector,-e.x,-e.y),c.uniform1f(f.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferData(c.ARRAY_BUFFER,this.vertices,c.STATIC_DRAW),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.bufferData(c.ARRAY_BUFFER,this.uvs,c.STATIC_DRAW),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer),c.bufferData(c.ELEMENT_ARRAY_BUFFER,this.indices,c.STATIC_DRAW)):(c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),c.drawElements(g,this.indices.length,c.UNSIGNED_SHORT,0)},b.Strip.prototype._renderCanvas=function(a){var c=a.context,d=this.worldTransform;a.roundPixels?c.setTransform(d.a,d.b,d.c,d.d,0|d.tx,0|d.ty):c.setTransform(d.a,d.b,d.c,d.d,d.tx,d.ty),this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(c):this._renderCanvasTriangles(c)},b.Strip.prototype._renderCanvasTriangleStrip=function(a){var b=this.vertices,c=this.uvs,d=b.length/2;this.count++;for(var e=0;d-2>e;e++){var f=2*e;this._renderCanvasDrawTriangle(a,b,c,f,f+2,f+4)}},b.Strip.prototype._renderCanvasTriangles=function(a){var b=this.vertices,c=this.uvs,d=this.indices,e=d.length;this.count++;for(var f=0;e>f;f+=3){var g=2*d[f],h=2*d[f+1],i=2*d[f+2];this._renderCanvasDrawTriangle(a,b,c,g,h,i)}},b.Strip.prototype._renderCanvasDrawTriangle=function(a,b,c,d,e,f){var g=this.texture.baseTexture.source,h=this.texture.width,i=this.texture.height,j=b[d],k=b[e],l=b[f],m=b[d+1],n=b[e+1],o=b[f+1],p=c[d]*h,q=c[e]*h,r=c[f]*h,s=c[d+1]*i,t=c[e+1]*i,u=c[f+1]*i;if(this.canvasPadding>0){var v=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,x=(j+k+l)/3,y=(m+n+o)/3,z=j-x,A=m-y,B=Math.sqrt(z*z+A*A);j=x+z/B*(B+v),m=y+A/B*(B+w),z=k-x,A=n-y,B=Math.sqrt(z*z+A*A),k=x+z/B*(B+v),n=y+A/B*(B+w),z=l-x,A=o-y,B=Math.sqrt(z*z+A*A),l=x+z/B*(B+v),o=y+A/B*(B+w)}a.save(),a.beginPath(),a.moveTo(j,m),a.lineTo(k,n),a.lineTo(l,o),a.closePath(),a.clip();var C=p*t+s*r+q*u-t*r-s*q-p*u,D=j*t+s*l+k*u-t*l-s*k-j*u,E=p*k+j*r+q*l-k*r-j*q-p*l,F=p*t*l+s*k*r+j*q*u-j*t*r-s*q*l-p*k*u,G=m*t+s*o+n*u-t*o-s*n-m*u,H=p*n+m*r+q*o-n*r-m*q-p*o,I=p*t*o+s*n*r+m*q*u-m*t*r-s*q*o-p*n*u;a.transform(D/C,G/C,E/C,H/C,F/C,I/C),a.drawImage(g,0,0),a.restore()},b.Strip.prototype.renderStripFlat=function(a){var b=this.context,c=a.vertices,d=c.length/2;this.count++,b.beginPath();for(var e=1;d-2>e;e++){var f=2*e,g=c[f],h=c[f+2],i=c[f+4],j=c[f+1],k=c[f+3],l=c[f+5];b.moveTo(g,j),b.lineTo(h,k),b.lineTo(i,l)}b.fillStyle="#FF0000",b.fill(),b.closePath()},b.Strip.prototype.onTextureUpdate=function(){this.updateFrame=!0},b.Strip.prototype.getBounds=function(a){for(var c=a||this.worldTransform,d=c.a,e=c.b,f=c.c,g=c.d,h=c.tx,i=c.ty,j=-(1/0),k=-(1/0),l=1/0,m=1/0,n=this.vertices,o=0,p=n.length;p>o;o+=2){var q=n[o],r=n[o+1],s=d*q+f*r+h,t=g*r+e*q+i;l=l>s?s:l,m=m>t?t:m,j=s>j?s:j,k=t>k?t:k}if(l===-(1/0)||k===1/0)return b.EmptyRectangle;var u=this._bounds;return u.x=l,u.width=j-l,u.y=m,u.height=k-m,this._currentBounds=u,u},b.Strip.DrawModes={TRIANGLE_STRIP:0,TRIANGLES:1},b.Rope=function(a,c){b.Strip.call(this,a),this.points=c,this.vertices=new b.Float32Array(4*c.length),this.uvs=new b.Float32Array(4*c.length),this.colors=new b.Float32Array(2*c.length),this.indices=new b.Uint16Array(2*c.length),this.refresh()},b.Rope.prototype=Object.create(b.Strip.prototype),b.Rope.prototype.constructor=b.Rope,b.Rope.prototype.refresh=function(){var a=this.points;if(!(a.length<1)){var b=this.uvs,c=a[0],d=this.indices,e=this.colors;this.count-=.2,b[0]=0,b[1]=0,b[2]=0,b[3]=1,e[0]=1,e[1]=1,d[0]=0,d[1]=1;for(var f,g,h,i=a.length,j=1;i>j;j++)f=a[j],g=4*j,h=j/(i-1),j%2?(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1):(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1),g=2*j,e[g]=1,e[g+1]=1,g=2*j,d[g]=g,d[g+1]=g+1,c=f}},b.Rope.prototype.updateTransform=function(){var a=this.points;if(!(a.length<1)){var c,d=a[0],e={x:0,y:0};this.count-=.2;for(var f,g,h,i,j,k=this.vertices,l=a.length,m=0;l>m;m++)f=a[m],g=4*m,c=m1&&(h=1),i=Math.sqrt(e.x*e.x+e.y*e.y),j=this.texture.height/2,e.x/=i,e.y/=i,e.x*=j,e.y*=j,k[g]=f.x+e.x,k[g+1]=f.y+e.y,k[g+2]=f.x-e.x,k[g+3]=f.y-e.y,d=f;b.DisplayObjectContainer.prototype.updateTransform.call(this)}},b.Rope.prototype.setTexture=function(a){this.texture=a},b.TilingSprite=function(a,c,d){b.Sprite.call(this,a),this._width=c||128,this._height=d||128,this.tileScale=new b.Point(1,1),this.tileScaleOffset=new b.Point(1,1),this.tilePosition=new b.Point,this.renderable=!0,this.tint=16777215,this.textureDebug=!1,this.blendMode=b.blendModes.NORMAL,this.canvasBuffer=null,this.tilingTexture=null,this.tilePattern=null,this.refreshTexture=!0,this.frameWidth=0,this.frameHeight=0},b.TilingSprite.prototype=Object.create(b.Sprite.prototype),b.TilingSprite.prototype.constructor=b.TilingSprite,b.TilingSprite.prototype.setTexture=function(a){this.texture!==a&&(this.texture=a,this.refreshTexture=!0,this.cachedTint=16777215)},b.TilingSprite.prototype._renderWebGL=function(a){if(this.visible!==!1&&0!==this.alpha){if(this._mask&&(a.spriteBatch.stop(),a.maskManager.pushMask(this.mask,a),a.spriteBatch.start()),this._filters&&(a.spriteBatch.flush(),a.filterManager.pushFilter(this._filterBlock)),this.refreshTexture){if(this.generateTilingTexture(!0,a),!this.tilingTexture)return;this.tilingTexture.needsUpdate&&(a.renderer.updateTexture(this.tilingTexture.baseTexture),this.tilingTexture.needsUpdate=!1)}a.spriteBatch.renderTilingSprite(this);for(var b=0;bn?n:x,x=x>p?p:x,x=x>r?r:x,x=x>t?t:x,y=y>o?o:y,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=n>v?n:v,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=o>w?o:w,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w;var z=this._bounds;return z.x=x,z.width=v-x,z.y=y,z.height=w-y,this._currentBounds=z,z},b.TilingSprite.prototype.destroy=function(){b.Sprite.prototype.destroy.call(this),this.canvasBuffer&&(this.canvasBuffer.destroy(),this.canvasBuffer=null),this.tileScale=null,this.tileScaleOffset=null,this.tilePosition=null,this.tilingTexture&&(this.tilingTexture.destroy(!0),this.tilingTexture=null)},Object.defineProperty(b.TilingSprite.prototype,"width",{get:function(){return this._width},set:function(a){this._width=a}}),Object.defineProperty(b.TilingSprite.prototype,"height",{get:function(){return this._height},set:function(a){this._height=a}}),"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=b),exports.PIXI=b):"undefined"!=typeof define&&define.amd?define("PIXI",function(){return a.PIXI=b}()):a.PIXI=b,b}).call(this),function(){function a(a,b){this._scaleFactor=a,this._deltaMode=b,this.originalEvent=null}var b=this,c=c||{VERSION:"2.4.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,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},PIXI:PIXI||{}};if(Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)}),Function.prototype.bind||(Function.prototype.bind=function(){var a=Array.prototype.slice;return function(b){function c(){var f=e.concat(a.call(arguments));d.apply(this instanceof c?this:b,f)}var d=this,e=a.call(arguments,1);if("function"!=typeof d)throw new TypeError;return c.prototype=function f(a){return a&&(f.prototype=a),this instanceof f?void 0:new f}(d.prototype),c}}()),Array.isArray||(Array.isArray=function(a){return"[object Array]"==Object.prototype.toString.call(a)}),Array.prototype.forEach||(Array.prototype.forEach=function(a){"use strict";if(void 0===this||null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!=typeof a)throw new TypeError;for(var d=arguments.length>=2?arguments[1]:void 0,e=0;c>e;e++)e in b&&a.call(d,b[e],e,b)}),"function"!=typeof window.Uint32Array&&"object"!=typeof window.Uint32Array){var d=function(a){var b=new Array;window[a]=function(a){if("number"==typeof a){Array.call(this,a),this.length=a;for(var b=0;bf&&(a=a[g]);)g=c[f],f++;return a?a[d]:null},setProperty:function(a,b,c){for(var d=b.split("."),e=d.pop(),f=d.length,g=1,h=d[0];f>g&&(a=a[h]);)h=d[g],g++;return a&&(a[e]=c),a},chanceRoll:function(a){return void 0===a&&(a=50),a>0&&100*Math.random()<=a},randomChoice:function(a,b){return Math.random()<.5?a:b},parseDimension:function(a,b){var c=0,d=0;return"string"==typeof a?"%"===a.substr(-1)?(c=parseInt(a,10)/100,d=0===b?window.innerWidth*c:window.innerHeight*c):d=parseInt(a,10):d=a,d},pad:function(a,b,c,d){if(void 0===b)var b=0;if(void 0===c)var c=" ";if(void 0===d)var d=3;var e=0;if(b+1>=a.length)switch(d){case 1:a=new Array(b+1-a.length).join(c)+a;break;case 3:var f=Math.ceil((e=b-a.length)/2),g=e-f;a=new Array(g+1).join(c)+a+new Array(f+1).join(c);break;default:a+=new Array(b+1-a.length).join(c)}return a},isPlainObject:function(a){if("object"!=typeof a||a.nodeType||a===a.window)return!1;try{if(a.constructor&&!{}.hasOwnProperty.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(b){return!1}return!0},extend:function(){var a,b,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(b in a)d=h[b],e=a[b],h!==e&&(k&&e&&(c.Utils.isPlainObject(e)||(f=Array.isArray(e)))?(f?(f=!1,g=d&&Array.isArray(d)?d:[]):g=d&&c.Utils.isPlainObject(d)?d:{},h[b]=c.Utils.extend(k,g,e)):void 0!==e&&(h[b]=e));return h},mixinPrototype:function(a,b,c){void 0===c&&(c=!1);for(var d=Object.keys(b),e=0;e0&&(this._radius=.5*d),this.type=c.CIRCLE},c.Circle.prototype={circumference:function(){return 2*(Math.PI*this._radius)},random:function(a){void 0===a&&(a=new c.Point);var b=2*Math.PI*Math.random(),d=Math.random()+Math.random(),e=d>1?2-d:d,f=e*Math.cos(b),g=e*Math.sin(b);return a.x=this.x+f*this.radius,a.y=this.y+g*this.radius,a},getBounds:function(){return new c.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(a,b,c){return this.x=a,this.y=b,this._diameter=c,this._radius=.5*c,this},copyFrom:function(a){return this.setTo(a.x,a.y,a.diameter)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.diameter=this._diameter,a},distance:function(a,b){var d=c.Math.distance(this.x,this.y,a.x,a.y);return b?Math.round(d):d},clone:function(a){return void 0===a||null===a?a=new c.Circle(this.x,this.y,this.diameter):a.setTo(this.x,this.y,this.diameter),a},contains:function(a,b){return c.Circle.contains(this,a,b)},circumferencePoint:function(a,b,d){return c.Circle.circumferencePoint(this,a,b,d)},offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},c.Circle.prototype.constructor=c.Circle,Object.defineProperty(c.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(a){a>0&&(this._diameter=a,this._radius=.5*a)}}),Object.defineProperty(c.Circle.prototype,"radius",{get:function(){return this._radius},set:function(a){a>0&&(this._radius=a,this._diameter=2*a)}}),Object.defineProperty(c.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(a){a>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-a}}),Object.defineProperty(c.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(a){athis.y?(this._radius=0,this._diameter=0):this.radius=this.y-a}}),Object.defineProperty(c.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(a){a0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(c.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(a){a===!0&&this.setTo(0,0,0)}}),c.Circle.contains=function(a,b,c){if(a.radius>0&&b>=a.left&&b<=a.right&&c>=a.top&&c<=a.bottom){var d=(a.x-b)*(a.x-b),e=(a.y-c)*(a.y-c);return d+e<=a.radius*a.radius}return!1},c.Circle.equals=function(a,b){return a.x==b.x&&a.y==b.y&&a.diameter==b.diameter},c.Circle.intersects=function(a,b){return c.Math.distance(a.x,a.y,b.x,b.y)<=a.radius+b.radius},c.Circle.circumferencePoint=function(a,b,d,e){return void 0===d&&(d=!1),void 0===e&&(e=new c.Point),d===!0&&(b=c.Math.degToRad(b)),e.x=a.x+a.radius*Math.cos(b),e.y=a.y+a.radius*Math.sin(b),e},c.Circle.intersectsRectangle=function(a,b){var c=Math.abs(a.x-b.x-b.halfWidth),d=b.halfWidth+a.radius;if(c>d)return!1;var e=Math.abs(a.y-b.y-b.halfHeight),f=b.halfHeight+a.radius;if(e>f)return!1;if(c<=b.halfWidth||e<=b.halfHeight)return!0;var g=c-b.halfWidth,h=e-b.halfHeight,i=g*g,j=h*h,k=a.radius*a.radius;return k>=i+j},PIXI.Circle=c.Circle,c.Ellipse=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.ELLIPSE},c.Ellipse.prototype={setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},getBounds:function(){return new c.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},clone:function(a){return void 0===a||null===a?a=new c.Ellipse(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a},contains:function(a,b){return c.Ellipse.contains(this,a,b)},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random()*Math.PI*2,d=Math.random();return a.x=Math.sqrt(d)*Math.cos(b),a.y=Math.sqrt(d)*Math.sin(b),a.x=this.x+a.x*this.width/2,a.y=this.y+a.y*this.height/2,a},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},c.Ellipse.prototype.constructor=c.Ellipse,Object.defineProperty(c.Ellipse.prototype,"left",{get:function(){return this.x},set:function(a){this.x=a}}),Object.defineProperty(c.Ellipse.prototype,"right",{get:function(){return this.x+this.width; -},set:function(a){ad+e},PIXI.Ellipse=c.Ellipse,c.Line=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.start=new c.Point(a,b),this.end=new c.Point(d,e),this.type=c.LINE},c.Line.prototype={setTo:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(c,d),this},fromSprite:function(a,b,c){return void 0===c&&(c=!1),c?this.setTo(a.center.x,a.center.y,b.center.x,b.center.y):this.setTo(a.x,a.y,b.x,b.y)},fromAngle:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(a+Math.cos(c)*d,b+Math.sin(c)*d),this},rotate:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2;return this.start.rotate(c,d,a,b),this.end.rotate(c,d,a,b),this},rotateAround:function(a,b,c,d){return this.start.rotate(a,b,c,d),this.end.rotate(a,b,c,d),this},intersects:function(a,b,d){return c.Line.intersectsPoints(this.start,this.end,a.start,a.end,b,d)},reflect:function(a){return c.Line.reflect(this,a)},midPoint:function(a){return void 0===a&&(a=new c.Point),a.x=(this.start.x+this.end.x)/2,a.y=(this.start.y+this.end.y)/2,a},centerOn:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2,e=a-c,f=b-d;this.start.add(e,f),this.end.add(e,f)},pointOnLine:function(a,b){return(a-this.start.x)*(this.end.y-this.start.y)===(this.end.x-this.start.x)*(b-this.start.y)},pointOnSegment:function(a,b){var c=Math.min(this.start.x,this.end.x),d=Math.max(this.start.x,this.end.x),e=Math.min(this.start.y,this.end.y),f=Math.max(this.start.y,this.end.y);return this.pointOnLine(a,b)&&a>=c&&d>=a&&b>=e&&f>=b},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random();return a.x=this.start.x+b*(this.end.x-this.start.x),a.y=this.start.y+b*(this.end.y-this.start.y),a},coordinatesOnLine:function(a,b){void 0===a&&(a=1),void 0===b&&(b=[]);var c=Math.round(this.start.x),d=Math.round(this.start.y),e=Math.round(this.end.x),f=Math.round(this.end.y),g=Math.abs(e-c),h=Math.abs(f-d),i=e>c?1:-1,j=f>d?1:-1,k=g-h;b.push([c,d]);for(var l=1;c!=e||d!=f;){var m=k<<1;m>-h&&(k-=h,c+=i),g>m&&(k+=g,d+=j),l%a===0&&b.push([c,d]),l++}return b},clone:function(a){return void 0===a||null===a?a=new c.Line(this.start.x,this.start.y,this.end.x,this.end.y):a.setTo(this.start.x,this.start.y,this.end.x,this.end.y),a}},Object.defineProperty(c.Line.prototype,"length",{get:function(){return Math.sqrt((this.end.x-this.start.x)*(this.end.x-this.start.x)+(this.end.y-this.start.y)*(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"angle",{get:function(){return Math.atan2(this.end.y-this.start.y,this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"slope",{get:function(){return(this.end.y-this.start.y)/(this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"perpSlope",{get:function(){return-((this.end.x-this.start.x)/(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"x",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"y",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"left",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"right",{get:function(){return Math.max(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"top",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"bottom",{get:function(){return Math.max(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"width",{get:function(){return Math.abs(this.start.x-this.end.x)}}),Object.defineProperty(c.Line.prototype,"height",{get:function(){return Math.abs(this.start.y-this.end.y)}}),Object.defineProperty(c.Line.prototype,"normalX",{get:function(){return Math.cos(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalY",{get:function(){return Math.sin(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalAngle",{get:function(){return c.Math.wrap(this.angle-1.5707963267948966,-Math.PI,Math.PI)}}),c.Line.intersectsPoints=function(a,b,d,e,f,g){void 0===f&&(f=!0),void 0===g&&(g=new c.Point);var h=b.y-a.y,i=e.y-d.y,j=a.x-b.x,k=d.x-e.x,l=b.x*a.y-a.x*b.y,m=e.x*d.y-d.x*e.y,n=h*k-i*j;if(0===n)return null;if(g.x=(j*m-k*l)/n,g.y=(i*l-h*m)/n,f){var o=(e.y-d.y)*(b.x-a.x)-(e.x-d.x)*(b.y-a.y),p=((e.x-d.x)*(a.y-d.y)-(e.y-d.y)*(a.x-d.x))/o,q=((b.x-a.x)*(a.y-d.y)-(b.y-a.y)*(a.x-d.x))/o;return p>=0&&1>=p&&q>=0&&1>=q?g:null}return g},c.Line.intersects=function(a,b,d,e){return c.Line.intersectsPoints(a.start,a.end,b.start,b.end,d,e)},c.Line.reflect=function(a,b){return 2*b.normalAngle-3.141592653589793-a.angle},c.Matrix=function(a,b,d,e,f,g){a=a||1,b=b||0,d=d||0,e=e||1,f=f||0,g=g||0,this.a=a,this.b=b,this.c=d,this.d=e,this.tx=f,this.ty=g,this.type=c.MATRIX},c.Matrix.prototype={fromArray:function(a){return this.setTo(a[0],a[1],a[3],a[4],a[2],a[5])},setTo:function(a,b,c,d,e,f){return this.a=a,this.b=b,this.c=c,this.d=d,this.tx=e,this.ty=f,this},clone:function(a){return void 0===a||null===a?a=new c.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(a.a=this.a,a.b=this.b,a.c=this.c,a.d=this.d,a.tx=this.tx,a.ty=this.ty),a},copyTo:function(a){return a.copyFrom(this),a},copyFrom:function(a){return this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.tx=a.tx,this.ty=a.ty,this},toArray:function(a,b){return void 0===b&&(b=new PIXI.Float32Array(9)),a?(b[0]=this.a,b[1]=this.b,b[2]=0,b[3]=this.c,b[4]=this.d,b[5]=0,b[6]=this.tx,b[7]=this.ty,b[8]=1):(b[0]=this.a,b[1]=this.c,b[2]=this.tx,b[3]=this.b,b[4]=this.d,b[5]=this.ty,b[6]=0,b[7]=0,b[8]=1),b},apply:function(a,b){return void 0===b&&(b=new c.Point),b.x=this.a*a.x+this.c*a.y+this.tx,b.y=this.b*a.x+this.d*a.y+this.ty,b},applyInverse:function(a,b){void 0===b&&(b=new c.Point);var d=1/(this.a*this.d+this.c*-this.b),e=a.x,f=a.y;return b.x=this.d*d*e+-this.c*d*f+(this.ty*this.c-this.tx*this.d)*d,b.y=this.a*d*f+-this.b*d*e+(-this.ty*this.a+this.tx*this.b)*d,b},translate:function(a,b){return this.tx+=a,this.ty+=b,this},scale:function(a,b){return this.a*=a,this.d*=b,this.c*=a,this.b*=b,this.tx*=a,this.ty*=b,this},rotate:function(a){var b=Math.cos(a),c=Math.sin(a),d=this.a,e=this.c,f=this.tx;return this.a=d*b-this.b*c,this.b=d*c+this.b*b,this.c=e*b-this.d*c,this.d=e*c+this.d*b,this.tx=f*b-this.ty*c,this.ty=f*c+this.ty*b,this},append:function(a){var b=this.a,c=this.b,d=this.c,e=this.d;return this.a=a.a*b+a.b*d,this.b=a.a*c+a.b*e,this.c=a.c*b+a.d*d,this.d=a.c*c+a.d*e,this.tx=a.tx*b+a.ty*d+this.tx,this.ty=a.tx*c+a.ty*e+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},c.identityMatrix=new c.Matrix,PIXI.Matrix=c.Matrix,PIXI.identityMatrix=c.identityMatrix,c.Point=function(a,b){a=a||0,b=b||0,this.x=a,this.y=b,this.type=c.POINT},c.Point.prototype={copyFrom:function(a){return this.setTo(a.x,a.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},set:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},add:function(a,b){return this.x+=a,this.y+=b,this},subtract:function(a,b){return this.x-=a,this.y-=b,this},multiply:function(a,b){return this.x*=a,this.y*=b,this},divide:function(a,b){return this.x/=a,this.y/=b,this},clampX:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this},clampY:function(a,b){return this.y=c.Math.clamp(this.y,a,b),this},clamp:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this.y=c.Math.clamp(this.y,a,b),this},clone:function(a){return void 0===a||null===a?a=new c.Point(this.x,this.y):a.setTo(this.x,this.y),a},copyTo:function(a){return a.x=this.x,a.y=this.y,a},distance:function(a,b){return c.Point.distance(this,a,b)},equals:function(a){return a.x===this.x&&a.y===this.y},angle:function(a,b){return void 0===b&&(b=!1),b?c.Math.radToDeg(Math.atan2(a.y-this.y,a.x-this.x)):Math.atan2(a.y-this.y,a.x-this.x)},rotate:function(a,b,d,e,f){return c.Point.rotate(this,a,b,d,e,f)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(a){return this.normalize().multiply(a,a)},normalize:function(){if(!this.isZero()){var a=this.getMagnitude();this.x/=a,this.y/=a}return this},isZero:function(){return 0===this.x&&0===this.y},dot:function(a){return this.x*a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},c.Point.prototype.constructor=c.Point,c.Point.add=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x+b.x,d.y=a.y+b.y,d},c.Point.subtract=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x-b.x,d.y=a.y-b.y,d},c.Point.multiply=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x*b.x,d.y=a.y*b.y,d},c.Point.divide=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x/b.x,d.y=a.y/b.y,d},c.Point.equals=function(a,b){return a.x===b.x&&a.y===b.y},c.Point.angle=function(a,b){return Math.atan2(a.y-b.y,a.x-b.x)},c.Point.negative=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.x,-a.y)},c.Point.multiplyAdd=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+b.x*d,a.y+b.y*d)},c.Point.interpolate=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+(b.x-a.x)*d,a.y+(b.y-a.y)*d)},c.Point.perp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.y,a.x)},c.Point.rperp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(a.y,-a.x)},c.Point.distance=function(a,b,d){var e=c.Math.distance(a.x,a.y,b.x,b.y);return d?Math.round(e):e},c.Point.project=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b)/b.getMagnitudeSq();return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.projectUnit=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b);return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.normalRightHand=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-1*a.y,a.x)},c.Point.normalize=function(a,b){void 0===b&&(b=new c.Point);var d=a.getMagnitude();return 0!==d&&b.setTo(a.x/d,a.y/d),b},c.Point.rotate=function(a,b,d,e,f,g){if(f&&(e=c.Math.degToRad(e)),void 0===g){a.subtract(b,d);var h=Math.sin(e),i=Math.cos(e),j=i*a.x-h*a.y,k=h*a.x+i*a.y;a.x=j+b,a.y=k+d}else{var l=e+Math.atan2(a.y-d,a.x-b);a.x=b+g*Math.cos(l),a.y=d+g*Math.sin(l)}return a},c.Point.centroid=function(a,b){if(void 0===b&&(b=new c.Point),"[object Array]"!==Object.prototype.toString.call(a))throw new Error("Phaser.Point. Parameter 'points' must be an array");var d=a.length;if(1>d)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===d)return b.copyFrom(a[0]),b;for(var e=0;d>e;e++)c.Point.add(b,a[e],b);return b.divide(d,d),b},c.Point.parse=function(a,b,d){b=b||"x",d=d||"y";var e=new c.Point;return a[b]&&(e.x=parseInt(a[b],10)),a[d]&&(e.y=parseInt(a[d],10)),e},PIXI.Point=c.Point,c.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.type=c.POLYGON},c.Polygon.prototype={toNumberArray:function(a){void 0===a&&(a=[]);for(var b=0;b=h&&j>b||b>=j&&h>b)&&(i-g)*(b-h)/(j-h)+g>a&&(d=!d)}return d},setTo:function(a){if(this.area=0,this._points=[],arguments.length>0){Array.isArray(a)||(a=Array.prototype.slice.call(arguments));for(var b=Number.MAX_VALUE,c=0,d=a.length;d>c;c++){if("number"==typeof a[c]){var e=new PIXI.Point(a[c],a[c+1]);c++}else var e=new PIXI.Point(a[c].x,a[c].y);this._points.push(e),e.yf;f++)b=this._points[f],c=f===g-1?this._points[0]:this._points[f+1],d=(b.y-a+(c.y-a))/2,e=b.x-c.x,this.area+=d*e;return this.area}},c.Polygon.prototype.constructor=c.Polygon,Object.defineProperty(c.Polygon.prototype,"points",{get:function(){return this._points},set:function(a){null!=a?this.setTo(a):this.setTo()}}),PIXI.Polygon=c.Polygon,c.Rectangle=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.RECTANGLE},c.Rectangle.prototype={offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},scale:function(a,b){return void 0===b&&(b=a),this.width*=a,this.height*=b,this},centerOn:function(a,b){return this.centerX=a,this.centerY=b,this},floor:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y)},floorAll:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.width=Math.floor(this.width),this.height=Math.floor(this.height)},ceil:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y)},ceilAll:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.width=Math.ceil(this.width),this.height=Math.ceil(this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},inflate:function(a,b){return c.Rectangle.inflate(this,a,b)},size:function(a){return c.Rectangle.size(this,a)},resize:function(a,b){return this.width=a,this.height=b,this},clone:function(a){return c.Rectangle.clone(this,a)},contains:function(a,b){return c.Rectangle.contains(this,a,b)},containsRect:function(a){return c.Rectangle.containsRect(a,this)},equals:function(a){return c.Rectangle.equals(this,a)},intersection:function(a,b){return c.Rectangle.intersection(this,a,b)},intersects:function(a){return c.Rectangle.intersects(this,a)},intersectsRaw:function(a,b,d,e,f){return c.Rectangle.intersectsRaw(this,a,b,d,e,f)},union:function(a,b){return c.Rectangle.union(this,a,b)},random:function(a){return void 0===a&&(a=new c.Point),a.x=this.randomX,a.y=this.randomY,a},toString:function(){return"[{Rectangle (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+" empty="+this.empty+")}]"}},Object.defineProperty(c.Rectangle.prototype,"halfWidth",{get:function(){return Math.round(this.width/2)}}),Object.defineProperty(c.Rectangle.prototype,"halfHeight",{get:function(){return Math.round(this.height/2)}}),Object.defineProperty(c.Rectangle.prototype,"bottom",{get:function(){return this.y+this.height},set:function(a){a<=this.y?this.height=0:this.height=a-this.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomLeft",{get:function(){return new c.Point(this.x,this.bottom)},set:function(a){this.x=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomRight",{get:function(){return new c.Point(this.right,this.bottom)},set:function(a){this.right=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"left",{get:function(){return this.x},set:function(a){a>=this.right?this.width=0:this.width=this.right-a,this.x=a}}),Object.defineProperty(c.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(a){a<=this.x?this.width=0:this.width=a-this.x}}),Object.defineProperty(c.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(c.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(c.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(a){this.x=a-this.halfWidth}}),Object.defineProperty(c.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(a){this.y=a-this.halfHeight}}),Object.defineProperty(c.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(c.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(c.Rectangle.prototype,"top",{get:function(){return this.y},set:function(a){a>=this.bottom?(this.height=0,this.y=a):this.height=this.bottom-a}}),Object.defineProperty(c.Rectangle.prototype,"topLeft",{get:function(){return new c.Point(this.x,this.y)},set:function(a){this.x=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"topRight",{get:function(){return new c.Point(this.x+this.width,this.y)},set:function(a){this.right=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(a){a===!0&&this.setTo(0,0,0,0)}}),c.Rectangle.prototype.constructor=c.Rectangle,c.Rectangle.inflate=function(a,b,c){return a.x-=b,a.width+=2*b,a.y-=c,a.height+=2*c,a},c.Rectangle.inflatePoint=function(a,b){return c.Rectangle.inflate(a,b.x,b.y)},c.Rectangle.size=function(a,b){return void 0===b||null===b?b=new c.Point(a.width,a.height):b.setTo(a.width,a.height),b},c.Rectangle.clone=function(a,b){return void 0===b||null===b?b=new c.Rectangle(a.x,a.y,a.width,a.height):b.setTo(a.x,a.y,a.width,a.height),b},c.Rectangle.contains=function(a,b,c){return a.width<=0||a.height<=0?!1:b>=a.x&&b=a.y&&c=a&&a+c>e&&f>=b&&b+d>f},c.Rectangle.containsPoint=function(a,b){return c.Rectangle.contains(a,b.x,b.y)},c.Rectangle.containsRect=function(a,b){return a.volume>b.volume?!1:a.x>=b.x&&a.y>=b.y&&a.rightb.right||a.y>b.bottom)},c.Rectangle.intersectsRaw=function(a,b,c,d,e,f){return void 0===f&&(f=0),!(b>a.right+f||ca.bottom+f||ed&&(d=a.x),a.xf&&(f=a.y),a.y=c&&a<=c+this.width){var d=this.y;if(b>=d&&b<=d+this.height)return!0}return!1}},c.RoundedRectangle.prototype.constructor=c.RoundedRectangle,PIXI.RoundedRectangle=c.RoundedRectangle,c.Camera=function(a,b,d,e,f,g){this.game=a,this.world=a.world,this.id=0,this.view=new c.Rectangle(d,e,f,g),this.bounds=new c.Rectangle(d,e,f,g),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this._targetPosition=new c.Point,this._edge=0,this._position=new c.Point},c.Camera.FOLLOW_LOCKON=0,c.Camera.FOLLOW_PLATFORMER=1,c.Camera.FOLLOW_TOPDOWN=2,c.Camera.FOLLOW_TOPDOWN_TIGHT=3,c.Camera.prototype={preUpdate:function(){this.totalInView=0},follow:function(a,b){void 0===b&&(b=c.Camera.FOLLOW_LOCKON),this.target=a;var d;switch(b){case c.Camera.FOLLOW_PLATFORMER:var e=this.width/8,f=this.height/3;this.deadzone=new c.Rectangle((this.width-e)/2,(this.height-f)/2-.25*f,e,f);break;case c.Camera.FOLLOW_TOPDOWN:d=Math.max(this.width,this.height)/4,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_TOPDOWN_TIGHT:d=Math.max(this.width,this.height)/8,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_LOCKON:this.deadzone=null;break;default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(a){this.setPosition(Math.round(a.x-this.view.halfWidth),Math.round(a.y-this.view.halfHeight))},focusOnXY:function(a,b){this.setPosition(Math.round(a-this.view.halfWidth),Math.round(b-this.view.halfHeight))},update:function(){this.target&&this.updateTarget(),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateTarget:function(){this._targetPosition.copyFrom(this.target),this.target.parent&&this._targetPosition.multiply(this.target.parent.worldTransform.a,this.target.parent.worldTransform.d),this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this._targetPosition.x-this.deadzone.right),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this._targetPosition.y-this.deadzone.bottom)):(this.view.x=this._targetPosition.x-this.view.halfWidth,this.view.y=this._targetPosition.y-this.view.halfHeight)},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1,this.view.x<=this.bounds.x&&(this.atLimit.x=!0,this.view.x=this.bounds.x),this.view.right>=this.bounds.right&&(this.atLimit.x=!0,this.view.x=this.bounds.right-this.width),this.view.y<=this.bounds.top&&(this.atLimit.y=!0,this.view.y=this.bounds.top),this.view.bottom>=this.bounds.bottom&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom-this.height)},setPosition:function(a,b){this.view.x=a,this.view.y=b,this.bounds&&this.checkBounds()},setSize:function(a,b){this.view.width=a,this.view.height=b},reset:function(){this.target=null,this.view.x=0,this.view.y=0}},c.Camera.prototype.constructor=c.Camera,Object.defineProperty(c.Camera.prototype,"x",{get:function(){return this.view.x},set:function(a){this.view.x=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"y",{get:function(){return this.view.y},set:function(a){this.view.y=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"position",{get:function(){return this._position.set(this.view.centerX,this.view.centerY),this._position},set:function(a){"undefined"!=typeof a.x&&(this.view.x=a.x),"undefined"!=typeof a.y&&(this.view.y=a.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"width",{get:function(){return this.view.width},set:function(a){this.view.width=a}}),Object.defineProperty(c.Camera.prototype,"height",{get:function(){return this.view.height},set:function(a){this.view.height=a}}),c.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},c.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},c.State.prototype.constructor=c.State,c.StateManager=function(a,b){this.game=a,this.states={},this._pendingState=null,"undefined"!=typeof b&&null!==b&&(this._pendingState=b),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new c.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},c.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(a,b,d){void 0===d&&(d=!1);var e;return b instanceof c.State?e=b:"object"==typeof b?(e=b,e.game=this.game):"function"==typeof b&&(e=new b(this.game)),this.states[a]=e,d&&(this.game.isBooted?this.start(a):this._pendingState=a),e},remove:function(a){this.current===a&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[a]},start:function(a,b,c){void 0===b&&(b=!0),void 0===c&&(c=!1),this.checkState(a)&&(this._pendingState=a,this._clearWorld=b,this._clearCache=c,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!1),this._pendingState=this.current,this._clearWorld=a,this._clearCache=b,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var a=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,a),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache===!0&&this.game.cache.destroy()))},checkState:function(a){if(this.states[a]){var b=!1;return(this.states[a].preload||this.states[a].create||this.states[a].update||this.states[a].render)&&(b=!0),b===!1?(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):!0}return console.warn("Phaser.StateManager - No state found with the key: "+a),!1},link:function(a){this.states[a].game=this.game,this.states[a].add=this.game.add,this.states[a].make=this.game.make,this.states[a].camera=this.game.camera,this.states[a].cache=this.game.cache,this.states[a].input=this.game.input,this.states[a].load=this.game.load,this.states[a].math=this.game.math,this.states[a].sound=this.game.sound,this.states[a].scale=this.game.scale,this.states[a].state=this,this.states[a].stage=this.game.stage,this.states[a].time=this.game.time,this.states[a].tweens=this.game.tweens,this.states[a].world=this.game.world,this.states[a].particles=this.game.particles,this.states[a].rnd=this.game.rnd,this.states[a].physics=this.game.physics,this.states[a].key=a},unlink:function(a){this.states[a]&&(this.states[a].game=null,this.states[a].add=null,this.states[a].make=null,this.states[a].camera=null,this.states[a].cache=null,this.states[a].input=null,this.states[a].load=null,this.states[a].math=null,this.states[a].sound=null,this.states[a].scale=null,this.states[a].state=null,this.states[a].stage=null,this.states[a].time=null,this.states[a].tweens=null,this.states[a].world=null,this.states[a].particles=null,this.states[a].rnd=null,this.states[a].physics=null)},setCurrentState:function(a){this.callbackContext=this.states[a],this.link(a),this.onInitCallback=this.states[a].init||this.dummy,this.onPreloadCallback=this.states[a].preload||null,this.onLoadRenderCallback=this.states[a].loadRender||null,this.onLoadUpdateCallback=this.states[a].loadUpdate||null,this.onCreateCallback=this.states[a].create||null,this.onUpdateCallback=this.states[a].update||null,this.onPreRenderCallback=this.states[a].preRender||null,this.onRenderCallback=this.states[a].render||null,this.onResizeCallback=this.states[a].resize||null,this.onPausedCallback=this.states[a].paused||null,this.onResumedCallback=this.states[a].resumed||null,this.onPauseUpdateCallback=this.states[a].pauseUpdate||null,this.onShutDownCallback=this.states[a].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=a,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),a===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){this._created===!1&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(a){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,a)},resize:function(a,b){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,a,b)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===c.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null, -this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},c.StateManager.prototype.constructor=c.StateManager,Object.defineProperty(c.StateManager.prototype,"created",{get:function(){return this._created}}),c.Signal=function(){},c.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!0,validateListener:function(a,b){if("function"!=typeof a)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",b))},_registerListener:function(a,b,d,e,f){var g,h=this._indexOfListener(a,d);if(-1!==h){if(g=this._bindings[h],g.isOnce()!==b)throw new Error("You cannot add"+(b?"":"Once")+"() then add"+(b?"Once":"")+"() the same listener without removing the relationship first.")}else g=new c.SignalBinding(this,a,b,d,e,f),this._addBinding(g);return this.memorize&&this._prevParams&&g.execute(this._prevParams),g},_addBinding:function(a){this._bindings||(this._bindings=[]);var b=this._bindings.length;do b--;while(this._bindings[b]&&a._priority<=this._bindings[b]._priority);this._bindings.splice(b+1,0,a)},_indexOfListener:function(a,b){if(!this._bindings)return-1;void 0===b&&(b=null);for(var c,d=this._bindings.length;d--;)if(c=this._bindings[d],c._listener===a&&c.context===b)return d;return-1},has:function(a,b){return-1!==this._indexOfListener(a,b)},add:function(a,b,c){this.validateListener(a,"add");var d=[];if(arguments.length>3)for(var e=3;e3)for(var e=3;ea||a>=this.children.length?-1:this.getChildAt(a)},c.Group.prototype.create=function(a,b,c,d,e){void 0===e&&(e=!0);var f=new this.classType(this.game,a,b,c,d);return f.exists=e,f.visible=e,f.alive=e,this.addChild(f),f.z=this.children.length,this.enableBody&&this.game.physics.enable(f,this.physicsBodyType,this.enableBodyDebug),f.events&&f.events.onAddedToGroup$dispatch(f,this),null===this.cursor&&(this.cursor=f),f},c.Group.prototype.createMultiple=function(a,b,c,d){void 0===d&&(d=!1);for(var e=0;a>e;e++)this.create(0,0,b,c,d)},c.Group.prototype.updateZ=function(){for(var a=this.children.length;a--;)this.children[a].z=a},c.Group.prototype.resetCursor=function(a){return void 0===a&&(a=0),a>this.children.length-1&&(a=0),this.cursor?(this.cursorIndex=a,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.next=function(){return this.cursor?(this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.previous=function(){return this.cursor?(0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.swap=function(a,b){this.swapChildren(a,b),this.updateZ()},c.Group.prototype.bringToTop=function(a){return a.parent===this&&this.getIndex(a)0&&(this.remove(a,!1,!0),this.addAt(a,0,!0)),a},c.Group.prototype.moveUp=function(a){if(a.parent===this&&this.getIndex(a)0){var b=this.getIndex(a),c=this.getAt(b-1);c&&this.swap(a,c)}return a},c.Group.prototype.xy=function(a,b,c){return 0>a||a>this.children.length?-1:(this.getChildAt(a).x=b,void(this.getChildAt(a).y=c))},c.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},c.Group.prototype.getIndex=function(a){return this.children.indexOf(a)},c.Group.prototype.replace=function(a,b){var d=this.getIndex(a);return-1!==d?(b.parent&&(b.parent instanceof c.Group?b.parent.remove(b):b.parent.removeChild(b)),this.remove(a),this.addAt(b,d),a):void 0},c.Group.prototype.hasProperty=function(a,b){var c=b.length;return 1===c&&b[0]in a?!0:2===c&&b[0]in a&&b[1]in a[b[0]]?!0:3===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]?!0:4===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]&&b[3]in a[b[0]][b[1]][b[2]]?!0:!1},c.Group.prototype.setProperty=function(a,b,c,d,e){if(void 0===e&&(e=!1),d=d||0,!this.hasProperty(a,b)&&(!e||d>0))return!1;var f=b.length;return 1===f?0===d?a[b[0]]=c:1==d?a[b[0]]+=c:2==d?a[b[0]]-=c:3==d?a[b[0]]*=c:4==d&&(a[b[0]]/=c):2===f?0===d?a[b[0]][b[1]]=c:1==d?a[b[0]][b[1]]+=c:2==d?a[b[0]][b[1]]-=c:3==d?a[b[0]][b[1]]*=c:4==d&&(a[b[0]][b[1]]/=c):3===f?0===d?a[b[0]][b[1]][b[2]]=c:1==d?a[b[0]][b[1]][b[2]]+=c:2==d?a[b[0]][b[1]][b[2]]-=c:3==d?a[b[0]][b[1]][b[2]]*=c:4==d&&(a[b[0]][b[1]][b[2]]/=c):4===f&&(0===d?a[b[0]][b[1]][b[2]][b[3]]=c:1==d?a[b[0]][b[1]][b[2]][b[3]]+=c:2==d?a[b[0]][b[1]][b[2]][b[3]]-=c:3==d?a[b[0]][b[1]][b[2]][b[3]]*=c:4==d&&(a[b[0]][b[1]][b[2]][b[3]]/=c)),!0},c.Group.prototype.checkProperty=function(a,b,d,e){return void 0===e&&(e=!1),!c.Utils.getProperty(a,b)&&e?!1:c.Utils.getProperty(a,b)!==d?!1:!0},c.Group.prototype.set=function(a,b,c,d,e,f,g){return void 0===g&&(g=!1),b=b.split("."),void 0===d&&(d=!1),void 0===e&&(e=!1),(d===!1||d&&a.alive)&&(e===!1||e&&a.visible)?this.setProperty(a,b,c,f,g):void 0},c.Group.prototype.setAll=function(a,b,c,d,e,f){void 0===c&&(c=!1),void 0===d&&(d=!1),void 0===f&&(f=!1),a=a.split("."),e=e||0;for(var g=0;g2){c=[];for(var d=2;d2){e=[];for(var f=2;f2){d=[null];for(var e=2;e2){d=[null];for(var e=2;e2){d=[null];for(var e=2;eb[this._sortProperty]?1:a.zb[this._sortProperty]?-1:0},c.Group.prototype.iterate=function(a,b,d,e,f,g){if(d===c.Group.RETURN_TOTAL&&0===this.children.length)return 0;for(var h=0,i=0;i0?this.children[this.children.length-1]:void 0},c.Group.prototype.getBottom=function(){return this.children.length>0?this.children[0]:void 0},c.Group.prototype.countLiving=function(){return this.iterate("alive",!0,c.Group.RETURN_TOTAL)},c.Group.prototype.countDead=function(){return this.iterate("alive",!1,c.Group.RETURN_TOTAL)},c.Group.prototype.getRandom=function(a,b){return 0===this.children.length?null:(a=a||0,b=b||this.children.length,c.ArrayUtils.getRandomItem(this.children,a,b))},c.Group.prototype.remove=function(a,b,c){if(void 0===b&&(b=!1),void 0===c&&(c=!1),0===this.children.length||-1===this.children.indexOf(a))return!1;c||!a.events||a.destroyPhase||a.events.onRemovedFromGroup$dispatch(a,this);var d=this.removeChild(a);return this.removeFromHash(a),this.updateZ(),this.cursor===a&&this.next(),b&&d&&d.destroy(!0),!0},c.Group.prototype.moveAll=function(a,b){if(void 0===b&&(b=!1),this.children.length>0&&a instanceof c.Group){do a.add(this.children[0],b);while(this.children.length>0);this.hash=[],this.cursor=null}return a},c.Group.prototype.removeAll=function(a,b){if(void 0===a&&(a=!1),void 0===b&&(b=!1),0!==this.children.length){do{!b&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var c=this.removeChild(this.children[0]);this.removeFromHash(c),a&&c&&c.destroy(!0)}while(this.children.length>0);this.hash=[],this.cursor=null}},c.Group.prototype.removeBetween=function(a,b,c,d){if(void 0===b&&(b=this.children.length-1),void 0===c&&(c=!1),void 0===d&&(d=!1),0!==this.children.length){if(a>b||0>a||b>this.children.length)return!1;for(var e=b;e>=a;){!d&&this.children[e].events&&this.children[e].events.onRemovedFromGroup$dispatch(this.children[e],this);var f=this.removeChild(this.children[e]);this.removeFromHash(f),c&&f&&f.destroy(!0),this.cursor===this.children[e]&&(this.cursor=null),e--}this.updateZ()}},c.Group.prototype.destroy=function(a,b){null===this.game||this.ignoreDestroy||(void 0===a&&(a=!0),void 0===b&&(b=!1),this.onDestroy.dispatch(this,a,b),this.removeAll(a),this.cursor=null,this.filters=null,this.pendingDestroy=!1,b||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(c.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,c.Group.RETURN_TOTAL)}}),Object.defineProperty(c.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(c.Group.prototype,"angle",{get:function(){return c.Math.radToDeg(this.rotation)},set:function(a){this.rotation=c.Math.degToRad(a)}}),c.World=function(a){c.Group.call(this,a,null,"__world",!1),this.bounds=new c.Rectangle(0,0,a.width,a.height),this.camera=null,this._definedSize=!1,this._width=a.width,this._height=a.height,this.game.state.onStateChange.add(this.stateChange,this)},c.World.prototype=Object.create(c.Group.prototype),c.World.prototype.constructor=c.World,c.World.prototype.boot=function(){this.camera=new c.Camera(this.game,0,0,0,this.game.width,this.game.height),this.camera.displayObject=this,this.camera.scale=this.scale,this.game.camera=this.camera,this.game.stage.addChild(this)},c.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},c.World.prototype.setBounds=function(a,b,c,d){this._definedSize=!0,this._width=c,this._height=d,this.bounds.setTo(a,b,c,d),this.x=a,this.y=b,this.camera.bounds&&this.camera.bounds.setTo(a,b,Math.max(c,this.game.width),Math.max(d,this.game.height)),this.game.physics.setBoundsToWorld()},c.World.prototype.resize=function(a,b){this._definedSize&&(athis.bounds.right&&(a.x=this.bounds.left)),e&&(a.y+a._currentBounds.heightthis.bounds.bottom&&(a.y=this.bounds.top))):(d&&a.x+bthis.bounds.right&&(a.x=this.bounds.left-b),e&&a.y+bthis.bounds.bottom&&(a.y=this.bounds.top-b))},Object.defineProperty(c.World.prototype,"width",{get:function(){return this.bounds.width},set:function(a){ag;g++)e>g?f.push("color: #ff2424; background: #fff"):f.push("color: #959595; background: #fff");console.log.apply(console,f)}else window.console&&console.log("Phaser v"+a+" | Pixi.js "+PIXI.VERSION+" | "+b+" | "+d+" | http://phaser.io")}},setUpRenderer:function(){if(this.canvas=c.Canvas.create(this,this.width,this.height,this.config.canvasID,!0),this.config.canvasStyle?this.canvas.style=this.config.canvasStyle:this.canvas.style["-webkit-full-screen"]="width: 100%; height: 100%",this.renderType===c.HEADLESS||this.renderType===c.CANVAS||this.renderType===c.AUTO&&!this.device.webGL){if(!this.device.canvas)throw new Error("Phaser.Game - Cannot create Canvas or WebGL context, aborting.");this.renderType=c.CANVAS,this.renderer=new PIXI.CanvasRenderer(this),this.context=this.renderer.context}else this.renderType=c.WEBGL,this.renderer=new PIXI.WebGLRenderer(this),this.context=null,this.canvas.addEventListener("webglcontextlost",this.contextLost.bind(this),!1),this.canvas.addEventListener("webglcontextrestored",this.contextRestored.bind(this),!1);this.device.cocoonJS&&(this.canvas.screencanvas=this.renderType===c.CANVAS?!0:!1),this.renderType!==c.HEADLESS&&(this.stage.smoothed=this.antialias,c.Canvas.addToDOM(this.canvas,this.parent,!1),c.Canvas.setTouchAction(this.canvas))},contextLost:function(a){a.preventDefault(),this.renderer.contextLost=!0},contextRestored:function(){this.renderer.initContext(),this.cache.clearGLTextures(),this.renderer.contextLost=!1},update:function(a){if(this.time.update(a),this._kickstart)return this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),this.updateRender(this.time.slowMotion*this.time.desiredFps),void(this._kickstart=!1);if(this._spiraling>1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var b=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*b,this.time.elapsed),0);var c=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/b),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=b&&(this._deltaTime-=b,this.currentUpdateID=c,this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),c++,!this.forceSingleUpdate||1!==c);)this.time.refresh();c>this._lastCount?this._spiraling++:c=c.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+c.Input.MAX_POINTERS+" pointers reached."),null;var a=this.pointers.length+1,b=new c.Pointer(this.game,a,c.PointerMode.TOUCH);return this.pointers.push(b),this["pointer"+a]=b,b},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(a);if(!this.pointer2.active)return this.pointer2.start(a);for(var b=2;b0;c++){var d=this.pointers[c];d.active&&b--}return a-b},getPointer:function(a){void 0===a&&(a=!1);for(var b=0;b=g&&this._localPoint.x=h&&this._localPoint.y=g&&this._localPoint.x=h&&this._localPoint.yi;i++)if(this.hitTest(a.children[i],b,d))return!0;return!1},onClickTrampoline:function(){this.activePointer.processClickTrampolines()}},c.Input.prototype.constructor=c.Input,Object.defineProperty(c.Input.prototype,"x",{get:function(){return this._x},set:function(a){this._x=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"y",{get:function(){return this._y},set:function(a){this._y=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"pollLocked",{get:function(){return this.pollRate>0&&this._pollCounterthis.game.time.time},justReleased:function(a){return a=a||250,this.isUp&&this.timeUp+a>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},c.DeviceButton.prototype.constructor=c.DeviceButton,Object.defineProperty(c.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),c.Pointer=function(a,b,d){this.game=a,this.id=b,this.type=c.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=d||c.PointerMode.CURSOR|c.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new c.DeviceButton(this,c.Pointer.LEFT_BUTTON),this.middleButton=new c.DeviceButton(this,c.Pointer.MIDDLE_BUTTON),this.rightButton=new c.DeviceButton(this,c.Pointer.RIGHT_BUTTON),this.backButton=new c.DeviceButton(this,c.Pointer.BACK_BUTTON),this.forwardButton=new c.DeviceButton(this,c.Pointer.FORWARD_BUTTON),this.eraserButton=new c.DeviceButton(this,c.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===b,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.active=!1,this.dirty=!1,this.position=new c.Point,this.positionDown=new c.Point,this.positionUp=new c.Point,this.circle=new c.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},c.Pointer.NO_BUTTON=0,c.Pointer.LEFT_BUTTON=1,c.Pointer.RIGHT_BUTTON=2,c.Pointer.MIDDLE_BUTTON=4,c.Pointer.BACK_BUTTON=8,c.Pointer.FORWARD_BUTTON=16,c.Pointer.ERASER_BUTTON=32,c.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(a,b){c.Pointer.LEFT_BUTTON&a&&this.leftButton.start(b),c.Pointer.RIGHT_BUTTON&a&&this.rightButton.start(b),c.Pointer.MIDDLE_BUTTON&a&&this.middleButton.start(b),c.Pointer.BACK_BUTTON&a&&this.backButton.start(b),c.Pointer.FORWARD_BUTTON&a&&this.forwardButton.start(b),c.Pointer.ERASER_BUTTON&a&&this.eraserButton.start(b)},processButtonsUp:function(a,b){a===c.Mouse.LEFT_BUTTON&&this.leftButton.stop(b),a===c.Mouse.RIGHT_BUTTON&&this.rightButton.stop(b),a===c.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(b),a===c.Mouse.BACK_BUTTON&&this.backButton.stop(b),a===c.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(b),5===a&&this.eraserButton.stop(b)},updateButtons:function(a){this.button=a.button;var b="down"===a.type.toLowerCase().substr(-4);void 0!==a.buttons?b?this.processButtonsDown(a.buttons,a):this.processButtonsUp(a.button,a):b?this.leftButton.start(a):(this.leftButton.stop(a),this.rightButton.stop(a)),a.ctrlKey&&this.leftButton.isDown&&this.rightButton.start(a),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(a){var b=this.game.input;return a.pointerId&&(this.pointerId=a.pointerId),this.identifier=a.identifier,this.target=a.target,this.isMouse?this.updateButtons(a):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(a,!0),this.positionDown.setTo(this.x,this.y),(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.x=this.x,b.y=this.y,b.position.setTo(this.x,this.y),b.onDown.dispatch(this,a),b.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var a=this.game.input;this.active&&(this.dirty&&(a.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),this._holdSent===!1&&this.duration>=a.holdRate&&((a.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||a.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||a.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===a.totalActivePointers)&&a.onHold.dispatch(this),this._holdSent=!0),a.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+a.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>a.recordLimit&&this._history.shift()))},move:function(a,b){var d=this.game.input;if(!d.pollLocked){if(void 0===b&&(b=!1),void 0!==a.button&&(this.button=a.button),b&&this.isMouse&&this.updateButtons(a),this.clientX=a.clientX,this.clientY=a.clientY,this.pageX=a.pageX,this.pageY=a.pageY,this.screenX=a.screenX,this.screenY=a.screenY,this.isMouse&&d.mouse.locked&&!b&&(this.rawMovementX=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.rawMovementY=a.movementY||a.mozMovementY||a.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*d.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*d.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(d.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||d.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||d.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===d.totalActivePointers)&&(d.activePointer=this,d.x=this.x,d.y=this.y,d.position.setTo(d.x,d.y),d.circle.x=d.x,d.circle.y=d.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY),this.game.paused)return this;for(var e=d.moveCallbacks.length;e--;)d.moveCallbacks[e].callback.call(d.moveCallbacks[e].context,this,this.x,this.y,b); -return null!==this.targetObject&&this.targetObject.isDragged===!0?this.targetObject.update(this)===!1&&(this.targetObject=null):d.interactiveItems.total>0&&this.processInteractiveObjects(b),this}},processInteractiveObjects:function(a){for(var b=Number.MAX_VALUE,c=-1,d=null,e=this.game.input.interactiveItems.first;e;)e.checked=!1,e.validForInput(c,b,!1)&&(e.checked=!0,(a&&e.checkPointerDown(this,!0)||!a&&e.checkPointerOver(this,!0))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e)),e=this.game.input.interactiveItems.next;for(var e=this.game.input.interactiveItems.first;e;)!e.checked&&e.validForInput(c,b,!0)&&(a&&e.checkPointerDown(this,!1)||!a&&e.checkPointerOver(this,!1))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e),e=this.game.input.interactiveItems.next;return null===d?this.targetObject&&(this.targetObject._pointerOutHandler(this),this.targetObject=null):null===this.targetObject?(this.targetObject=d,d._pointerOverHandler(this)):this.targetObject===d?d.update(this)===!1&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this),this.targetObject=d,this.targetObject._pointerOverHandler(this)),null!==this.targetObject},leave:function(a){this.withinGame=!1,this.move(a,!1)},stop:function(a){var b=this.game.input;return this._stateReset&&this.withinGame?void a.preventDefault():(this.timeUp=this.game.time.time,(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.onUp.dispatch(this,a),this.duration>=0&&this.duration<=b.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(a.pageX,a.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),this.isMouse===!1&&b.currentPointers--,b.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this)},justPressed:function(a){return a=a||this.game.input.justPressedRate,this.isDown===!0&&this.timeDown+a>this.game.time.time},justReleased:function(a){return a=a||this.game.input.justReleasedRate,this.isUp&&this.timeUp+a>this.game.time.time},addClickTrampoline:function(a,b,c,d){if(this.isDown){for(var e=this._clickTrampolines=this._clickTrampolines||[],f=0;fd;d++)this._pointerData[d]={id:d,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1};this.snapOffset=new c.Point,this.enabled=!0,this._wasEnabled=!0}return this.sprite.events.onAddedToGroup.add(this.addedToGroup,this),this.sprite.events.onRemovedFromGroup.add(this.removedFromGroup,this),this.flagged=!1,this.sprite},addedToGroup:function(){this._dragPhase||this._wasEnabled&&!this.enabled&&this.start()},removedFromGroup:function(){this._dragPhase||(this.enabled?(this._wasEnabled=!0,this.stop()):this._wasEnabled=!1)},reset:function(){this.enabled=!1,this.flagged=!1;for(var a=0;10>a;a++)this._pointerData[a]={id:a,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1}},stop:function(){this.enabled!==!1&&(this.enabled=!1,this.game.input.interactiveItems.remove(this))},destroy:function(){this.sprite&&(this._setHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.enabled=!1,this.game.input.interactiveItems.remove(this),this._pointerData.length=0,this.boundsRect=null,this.boundsSprite=null,this.sprite=null)},validForInput:function(a,b,c){return void 0===c&&(c=!0),!this.enabled||0===this.sprite.scale.x||0===this.sprite.scale.y||this.priorityIDa||this.priorityID===a&&this.sprite.renderOrderIDb;b++)if(this._pointerData[b].isOver)return!0},pointerOut:function(a){if(!this.enabled)return!1;if(void 0!==a)return this._pointerData[a].isOut;for(var b=0;10>b;b++)if(this._pointerData[b].isOut)return!0},pointerTimeOver:function(a){return a=a||0,this._pointerData[a].timeOver},pointerTimeOut:function(a){return a=a||0,this._pointerData[a].timeOut},pointerDragged:function(a){return a=a||0,this._pointerData[a].isDragged},checkPointerDown:function(a,b){return a.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectClick?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPointerOver:function(a,b){return this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectOver?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPixel:function(a,b,c){if(this.sprite.texture.baseTexture.source){if(null===a&&null===b){this.game.input.getLocalPosition(this.sprite,c,this._tempPoint);var a=this._tempPoint.x,b=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(a-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(b-=-this.sprite.texture.frame.height*this.sprite.anchor.y),a+=this.sprite.texture.frame.x,b+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(a-=this.sprite.texture.trim.x,b-=this.sprite.texture.trim.y,athis.sprite.texture.crop.right||bthis.sprite.texture.crop.bottom))return this._dx=a,this._dy=b,!1;this._dx=a,this._dy=b,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,a,b,1,1,0,0,1,1);var d=this.game.input.hitContext.getImageData(0,0,1,1);if(d.data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(a){return null!==this.sprite&&void 0!==this.sprite.parent?this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this.draggable&&this._draggedPointerID===a.id?this.updateDrag(a):this._pointerData[a.id].isOver?this.checkPointerOver(a)?(this._pointerData[a.id].x=a.x-this.sprite.x,this._pointerData[a.id].y=a.y-this.sprite.y,!0):(this._pointerOutHandler(a),!1):void 0:(this._pointerOutHandler(a),!1):void 0},_pointerOverHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];(b.isOver===!1||a.dirty)&&(b.isOver=!0,b.isOut=!1,b.timeOver=this.game.time.time,b.x=a.x-this.sprite.x,b.y=a.y-this.sprite.y,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,a))}},_pointerOutHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];b.isOver=!1,b.isOut=!0,b.timeOut=this.game.time.time,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.sprite&&this.sprite.events&&this.sprite.events.onInputOut$dispatch(this.sprite,a)}},_touchedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(!b.isDown&&b.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,a))return;b.isDown=!0,b.isUp=!1,b.timeDown=this.game.time.time,this.sprite&&this.sprite.events&&this.sprite.events.onInputDown$dispatch(this.sprite,a),a.dirty=!0,this.draggable&&this.isDragged===!1&&this.startDrag(a),this.bringToTop&&this.sprite.bringToTop()}return this.consumePointerEvent}},_releasedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(b.isDown&&a.isUp){b.isDown=!1,b.isUp=!0,b.timeUp=this.game.time.time,b.downDuration=b.timeUp-b.timeDown;var c=this.checkPointerOver(a);this.sprite&&this.sprite.events&&(this.sprite.events.onInputUp$dispatch(this.sprite,a,c),c&&(c=this.checkPointerOver(a))),b.isOver=c,!c&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),a.dirty=!0,this.draggable&&this.isDragged&&this._draggedPointerID===a.id&&this.stopDrag(a)}}},updateDrag:function(a){if(a.isUp)return this.stopDrag(a),!1;var b=this.globalToLocalX(a.x)+this._dragPoint.x+this.dragOffset.x,c=this.globalToLocalY(a.y)+this._dragPoint.y+this.dragOffset.y;return this.sprite.fixedToCamera?(this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=b),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=c),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y))):(this.allowHorizontalDrag&&(this.sprite.x=b),this.allowVerticalDrag&&(this.sprite.y=c),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))),this.sprite.events.onDragUpdate.dispatch(this.sprite,a,b,c,this.snapPoint),!0},justOver:function(a,b){return a=a||0,b=b||500,this._pointerData[a].isOver&&this.overDuration(a)a;a++)this._pointerData[a].isDragged=!1;this.draggable=!1,this.isDragged=!1,this._draggedPointerID=-1},startDrag:function(a){var b=this.sprite.x,c=this.sprite.y;if(this.isDragged=!0,this._draggedPointerID=a.id,this._pointerData[a.id].isDragged=!0,this.sprite.fixedToCamera)this.dragFromCenter?(this.sprite.centerOn(a.x,a.y),this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y)):this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y);else{if(this.dragFromCenter){var d=this.sprite.getBounds();this.sprite.x=this.globalToLocalX(a.x)+(this.sprite.x-d.centerX),this.sprite.y=this.globalToLocalY(a.y)+(this.sprite.y-d.centerY)}this._dragPoint.setTo(this.sprite.x-this.globalToLocalX(a.x),this.sprite.y-this.globalToLocalY(a.y))}this.updateDrag(a),this.bringToTop&&(this._dragPhase=!0,this.sprite.bringToTop()),this.dragStartPoint.set(b,c),this.sprite.events.onDragStart$dispatch(this.sprite,a,b,c)},globalToLocalX:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.x,a*=this.game.scale.grid.scaleFluidInversed.x),a},globalToLocalY:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.y,a*=this.game.scale.grid.scaleFluidInversed.y),a},stopDrag:function(a){this.isDragged=!1,this._draggedPointerID=-1,this._pointerData[a.id].isDragged=!1,this._dragPhase=!1,this.snapOnRelease&&(this.sprite.fixedToCamera?(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY):(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY)),this.sprite.events.onDragStop$dispatch(this.sprite,a),this.checkPointerOver(a)===!1&&this._pointerOutHandler(a)},setDragLock:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!0),this.allowHorizontalDrag=a,this.allowVerticalDrag=b},enableSnap:function(a,b,c,d,e,f){void 0===c&&(c=!0),void 0===d&&(d=!1),void 0===e&&(e=0),void 0===f&&(f=0),this.snapX=a,this.snapY=b,this.snapOffsetX=e,this.snapOffsetY=f,this.snapOnDrag=c,this.snapOnRelease=d},disableSnap:function(){this.snapOnDrag=!1,this.snapOnRelease=!1},checkBoundsRect:function(){this.sprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},c.InputHandler.prototype.constructor=c.InputHandler,c.Gamepad=function(a){this.game=a,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!=navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this)]},c.Gamepad.prototype={addCallbacks:function(a,b){"undefined"!=typeof b&&(this.onConnectCallback="function"==typeof b.onConnect?b.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof b.onDisconnect?b.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof b.onDown?b.onDown:this.onDownCallback,this.onUpCallback="function"==typeof b.onUp?b.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof b.onAxis?b.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof b.onFloat?b.onFloat:this.onFloatCallback,this.callbackContext=a)},start:function(){if(!this._active){this._active=!0;var a=this;this._onGamepadConnected=function(b){return a.onGamepadConnected(b)},this._onGamepadDisconnected=function(b){return a.onGamepadDisconnected(b)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(a){var b=a.gamepad;this._rawPads.push(b),this._gamepads[b.index].connect(b)},onGamepadDisconnected:function(a){var b=a.gamepad;for(var c in this._rawPads)this._rawPads[c].index===b.index&&this._rawPads.splice(c,1);this._gamepads[b.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(navigator.getGamepads)var a=navigator.getGamepads();else if(navigator.webkitGetGamepads)var a=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var a=navigator.webkitGamepads();if(a){this._rawPads=[];for(var b=!1,c=0;c0&&d>this.deadZone||0>d&&d<-this.deadZone?this.processAxisChange(c,d):this.processAxisChange(c,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(a){var b=!this.connected;this.connected=!0,this.index=a.index,this._rawPad=a,this._buttons=[],this._buttonsLen=a.buttons.length,this._axes=[],this._axesLen=a.axes.length;for(var d=0;dthis.maxHealth&&(this.health=this.maxHealth)),this}},c.Component.InCamera=function(){},c.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},c.Component.InputEnabled=function(){},c.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(a){a?null===this.input?(this.input=new c.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},c.Component.InWorld=function(){},c.Component.InWorld.preUpdate=function(){if((this.autoCull||this.checkWorldBounds)&&(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull&&(this.game.world.camera.view.intersects(this._bounds)?(this.renderable=!0,this.game.world.camera.totalInView++):this.renderable=!1),this.checkWorldBounds))if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1;return!0},c.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},c.Component.LifeSpan=function(){},c.Component.LifeSpan.preUpdate=function(){return this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0)?(this.kill(),!1):!0},c.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(a){return void 0===a&&(a=1),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.heal&&this.heal(a),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},c.Component.LoadTexture=function(){},c.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(a,b,d){b=b||0,(d||void 0===d)&&this.animations&&this.animations.stop(),this.key=a,this.customRender=!1;var e=this.game.cache,f=!0,g=!this.texture.baseTexture.scaleMode;if(c.RenderTexture&&a instanceof c.RenderTexture)this.key=a.key,this.setTexture(a);else if(c.BitmapData&&a instanceof c.BitmapData)this.customRender=!0,this.setTexture(a.texture),e.hasFrameData(a.key,c.Cache.BITMAPDATA)&&(f=!this.animations.loadFrameData(e.getFrameData(a.key,c.Cache.BITMAPDATA),b));else if(c.Video&&a instanceof c.Video){this.customRender=!0;var h=a.texture.valid;this.setTexture(a.texture),this.setFrame(a.texture.frame.clone()),a.onChangeSource.add(this.resizeFrame,this),this.texture.valid=h}else if(a instanceof PIXI.Texture)this.setTexture(a);else{var i=e.getImage(a,!0);this.key=i.key,this.setTexture(new PIXI.Texture(i.base)),f=!this.animations.loadFrameData(i.frameData,b)}f&&(this._frame=c.Rectangle.clone(this.texture.frame)),g||(this.texture.baseTexture.scaleMode=1)},setFrame:function(a){this._frame=a,this.texture.frame.x=a.x,this.texture.frame.y=a.y,this.texture.frame.width=a.width,this.texture.frame.height=a.height,this.texture.crop.x=a.x,this.texture.crop.y=a.y,this.texture.crop.width=a.width,this.texture.crop.height=a.height,a.trimmed?(this.texture.trim?(this.texture.trim.x=a.spriteSourceSizeX,this.texture.trim.y=a.spriteSourceSizeY,this.texture.trim.width=a.sourceSizeW,this.texture.trim.height=a.sourceSizeH):this.texture.trim={x:a.spriteSourceSizeX,y:a.spriteSourceSizeY,width:a.sourceSizeW,height:a.sourceSizeH},this.texture.width=a.sourceSizeW,this.texture.height=a.sourceSizeH,this.texture.frame.width=a.sourceSizeW,this.texture.frame.height=a.sourceSizeH):!a.trimmed&&this.texture.trim&&(this.texture.trim=null),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(a,b,c){this.texture.frame.resize(b,c),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(a){this.animations.frame=a}},frameName:{get:function(){return this.animations.frameName},set:function(a){this.animations.frameName=a}}},c.Component.Overlap=function(){},c.Component.Overlap.prototype={overlap:function(a){return c.Rectangle.intersects(this.getBounds(),a.getBounds())}},c.Component.PhysicsBody=function(){},c.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this._exists&&this.parent.exists?!0:(this.renderOrderID=-1,!1))},c.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},c.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(a){this.position.x=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(a){this.position.y=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},c.Component.Reset=function(){},c.Component.Reset.prototype.reset=function(a,b,c){return void 0===c&&(c=1),this.world.set(a,b),this.position.set(a,b),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=c),this.components.PhysicsBody&&this.body&&this.body.reset(a,b,!1,!1),this},c.Component.ScaleMinMax=function(){},c.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(a){this.scaleMin&&(a.athis.scaleMax.x&&(a.a=this.scaleMax.x),a.d>this.scaleMax.y&&(a.d=this.scaleMax.y))},setScaleMinMax:function(a,b,d,e){void 0===b?b=d=e=a:void 0===d&&(d=e=b,b=a),null===a?this.scaleMin=null:this.scaleMin?this.scaleMin.set(a,b):this.scaleMin=new c.Point(a,b),null===d?this.scaleMax=null:this.scaleMax?this.scaleMax.set(d,e):this.scaleMax=new c.Point(d,e),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},c.Component.Smoothed=function(){},c.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(a){a?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},c.GameObjectFactory=function(a){this.game=a,this.world=this.game.world},c.GameObjectFactory.prototype={existing:function(a){return this.world.add(a)},image:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Image(this.game,a,b,d,e))},sprite:function(a,b,c,d,e){return void 0===e&&(e=this.world),e.create(a,b,c,d)},creature:function(a,b,d,e,f){void 0===f&&(f=this.world);var g=new c.Creature(this.game,a,b,d,e);return f.add(g),g},tween:function(a){return this.game.tweens.create(a)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},physicsGroup:function(a,b,d,e){return new c.Group(this.game,b,d,e,!0,a)},spriteBatch:function(a,b,d){return void 0===a&&(a=null),void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},tileSprite:function(a,b,d,e,f,g,h){return void 0===h&&(h=this.world),h.add(new c.TileSprite(this.game,a,b,d,e,f,g))},rope:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.Rope(this.game,a,b,d,e,f))},text:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Text(this.game,a,b,d,e))},button:function(a,b,d,e,f,g,h,i,j,k){return void 0===k&&(k=this.world),k.add(new c.Button(this.game,a,b,d,e,f,g,h,i,j))},graphics:function(a,b,d){return void 0===d&&(d=this.world),d.add(new c.Graphics(this.game,a,b))},emitter:function(a,b,d){return this.game.particles.add(new c.Particles.Arcade.Emitter(this.game,a,b,d))},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.BitmapText(this.game,a,b,d,e,f))},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},video:function(a,b){return new c.Video(this.game,a,b)},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a},plugin:function(a){return this.game.plugins.add(a)}},c.GameObjectFactory.prototype.constructor=c.GameObjectFactory,c.GameObjectCreator=function(a){this.game=a,this.world=this.game.world},c.GameObjectCreator.prototype={image:function(a,b,d,e){return new c.Image(this.game,a,b,d,e)},sprite:function(a,b,d,e){return new c.Sprite(this.game,a,b,d,e)},tween:function(a){return new c.Tween(a,this.game,this.game.tweens)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},spriteBatch:function(a,b,d){return void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},tileSprite:function(a,b,d,e,f,g){return new c.TileSprite(this.game,a,b,d,e,f,g)},rope:function(a,b,d,e,f){return new c.Rope(this.game,a,b,d,e,f)},text:function(a,b,d,e){return new c.Text(this.game,a,b,d,e)},button:function(a,b,d,e,f,g,h,i,j){return new c.Button(this.game,a,b,d,e,f,g,h,i,j)},graphics:function(a,b){return new c.Graphics(this.game,a,b)},emitter:function(a,b,d){return new c.Particles.Arcade.Emitter(this.game,a,b,d)},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return new c.BitmapText(this.game,a,b,d,e,f,g)},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a}},c.GameObjectCreator.prototype.constructor=c.GameObjectCreator,c.Sprite=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.SPRITE,this.physicsType=c.SPRITE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Sprite.prototype=Object.create(PIXI.Sprite.prototype),c.Sprite.prototype.constructor=c.Sprite,c.Component.Core.install.call(c.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Sprite.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Sprite.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Sprite.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Sprite.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Sprite.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Image=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.IMAGE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Image.prototype=Object.create(PIXI.Sprite.prototype),c.Image.prototype.constructor=c.Image,c.Component.Core.install.call(c.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","Smoothed"]),c.Image.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Image.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Image.prototype.preUpdate=function(){return this.preUpdateInWorld()?this.preUpdateCore():!1},c.Button=function(a,b,d,e,f,g,h,i,j,k){b=b||0,d=d||0,e=e||null,f=f||null,g=g||this,c.Image.call(this,a,b,d,e,i),this.type=c.BUTTON,this.physicsType=c.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new c.Signal,this.onInputOut=new c.Signal,this.onInputDown=new c.Signal,this.onInputUp=new c.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=c.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(h,i,j,k),null!==f&&this.onInputUp.add(f,g),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},c.Button.prototype=Object.create(c.Image.prototype),c.Button.prototype.constructor=c.Button;var g="Over",h="Out",i="Down",j="Up";c.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},c.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},c.Button.prototype.setStateFrame=function(a,b,c){var d="_on"+a+"Frame";null!==b?(this[d]=b,c&&this.changeStateFrame(a)):this[d]=null},c.Button.prototype.changeStateFrame=function(a){if(this.freezeFrames)return!1;var b="_on"+a+"Frame",c=this[b];return"string"==typeof c?(this.frameName=c,!0):"number"==typeof c?(this.frame=c,!0):!1},c.Button.prototype.setFrames=function(a,b,c,d){this.setStateFrame(g,a,this.input.pointerOver()),this.setStateFrame(h,b,!this.input.pointerOver()),this.setStateFrame(i,c,this.input.pointerDown()),this.setStateFrame(j,d,this.input.pointerUp())},c.Button.prototype.setStateSound=function(a,b,d){var e="on"+a+"Sound",f="on"+a+"SoundMarker";b instanceof c.Sound||b instanceof c.AudioSprite?(this[e]=b, -this[f]="string"==typeof d?d:""):(this[e]=null,this[f]="")},c.Button.prototype.playStateSound=function(a){var b="on"+a+"Sound",c=this[b];if(c){var d="on"+a+"SoundMarker",e=this[d];return c.play(e),!0}return!1},c.Button.prototype.setSounds=function(a,b,c,d,e,f,k,l){this.setStateSound(g,a,b),this.setStateSound(h,e,f),this.setStateSound(i,c,d),this.setStateSound(j,k,l)},c.Button.prototype.setOverSound=function(a,b){this.setStateSound(g,a,b)},c.Button.prototype.setOutSound=function(a,b){this.setStateSound(h,a,b)},c.Button.prototype.setDownSound=function(a,b){this.setStateSound(i,a,b)},c.Button.prototype.setUpSound=function(a,b){this.setStateSound(j,a,b)},c.Button.prototype.onInputOverHandler=function(a,b){b.justReleased()&&(this.justReleasedPreventsOver&b.pointerMode)===b.pointerMode||(this.changeStateFrame(g),(!this.onOverMouseOnly||b.isMouse)&&(this.playStateSound(g),this.onInputOver&&this.onInputOver.dispatch(this,b)))},c.Button.prototype.onInputOutHandler=function(a,b){this.changeStateFrame(h),this.playStateSound(h),this.onInputOut&&this.onInputOut.dispatch(this,b)},c.Button.prototype.onInputDownHandler=function(a,b){this.changeStateFrame(i),this.playStateSound(i),this.onInputDown&&this.onInputDown.dispatch(this,b)},c.Button.prototype.onInputUpHandler=function(a,b,c){if(this.playStateSound(j),this.onInputUp&&this.onInputUp.dispatch(this,b,c),!this.freezeFrames)if(this.forceOut===!0||(this.forceOut&b.pointerMode)===b.pointerMode)this.changeStateFrame(h);else{var d=this.changeStateFrame(j);d||(c?this.changeStateFrame(g):this.changeStateFrame(h))}},c.SpriteBatch=function(a,b,d,e){(void 0===b||null===b)&&(b=a.world),PIXI.SpriteBatch.call(this),c.Group.call(this,a,b,d,e),this.type=c.SPRITEBATCH},c.SpriteBatch.prototype=c.Utils.extend(!0,c.SpriteBatch.prototype,c.Group.prototype,PIXI.SpriteBatch.prototype),c.SpriteBatch.prototype.constructor=c.SpriteBatch,c.BitmapData=function(a,b,d,e){(void 0===d||0===d)&&(d=256),(void 0===e||0===e)&&(e=256),this.game=a,this.key=b,this.width=d,this.height=e,this.canvas=PIXI.CanvasPool.create(this,d,e),this.context=this.canvas.getContext("2d",{alpha:!0}),this.ctx=this.context,this.imageData=this.context.getImageData(0,0,d,e),this.data=null,this.imageData&&(this.data=this.imageData.data),this.pixels=null,this.data&&(this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data),this.baseTexture=new PIXI.BaseTexture(this.canvas),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,d,e,"bitmapData"),this.texture.frame=this.textureFrame,this.type=c.BITMAPDATA,this.disableTextureUpload=!1,this.dirty=!1,this.cls=this.clear,this._image=null,this._pos=new c.Point,this._size=new c.Point,this._scale=new c.Point,this._rotate=0,this._alpha={prev:1,current:1},this._anchor=new c.Point,this._tempR=0,this._tempG=0,this._tempB=0,this._circle=new c.Circle,this._swapCanvas=PIXI.CanvasPool.create(this,d,e)},c.BitmapData.prototype={move:function(a,b,c){return 0!==a&&this.moveH(a,c),0!==b&&this.moveV(b,c),this},moveH:function(a,b){void 0===b&&(b=!0);var c=this._swapCanvas,d=c.getContext("2d"),e=this.height,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),0>a){a=Math.abs(a);var g=this.width-a;b&&d.drawImage(f,0,0,a,e,g,0,a,e),d.drawImage(f,a,0,g,e,0,0,g,e)}else{var g=this.width-a;b&&d.drawImage(f,g,0,a,e,0,0,a,e),d.drawImage(f,0,0,g,e,a,0,g,e)}return this.clear(),this.copy(this._swapCanvas)},moveV:function(a,b){void 0===b&&(b=!0);var c=this._swapCanvas,d=c.getContext("2d"),e=this.width,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),0>a){a=Math.abs(a);var g=this.height-a;b&&d.drawImage(f,0,0,e,a,0,g,e,a),d.drawImage(f,0,a,e,g,0,0,e,g)}else{var g=this.height-a;b&&d.drawImage(f,0,g,e,a,0,0,e,a),d.drawImage(f,0,0,e,g,0,a,e,g)}return this.clear(),this.copy(this._swapCanvas)},add:function(a){if(Array.isArray(a))for(var b=0;bm;m++)for(var n=d;h>n;n++)c.Color.unpackPixel(this.getPixel32(n,m),j),k=a.call(b,j,n,m),k!==!1&&null!==k&&void 0!==k&&(this.setPixel32(n,m,k.r,k.g,k.b,k.a,!1),l=!0);return l&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},processPixel:function(a,b,c,d,e,f){void 0===c&&(c=0),void 0===d&&(d=0),void 0===e&&(e=this.width),void 0===f&&(f=this.height);for(var g=c+e,h=d+f,i=0,j=0,k=!1,l=d;h>l;l++)for(var m=c;g>m;m++)i=this.getPixel32(m,l),j=a.call(b,i,m,l),j!==i&&(this.pixels[l*this.width+m]=j,k=!0);return k&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},replaceRGB:function(a,b,d,e,f,g,h,i,j){var k=0,l=0,m=this.width,n=this.height,o=c.Color.packPixel(a,b,d,e);void 0!==j&&j instanceof c.Rectangle&&(k=j.x,l=j.y,m=j.width,n=j.height);for(var p=0;n>p;p++)for(var q=0;m>q;q++)this.getPixel32(k+q,l+p)===o&&this.setPixel32(k+q,l+p,f,g,h,i,!1);return this.context.putImageData(this.imageData,0,0),this.dirty=!0,this},setHSL:function(a,b,d,e){if((void 0===a||null===a)&&(a=!1),(void 0===b||null===b)&&(b=!1),(void 0===d||null===d)&&(d=!1),a||b||d){void 0===e&&(e=new c.Rectangle(0,0,this.width,this.height));for(var f=c.Color.createColor(),g=e.y;g=0&&a<=this.width&&b>=0&&b<=this.height&&(c.Device.LITTLE_ENDIAN?this.pixels[b*this.width+a]=g<<24|f<<16|e<<8|d:this.pixels[b*this.width+a]=d<<24|e<<16|f<<8|g,h&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(a,b,c,d,e,f){return this.setPixel32(a,b,c,d,e,255,f)},getPixel:function(a,b,d){d||(d=c.Color.createColor());var e=~~(a+b*this.width);return e*=4,d.r=this.data[e],d.g=this.data[++e],d.b=this.data[++e],d.a=this.data[++e],d},getPixel32:function(a,b){return a>=0&&a<=this.width&&b>=0&&b<=this.height?this.pixels[b*this.width+a]:void 0},getPixelRGB:function(a,b,d,e,f){return c.Color.unpackPixel(this.getPixel32(a,b),d,e,f)},getPixels:function(a){return this.context.getImageData(a.x,a.y,a.width,a.height)},getFirstPixel:function(a){void 0===a&&(a=0);var b=c.Color.createColor(),d=0,e=0,f=1,g=!1;1===a?(f=-1,e=this.height):3===a&&(f=-1,d=this.width);do c.Color.unpackPixel(this.getPixel32(d,e),b),0===a||1===a?(d++,d===this.width&&(d=0,e+=f,(e>=this.height||0>=e)&&(g=!0))):(2===a||3===a)&&(e++,e===this.height&&(e=0,d+=f,(d>=this.width||0>=d)&&(g=!0)));while(0===b.a&&!g);return b.x=d,b.y=e,b},getBounds:function(a){return void 0===a&&(a=new c.Rectangle),a.x=this.getFirstPixel(2).x,a.x===this.width?a.setTo(0,0,0,0):(a.y=this.getFirstPixel(0).y,a.width=this.getFirstPixel(3).x-a.x+1,a.height=this.getFirstPixel(1).y-a.y+1,a)},addToWorld:function(a,b,c,d,e,f){e=e||1,f=f||1;var g=this.game.add.image(a,b,this);return g.anchor.set(c,d),g.scale.set(e,f),g},copy:function(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){if((void 0===a||null===a)&&(a=this),this._image=a,a instanceof c.Sprite||a instanceof c.Image||a instanceof c.Text||a instanceof PIXI.Sprite)this._pos.set(a.texture.crop.x,a.texture.crop.y),this._size.set(a.texture.crop.width,a.texture.crop.height),this._scale.set(a.scale.x,a.scale.y),this._anchor.set(a.anchor.x,a.anchor.y),this._rotate=a.rotation,this._alpha.current=a.alpha,this._image=a.texture.baseTexture.source,(void 0===g||null===g)&&(g=a.x),(void 0===h||null===h)&&(h=a.y),a.texture.trim&&(g+=a.texture.trim.x-a.anchor.x*a.texture.trim.width,h+=a.texture.trim.y-a.anchor.y*a.texture.trim.height),16777215!==a.tint&&(a.cachedTint!==a.tint&&(a.cachedTint=a.tint,a.tintedTexture=PIXI.CanvasTinter.getTintedTexture(a,a.tint)),this._image=a.tintedTexture);else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,a instanceof c.BitmapData)this._image=a.canvas;else if("string"==typeof a){if(a=this.game.cache.getImage(a),null===a)return;this._image=a}this._size.set(this._image.width,this._image.height)}if((void 0===b||null===b)&&(b=0),(void 0===d||null===d)&&(d=0),e&&(this._size.x=e),f&&(this._size.y=f),(void 0===g||null===g)&&(g=b),(void 0===h||null===h)&&(h=d),(void 0===i||null===i)&&(i=this._size.x),(void 0===j||null===j)&&(j=this._size.y),"number"==typeof k&&(this._rotate=k),"number"==typeof l&&(this._anchor.x=l),"number"==typeof m&&(this._anchor.y=m),"number"==typeof n&&(this._scale.x=n),"number"==typeof o&&(this._scale.y=o),"number"==typeof p&&(this._alpha.current=p),void 0===q&&(q=null),void 0===r&&(r=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var s=this.context;return this._alpha.prev=s.globalAlpha,s.save(),s.globalAlpha=this._alpha.current,q&&(this.op=q),r&&(g|=0,h|=0),s.translate(g,h),s.scale(this._scale.x,this._scale.y),s.rotate(this._rotate),s.drawImage(this._image,this._pos.x+b,this._pos.y+d,this._size.x,this._size.y,-i*this._anchor.x,-j*this._anchor.y,i,j),s.restore(),s.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyRect:function(a,b,c,d,e,f,g){return this.copy(a,b.x,b.y,b.width,b.height,c,d,b.width,b.height,0,0,0,1,1,e,f,g)},draw:function(a,b,c,d,e,f,g){return this.copy(a,null,null,null,null,b,c,d,e,null,null,null,null,null,null,f,g)},drawGroup:function(a,b,c){return a.total>0&&a.forEachExists(this.copy,this,null,null,null,null,null,null,null,null,null,null,null,null,null,null,b,c),this},drawFull:function(a,b,d){if(a.worldVisible===!1||0===a.worldAlpha||a.hasOwnProperty("exists")&&a.exists===!1)return this;if(a.type!==c.GROUP&&a.type!==c.EMITTER&&a.type!==c.BITMAPTEXT)if(a.type===c.GRAPHICS){var e=a.getBounds();this.ctx.save(),this.ctx.translate(e.x,e.y),PIXI.CanvasGraphics.renderGraphics(a,this.ctx),this.ctx.restore()}else this.copy(a,null,null,null,null,a.worldPosition.x,a.worldPosition.y,null,null,a.worldRotation,null,null,a.worldScale.x,a.worldScale.y,a.worldAlpha,b,d);if(a.children)for(var f=0;fb.width&&(e=b.width);var f=this.context;return f.fillStyle=f.createPattern(b,d),this._circle=new c.Circle(a.start.x,a.start.y,b.height),this._circle.circumferencePoint(a.angle-1.5707963267948966,!1,this._pos),f.save(),f.translate(this._pos.x,this._pos.y),f.rotate(a.angle),f.fillRect(0,0,e,b.height),f.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){PIXI.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this}},Object.defineProperty(c.BitmapData.prototype,"smoothed",{get:function(){c.Canvas.getSmoothingEnabled(this.context)},set:function(a){c.Canvas.setSmoothingEnabled(this.context,a)}}),Object.defineProperty(c.BitmapData.prototype,"op",{get:function(){return this.context.globalCompositeOperation},set:function(a){this.context.globalCompositeOperation=a}}),c.BitmapData.getTransform=function(a,b,c,d,e,f){return"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),"number"!=typeof c&&(c=1),"number"!=typeof d&&(d=1),"number"!=typeof e&&(e=0),"number"!=typeof f&&(f=0),{sx:c,sy:d,scaleX:c,scaleY:d,skewX:e,skewY:f,translateX:a,translateY:b,tx:a,ty:b}},c.BitmapData.prototype.constructor=c.BitmapData,PIXI.Graphics=function(){PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new PIXI.Rectangle(0,0,1,1),this.dirty=!0,this.webGLDirty=!1,this.cachedSpriteDirty=!1},PIXI.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),PIXI.Graphics.prototype.constructor=PIXI.Graphics,PIXI.Graphics.prototype.lineStyle=function(a,b,c){return this.lineWidth=a||0,this.lineColor=b||0,this.lineAlpha=void 0===c?1:c,this.currentPath&&(this.currentPath.shape.points.length?this.drawShape(new PIXI.Polygon(this.currentPath.shape.points.slice(-2))):(this.currentPath.lineWidth=this.lineWidth,this.currentPath.lineColor=this.lineColor,this.currentPath.lineAlpha=this.lineAlpha)),this},PIXI.Graphics.prototype.moveTo=function(a,b){return this.drawShape(new PIXI.Polygon([a,b])),this},PIXI.Graphics.prototype.lineTo=function(a,b){return this.currentPath||this.moveTo(0,0),this.currentPath.shape.points.push(a,b),this.dirty=!0,this},PIXI.Graphics.prototype.quadraticCurveTo=function(a,b,c,d){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);var e,f,g=20,h=this.currentPath.shape.points;0===h.length&&this.moveTo(0,0);for(var i=h[h.length-2],j=h[h.length-1],k=0,l=1;g>=l;++l)k=l/g,e=i+(a-i)*k,f=j+(b-j)*k,h.push(e+(a+(c-a)*k-e)*k,f+(b+(d-b)*k-f)*k);return this.dirty=!0,this},PIXI.Graphics.prototype.bezierCurveTo=function(a,b,c,d,e,f){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);for(var g,h,i,j,k,l=20,m=this.currentPath.shape.points,n=m[m.length-2],o=m[m.length-1],p=0,q=1;l>=q;++q)p=q/l,g=1-p,h=g*g,i=h*g,j=p*p,k=j*p,m.push(i*n+3*h*p*a+3*g*j*c+k*e,i*o+3*h*p*b+3*g*j*d+k*f);return this.dirty=!0,this},PIXI.Graphics.prototype.arcTo=function(a,b,c,d,e){this.currentPath?0===this.currentPath.shape.points.length&&this.currentPath.shape.points.push(a,b):this.moveTo(a,b);var f=this.currentPath.shape.points,g=f[f.length-2],h=f[f.length-1],i=h-b,j=g-a,k=d-b,l=c-a,m=Math.abs(i*l-j*k);if(1e-8>m||0===e)(f[f.length-2]!==a||f[f.length-1]!==b)&&f.push(a,b);else{var n=i*i+j*j,o=k*k+l*l,p=i*k+j*l,q=e*Math.sqrt(n)/m,r=e*Math.sqrt(o)/m,s=q*p/n,t=r*p/o,u=q*l+r*j,v=q*k+r*i,w=j*(r+s),x=i*(r+s),y=l*(q+t),z=k*(q+t),A=Math.atan2(x-v,w-u),B=Math.atan2(z-v,y-u);this.arc(u+a,v+b,e,A,B,j*k>l*i)}return this.dirty=!0,this},PIXI.Graphics.prototype.arc=function(a,b,c,d,e,f){if(d===e)return this;void 0===f&&(f=!1),!f&&d>=e?e+=2*Math.PI:f&&e>=d&&(d+=2*Math.PI);var g=f?-1*(d-e):e-d,h=40*Math.ceil(Math.abs(g)/(2*Math.PI));if(0===g)return this;var i=a+Math.cos(d)*c,j=b+Math.sin(d)*c;f&&this.filling?this.moveTo(a,b):this.moveTo(i,j);for(var k=this.currentPath.shape.points,l=g/(2*h),m=2*l,n=Math.cos(l),o=Math.sin(l),p=h-1,q=p%1/p,r=0;p>=r;r++){var s=r+q*r,t=l+d+m*s,u=Math.cos(t),v=-Math.sin(t);k.push((n*u+o*v)*c+a,(n*-v+o*u)*c+b)}return this.dirty=!0,this},PIXI.Graphics.prototype.beginFill=function(a,b){return this.filling=!0,this.fillColor=a||0,this.fillAlpha=void 0===b?1:b,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},PIXI.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},PIXI.Graphics.prototype.drawRect=function(a,b,c,d){return this.drawShape(new PIXI.Rectangle(a,b,c,d)),this},PIXI.Graphics.prototype.drawRoundedRect=function(a,b,c,d,e){return this.drawShape(new PIXI.RoundedRectangle(a,b,c,d,e)),this},PIXI.Graphics.prototype.drawCircle=function(a,b,c){return this.drawShape(new PIXI.Circle(a,b,c)),this},PIXI.Graphics.prototype.drawEllipse=function(a,b,c,d){return this.drawShape(new PIXI.Ellipse(a,b,c,d)),this},PIXI.Graphics.prototype.drawPolygon=function(a){(a instanceof c.Polygon||a instanceof PIXI.Polygon)&&(a=a.points);var b=a;if(!Array.isArray(b)){b=new Array(arguments.length);for(var d=0;dp?p:x,x=x>r?r:x,x=x>t?t:x,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w,this._bounds.x=x,this._bounds.width=v-x,this._bounds.y=y,this._bounds.height=w-y,this._currentBounds=this._bounds}return this._currentBounds},PIXI.Graphics.prototype.containsPoint=function(a){this.worldTransform.applyInverse(a,tempPoint);for(var b=this.graphicsData,c=0;ch?h:a,b=h+j>b?h+j:b,d=d>i?i:d,e=i+k>e?i+k:e;else if(n===PIXI.Graphics.CIRC)h=f.x,i=f.y,j=f.radius+o/2,k=f.radius+o/2,a=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?i+k:e;else if(n===PIXI.Graphics.ELIP)h=f.x,i=f.y,j=f.width+o/2,k=f.height+o/2,a=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?i+k:e;else{g=f.points;for(var p=0;ph-o?h-o:a,b=h+o>b?h+o:b,d=d>i-o?i-o:d,e=i+o>e?i+o:e}}else a=0,b=0,d=0,e=0;var q=this.boundsPadding;this._localBounds.x=a-q,this._localBounds.width=b-a+2*q,this._localBounds.y=d-q,this._localBounds.height=e-d+2*q},PIXI.Graphics.prototype._generateCachedSprite=function(){var a=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(a.width,a.height);else{var b=new PIXI.CanvasBuffer(a.width,a.height),c=PIXI.Texture.fromCanvas(b.canvas);this._cachedSprite=new PIXI.Sprite(c),this._cachedSprite.buffer=b,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-(a.x/a.width),this._cachedSprite.anchor.y=-(a.y/a.height),this._cachedSprite.buffer.context.translate(-a.x,-a.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},PIXI.Graphics.prototype.updateCachedSpriteTexture=function(){var a=this._cachedSprite,b=a.texture,c=a.buffer.canvas;b.baseTexture.width=c.width,b.baseTexture.height=c.height,b.crop.width=b.frame.width=c.width,b.crop.height=b.frame.height=c.height,a._width=c.width,a._height=c.height,b.baseTexture.dirty()},PIXI.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},PIXI.Graphics.prototype.drawShape=function(a){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,a instanceof c.Polygon&&(a=a.clone(),a.flatten());var b=new PIXI.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,a);return this.graphicsData.push(b),b.type===PIXI.Graphics.POLY&&(b.shape.closed=this.filling,this.currentPath=b),this.dirty=!0,b},Object.defineProperty(PIXI.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(a){this._cacheAsBitmap=a,this._cacheAsBitmap?this._generateCachedSprite():(this.destroyCachedSprite(),this.dirty=!0)}}),PIXI.GraphicsData=function(a,b,c,d,e,f,g){this.lineWidth=a,this.lineColor=b,this.lineAlpha=c,this._lineTint=b,this.fillColor=d,this.fillAlpha=e,this._fillTint=d,this.fill=f,this.shape=g,this.type=g.type},PIXI.GraphicsData.prototype.constructor=PIXI.GraphicsData,PIXI.GraphicsData.prototype.clone=function(){return new GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},PIXI.PolyK={},PIXI.PolyK.Triangulate=function(a){var b=!0,c=a.length>>1;if(3>c)return[];for(var d=[],e=[],f=0;c>f;f++)e.push(f);f=0;for(var g=c;g>3;){var h=e[(f+0)%g],i=e[(f+1)%g],j=e[(f+2)%g],k=a[2*h],l=a[2*h+1],m=a[2*i],n=a[2*i+1],o=a[2*j],p=a[2*j+1],q=!1;if(PIXI.PolyK._convex(k,l,m,n,o,p,b)){q=!0;for(var r=0;g>r;r++){var s=e[r];if(s!==h&&s!==i&&s!==j&&PIXI.PolyK._PointInTriangle(a[2*s],a[2*s+1],k,l,m,n,o,p)){q=!1;break}}}if(q)d.push(h,i,j),e.splice((f+1)%g,1),g--,f=0;else if(f++>3*g){if(!b)return null;for(d=[],e=[],f=0;c>f;f++)e.push(f);f=0,g=c,b=!1}}return d.push(e[0],e[1],e[2]),d},PIXI.PolyK._PointInTriangle=function(a,b,c,d,e,f,g,h){var i=g-c,j=h-d,k=e-c,l=f-d,m=a-c,n=b-d,o=i*i+j*j,p=i*k+j*l,q=i*m+j*n,r=k*k+l*l,s=k*m+l*n,t=1/(o*r-p*p),u=(r*q-p*s)*t,v=(o*s-p*q)*t;return u>=0&&v>=0&&1>u+v},PIXI.PolyK._convex=function(a,b,c,d,e,f,g){return(b-d)*(e-c)+(c-a)*(f-d)>=0===g},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.renderGraphics=function(a,b){var c,d=b.gl,e=b.projection,f=b.offset,g=b.shaderManager.primitiveShader;a.dirty&&PIXI.WebGLGraphics.updateGraphics(a,d);for(var h=a._webGL[d.id],i=0;i=6)if(g.points.length<12){f=PIXI.WebGLGraphics.switchMode(c,0);var h=PIXI.WebGLGraphics.buildPoly(g,f);h||(f=PIXI.WebGLGraphics.switchMode(c,1),PIXI.WebGLGraphics.buildComplexPoly(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,1),PIXI.WebGLGraphics.buildComplexPoly(g,f);g.lineWidth>0&&(f=PIXI.WebGLGraphics.switchMode(c,0),PIXI.WebGLGraphics.buildLine(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,0),g.type===PIXI.Graphics.RECT?PIXI.WebGLGraphics.buildRectangle(g,f):g.type===PIXI.Graphics.CIRC||g.type===PIXI.Graphics.ELIP?PIXI.WebGLGraphics.buildCircle(g,f):g.type===PIXI.Graphics.RREC&&PIXI.WebGLGraphics.buildRoundedRectangle(g,f);c.lastIndex++}for(d=0;d=q;q++)p=q/n,h=g(a,c,p),i=g(b,d,p),j=g(c,e,p),k=g(d,f,p),l=g(h,j,p),m=g(i,k,p),o.push(l,m);return o},PIXI.WebGLGraphics.buildCircle=function(a,b){var c,d,e=a.shape,f=e.x,g=e.y;a.type===PIXI.Graphics.CIRC?(c=e.radius,d=e.radius):(c=e.width,d=e.height);var h=40,i=2*Math.PI/h,j=0;if(a.fill){var k=PIXI.hex2rgb(a.fillColor),l=a.fillAlpha,m=k[0]*l,n=k[1]*l,o=k[2]*l,p=b.points,q=b.indices,r=p.length/6;for(q.push(r),j=0;h+1>j;j++)p.push(f,g,m,n,o,l),p.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d,m,n,o,l),q.push(r++,r++);q.push(r-1)}if(a.lineWidth){var s=a.points;for(a.points=[],j=0;h+1>j;j++)a.points.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d);PIXI.WebGLGraphics.buildLine(a,b),a.points=s}},PIXI.WebGLGraphics.buildLine=function(a,b){var c=0,d=a.points;if(0!==d.length){if(a.lineWidth%2)for(c=0;cc;c++)k=d[2*(c-1)],l=d[2*(c-1)+1],m=d[2*c],n=d[2*c+1],o=d[2*(c+1)],p=d[2*(c+1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,s=-(n-p),t=m-o,E=Math.sqrt(s*s+t*t),s/=E,t/=E,s*=K,t*=K,w=-r+l-(-r+n),x=-q+m-(-q+k),y=(-q+k)*(-r+n)-(-q+m)*(-r+l),z=-t+p-(-t+n),A=-s+m-(-s+o),B=(-s+o)*(-t+n)-(-s+m)*(-t+p),C=w*A-z*x,Math.abs(C)<.1?(C+=10.1,F.push(m-q,n-r,N,O,P,M),F.push(m+q,n+r,N,O,P,M)):(i=(x*B-A*y)/C,j=(z*y-w*B)/C,D=(i-m)*(i-m)+(j-n)+(j-n),D>19600?(u=q-s,v=r-t,E=Math.sqrt(u*u+v*v),u/=E,v/=E,u*=K,v*=K,F.push(m-u,n-v),F.push(N,O,P,M),F.push(m+u,n+v),F.push(N,O,P,M),F.push(m-u,n-v),F.push(N,O,P,M),I++):(F.push(i,j),F.push(N,O,P,M),F.push(m-(i-m),n-(j-n)),F.push(N,O,P,M)));for(k=d[2*(H-2)],l=d[2*(H-2)+1],m=d[2*(H-1)],n=d[2*(H-1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,F.push(m-q,n-r),F.push(N,O,P,M),F.push(m+q,n+r),F.push(N,O,P,M),G.push(J),c=0;I>c;c++)G.push(J++);G.push(J-1)}},PIXI.WebGLGraphics.buildComplexPoly=function(a,b){var c=a.points.slice();if(!(c.length<6)){var d=b.indices;b.points=c,b.alpha=a.fillAlpha,b.color=PIXI.hex2rgb(a.fillColor);for(var e,f,g=1/0,h=-(1/0),i=1/0,j=-(1/0),k=0;ke?e:g,h=e>h?e:h,i=i>f?f:i,j=f>j?f:j;c.push(g,i,h,i,h,j,g,j);var l=c.length/2;for(k=0;l>k;k++)d.push(k)}},PIXI.WebGLGraphics.buildPoly=function(a,b){var c=a.points;if(!(c.length<6)){var d=b.points,e=b.indices,f=c.length/2,g=PIXI.hex2rgb(a.fillColor),h=a.fillAlpha,i=g[0]*h,j=g[1]*h,k=g[2]*h,l=PIXI.PolyK.Triangulate(c);if(!l)return!1;var m=d.length/6,n=0;for(n=0;nn;n++)d.push(c[2*n],c[2*n+1],i,j,k,h);return!0}},PIXI.WebGLGraphics.graphicsDataPool=[],PIXI.WebGLGraphicsData=function(a){this.gl=a,this.color=[0,0,0],this.points=[],this.indices=[],this.buffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),this.mode=1,this.alpha=1,this.dirty=!0},PIXI.WebGLGraphicsData.prototype.reset=function(){this.points=[],this.indices=[]},PIXI.WebGLGraphicsData.prototype.upload=function(){var a=this.gl;this.glPoints=new PIXI.Float32Array(this.points),a.bindBuffer(a.ARRAY_BUFFER,this.buffer),a.bufferData(a.ARRAY_BUFFER,this.glPoints,a.STATIC_DRAW),this.glIndicies=new PIXI.Uint16Array(this.indices),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.glIndicies,a.STATIC_DRAW),this.dirty=!1},PIXI.CanvasGraphics=function(){},PIXI.CanvasGraphics.renderGraphics=function(a,b){var c=a.worldAlpha;a.dirty&&(this.updateGraphicsTint(a),a.dirty=!1);for(var d=0;dA?A:z,b.beginPath(),b.moveTo(v,w+z),b.lineTo(v,w+y-z),b.quadraticCurveTo(v,w+y,v+z,w+y),b.lineTo(v+x-z,w+y),b.quadraticCurveTo(v+x,w+y,v+x,w+y-z),b.lineTo(v+x,w+z),b.quadraticCurveTo(v+x,w,v+x-z,w),b.lineTo(v+z,w),b.quadraticCurveTo(v,w,v,w+z),b.closePath(),(e.fillColor||0===e.fillColor)&&(b.globalAlpha=e.fillAlpha*c,b.fillStyle="#"+("00000"+(0|g).toString(16)).substr(-6),b.fill()),e.lineWidth&&(b.globalAlpha=e.lineAlpha*c,b.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),b.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(a,b){var c=a.graphicsData.length;if(0!==c){b.beginPath();for(var d=0;c>d;d++){var e=a.graphicsData[d],f=e.shape;if(e.type===PIXI.Graphics.POLY){var g=f.points;b.moveTo(g[0],g[1]);for(var h=1;hy?y:x,b.moveTo(t,u+x),b.lineTo(t,u+w-x),b.quadraticCurveTo(t,u+w,t+x,u+w),b.lineTo(t+v-x,u+w),b.quadraticCurveTo(t+v,u+w,t+v,u+w-x),b.lineTo(t+v,u+x),b.quadraticCurveTo(t+v,u,t+v-x,u),b.lineTo(t+x,u),b.quadraticCurveTo(t,u,t,u+x),b.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(a){if(16777215!==a.tint)for(var b=(a.tint>>16&255)/255,c=(a.tint>>8&255)/255,d=(255&a.tint)/255,e=0;e>16&255)/255*b*255<<16)+((g>>8&255)/255*c*255<<8)+(255&g)/255*d*255,f._lineTint=((h>>16&255)/255*b*255<<16)+((h>>8&255)/255*c*255<<8)+(255&h)/255*d*255}},c.Graphics=function(a,b,d){void 0===b&&(b=0),void 0===d&&(d=0),this.type=c.GRAPHICS,this.physicsType=c.SPRITE,PIXI.Graphics.call(this),c.Component.Core.init.call(this,a,b,d,"",null)},c.Graphics.prototype=Object.create(PIXI.Graphics.prototype),c.Graphics.prototype.constructor=c.Graphics,c.Component.Core.install.call(c.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),c.Graphics.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Graphics.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Graphics.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Graphics.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Graphics.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Graphics.prototype.destroy=function(a){this.clear(),c.Component.Destroy.prototype.destroy.call(this,a)},c.Graphics.prototype.drawTriangle=function(a,b){void 0===b&&(b=!1);var d=new c.Polygon(a);if(b){var e=new c.Point(this.game.camera.x-a[0].x,this.game.camera.y-a[0].y),f=new c.Point(a[1].x-a[0].x,a[1].y-a[0].y),g=new c.Point(a[1].x-a[2].x,a[1].y-a[2].y),h=g.cross(f);e.dot(h)>0&&this.drawPolygon(d)}else this.drawPolygon(d)},c.Graphics.prototype.drawTriangles=function(a,b,d){void 0===d&&(d=!1);var e,f=new c.Point,g=new c.Point,h=new c.Point,i=[];if(b)if(a[0]instanceof c.Point)for(e=0;e0&&(j+=c[k-1]),h=j+l}else for(var k=0;kp&&Math.abs(p)>n&&(p=-n),0!==p){var m=p*(b.length-1);o+=m}this.canvas.height=o*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var q,r;for(this._charCount=0,g=0;g0&&(r+=p*g),"right"===this.style.align?q+=e-d[g]:"center"===this.style.align&&(q+=(e-d[g])/2),this.autoRound&&(q=Math.round(q),r=Math.round(r)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(b[g],q,r):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===c?this.context.strokeText(b[g],q,r):this.renderTabLine(b[g],q,r,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===c?this.context.fillText(b[g],q,r):this.renderTabLine(b[g],q,r,!0)));this.updateTexture()},c.Text.prototype.renderTabLine=function(a,b,c,d){var e=a.split(/(?:\t)/),f=this.style.tabs,g=0;if(Array.isArray(f))for(var h=0,i=0;i0&&(h+=f[i-1]),g=b+h,d?this.context.fillText(e[i],g,c):this.context.strokeText(e[i],g,c);else for(var i=0;i0||this.fontStyles.length>0){var f=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(f.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(f.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(f)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(e,b,c)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(e,b,c)),b+=this.context.measureText(e).width,this._charCount++}},c.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},c.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},c.Text.prototype.addColor=function(a,b){return this.colors[b]=a,this.dirty=!0,this},c.Text.prototype.addStrokeColor=function(a,b){return this.strokeColors[b]=a,this.dirty=!0,this},c.Text.prototype.addFontStyle=function(a,b){return this.fontStyles[b]=a,this.dirty=!0,this},c.Text.prototype.addFontWeight=function(a,b){return this.fontWeights[b]=a,this.dirty=!0,this},c.Text.prototype.runWordWrap=function(a){for(var b="",c=a.split("\n"),d=0;de?(g>0&&(b+="\n"),b+=f[g]+" ",e=this.style.wordWrapWidth-h):(e-=i,b+=f[g]+" ")}dd&&(this.style.wordWrapWidth=d)),this.updateTexture(),this},c.Text.prototype.updateTexture=function(){var a=this.texture.baseTexture,b=this.texture.crop,c=this.texture.frame,d=this.canvas.width,e=this.canvas.height;if(a.width=d,a.height=e,b.width=d,b.height=e,c.width=d,c.height=e,this.texture.width=d,this.texture.height=e,this._width=d,this._height=e,this.textBounds){var f=this.textBounds.x,g=this.textBounds.y;"right"===this.style.boundsAlignH?f+=this.textBounds.width-this.canvas.width:"center"===this.style.boundsAlignH&&(f+=this.textBounds.halfWidth-this.canvas.width/2),"bottom"===this.style.boundsAlignV?g+=this.textBounds.height-this.canvas.height:"middle"===this.style.boundsAlignV&&(g+=this.textBounds.halfHeight-this.canvas.height/2),this.pivot.x=-f,this.pivot.y=-g}this.renderable=0!==d&&0!==e,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},c.Text.prototype._renderWebGL=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,a)},c.Text.prototype._renderCanvas=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,a)},c.Text.prototype.determineFontProperties=function(a){var b=c.Text.fontPropertiesCache[a];if(!b){b={};var d=c.Text.fontPropertiesCanvas,e=c.Text.fontPropertiesContext;e.font=a;var f=Math.ceil(e.measureText("|MÉq").width),g=Math.ceil(e.measureText("|MÉq").width),h=2*g;if(g=1.4*g|0,d.width=f,d.height=h,e.fillStyle="#f00",e.fillRect(0,0,f,h),e.font=a,e.textBaseline="alphabetic",e.fillStyle="#000",e.fillText("|MÉq",0,g),!e.getImageData(0,0,f,h))return b.ascent=g,b.descent=g+6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b,b;var i,j,k=e.getImageData(0,0,f,h).data,l=k.length,m=4*f,n=0,o=!1;for(i=0;g>i;i++){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n+=m}for(b.ascent=g-i,n=l-m,o=!1,i=h;i>g;i--){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n-=m}b.descent=i-g,b.descent+=6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b}return b},c.Text.prototype.getBounds=function(a){return this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype.getBounds.call(this,a)},Object.defineProperty(c.Text.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"cssFont",{get:function(){return this.componentsToFont(this._fontComponents)},set:function(a){a=a||"bold 20pt Arial",this._fontComponents=this.fontToComponents(a),this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"font",{get:function(){return this._fontComponents.fontFamily},set:function(a){a=a||"Arial",a=a.trim(),/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(a)||/['",]/.exec(a)||(a="'"+a+"'"),this._fontComponents.fontFamily=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontSize",{get:function(){var a=this._fontComponents.fontSize;return a&&/(?:^0$|px$)/.exec(a)?parseInt(a,10):a},set:function(a){a=a||"0","number"==typeof a&&(a+="px"),this._fontComponents.fontSize=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontWeight",{get:function(){return this._fontComponents.fontWeight||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontWeight=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontStyle",{get:function(){return this._fontComponents.fontStyle||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontStyle=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontVariant",{get:function(){return this._fontComponents.fontVariant||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontVariant=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fill",{get:function(){return this.style.fill},set:function(a){a!==this.style.fill&&(this.style.fill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"align",{get:function(){return this.style.align},set:function(a){a!==this.style.align&&(this.style.align=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"resolution",{get:function(){return this._res},set:function(a){a!==this._res&&(this._res=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"tabs",{get:function(){return this.style.tabs},set:function(a){a!==this.style.tabs&&(this.style.tabs=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignH",{get:function(){return this.style.boundsAlignH},set:function(a){a!==this.style.boundsAlignH&&(this.style.boundsAlignH=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignV",{get:function(){return this.style.boundsAlignV},set:function(a){a!==this.style.boundsAlignV&&(this.style.boundsAlignV=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"stroke",{get:function(){return this.style.stroke},set:function(a){a!==this.style.stroke&&(this.style.stroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"strokeThickness",{get:function(){return this.style.strokeThickness},set:function(a){a!==this.style.strokeThickness&&(this.style.strokeThickness=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrap",{get:function(){return this.style.wordWrap},set:function(a){a!==this.style.wordWrap&&(this.style.wordWrap=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrapWidth",{get:function(){return this.style.wordWrapWidth},set:function(a){a!==this.style.wordWrapWidth&&(this.style.wordWrapWidth=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"lineSpacing",{get:function(){return this._lineSpacing},set:function(a){a!==this._lineSpacing&&(this._lineSpacing=parseFloat(a),this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"shadowOffsetX",{get:function(){return this.style.shadowOffsetX},set:function(a){a!==this.style.shadowOffsetX&&(this.style.shadowOffsetX=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowOffsetY",{get:function(){return this.style.shadowOffsetY},set:function(a){a!==this.style.shadowOffsetY&&(this.style.shadowOffsetY=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowColor",{get:function(){return this.style.shadowColor},set:function(a){a!==this.style.shadowColor&&(this.style.shadowColor=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowBlur",{get:function(){return this.style.shadowBlur},set:function(a){a!==this.style.shadowBlur&&(this.style.shadowBlur=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowStroke",{get:function(){return this.style.shadowStroke},set:function(a){a!==this.style.shadowStroke&&(this.style.shadowStroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowFill",{get:function(){return this.style.shadowFill},set:function(a){a!==this.style.shadowFill&&(this.style.shadowFill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"width",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*this.texture.frame.width},set:function(a){this.scale.x=a/this.texture.frame.width,this._width=a}}),Object.defineProperty(c.Text.prototype,"height",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*this.texture.frame.height},set:function(a){this.scale.y=a/this.texture.frame.height,this._height=a}}),c.Text.fontPropertiesCache={},c.Text.fontPropertiesCanvas=PIXI.CanvasPool.create(c.Text.fontPropertiesCanvas),c.Text.fontPropertiesContext=c.Text.fontPropertiesCanvas.getContext("2d"),c.BitmapText=function(a,b,d,e,f,g,h){b=b||0,d=d||0,e=e||"",f=f||"",g=g||32,h=h||"left",PIXI.DisplayObjectContainer.call(this),this.type=c.BITMAPTEXT,this.physicsType=c.SPRITE,this.textWidth=0,this.textHeight=0,this.anchor=new c.Point,this._prevAnchor=new c.Point,this._glyphs=[],this._maxWidth=0,this._text=f,this._data=a.cache.getBitmapFont(e),this._font=e,this._fontSize=g,this._align=h,this._tint=16777215,this.updateText(),this.dirty=!1,c.Component.Core.init.call(this,a,b,d,"",null)},c.BitmapText.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),c.BitmapText.prototype.constructor=c.BitmapText,c.Component.Core.install.call(c.BitmapText.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),c.BitmapText.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.BitmapText.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.BitmapText.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.BitmapText.prototype.preUpdateCore=c.Component.Core.preUpdate,c.BitmapText.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.BitmapText.prototype.postUpdate=function(){c.Component.PhysicsBody.postUpdate.call(this),c.Component.FixedToCamera.postUpdate.call(this),this.body&&this.body.type===c.Physics.ARCADE&&(this.textWidth!==this.body.sourceWidth||this.textHeight!==this.body.sourceHeight)&&this.body.setSize(this.textWidth,this.textHeight)},c.BitmapText.prototype.setText=function(a){this.text=a},c.BitmapText.prototype.scanLine=function(a,b,c){for(var d=0,e=0,f=-1,g=null,h=this._maxWidth>0?this._maxWidth:null,i=[],j=0;j=h&&f>-1)return{width:e,text:c.substr(0,j-(j-f)),end:k,chars:i};e+=m.xAdvance*b,i.push(d+m.xOffset*b),d+=m.xAdvance*b,g=l}}return{width:e,text:c,end:k,chars:i}},c.BitmapText.prototype.updateText=function(){var a=this._data.font;if(a){var b=this.text,c=this._fontSize/a.size,d=[],e=0;this.textWidth=0;do{var f=this.scanLine(a,c,b);f.y=e,d.push(f),f.width>this.textWidth&&(this.textWidth=f.width),e+=a.lineHeight*c,b=b.substr(f.text.length+1)}while(f.end===!1);this.textHeight=e;for(var g=0,h=0,i=this.textWidth*this.anchor.x,j=this.textHeight*this.anchor.y,k=0;k0&&(this._fontSize=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(a){a!==this._maxWidth&&(this._maxWidth=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(a){a?this._data.base.scaleMode=0:this._data.base.scaleMode=1}}),c.RetroFont=function(a,b,d,e,f,g,h,i,j,k){if(!a.cache.checkImageKey(b))return!1;(void 0===g||null===g)&&(g=a.cache.getImage(b).width/d),this.characterWidth=d,this.characterHeight=e,this.characterSpacingX=h||0,this.characterSpacingY=i||0,this.characterPerRow=g,this.offsetX=j||0,this.offsetY=k||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=a.cache.getImage(b),this._text="",this.grabData=[],this.frameData=new c.FrameData;for(var l=this.offsetX,m=this.offsetY,n=0,o=0;o?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",c.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",c.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",c.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",c.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",c.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",c.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",c.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",c.RetroFont.prototype.setFixedWidth=function(a,b){void 0===b&&(b="left"),this.fixedWidth=a,this.align=b},c.RetroFont.prototype.setText=function(a,b,c,d,e,f){this.multiLine=b||!1,this.customSpacingX=c||0,this.customSpacingY=d||0,this.align=e||"left",f?this.autoUpperCase=!1:this.autoUpperCase=!0,a.length>0&&(this.text=a)},c.RetroFont.prototype.buildRetroFontText=function(){var a=0,b=0;if(this.clear(),this.multiLine){var d=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var e=0;ea&&(a=0),this.pasteLine(d[e],a,b,this.customSpacingX),b+=this.characterHeight+this.customSpacingY}else this.fixedWidth>0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),a=0,this.align===c.RetroFont.ALIGN_RIGHT?a=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===c.RetroFont.ALIGN_CENTER&&(a=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,a+=this.customSpacingX/2),0>a&&(a=0),this.pasteLine(this._text,a,0,this.customSpacingX);this.requiresReTint=!0},c.RetroFont.prototype.pasteLine=function(a,b,c,d){for(var e=0;e=0&&(this.stamp.frame=this.grabData[a.charCodeAt(e)],this.renderXY(this.stamp,b,c,!1),b+=this.characterWidth+d,b>this.width))break},c.RetroFont.prototype.getLongestLine=function(){var a=0;if(this._text.length>0)for(var b=this._text.split("\n"),c=0;ca&&(a=b[c].length);return a},c.RetroFont.prototype.removeUnsupportedCharacters=function(a){for(var b="",c=0;c=0||!a&&"\n"===d)&&(b=b.concat(d))}return b},c.RetroFont.prototype.updateOffset=function(a,b){if(this.offsetX!==a||this.offsetY!==b){for(var c=a-this.offsetX,d=b-this.offsetY,e=this.game.cache.getFrameData(this.stamp.key).getFrames(),f=e.length;f--;)e[f].x+=c,e[f].y+=d;this.buildRetroFontText()}},Object.defineProperty(c.RetroFont.prototype,"text",{get:function(){return this._text},set:function(a){var b;b=this.autoUpperCase?a.toUpperCase():a,b!==this._text&&(this._text=b,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(c.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(a){this.stamp.smoothed=a,this.buildRetroFontText()}}),c.Rope=function(a,b,d,e,f,g){this.points=[],this.points=g,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.ROPE,PIXI.Rope.call(this,PIXI.TextureCache.__default,this.points),c.Component.Core.init.call(this,a,b,d,e,f)},c.Rope.prototype=Object.create(PIXI.Rope.prototype),c.Rope.prototype.constructor=c.Rope,c.Component.Core.install.call(c.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Rope.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Rope.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Rope.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Rope.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Rope.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},c.Rope.prototype.reset=function(a,b){return c.Component.Reset.prototype.reset.call(this,a,b),this},Object.defineProperty(c.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(a){a&&"function"==typeof a?(this._hasUpdateAnimation=!0,this._updateAnimation=a):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(c.Rope.prototype,"segments",{get:function(){for(var a,b,d,e,f,g,h,i,j=[],k=0;k=1)&&(l.touch=!0),(window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(l.mspointer=!0),l.cocoonJS||("onwheel"in window||l.ie&&"WheelEvent"in window?l.wheelEvent="wheel":"onmousewheel"in window?l.wheelEvent="mousewheel":l.firefox&&"MouseScrollEvent"in window&&(l.wheelEvent="DOMMouseScroll"))}function d(){for(var a=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],b=document.createElement("div"),c=0;c0&&"none"!==a}var l=this;a(),g(),f(),e(),k(),h(),b(),d(),c()},c.Device.canPlayAudio=function(a){return"mp3"===a&&this.mp3?!0:"ogg"===a&&(this.ogg||this.opus)?!0:"m4a"===a&&this.m4a?!0:"opus"===a&&this.opus?!0:"wav"===a&&this.wav?!0:"webm"===a&&this.webm?!0:!1},c.Device.canPlayVideo=function(a){return"webm"===a&&(this.webmVideo||this.vp9Video)?!0:"mp4"===a&&(this.mp4Video||this.h264Video)?!0:"ogg"!==a&&"ogv"!==a||!this.oggVideo?"mpeg"===a&&this.hlsVideo?!0:!1:!0},c.Device.isConsoleOpen=function(){return window.console&&window.console.firebug?!0:window.console&&(console.profile(),console.profileEnd(),console.clear&&console.clear(),console.profiles)?console.profiles.length>0:!1},c.Device.isAndroidStockBrowser=function(){var a=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return a&&a[1]<537},c.Canvas={create:function(a,b,c,d,e){if(b=b||256,c=c||256,void 0===e)var f=PIXI.CanvasPool.create(a,b,c);else var f=document.createElement("canvas");return"string"==typeof d&&""!==d&&(f.id=d),f.width=b,f.height=c,f.style.display="block",f},setBackgroundColor:function(a,b){return b=b||"rgb(0,0,0)",a.style.backgroundColor=b,a},setTouchAction:function(a,b){return b=b||"none",a.style.msTouchAction=b,a.style["ms-touch-action"]=b,a.style["touch-action"]=b,a},setUserSelect:function(a,b){return b=b||"none",a.style["-webkit-touch-callout"]=b,a.style["-webkit-user-select"]=b,a.style["-khtml-user-select"]=b,a.style["-moz-user-select"]=b,a.style["-ms-user-select"]=b,a.style["user-select"]=b,a.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",a},addToDOM:function(a,b,c){var d;return void 0===c&&(c=!0),b&&("string"==typeof b?d=document.getElementById(b):"object"==typeof b&&1===b.nodeType&&(d=b)),d||(d=document.body),c&&d.style&&(d.style.overflow="hidden"),d.appendChild(a),a},removeFromDOM:function(a){a.parentNode&&a.parentNode.removeChild(a)},setTransform:function(a,b,c,d,e,f,g){return a.setTransform(d,f,g,e,b,c),a},setSmoothingEnabled:function(a,b){var d=c.Canvas.getSmoothingPrefix(a);return d&&(a[d]=b),a},getSmoothingPrefix:function(a){var b=["i","webkitI","msI","mozI","oI"];for(var c in b){var d=b[c]+"mageSmoothingEnabled";if(d in a)return d}return null},getSmoothingEnabled:function(a){var b=c.Canvas.getSmoothingPrefix(a);return b?a[b]:void 0},setImageRenderingCrisp:function(a){for(var b=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],c=0;ca},fuzzyGreaterThan:function(a,b,c){return void 0===c&&(c=1e-4),a>b-c},fuzzyCeil:function(a,b){return void 0===b&&(b=1e-4),Math.ceil(a-b)},fuzzyFloor:function(a,b){return void 0===b&&(b=1e-4),Math.floor(a+b)},average:function(){for(var a=0,b=arguments.length,c=0;b>c;c++)a+=+arguments[c];return a/b},shear:function(a){return a%1},snapTo:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.round(a/b),c+a)},snapToFloor:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.floor(a/b),c+a)},snapToCeil:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.ceil(a/b),c+a)},roundTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.round(a*d)/d},floorTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.floor(a*d)/d},ceilTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.ceil(a*d)/d},angleBetween:function(a,b,c,d){return Math.atan2(d-b,c-a)},angleBetweenY:function(a,b,c,d){return Math.atan2(c-a,d-b)},angleBetweenPoints:function(a,b){return Math.atan2(b.y-a.y,b.x-a.x)},angleBetweenPointsY:function(a,b){return Math.atan2(b.x-a.x,b.y-a.y)},reverseAngle:function(a){return this.normalizeAngle(a+Math.PI,!0)},normalizeAngle:function(a){return a%=2*Math.PI,a>=0?a:a+2*Math.PI},maxAdd:function(a,b,c){return Math.min(a+b,c)},minSub:function(a,b,c){return Math.max(a-b,c)},wrap:function(a,b,c){var d=c-b;if(0>=d)return 0;var e=(a-b)%d;return 0>e&&(e+=d),e+b},wrapValue:function(a,b,c){var d;return a=Math.abs(a),b=Math.abs(b),c=Math.abs(c),d=(a+b)%c},isOdd:function(a){return!!(1&a)},isEven:function(a){return!(1&a)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])var a=arguments[0];else var a=arguments;for(var b=1,c=0,d=a.length;d>b;b++)a[b]b;b++)a[b]>a[c]&&(c=b);return a[c]},minProperty:function(a){if(2===arguments.length&&"object"==typeof arguments[1])var b=arguments[1];else var b=arguments.slice(1);for(var c=1,d=0,e=b.length;e>c;c++)b[c][a]c;c++)b[c][a]>b[d][a]&&(d=c);return b[d][a]},wrapAngle:function(a,b){return b?this.wrap(a,-Math.PI,Math.PI):this.wrap(a,-180,180)},linearInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return 0>b?this.linear(a[0],a[1],d):b>1?this.linear(a[c],a[c-1],c-d):this.linear(a[e],a[e+1>c?c:e+1],d-e)},bezierInterpolation:function(a,b){for(var c=0,d=a.length-1,e=0;d>=e;e++)c+=Math.pow(1-b,d-e)*Math.pow(b,e)*a[e]*this.bernstein(d,e);return c},catmullRomInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return a[0]===a[c]?(0>b&&(e=Math.floor(d=c*(1+b))),this.catmullRom(a[(e-1+c)%c],a[e],a[(e+1)%c],a[(e+2)%c],d-e)):0>b?a[0]-(this.catmullRom(a[0],a[0],a[1],a[1],-d)-a[0]):b>1?a[c]-(this.catmullRom(a[c],a[c],a[c-1],a[c-1],d-c)-a[c]):this.catmullRom(a[e?e-1:0],a[e],a[e+1>c?c:e+1],a[e+2>c?c:e+2],d-e)},linear:function(a,b,c){return(b-a)*c+a},bernstein:function(a,b){return this.factorial(a)/this.factorial(b)/this.factorial(a-b)},factorial:function(a){if(0===a)return 1;for(var b=a;--a;)b*=a;return b},catmullRom:function(a,b,c,d,e){var f=.5*(c-a),g=.5*(d-b),h=e*e,i=e*h;return(2*b-2*c+f+g)*i+(-3*b+3*c-2*f-g)*h+f*e+b},difference:function(a,b){return Math.abs(a-b)},roundAwayFromZero:function(a){return a>0?Math.ceil(a):Math.floor(a)},sinCosGenerator:function(a,b,c,d){void 0===b&&(b=1),void 0===c&&(c=1),void 0===d&&(d=1);for(var e=b,f=c,g=d*Math.PI/a,h=[],i=[],j=0;a>j;j++)f-=e*g,e+=f*g,h[j]=f,i[j]=e;return{sin:i,cos:h,length:a}},distance:function(a,b,c,d){var e=a-c,f=b-d;return Math.sqrt(e*e+f*f)},distanceSq:function(a,b,c,d){var e=a-c,f=b-d;return e*e+f*f},distancePow:function(a,b,c,d,e){return void 0===e&&(e=2),Math.sqrt(Math.pow(c-a,e)+Math.pow(d-b,e))},clamp:function(a,b,c){return b>a?b:a>c?c:a},clampBottom:function(a,b){return b>a?b:a},within:function(a,b,c){return Math.abs(a-b)<=c},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},smoothstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*(3-2*a)},smootherstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*a*(a*(6*a-15)+10)},sign:function(a){return 0>a?-1:a>0?1:0},percent:function(a,b,c){return void 0===c&&(c=0),a>b||c>b?1:c>a||c>a?0:(a-c)/b}};var k=Math.PI/180,l=180/Math.PI;return c.Math.degToRad=function(a){return a*k},c.Math.radToDeg=function(a){return a*l},c.RandomDataGenerator=function(a){void 0===a&&(a=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof a?this.state(a):this.sow(a)},c.RandomDataGenerator.prototype={rnd:function(){var a=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|a,this.s0=this.s1,this.s1=this.s2,this.s2=a-this.c,this.s2},sow:function(a){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,a)for(var b=0;b>>0,b-=d,b*=d,d=b>>>0,b-=d,d+=4294967296*b;return 2.3283064365386963e-10*(d>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(a,b){return Math.floor(this.realInRange(0,b-a+1)+a)},between:function(a,b){return this.integerInRange(a,b)},realInRange:function(a,b){return this.frac()*(b-a)+a},normal:function(){return 1-2*this.frac()},uuid:function(){var a="",b="";for(b=a="";a++<36;b+=~a%5|3*a&4?(15^a?8^this.frac()*(20^a?16:4):4).toString(16):"-");return b},pick:function(a){return a[this.integerInRange(0,a.length-1)]},weightedPick:function(a){return a[~~(Math.pow(this.frac(),2)*(a.length-1)+.5)]},timestamp:function(a,b){return this.realInRange(a||9466848e5,b||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(a){return"string"==typeof a&&a.match(/^!rnd/)&&(a=a.split(","),this.c=parseFloat(a[1]),this.s0=parseFloat(a[2]),this.s1=parseFloat(a[3]),this.s2=parseFloat(a[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},c.RandomDataGenerator.prototype.constructor=c.RandomDataGenerator,c.QuadTree=function(a,b,c,d,e,f,g){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(a,b,c,d,e,f,g)},c.QuadTree.prototype={reset:function(a,b,c,d,e,f,g){this.maxObjects=e||10,this.maxLevels=f||4,this.level=g||0,this.bounds={x:Math.round(a),y:Math.round(b),width:c,height:d,subWidth:Math.floor(c/2),subHeight:Math.floor(d/2),right:Math.round(a)+Math.floor(c/2),bottom:Math.round(b)+Math.floor(d/2)},this.objects.length=0,this.nodes.length=0},populate:function(a){a.forEach(this.populateHandler,this,!0)},populateHandler:function(a){a.body&&a.exists&&this.insert(a.body)},split:function(){this.nodes[0]=new c.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new c.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new c.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new c.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(a){var b,c=0;if(null!=this.nodes[0]&&(b=this.getIndex(a),-1!==b))return void this.nodes[b].insert(a);if(this.objects.push(a),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(b=2):a.x>this.bounds.right&&(a.ythis.bounds.bottom&&(b=3)),b},retrieve:function(a){if(a instanceof c.Rectangle)var b=this.objects,d=this.getIndex(a);else{if(!a.body)return this._empty;var b=this.objects,d=this.getIndex(a.body)}return this.nodes[0]&&(-1!==d?b=b.concat(this.nodes[d].retrieve(a)):(b=b.concat(this.nodes[0].retrieve(a)),b=b.concat(this.nodes[1].retrieve(a)),b=b.concat(this.nodes[2].retrieve(a)),b=b.concat(this.nodes[3].retrieve(a)))),b},clear:function(){this.objects.length=0;for(var a=this.nodes.length;a--;)this.nodes[a].clear(), -this.nodes.splice(a,1);this.nodes.length=0}},c.QuadTree.prototype.constructor=c.QuadTree,c.Net=function(a){this.game=a},c.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(a){return-1!==window.location.hostname.indexOf(a)},updateQueryString:function(a,b,c,d){void 0===c&&(c=!1),(void 0===d||""===d)&&(d=window.location.href);var e="",f=new RegExp("([?|&])"+a+"=.*?(&|#|$)(.*)","gi");if(f.test(d))e="undefined"!=typeof b&&null!==b?d.replace(f,"$1"+a+"="+b+"$2$3"):d.replace(f,"$1$3").replace(/(&|\?)$/,"");else if("undefined"!=typeof b&&null!==b){var g=-1!==d.indexOf("?")?"&":"?",h=d.split("#");d=h[0]+g+a+"="+b,h[1]&&(d+="#"+h[1]),e=d}else e=d;return c?void(window.location.href=e):e},getQueryString:function(a){void 0===a&&(a="");var b={},c=location.search.substring(1).split("&");for(var d in c){var e=c[d].split("=");if(e.length>1){if(a&&a==this.decodeURI(e[0]))return this.decodeURI(e[1]);b[this.decodeURI(e[0])]=this.decodeURI(e[1])}}return b},decodeURI:function(a){return decodeURIComponent(a.replace(/\+/g," "))}},c.Net.prototype.constructor=c.Net,c.TweenManager=function(a){this.game=a,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:c.Easing.Power0,Power1:c.Easing.Power1,Power2:c.Easing.Power2,Power3:c.Easing.Power3,Power4:c.Easing.Power4,Linear:c.Easing.Linear.None,Quad:c.Easing.Quadratic.Out,Cubic:c.Easing.Cubic.Out,Quart:c.Easing.Quartic.Out,Quint:c.Easing.Quintic.Out,Sine:c.Easing.Sinusoidal.Out,Expo:c.Easing.Exponential.Out,Circ:c.Easing.Circular.Out,Elastic:c.Easing.Elastic.Out,Back:c.Easing.Back.Out,Bounce:c.Easing.Bounce.Out,"Quad.easeIn":c.Easing.Quadratic.In,"Cubic.easeIn":c.Easing.Cubic.In,"Quart.easeIn":c.Easing.Quartic.In,"Quint.easeIn":c.Easing.Quintic.In,"Sine.easeIn":c.Easing.Sinusoidal.In,"Expo.easeIn":c.Easing.Exponential.In,"Circ.easeIn":c.Easing.Circular.In,"Elastic.easeIn":c.Easing.Elastic.In,"Back.easeIn":c.Easing.Back.In,"Bounce.easeIn":c.Easing.Bounce.In,"Quad.easeOut":c.Easing.Quadratic.Out,"Cubic.easeOut":c.Easing.Cubic.Out,"Quart.easeOut":c.Easing.Quartic.Out,"Quint.easeOut":c.Easing.Quintic.Out,"Sine.easeOut":c.Easing.Sinusoidal.Out,"Expo.easeOut":c.Easing.Exponential.Out,"Circ.easeOut":c.Easing.Circular.Out,"Elastic.easeOut":c.Easing.Elastic.Out,"Back.easeOut":c.Easing.Back.Out,"Bounce.easeOut":c.Easing.Bounce.Out,"Quad.easeInOut":c.Easing.Quadratic.InOut,"Cubic.easeInOut":c.Easing.Cubic.InOut,"Quart.easeInOut":c.Easing.Quartic.InOut,"Quint.easeInOut":c.Easing.Quintic.InOut,"Sine.easeInOut":c.Easing.Sinusoidal.InOut,"Expo.easeInOut":c.Easing.Exponential.InOut,"Circ.easeInOut":c.Easing.Circular.InOut,"Elastic.easeInOut":c.Easing.Elastic.InOut,"Back.easeInOut":c.Easing.Back.InOut,"Bounce.easeInOut":c.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},c.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var a=0;ad;d++)this.removeFrom(a[d]);else if(a.type===c.GROUP&&b)for(var d=0,e=a.children.length;e>d;d++)this.removeFrom(a.children[d]);else{for(d=0,e=this._tweens.length;e>d;d++)a===this._tweens[d].target&&this.remove(this._tweens[d]);for(d=0,e=this._add.length;e>d;d++)a===this._add[d].target&&this.remove(this._add[d])}},add:function(a){a._manager=this,this._add.push(a)},create:function(a){return new c.Tween(a,this.game,this)},remove:function(a){var b=this._tweens.indexOf(a);-1!==b?this._tweens[b].pendingDelete=!0:(b=this._add.indexOf(a),-1!==b&&(this._add[b].pendingDelete=!0))},update:function(){var a=this._add.length,b=this._tweens.length;if(0===b&&0===a)return!1;for(var c=0;b>c;)this._tweens[c].update(this.game.time.time)?c++:(this._tweens.splice(c,1),b--);return a>0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(a){return this._tweens.some(function(b){return b.target===a})},_pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._pause()},_resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._resume()},pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].pause()},resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].resume(!0)}},c.TweenManager.prototype.constructor=c.TweenManager,c.Tween=function(a,b,d){this.game=b,this.target=a,this.manager=d,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new c.Signal,this.onLoop=new c.Signal,this.onRepeat=new c.Signal,this.onChildComplete=new c.Signal,this.onComplete=new c.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=d.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},c.Tween.prototype={to:function(a,b,d,e,f,g,h){return(void 0===b||0>=b)&&(b=1e3),(void 0===d||null===d)&&(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).to(a,b,d,f,g,h)),e&&this.start(),this)},from:function(a,b,d,e,f,g,h){return void 0===b&&(b=1e3),(void 0===d||null===d)&&(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).from(a,b,d,f,g,h)),e&&this.start(),this)},start:function(a){if(void 0===a&&(a=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(var b=0;ba||a>this.timeline.length-1)&&(a=0),this.current=a,this.timeline[this.current].start(),this},stop:function(a){return void 0===a&&(a=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,a&&(this.onComplete.dispatch(this.target,this),this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(a,b,c){if(0===this.timeline.length)return this;if(void 0===c&&(c=0),-1===c)for(var d=0;d0?arguments[a-1].chainedTween=arguments[a]:this.chainedTween=arguments[a];return this},loop:function(a){return void 0===a&&(a=!0),a?this.repeatAll(-1):this.repeatCounter=0,this},onUpdateCallback:function(a,b){return this._onUpdateCallback=a,this._onUpdateCallbackContext=b,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var a=0;a0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(a,b){if(null===this.game||null===this.target)return null;void 0===a&&(a=60),void 0===b&&(b=[]);for(var c=0;c0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a],this.parent.target[a]=this.vStart[a];return this.value=0,this.yoyoCounter=0,this},loadValues:function(){for(var a in this.parent.properties){if(this.vStart[a]=this.parent.properties[a],Array.isArray(this.vEnd[a])){if(0===this.vEnd[a].length)continue;0===this.percent&&(this.vEnd[a]=[this.vStart[a]].concat(this.vEnd[a]))}"undefined"!=typeof this.vEnd[a]?("string"==typeof this.vEnd[a]&&(this.vEnd[a]=this.vStart[a]+parseFloat(this.vEnd[a],10)),this.parent.properties[a]=this.vEnd[a]):this.vEnd[a]=this.vStart[a],this.vStartCache[a]=this.vStart[a],this.vEndCache[a]=this.vEnd[a]}return this},update:function(a){if(this.isRunning){if(a=this.startTime))return c.TweenData.PENDING;this.isRunning=!0}var b=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=b*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=b*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var d in this.vEnd){var e=this.vStart[d],f=this.vEnd[d];Array.isArray(f)?this.parent.target[d]=this.interpolationFunction.call(this.interpolationContext,f,this.value):this.parent.target[d]=e+(f-e)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():c.TweenData.RUNNING},generateData:function(a){this.parent.reverse?this.dt=this.duration:this.dt=0;var b=[],c=!1,d=1/a*1e3;do{this.parent.reverse?(this.dt-=d,this.dt=Math.max(this.dt,0)):(this.dt+=d,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var e={};for(var f in this.vEnd){var g=this.vStart[f],h=this.vEnd[f];Array.isArray(h)?e[f]=this.interpolationFunction(h,this.value):e[f]=g+(h-g)*this.value}b.push(e),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(c=!0)}while(!c);if(this.yoyo){var i=b.slice();i.reverse(),b=b.concat(i)}return b},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter)return c.TweenData.COMPLETE;this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return c.TweenData.COMPLETE;if(this.inReverse)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a];else{for(var a in this.vStartCache)this.vStart[a]=this.vStartCache[a],this.vEnd[a]=this.vEndCache[a];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,c.TweenData.LOOPED}},c.TweenData.prototype.constructor=c.TweenData,c.Easing={Linear:{None:function(a){return a}},Quadratic:{In:function(a){return a*a},Out:function(a){return a*(2-a)},InOut:function(a){return(a*=2)<1?.5*a*a:-.5*(--a*(a-2)-1)}},Cubic:{In:function(a){return a*a*a},Out:function(a){return--a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a:.5*((a-=2)*a*a+2)}},Quartic:{In:function(a){return a*a*a*a},Out:function(a){return 1- --a*a*a*a},InOut:function(a){return(a*=2)<1?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2)}},Quintic:{In:function(a){return a*a*a*a*a},Out:function(a){return--a*a*a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)}},Sinusoidal:{In:function(a){return 0===a?0:1===a?1:1-Math.cos(a*Math.PI/2)},Out:function(a){return 0===a?0:1===a?1:Math.sin(a*Math.PI/2)},InOut:function(a){return 0===a?0:1===a?1:.5*(1-Math.cos(Math.PI*a))}},Exponential:{In:function(a){return 0===a?0:Math.pow(1024,a-1)},Out:function(a){return 1===a?1:1-Math.pow(2,-10*a)},InOut:function(a){return 0===a?0:1===a?1:(a*=2)<1?.5*Math.pow(1024,a-1):.5*(-Math.pow(2,-10*(a-1))+2)}},Circular:{In:function(a){return 1-Math.sqrt(1-a*a)},Out:function(a){return Math.sqrt(1- --a*a)},InOut:function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)}},Elastic:{In:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),-(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)))},Out:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),c*Math.pow(2,-10*a)*Math.sin((a-b)*(2*Math.PI)/d)+1)},InOut:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),(a*=2)<1?-.5*(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)):c*Math.pow(2,-10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)*.5+1)}},Back:{In:function(a){var b=1.70158;return a*a*((b+1)*a-b)},Out:function(a){var b=1.70158;return--a*a*((b+1)*a+b)+1},InOut:function(a){var b=2.5949095;return(a*=2)<1?.5*(a*a*((b+1)*a-b)):.5*((a-=2)*a*((b+1)*a+b)+2)}},Bounce:{In:function(a){return 1-c.Easing.Bounce.Out(1-a)},Out:function(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},InOut:function(a){return.5>a?.5*c.Easing.Bounce.In(2*a):.5*c.Easing.Bounce.Out(2*a-1)+.5}}},c.Easing.Default=c.Easing.Linear.None,c.Easing.Power0=c.Easing.Linear.None,c.Easing.Power1=c.Easing.Quadratic.Out,c.Easing.Power2=c.Easing.Cubic.Out,c.Easing.Power3=c.Easing.Quartic.Out,c.Easing.Power4=c.Easing.Quintic.Out,c.Time=function(a){this.game=a,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new c.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},c.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(a){return this._timers.push(a),a},create:function(a){void 0===a&&(a=!0);var b=new c.Timer(this.game,a);return this._timers.push(b),b},removeAll:function(){for(var a=0;aa;)this._timers[a].update(this.time)?a++:(this._timers.splice(a,1),b--)},updateAdvancedTiming:function(){this._frameCount++,this._elapsedAccumulator+=this.elapsed,this._frameCount>=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var a=this._timers.length;a--;)this._timers[a]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var a=this._timers.length;a--;)this._timers[a]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(a){return this.time-a},elapsedSecondsSince:function(a){return.001*(this.time-a)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(c.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(a){this._desiredFps=a,this.physicsElapsed=1/a,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/a}}),c.Time.prototype.constructor=c.Time,c.Timer=function(a,b){void 0===b&&(b=!0),this.game=a,this.running=!1,this.autoDestroy=b,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new c.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},c.Timer.MINUTE=6e4,c.Timer.SECOND=1e3,c.Timer.HALF=500,c.Timer.QUARTER=250,c.Timer.prototype={create:function(a,b,d,e,f,g){a=Math.round(a);var h=a;h+=0===this._now?this.game.time.time:this._now;var i=new c.TimerEvent(this,a,h,d,b,e,f,g);return this.events.push(i),this.order(),this.expired=!1,i},add:function(a,b,c){return this.create(a,!1,0,b,c,Array.prototype.slice.call(arguments,3))},repeat:function(a,b,c,d){return this.create(a,!1,b,c,d,Array.prototype.slice.call(arguments,4))},loop:function(a,b,c){return this.create(a,!0,0,b,c,Array.prototype.slice.call(arguments,3))},start:function(a){if(!this.running){this._started=this.game.time.time+(a||0),this.running=!0;for(var b=0;b0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(a,b){return a.tickb.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(a){if(this.paused)return!0;if(this.elapsed=a-this._now,this._now=a,this.elapsed>this.timeCap&&this.adjustEvents(a-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=this.events[this._i].tick&&!this.events[this._i].pendingDelete;)this._newTick=this._now+this.events[this._i].delay-(this._now-this.events[this._i].tick),this._newTick<0&&(this._newTick=this._now+this.events[this._i].delay),this.events[this._i].loop===!0?(this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):this.events[this._i].repeatCount>0?(this.events[this._i].repeatCount--,this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):(this._marked++,this.events[this._i].pendingDelete=!0,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)),this._i++;this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return this.expired&&this.autoDestroy?!1:!0},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(a){for(var b=0;bc&&(c=0),this.events[b].tick=this._now+c}var d=this.nextTick-a;0>d?this.nextTick=this._now:this.nextTick=this._now+d},resume:function(){if(this.paused){var a=this.game.time.time;this._pauseTotal+=a-this._now,this._now=a,this.adjustEvents(this._pauseStarted),this.paused=!1,this._codePaused=!1}},_resume:function(){this._codePaused||this.resume()},removeAll:function(){this.onComplete.removeAll(),this.events.length=0,this._len=0,this._i=0},destroy:function(){this.onComplete.removeAll(),this.running=!1,this.events=[],this._len=0,this._i=0}},Object.defineProperty(c.Timer.prototype,"next",{get:function(){return this.nextTick}}),Object.defineProperty(c.Timer.prototype,"duration",{get:function(){return this.running&&this.nextTick>this._now?this.nextTick-this._now:0}}),Object.defineProperty(c.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(c.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(c.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),c.Timer.prototype.constructor=c.Timer,c.TimerEvent=function(a,b,c,d,e,f,g,h){this.timer=a,this.delay=b,this.tick=c,this.repeatCount=d-1,this.loop=e,this.callback=f,this.callbackContext=g,this.args=h,this.pendingDelete=!1},c.TimerEvent.prototype.constructor=c.TimerEvent,c.AnimationManager=function(a){this.sprite=a,this.game=a.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},c.AnimationManager.prototype={loadFrameData:function(a,b){if(void 0===a)return!1;if(this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(a);return this._frameData=a,void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},copyFrameData:function(a,b){if(this._frameData=a.clone(),this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(this._frameData);return void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},add:function(a,b,d,e,f){return b=b||[],d=d||60,void 0===e&&(e=!1),void 0===f&&(f=b&&"number"==typeof b[0]?!0:!1),this._outputFrames=[],this._frameData.getFrameIndexes(b,f,this._outputFrames),this._anims[a]=new c.Animation(this.game,this.sprite,a,this._frameData,this._outputFrames,d,e),this.currentAnim=this._anims[a],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[a]},validateFrames:function(a,b){void 0===b&&(b=!0);for(var c=0;cthis._frameData.total)return!1}else if(this._frameData.checkFrameName(a[c])===!1)return!1;return!0},play:function(a,b,c,d){return this._anims[a]?this.currentAnim===this._anims[a]?this.currentAnim.isPlaying===!1?(this.currentAnim.paused=!1,this.currentAnim.play(b,c,d)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[a],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(b,c,d)):void 0},stop:function(a,b){void 0===b&&(b=!1),"string"==typeof a?this._anims[a]&&(this.currentAnim=this._anims[a],this.currentAnim.stop(b)):this.currentAnim&&this.currentAnim.stop(b)},update:function(){return this.updateIfVisible&&!this.sprite.visible?!1:this.currentAnim&&this.currentAnim.update()?(this.currentFrame=this.currentAnim.currentFrame,!0):!1},next:function(a){this.currentAnim&&(this.currentAnim.next(a),this.currentFrame=this.currentAnim.currentFrame)},previous:function(a){this.currentAnim&&(this.currentAnim.previous(a),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(a){return"string"==typeof a&&this._anims[a]?this._anims[a]:null},refreshFrame:function(){this.sprite.setTexture(PIXI.TextureCache[this.currentFrame.uuid])},destroy:function(){var a=null;for(var a in this._anims)this._anims.hasOwnProperty(a)&&this._anims[a].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},c.AnimationManager.prototype.constructor=c.AnimationManager,Object.defineProperty(c.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(c.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(c.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(a){this.currentAnim.paused=a}}),Object.defineProperty(c.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(c.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(a){"number"==typeof a&&this._frameData&&null!==this._frameData.getFrame(a)&&(this.currentFrame=this._frameData.getFrame(a),this.currentFrame&&this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(c.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(a){"string"==typeof a&&this._frameData&&null!==this._frameData.getFrameByName(a)?(this.currentFrame=this._frameData.getFrameByName(a),this.currentFrame&&(this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame))):console.warn("Cannot set frameName: "+a)}}),c.Animation=function(a,b,d,e,f,g,h){void 0===h&&(h=!1),this.game=a,this._parent=b,this._frameData=e,this.name=d,this._frames=[],this._frames=this._frames.concat(f),this.delay=1e3/g,this.loop=h,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new c.Signal,this.onUpdate=null,this.onComplete=new c.Signal,this.onLoop=new c.Signal,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},c.Animation.prototype={play:function(a,b,c){return"number"==typeof a&&(this.delay=1e3/a),"boolean"==typeof b&&(this.loop=b),"undefined"!=typeof c&&(this.killOnComplete=c),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},setFrame:function(a,b){var c;if(void 0===b&&(b=!1),"string"==typeof a)for(var d=0;d=this._timeNextFrame?(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this._frameIndex+=this._frameSkip,this._frameIndex>=this._frames.length?this.loop?(this._frameIndex%=this._frames.length,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),this.onUpdate?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0):(this.complete(),!1):this.updateCurrentFrame(!0)):!1},updateCurrentFrame:function(a,b){if(void 0===b&&(b=!1),!this._frameData)return!1; -var c=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(b||!b&&c!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),this.onUpdate&&a?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0},next:function(a){void 0===a&&(a=1);var b=this._frameIndex+a;b>=this._frames.length&&(this.loop?b%=this._frames.length:b=this._frames.length-1),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},previous:function(a){void 0===a&&(a=1);var b=this._frameIndex-a;0>b&&(this.loop?b=this._frames.length+b:b++),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},updateFrameData:function(a){this._frameData=a,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},c.Animation.prototype.constructor=c.Animation,Object.defineProperty(c.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(a){this.isPaused=a,a?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(c.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(c.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(a){this.currentFrame=this._frameData.getFrame(this._frames[a]),null!==this.currentFrame&&(this._frameIndex=a,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(c.Animation.prototype,"speed",{get:function(){return Math.round(1e3/this.delay)},set:function(a){a>=1&&(this.delay=1e3/a)}}),Object.defineProperty(c.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(a){a&&null===this.onUpdate?this.onUpdate=new c.Signal:a||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),c.Animation.generateFrameNames=function(a,b,d,e,f){void 0===e&&(e="");var g=[],h="";if(d>b)for(var i=b;d>=i;i++)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);else for(var i=b;i>=d;i--)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);return g},c.Frame=function(a,b,d,e,f,g){this.index=a,this.x=b,this.y=d,this.width=e,this.height=f,this.name=g,this.centerX=Math.floor(e/2),this.centerY=Math.floor(f/2),this.distance=c.Math.distance(0,0,e,f),this.rotated=!1,this.rotationDirection="cw",this.trimmed=!1,this.sourceSizeW=e,this.sourceSizeH=f,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},c.Frame.prototype={resize:function(a,b){this.width=a,this.height=b,this.centerX=Math.floor(a/2),this.centerY=Math.floor(b/2),this.distance=c.Math.distance(0,0,a,b),this.sourceSizeW=a,this.sourceSizeH=b,this.right=this.x+a,this.bottom=this.y+b},setTrim:function(a,b,c,d,e,f,g){this.trimmed=a,a&&(this.sourceSizeW=b,this.sourceSizeH=c,this.centerX=Math.floor(b/2),this.centerY=Math.floor(c/2),this.spriteSourceSizeX=d,this.spriteSourceSizeY=e,this.spriteSourceSizeW=f,this.spriteSourceSizeH=g)},clone:function(){var a=new c.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var b in this)this.hasOwnProperty(b)&&(a[b]=this[b]);return a},getRect:function(a){return void 0===a?a=new c.Rectangle(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a}},c.Frame.prototype.constructor=c.Frame,c.FrameData=function(){this._frames=[],this._frameNames=[]},c.FrameData.prototype={addFrame:function(a){return a.index=this._frames.length,this._frames.push(a),""!==a.name&&(this._frameNames[a.name]=a.index),a},getFrame:function(a){return a>=this._frames.length&&(a=0),this._frames[a]},getFrameByName:function(a){return"number"==typeof this._frameNames[a]?this._frames[this._frameNames[a]]:null},checkFrameName:function(a){return null==this._frameNames[a]?!1:!0},clone:function(){for(var a=new c.FrameData,b=0;b=d;d++)c.push(this._frames[d]);return c},getFrames:function(a,b,c){if(void 0===b&&(b=!0),void 0===c&&(c=[]),void 0===a||0===a.length)for(var d=0;d=d&&(d=Math.floor(-j/Math.min(-1,d))),0>=e&&(e=Math.floor(-k/Math.min(-1,e)));var l=Math.floor((j-g)/(d+h)),m=Math.floor((k-g)/(e+h)),n=l*m;if(-1!==f&&(n=f),0===j||0===k||d>j||e>k||0===n)return console.warn("Phaser.AnimationParser.spriteSheet: '"+b+"'s width/height zero or width/height < given frameWidth/frameHeight"),null;for(var o=new c.FrameData,p=g,q=g,r=0;n>r;r++)o.addFrame(new c.Frame(r,p,q,d,e,"")),p+=d+h,p+d>j&&(p=g,q+=e+h);return o},JSONData:function(a,b){if(!b.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(b);for(var d,e=new c.FrameData,f=b.frames,g=0;g tag");for(var d,e,f,g,h,i,j,k,l,m,n,o=new c.FrameData,p=b.getElementsByTagName("SubTexture"),q=0;q-1},getAssetIndex:function(a,b){for(var c=-1,d=0;d-1?{index:c,file:this._fileList[c]}:!1},reset:function(a,b){void 0===b&&(b=!1),this.resetLocked||(a&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,b&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(a,b,c,d,e,f){if(void 0===e&&(e=!1),void 0===b||""===b)return console.warn("Phaser.Loader: Invalid or no key given of type "+a),this;if(void 0===c||null===c){if(!f)return console.warn("Phaser.Loader: No URL given for file type: "+a+" key: "+b),this;c=b+f}var g={type:a,key:b,path:this.path,url:c,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(d)for(var h in d)g[h]=d[h];var i=this.getAssetIndex(a,b);if(e&&i>-1){var j=this._fileList[i];j.loading||j.loaded?(this._fileList.push(g),this._totalFileCount++):this._fileList[i]=g}else-1===i&&(this._fileList.push(g),this._totalFileCount++);return this},replaceInFileList:function(a,b,c,d){return this.addToFileList(a,b,c,d,!0)},pack:function(a,b,c,d){if(void 0===b&&(b=null),void 0===c&&(c=null),void 0===d&&(d=null),!b&&!c)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var e={type:"packfile",key:a,url:b,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:d};c&&("string"==typeof c&&(c=JSON.parse(c)),e.data=c||{},e.loaded=!0);for(var f=0;f=e||d&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var f=this;setTimeout(function(){f.finishedLoading(!0)},2e3)}},finishedLoading:function(a){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,a||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.onLoadComplete.dispatch(),this.reset(),this.game.state.loadComplete())},asyncComplete:function(a,b){void 0===b&&(b=""),a.loaded=!0,a.error=!!b,b&&(a.errorMessage=b,console.warn("Phaser.Loader - "+a.type+"["+a.key+"]: "+b)),this.processLoadQueue()},processPack:function(a){var b=a.data[a.key];if(!b)return void console.warn("Phaser.Loader - "+a.key+": pack has data, but not for pack key");for(var d=0;d=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var f=new window.XDomainRequest;f.open("GET",b,!0),f.responseType=c,f.timeout=3e3,e=e||this.fileError;var g=this;f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.ontimeout=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.onprogress=function(){},f.onload=function(){try{return d.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,setTimeout(function(){f.send()},0)},getVideoURL:function(a){for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayVideo(c))return a[b]}return null},getAudioURL:function(a){if(this.game.sound.noAudio)return null;for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayAudio(c))return a[b]}return null},fileError:function(a,b,c){var d=a.requestUrl||this.transformUrl(a.url,a),e="error loading asset from URL "+d;!c&&b&&(c=b.status),c&&(e=e+" ("+c+")"),this.asyncComplete(a,e)},fileComplete:function(a,b){var d=!0;switch(a.type){case"packfile":var e=JSON.parse(b.responseText);a.data=e||{};break;case"image":this.cache.addImage(a.key,a.url,a.data);break;case"spritesheet":this.cache.addSpriteSheet(a.key,a.url,a.data,a.frameWidth,a.frameHeight,a.frameMax,a.margin,a.spacing);break;case"textureatlas":if(null==a.atlasURL)this.cache.addTextureAtlas(a.key,a.url,a.data,a.atlasData,a.format);else if(d=!1,a.format==c.Loader.TEXTURE_ATLAS_JSON_ARRAY||a.format==c.Loader.TEXTURE_ATLAS_JSON_HASH||a.format==c.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.jsonLoadComplete);else{if(a.format!=c.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+a.format);this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.xmlLoadComplete)}break;case"bitmapfont":a.atlasURL?(d=!1,this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",function(a,b){var c;try{c=JSON.parse(b.responseText)}catch(d){}c?(a.atlasType="json",this.jsonLoadComplete(a,b)):(a.atlasType="xml",this.xmlLoadComplete(a,b))})):this.cache.addBitmapFont(a.key,a.url,a.data,a.atlasData,a.atlasType,a.xSpacing,a.ySpacing);break;case"video":if(a.asBlob)try{a.data=new Blob([new Uint8Array(b.response)])}catch(f){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+a.key)}this.cache.addVideo(a.key,a.url,a.data,a.asBlob);break;case"audio":this.game.sound.usingWebAudio?(a.data=b.response,this.cache.addSound(a.key,a.url,a.data,!0,!1),a.autoDecode&&this.game.sound.decode(a.key)):this.cache.addSound(a.key,a.url,a.data,!1,!0);break;case"text":a.data=b.responseText,this.cache.addText(a.key,a.url,a.data);break;case"shader":a.data=b.responseText,this.cache.addShader(a.key,a.url,a.data);break;case"physics":var e=JSON.parse(b.responseText);this.cache.addPhysicsData(a.key,a.url,e,a.format);break;case"script":a.data=document.createElement("script"),a.data.language="javascript",a.data.type="text/javascript",a.data.defer=!1,a.data.text=b.responseText,document.head.appendChild(a.data),a.callback&&(a.data=a.callback.call(a.callbackContext,a.key,b.responseText));break;case"binary":a.callback?a.data=a.callback.call(a.callbackContext,a.key,b.response):a.data=b.response,this.cache.addBinary(a.key,a.data)}d&&this.asyncComplete(a)},jsonLoadComplete:function(a,b){var c=JSON.parse(b.responseText);"tilemap"===a.type?this.cache.addTilemap(a.key,a.url,c,a.format):"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,c,a.atlasType,a.xSpacing,a.ySpacing):"json"===a.type?this.cache.addJSON(a.key,a.url,c):this.cache.addTextureAtlas(a.key,a.url,a.data,c,a.format),this.asyncComplete(a)},csvLoadComplete:function(a,b){var c=b.responseText;this.cache.addTilemap(a.key,a.url,c,a.format),this.asyncComplete(a)},xmlLoadComplete:function(a,b){var c=b.responseText,d=this.parseXml(c);if(!d){var e=b.responseType||b.contentType;return console.warn("Phaser.Loader - "+a.key+": invalid XML ("+e+")"),void this.asyncComplete(a,"invalid XML")}"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,d,a.atlasType,a.xSpacing,a.ySpacing):"textureatlas"===a.type?this.cache.addTextureAtlas(a.key,a.url,a.data,d,a.format):"xml"===a.type&&this.cache.addXML(a.key,a.url,d),this.asyncComplete(a)},parseXml:function(a){var b;try{if(window.DOMParser){var c=new DOMParser;b=c.parseFromString(a,"text/xml")}else b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)}catch(d){b=null}return b&&b.documentElement&&!b.getElementsByTagName("parsererror").length?b:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(c.Loader.prototype,"progressFloat",{get:function(){var a=this._loadedFileCount/this._totalFileCount*100;return c.Math.clamp(a||0,0,100)}}),Object.defineProperty(c.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),c.Loader.prototype.constructor=c.Loader,c.LoaderParser={bitmapFont:function(a,b,c,d){return this.xmlBitmapFont(a,b,c,d)},xmlBitmapFont:function(a,b,c,d){var e={},f=a.getElementsByTagName("info")[0],g=a.getElementsByTagName("common")[0];e.font=f.getAttribute("face"),e.size=parseInt(f.getAttribute("size"),10),e.lineHeight=parseInt(g.getAttribute("lineHeight"),10)+d,e.chars={};for(var h=a.getElementsByTagName("char"),i=0;i=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop())))):void this.destroy()},loopFull:function(a){this.play(null,0,a,!0)},play:function(a,b,c,d,e){if((void 0===a||a===!1||null===a)&&(a=""),void 0===e&&(e=!0),this.isPlaying&&!this.allowMultiple&&!e&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||e))if(this.usingWebAudio)if(this.externalNode?this._sound.disconnect(this.externalNode):this._sound.disconnect(this.gainNode),void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(f){}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(""===a&&Object.keys(this.markers).length>0)return this;if(""!==a){if(this.currentMarker=a,!this.markers[a])return this;this.position=this.markers[a].start,this.volume=this.markers[a].volume,this.loop=this.markers[a].loop,this.duration=this.markers[a].duration,this.durationMS=this.markers[a].durationMS,"undefined"!=typeof c&&(this.volume=c),"undefined"!=typeof d&&(this.loop=d),this._tempMarker=a,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else b=b||0,void 0===c&&(c=this._volume),void 0===d&&(d=this.loop),this.position=b,this.volume=c,this.loop=d,this.duration=0,this.durationMS=0,this._tempMarker=a,this._tempPosition=b,this._tempVolume=c,this._tempLoop=d;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===a&&(this._sound.loop=!0),this.loop||""!==a||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===a?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).isDecoding===!1&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(a,b,c,d){a=a||"",b=b||0,c=c||1,void 0===d&&(d=!1),this.play(a,b,c,d,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var a=this.position+this.pausedPosition/1e3;this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var b=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,a,b):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,a):this._sound.start(0,a,b)}else this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio)if(this.externalNode?this._sound.disconnect(this.externalNode):this._sound.disconnect(this.gainNode),void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(a){}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.pendingPlayback=!1,this.isPlaying=!1;var b=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.paused||this.onStop.dispatch(this,b)},fadeIn:function(a,b,c){void 0===b&&(b=!1),void 0===c&&(c=this.currentMarker),this.paused||(this.play(c,0,0,b),this.fadeTo(a,1))},fadeOut:function(a){this.fadeTo(a,0)},fadeTo:function(a,b){if(this.isPlaying&&!this.paused&&b!==this.volume){if(void 0===a&&(a=1e3),void 0===b)return void console.warn("Phaser.Sound.fadeTo: No Volume Specified.");this.fadeTween=this.game.add.tween(this).to({volume:b},a,c.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)}},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},destroy:function(a){void 0===a&&(a=!0),this.stop(),a?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},c.Sound.prototype.constructor=c.Sound,Object.defineProperty(c.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(c.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(c.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(a){a=a||!1,a!==this._muted&&(a?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(c.Sound.prototype,"volume",{get:function(){return this._volume},set:function(a){return this.game.device.firefox&&this.usingAudioTag&&(a=this.game.math.clamp(a,0,1)),this._muted?void(this._muteVolume=a):(this._tempVolume=a,this._volume=a,void(this.usingWebAudio?this.gainNode.gain.value=a:this.usingAudioTag&&this._sound&&(this._sound.volume=a)))}}),c.SoundManager=function(a){this.game=a,this.onSoundDecode=new c.Signal,this.onVolumeChange=new c.Signal,this.onMute=new c.Signal,this.onUnMute=new c.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new c.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},c.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&this.game.device.webAudio===!1&&(this.channels=1),window.PhaserGlobal){if(window.PhaserGlobal.disableAudio===!0)return this.noAudio=!0,void(this.touchLocked=!1);if(window.PhaserGlobal.disableWebAudio===!0)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||(!this.game.device.cocoonJS&&this.game.device.iOS||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)&&this.setTouchLock()},setTouchLock:function(){this.game.device.iOSVersion>8?this.game.input.touch.addTouchLockCallback(this.unlock,this,!0):this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var a=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=a,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0)}return!0},stopAll:function(){if(!this.noAudio)for(var a=0;aa?a=0:a>1&&(a=1),this._volume!==a){if(this._volume=a,this.usingWebAudio)this.masterGain.gain.value=a;else for(var b=0;b=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var b=this._parentBounds.width,d=this._parentBounds.height,e=this.getParentBounds(this._parentBounds),f=e.width!==b||e.height!==d,g=this.updateOrientationState();(f||g)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,e),this.updateLayout(),this.signalSizeChange());var h=2*this._updateThrottle;this._updateThrottle=b||0>=c)return a;var e=b,f=a.height*b/a.width,g=a.width*c/a.height,h=c,i=g>b;return i=i?d:!d,i?(a.width=Math.floor(e),a.height=Math.floor(f)):(a.width=Math.floor(g),a.height=Math.floor(h)),a},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},c.ScaleManager.prototype.constructor=c.ScaleManager,Object.defineProperty(c.ScaleManager.prototype,"boundingParent",{get:function(){if(this.parentIsWindow||this.isFullScreen&&!this._createdFullScreenTarget)return null;var a=this.game.canvas&&this.game.canvas.parentNode;return a||null}}),Object.defineProperty(c.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(a){return a!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=a),this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(a){return a!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=a,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=a),this._fullScreenScaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(a){a!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(a){a!==this._pageAlignVertically&&(this._pageAlignVertically=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(c.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(c.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),c.Utils.Debug=function(a){this.game=a,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1},c.Utils.Debug.prototype={boot:function(){this.game.renderType===c.CANVAS?this.context=this.game.context:(this.bmd=this.game.make.bitmapData(this.game.width,this.game.height),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.canvas=PIXI.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d"))},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(a,b,c,d){"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),c=c||"rgb(255,255,255)",void 0===d&&(d=0),this.currentX=a,this.currentY=b,this.currentColor=c,this.columnWidth=d,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=c,this.context.fillStyle=c,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var a=this.currentX,b=0;b=0&&c.right>=0&&c.top<=this.layoutBounds.width&&c.left<=this.layoutBounds.height},getScreenOrientation:function(a){var b=window.screen,c=b.orientation||b.mozOrientation||b.msOrientation;if(c&&"string"==typeof c.type)return c.type;if("string"==typeof c)return c;var d="portrait-primary",e="landscape-primary";if("screen"===a)return b.height>b.width?d:e;if("viewport"===a)return this.visualBounds.height>this.visualBounds.width?d:e;if("window.orientation"===a&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?d:e;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return d;if(window.matchMedia("(orientation: landscape)").matches)return e}return this.visualBounds.height>this.visualBounds.width?d:e},visualBounds:new c.Rectangle,layoutBounds:new c.Rectangle,documentBounds:new c.Rectangle},c.Device.whenReady(function(a){var b=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},d=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};Object.defineProperty(c.DOM,"scrollX",{get:b}),Object.defineProperty(c.DOM,"scrollY",{get:d}),Object.defineProperty(c.DOM.visualBounds,"x",{get:b}),Object.defineProperty(c.DOM.visualBounds,"y",{get:d}),Object.defineProperty(c.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(c.DOM.layoutBounds,"y",{value:0});var e=a.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight;if(e){var f=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},g=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(c.DOM.visualBounds,"width",{get:f}),Object.defineProperty(c.DOM.visualBounds,"height",{get:g}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:f}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:g})}else Object.defineProperty(c.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(c.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:function(){var a=document.documentElement.clientWidth,b=window.innerWidth;return b>a?b:a}}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:function(){var a=document.documentElement.clientHeight,b=window.innerHeight;return b>a?b:a}});Object.defineProperty(c.DOM.documentBounds,"x",{value:0}),Object.defineProperty(c.DOM.documentBounds,"y",{value:0}),Object.defineProperty(c.DOM.documentBounds,"width",{get:function(){var a=document.documentElement;return Math.max(a.clientWidth,a.offsetWidth,a.scrollWidth)}}),Object.defineProperty(c.DOM.documentBounds,"height",{get:function(){var a=document.documentElement;return Math.max(a.clientHeight,a.offsetHeight,a.scrollHeight)}})},null,!0),c.ArraySet=function(a){this.position=0,this.list=a||[]},c.ArraySet.prototype={add:function(a){return this.exists(a)||this.list.push(a),a},getIndex:function(a){return this.list.indexOf(a)},getByKey:function(a,b){for(var c=this.list.length;c--;)if(this.list[c][a]===b)return this.list[c];return null},exists:function(a){return this.list.indexOf(a)>-1},reset:function(){this.list.length=0},remove:function(a){var b=this.list.indexOf(a);return b>-1?(this.list.splice(b,1),a):void 0},setAll:function(a,b){for(var c=this.list.length;c--;)this.list[c]&&(this.list[c][a]=b)},callAll:function(a){for(var b=Array.prototype.slice.call(arguments,1),c=this.list.length;c--;)this.list[c]&&this.list[c][a]&&this.list[c][a].apply(this.list[c],b)},removeAll:function(a){void 0===a&&(a=!1);for(var b=this.list.length;b--;)if(this.list[b]){var c=this.remove(this.list[b]);a&&c.destroy()}this.position=0,this.list=[]}},Object.defineProperty(c.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(c.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(c.ArraySet.prototype,"next",{get:function(){return this.position0;b--){var c=Math.floor(Math.random()*(b+1)),d=a[b];a[b]=a[c],a[c]=d}return a},transposeMatrix:function(a){for(var b=a.length,c=a[0].length,d=new Array(c),e=0;c>e;e++){d[e]=new Array(b);for(var f=b-1;f>-1;f--)d[e][f]=a[f][e]}return d},rotateMatrix:function(a,b){if("string"!=typeof b&&(b=(b%360+360)%360),90===b||-270===b||"rotateLeft"===b)a=c.ArrayUtils.transposeMatrix(a),a=a.reverse();else if(-90===b||270===b||"rotateRight"===b)a=a.reverse(),a=c.ArrayUtils.transposeMatrix(a);else if(180===Math.abs(b)||"rotate180"===b){for(var d=0;d=e-a?e:d},rotate:function(a){var b=a.shift();return a.push(b),b},numberArray:function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},numberArrayStep:function(a,b,d){(void 0===a||null===a)&&(a=0),(void 0===b||null===b)&&(b=a,a=0),void 0===d&&(d=1);for(var e=[],f=Math.max(c.Math.roundAwayFromZero((b-a)/(d||1)),0),g=0;f>g;g++)e.push(a),a+=d;return e}},c.LinkedList=function(){this.next=null,this.prev=null,this.first=null,this.last=null,this.total=0},c.LinkedList.prototype={add:function(a){return 0===this.total&&null===this.first&&null===this.last?(this.first=a,this.last=a,this.next=a,a.prev=this,this.total++,a):(this.last.next=a,a.prev=this.last,this.last=a,this.total++,a)},reset:function(){this.first=null,this.last=null,this.next=null,this.prev=null,this.total=0},remove:function(a){return 1===this.total?(this.reset(), -void(a.next=a.prev=null)):(a===this.first?this.first=this.first.next:a===this.last&&(this.last=this.last.prev),a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),a.next=a.prev=null,null===this.first&&(this.last=null),void this.total--)},callAll:function(a){if(this.first&&this.last){var b=this.first;do b&&b[a]&&b[a].call(b),b=b.next;while(b!=this.last.next)}}},c.LinkedList.prototype.constructor=c.LinkedList,c.Create=function(a){this.game=a,this.bmd=null,this.canvas=null,this.ctx=null,this.palettes=[{0:"#000",1:"#9D9D9D",2:"#FFF",3:"#BE2633",4:"#E06F8B",5:"#493C2B",6:"#A46422",7:"#EB8931",8:"#F7E26B",9:"#2F484E",A:"#44891A",B:"#A3CE27",C:"#1B2632",D:"#005784",E:"#31A2F2",F:"#B2DCEF"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#f5f4eb"},{0:"#000",1:"#2234d1",2:"#0c7e45",3:"#44aacc",4:"#8a3622",5:"#5c2e78",6:"#aa5c3d",7:"#b5b5b5",8:"#5e606e",9:"#4c81fb",A:"#6cd947",B:"#7be2f9",C:"#eb8a60",D:"#e23d69",E:"#ffd93f",F:"#fff"},{0:"#000",1:"#fff",2:"#8b4131",3:"#7bbdc5",4:"#8b41ac",5:"#6aac41",6:"#3931a4",7:"#d5de73",8:"#945a20",9:"#5a4100",A:"#bd736a",B:"#525252",C:"#838383",D:"#acee8b",E:"#7b73de",F:"#acacac"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#fff"}]},c.Create.PALETTE_ARNE=0,c.Create.PALETTE_JMP=1,c.Create.PALETTE_CGA=2,c.Create.PALETTE_C64=3,c.Create.PALETTE_JAPANESE_MACHINE=4,c.Create.prototype={texture:function(a,b,c,d,e){void 0===c&&(c=8),void 0===d&&(d=c),void 0===e&&(e=0);var f=b[0].length*c,g=b.length*d;null===this.bmd&&(this.bmd=this.game.make.bitmapData(),this.canvas=this.bmd.canvas,this.ctx=this.bmd.context),this.bmd.resize(f,g),this.bmd.clear();for(var h=0;hg;g+=e)this.ctx.fillRect(0,g,b,1);for(var h=0;b>h;h+=d)this.ctx.fillRect(h,0,1,c);return this.bmd.generateTexture(a)}},c.Create.prototype.constructor=c.Create,c.FlexGrid=function(a,b,d){this.game=a.game,this.manager=a,this.width=b,this.height=d,this.boundsCustom=new c.Rectangle(0,0,b,d),this.boundsFluid=new c.Rectangle(0,0,b,d),this.boundsFull=new c.Rectangle(0,0,b,d),this.boundsNone=new c.Rectangle(0,0,b,d),this.positionCustom=new c.Point(0,0),this.positionFluid=new c.Point(0,0),this.positionFull=new c.Point(0,0),this.positionNone=new c.Point(0,0),this.scaleCustom=new c.Point(1,1),this.scaleFluid=new c.Point(1,1),this.scaleFluidInversed=new c.Point(1,1),this.scaleFull=new c.Point(1,1),this.scaleNone=new c.Point(1,1),this.customWidth=0,this.customHeight=0,this.customOffsetX=0,this.customOffsetY=0,this.ratioH=b/d,this.ratioV=d/b,this.multiplier=0,this.layers=[]},c.FlexGrid.prototype={setSize:function(a,b){this.width=a,this.height=b,this.ratioH=a/b,this.ratioV=b/a,this.scaleNone=new c.Point(1,1),this.boundsNone.width=this.width,this.boundsNone.height=this.height,this.refresh()},createCustomLayer:function(a,b,d,e){void 0===e&&(e=!0),this.customWidth=a,this.customHeight=b,this.boundsCustom.width=a,this.boundsCustom.height=b;var f=new c.FlexLayer(this,this.positionCustom,this.boundsCustom,this.scaleCustom);return e&&this.game.world.add(f),this.layers.push(f),"undefined"!=typeof d&&null!==typeof d&&f.addMultiple(d),f},createFluidLayer:function(a,b){void 0===b&&(b=!0);var d=new c.FlexLayer(this,this.positionFluid,this.boundsFluid,this.scaleFluid);return b&&this.game.world.add(d),this.layers.push(d),"undefined"!=typeof a&&null!==typeof a&&d.addMultiple(a),d},createFullLayer:function(a){var b=new c.FlexLayer(this,this.positionFull,this.boundsFull,this.scaleFluid);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},createFixedLayer:function(a){var b=new c.FlexLayer(this,this.positionNone,this.boundsNone,this.scaleNone);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},reset:function(){for(var a=this.layers.length;a--;)this.layers[a].persist||(this.layers[a].position=null,this.layers[a].scale=null,this.layers.slice(a,1))},onResize:function(a,b){this.ratioH=a/b,this.ratioV=b/a,this.refresh(a,b)},refresh:function(){this.multiplier=Math.min(this.manager.height/this.height,this.manager.width/this.width),this.boundsFluid.width=Math.round(this.width*this.multiplier),this.boundsFluid.height=Math.round(this.height*this.multiplier),this.scaleFluid.set(this.boundsFluid.width/this.width,this.boundsFluid.height/this.height),this.scaleFluidInversed.set(this.width/this.boundsFluid.width,this.height/this.boundsFluid.height),this.scaleFull.set(this.boundsFull.width/this.width,this.boundsFull.height/this.height),this.boundsFull.width=Math.round(this.manager.width*this.scaleFluidInversed.x),this.boundsFull.height=Math.round(this.manager.height*this.scaleFluidInversed.y),this.boundsFluid.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.boundsNone.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.positionFluid.set(this.boundsFluid.x,this.boundsFluid.y),this.positionNone.set(this.boundsNone.x,this.boundsNone.y)},fitSprite:function(a){this.manager.scaleSprite(a),a.x=this.manager.bounds.centerX,a.y=this.manager.bounds.centerY},debug:function(){this.game.debug.text(this.boundsFluid.width+" x "+this.boundsFluid.height,this.boundsFluid.x+4,this.boundsFluid.y+16),this.game.debug.geom(this.boundsFluid,"rgba(255,0,0,0.9",!1)}},c.FlexGrid.prototype.constructor=c.FlexGrid,c.FlexLayer=function(a,b,d,e){c.Group.call(this,a.game,null,"__flexLayer"+a.game.rnd.uuid(),!1),this.manager=a.manager,this.grid=a,this.persist=!1,this.position=b,this.bounds=d,this.scale=e,this.topLeft=d.topLeft,this.topMiddle=new c.Point(d.halfWidth,0),this.topRight=d.topRight,this.bottomLeft=d.bottomLeft,this.bottomMiddle=new c.Point(d.halfWidth,d.bottom),this.bottomRight=d.bottomRight},c.FlexLayer.prototype=Object.create(c.Group.prototype),c.FlexLayer.prototype.constructor=c.FlexLayer,c.FlexLayer.prototype.resize=function(){},c.FlexLayer.prototype.debug=function(){this.game.debug.text(this.bounds.width+" x "+this.bounds.height,this.bounds.x+4,this.bounds.y+16),this.game.debug.geom(this.bounds,"rgba(0,0,255,0.9",!1),this.game.debug.geom(this.topLeft,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topMiddle,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topRight,"rgba(255,255,255,0.9")},c.Color={packPixel:function(a,b,d,e){return c.Device.LITTLE_ENDIAN?(e<<24|d<<16|b<<8|a)>>>0:(a<<24|b<<16|d<<8|e)>>>0},unpackPixel:function(a,b,d,e){return(void 0===b||null===b)&&(b=c.Color.createColor()),(void 0===d||null===d)&&(d=!1),(void 0===e||null===e)&&(e=!1),c.Device.LITTLE_ENDIAN?(b.a=(4278190080&a)>>>24,b.b=(16711680&a)>>>16,b.g=(65280&a)>>>8,b.r=255&a):(b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a),b.color=a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a/255+")",d&&c.Color.RGBtoHSL(b.r,b.g,b.b,b),e&&c.Color.RGBtoHSV(b.r,b.g,b.b,b),b},fromRGBA:function(a,b){return b||(b=c.Color.createColor()),b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a+")",b},toRGBA:function(a,b,c,d){return a<<24|b<<16|c<<8|d},RGBtoHSL:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,1)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d);if(e.h=0,e.s=0,e.l=(g+f)/2,g!==f){var h=g-f;e.s=e.l>.5?h/(2-g-f):h/(g+f),g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6}return e},HSLtoRGB:function(a,b,d,e){if(e?(e.r=d,e.g=d,e.b=d):e=c.Color.createColor(d,d,d),0!==b){var f=.5>d?d*(1+b):d+b-d*b,g=2*d-f;e.r=c.Color.hueToColor(g,f,a+1/3),e.g=c.Color.hueToColor(g,f,a),e.b=c.Color.hueToColor(g,f,a-1/3)}return e.r=Math.floor(255*e.r|0),e.g=Math.floor(255*e.g|0),e.b=Math.floor(255*e.b|0),c.Color.updateColor(e),e},RGBtoHSV:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,255)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d),h=g-f;return e.h=0,e.s=0===g?0:h/g,e.v=g,g!==f&&(g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6),e},HSVtoRGB:function(a,b,d,e){void 0===e&&(e=c.Color.createColor(0,0,0,1,a,b,0,d));var f,g,h,i=Math.floor(6*a),j=6*a-i,k=d*(1-b),l=d*(1-j*b),m=d*(1-(1-j)*b);switch(i%6){case 0:f=d,g=m,h=k;break;case 1:f=l,g=d,h=k;break;case 2:f=k,g=d,h=m;break;case 3:f=k,g=l,h=d;break;case 4:f=m,g=k,h=d;break;case 5:f=d,g=k,h=l}return e.r=Math.floor(255*f),e.g=Math.floor(255*g),e.b=Math.floor(255*h),c.Color.updateColor(e),e},hueToColor:function(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a},createColor:function(a,b,d,e,f,g,h,i){var j={r:a||0,g:b||0,b:d||0,a:e||1,h:f||0,s:g||0,l:h||0,v:i||0,color:0,color32:0,rgba:""};return c.Color.updateColor(j)},updateColor:function(a){return a.rgba="rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+a.a.toString()+")",a.color=c.Color.getColor(a.r,a.g,a.b),a.color32=c.Color.getColor32(a.a,a.r,a.g,a.b),a},getColor32:function(a,b,c,d){return a<<24|b<<16|c<<8|d},getColor:function(a,b,c){return a<<16|b<<8|c},RGBtoString:function(a,b,d,e,f){return void 0===e&&(e=255),void 0===f&&(f="#"),"#"===f?"#"+((1<<24)+(a<<16)+(b<<8)+d).toString(16).slice(1):"0x"+c.Color.componentToHex(e)+c.Color.componentToHex(a)+c.Color.componentToHex(b)+c.Color.componentToHex(d)},hexToRGB:function(a){var b=c.Color.hexToColor(a);return b?c.Color.getColor32(b.a,b.r,b.g,b.b):void 0},hexToColor:function(a,b){a=a.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,b,c,d){return b+b+c+c+d+d});var d=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);if(d){var e=parseInt(d[1],16),f=parseInt(d[2],16),g=parseInt(d[3],16);b?(b.r=e,b.g=f,b.b=g):b=c.Color.createColor(e,f,g)}return b},webToColor:function(a,b){b||(b=c.Color.createColor());var d=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(a);return d&&(b.r=parseInt(d[1],10),b.g=parseInt(d[2],10),b.b=parseInt(d[3],10),b.a=void 0!==d[4]?parseFloat(d[4]):1,c.Color.updateColor(b)),b},valueToColor:function(a,b){if(b||(b=c.Color.createColor()),"string"==typeof a)return 0===a.indexOf("rgb")?c.Color.webToColor(a,b):(b.a=1,c.Color.hexToColor(a,b));if("number"==typeof a){var d=c.Color.getRGB(a);return b.r=d.r,b.g=d.g,b.b=d.b,b.a=d.a/255,b}return b},componentToHex:function(a){var b=a.toString(16);return 1==b.length?"0"+b:b},HSVColorWheel:function(a,b){void 0===a&&(a=1),void 0===b&&(b=1);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSVtoRGB(e/359,a,b));return d},HSLColorWheel:function(a,b){void 0===a&&(a=.5),void 0===b&&(b=.5);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSLtoRGB(e/359,a,b));return d},interpolateColor:function(a,b,d,e,f){void 0===f&&(f=255);var g=c.Color.getRGB(a),h=c.Color.getRGB(b),i=(h.red-g.red)*e/d+g.red,j=(h.green-g.green)*e/d+g.green,k=(h.blue-g.blue)*e/d+g.blue;return c.Color.getColor32(f,i,j,k)},interpolateColorWithRGB:function(a,b,d,e,f,g){var h=c.Color.getRGB(a),i=(b-h.red)*g/f+h.red,j=(d-h.green)*g/f+h.green,k=(e-h.blue)*g/f+h.blue;return c.Color.getColor(i,j,k)},interpolateRGB:function(a,b,d,e,f,g,h,i){var j=(e-a)*i/h+a,k=(f-b)*i/h+b,l=(g-d)*i/h+d;return c.Color.getColor(j,k,l)},getRandomColor:function(a,b,d){if(void 0===a&&(a=0),void 0===b&&(b=255),void 0===d&&(d=255),b>255||a>b)return c.Color.getColor(255,255,255);var e=a+Math.round(Math.random()*(b-a)),f=a+Math.round(Math.random()*(b-a)),g=a+Math.round(Math.random()*(b-a));return c.Color.getColor32(d,e,f,g)},getRGB:function(a){return a>16777215?{alpha:a>>>24,red:a>>16&255,green:a>>8&255,blue:255&a,a:a>>>24,r:a>>16&255,g:a>>8&255,b:255&a}:{alpha:255,red:a>>16&255,green:a>>8&255,blue:255&a,a:255,r:a>>16&255,g:a>>8&255,b:255&a}},getWebRGB:function(a){if("object"==typeof a)return"rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+(a.a/255).toString()+")";var b=c.Color.getRGB(a);return"rgba("+b.r.toString()+","+b.g.toString()+","+b.b.toString()+","+(b.a/255).toString()+")"},getAlpha:function(a){return a>>>24},getAlphaFloat:function(a){return(a>>>24)/255},getRed:function(a){return a>>16&255},getGreen:function(a){return a>>8&255},getBlue:function(a){return 255&a},blendNormal:function(a){return a},blendLighten:function(a,b){return b>a?b:a},blendDarken:function(a,b){return b>a?a:b},blendMultiply:function(a,b){return a*b/255},blendAverage:function(a,b){return(a+b)/2},blendAdd:function(a,b){return Math.min(255,a+b)},blendSubtract:function(a,b){return Math.max(0,a+b-255)},blendDifference:function(a,b){return Math.abs(a-b)},blendNegation:function(a,b){return 255-Math.abs(255-a-b)},blendScreen:function(a,b){return 255-((255-a)*(255-b)>>8)},blendExclusion:function(a,b){return a+b-2*a*b/255},blendOverlay:function(a,b){return 128>b?2*a*b/255:255-2*(255-a)*(255-b)/255},blendSoftLight:function(a,b){return 128>b?2*((a>>1)+64)*(b/255):255-2*(255-((a>>1)+64))*(255-b)/255},blendHardLight:function(a,b){return c.Color.blendOverlay(b,a)},blendColorDodge:function(a,b){return 255===b?b:Math.min(255,(a<<8)/(255-b))},blendColorBurn:function(a,b){return 0===b?b:Math.max(0,255-(255-a<<8)/b)},blendLinearDodge:function(a,b){return c.Color.blendAdd(a,b)},blendLinearBurn:function(a,b){return c.Color.blendSubtract(a,b)},blendLinearLight:function(a,b){return 128>b?c.Color.blendLinearBurn(a,2*b):c.Color.blendLinearDodge(a,2*(b-128))},blendVividLight:function(a,b){return 128>b?c.Color.blendColorBurn(a,2*b):c.Color.blendColorDodge(a,2*(b-128))},blendPinLight:function(a,b){return 128>b?c.Color.blendDarken(a,2*b):c.Color.blendLighten(a,2*(b-128))},blendHardMix:function(a,b){return c.Color.blendVividLight(a,b)<128?0:255},blendReflect:function(a,b){return 255===b?b:Math.min(255,a*a/(255-b))},blendGlow:function(a,b){return c.Color.blendReflect(b,a)},blendPhoenix:function(a,b){return Math.min(a,b)-Math.max(a,b)+255}},c.Physics=function(a,b){b=b||{},this.game=a,this.config=b,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},c.Physics.ARCADE=0,c.Physics.P2JS=1,c.Physics.NINJA=2,c.Physics.BOX2D=3,c.Physics.CHIPMUNK=4,c.Physics.MATTERJS=5,c.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&this.config.arcade!==!0||!c.Physics.hasOwnProperty("Arcade")||(this.arcade=new c.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&this.config.ninja===!0&&c.Physics.hasOwnProperty("Ninja")&&(this.ninja=new c.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&this.config.p2===!0&&c.Physics.hasOwnProperty("P2")&&(this.p2=new c.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&this.config.box2d===!0&&c.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new c.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&this.config.matter===!0&&c.Physics.hasOwnProperty("Matter")&&(this.matter=new c.Physics.Matter(this.game,this.config))},startSystem:function(a){a===c.Physics.ARCADE?this.arcade=new c.Physics.Arcade(this.game):a===c.Physics.P2JS?null===this.p2?this.p2=new c.Physics.P2(this.game,this.config):this.p2.reset():a===c.Physics.NINJA?this.ninja=new c.Physics.Ninja(this.game):a===c.Physics.BOX2D?null===this.box2d?this.box2d=new c.Physics.Box2D(this.game,this.config):this.box2d.reset():a===c.Physics.MATTERJS&&(null===this.matter?this.matter=new c.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(a,b,d){void 0===b&&(b=c.Physics.ARCADE),void 0===d&&(d=!1),b===c.Physics.ARCADE?this.arcade.enable(a):b===c.Physics.P2JS&&this.p2?this.p2.enable(a,d):b===c.Physics.NINJA&&this.ninja?this.ninja.enableAABB(a):b===c.Physics.BOX2D&&this.box2d?this.box2d.enable(a):b===c.Physics.MATTERJS&&this.matter&&this.matter.enable(a)},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},c.Physics.prototype.constructor=c.Physics,c.Particles=function(a){this.game=a,this.emitters={},this.ID=0},c.Particles.prototype={add:function(a){return this.emitters[a.name]=a,a},remove:function(a){delete this.emitters[a.name]},update:function(){for(var a in this.emitters)this.emitters[a].exists&&this.emitters[a].update()}},c.Particles.prototype.constructor=c.Particles,c.Video=function(a,b,d){if(void 0===b&&(b=null),void 0===d&&(d=null),this.game=a,this.key=b,this.width=0,this.height=0,this.type=c.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new c.Signal,this.onChangeSource=new c.Signal,this.onComplete=new c.Signal,this.onAccess=new c.Signal,this.onError=new c.Signal,this.onTimeout=new c.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._autoplay=!1,b&&this.game.cache.checkVideoKey(b)){var e=this.game.cache.getVideo(b);e.isBlob?this.createVideoFromBlob(e.data):this.video=e.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else d&&this.createVideoFromURL(d,!1);this.video&&!d?(this.baseTexture=new PIXI.BaseTexture(this.video),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(PIXI.TextureCache.__default.baseTexture.source),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==b&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,c.BitmapData&&(this.snapshot=new c.BitmapData(this.game,"",this.width,this.height)),!this.game.device.cocoonJS&&(this.game.device.iOS||this.game.device.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock?this.setTouchLock():e&&(e.locked=!1)},c.Video.prototype={connectToMediaStream:function(a,b){return a&&b&&(this.video=a,this.videoStream=b,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(a,b,c){if(void 0===a&&(a=!1),void 0===b&&(b=null),void 0===c&&(c=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==b&&(this.video.width=b),null!==c&&(this.video.height=c),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:a,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(d){this.getUserMediaError(d)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(a){clearTimeout(this._timeOutID),this.onError.dispatch(this,a)},getUserMediaSuccess:function(a){clearTimeout(this._timeOutID),this.videoStream=a,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=a:this.video.src=window.URL&&window.URL.createObjectURL(a)||a;var b=this;this.video.onloadeddata=function(){function a(){if(c>0)if(b.video.videoWidth>0){var d=b.video.videoWidth,e=b.video.videoHeight;isNaN(b.video.videoHeight)&&(e=d/(4/3)),b.video.play(),b.isStreaming=!0,b.baseTexture.source=b.video,b.updateTexture(null,d,e),b.onAccess.dispatch(b)}else window.setTimeout(a,500);else console.warn("Unable to connect to video stream. Webcam error?");c--}var c=10;a()}},createVideoFromBlob:function(a){var b=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(a){b.updateTexture(a)},!0),this.video.src=window.URL.createObjectURL(a),this.video.canplay=!0,this},createVideoFromURL:function(a,b){return void 0===b&&(b=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,b&&this.video.setAttribute("autoplay","autoplay"),this.video.src=a,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=a,this},updateTexture:function(a,b,c){var d=!1;(void 0===b||null===b)&&(b=this.video.videoWidth,d=!0),(void 0===c||null===c)&&(c=this.video.videoHeight),this.width=b,this.height=c,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(b,c),this.texture.frame.resize(b,c),this.texture.width=b,this.texture.height=c,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(b,c),d&&null!==this.key&&(this.onChangeSource.dispatch(this,b,c),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(a,b){return void 0===a&&(a=!1),void 0===b&&(b=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this.video.addEventListener("ended",this.complete.bind(this),!0),a?this.video.loop="loop":this.video.loop="",this.video.playbackRate=b,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):this.video.addEventListener("playing",this.playHandler.bind(this),!0)),this.video.play(),this.onPlay.dispatch(this,a,b)),this},playHandler:function(){this.video.removeEventListener("playing",this.playHandler.bind(this)),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this.complete.bind(this),!0),this.video.removeEventListener("playing",this.playHandler.bind(this),!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(a){if(Array.isArray(a))for(var b=0;b0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming))},setTouchLock:function(){this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var a=this.game.cache.getVideo(this.key);a&&!a.isBlob&&(a.locked=!1)}return!0},grab:function(a,b,c){return void 0===a&&(a=!1),void 0===b&&(b=1),void 0===c&&(c=null),null===this.snapshot?void console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable"):(a&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,b,c),this.snapshot)},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(c.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(a){this.video.currentTime=a}}),Object.defineProperty(c.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(c.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(c.Video.prototype,"mute",{get:function(){return this._muted},set:function(a){if(a=a||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(c.Video.prototype,"paused",{get:function(){return this._paused},set:function(a){if(a=a||null,!this.touchLocked)if(a){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(c.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(a){0>a?a=0:a>1&&(a=1),this.video&&(this.video.volume=a)}}),Object.defineProperty(c.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(a){this.video&&(this.video.playbackRate=a)}}),Object.defineProperty(c.Video.prototype,"loop",{get:function(){return this.video?this.video.loop:!1},set:function(a){a&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(c.Video.prototype,"playing",{get:function(){return!(this.video.paused&&this.video.ended)}}),c.Video.prototype.constructor=c.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=c.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=c.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new PIXI.Matrix),void 0===PIXI.RenderTexture.tempMatrix&&(PIXI.RenderTexture.tempMatrix=new PIXI.Matrix),PIXI.Graphics&&void 0===PIXI.Graphics.POLY&&(PIXI.Graphics.POLY=c.POLYGON,PIXI.Graphics.RECT=c.RECTANGLE,PIXI.Graphics.CIRC=c.CIRCLE,PIXI.Graphics.ELIP=c.ELLIPSE,PIXI.Graphics.RREC=c.ROUNDEDRECTANGLE),PIXI.TextureSilentFail=!0,"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=c),exports.Phaser=c):"undefined"!=typeof define&&define.amd?define("Phaser",function(){return b.Phaser=c}()):b.Phaser=c,c}.call(this); +(function(){var a=this,b=b||{};return b.game=null,b.WEBGL_RENDERER=0,b.CANVAS_RENDERER=1,b.VERSION="v2.2.9",b._UID=0,"undefined"!=typeof Float32Array?(b.Float32Array=Float32Array,b.Uint16Array=Uint16Array,b.Uint32Array=Uint32Array,b.ArrayBuffer=ArrayBuffer):(b.Float32Array=Array,b.Uint16Array=Array),b.PI_2=2*Math.PI,b.RAD_TO_DEG=180/Math.PI,b.DEG_TO_RAD=Math.PI/180,b.RETINA_PREFIX="@2x",b.DisplayObject=function(){this.position=new b.Point(0,0),this.scale=new b.Point(1,1),this.pivot=new b.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.stage=null,this.worldAlpha=1,this.worldTransform=new b.Matrix,this.worldPosition=new b.Point(0,0),this.worldScale=new b.Point(1,1),this.worldRotation=0,this._sr=0,this._cr=1,this.filterArea=null,this._bounds=new b.Rectangle(0,0,1,1),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},b.DisplayObject.prototype.constructor=b.DisplayObject,b.DisplayObject.prototype.destroy=function(){if(this.children){for(var a=this.children.length;a--;)this.children[a].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.stage=null,this.worldTransform=null,this.filterArea=null,this._bounds=null,this._currentBounds=null,this._mask=null,this.renderable=!1,this._destroyCachedSprite()},Object.defineProperty(b.DisplayObject.prototype,"worldVisible",{get:function(){var a=this;do{if(!a.visible)return!1;a=a.parent}while(a);return!0}}),Object.defineProperty(b.DisplayObject.prototype,"mask",{get:function(){return this._mask},set:function(a){this._mask&&(this._mask.isMask=!1),this._mask=a,this._mask&&(this._mask.isMask=!0)}}),Object.defineProperty(b.DisplayObject.prototype,"filters",{get:function(){return this._filters},set:function(a){if(a){for(var c=[],d=0;d=0&&b<=this.children.length)return a.parent&&a.parent.removeChild(a),a.parent=this,this.children.splice(b,0,a),this.stage&&a.setStageReference(this.stage),a;throw new Error(a+"addChildAt: The index "+b+" supplied is out of bounds "+this.children.length)},b.DisplayObjectContainer.prototype.swapChildren=function(a,b){if(a!==b){var c=this.getChildIndex(a),d=this.getChildIndex(b);if(0>c||0>d)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[c]=b,this.children[d]=a}},b.DisplayObjectContainer.prototype.getChildIndex=function(a){var b=this.children.indexOf(a);if(-1===b)throw new Error("The supplied DisplayObject must be a child of the caller");return b},b.DisplayObjectContainer.prototype.setChildIndex=function(a,b){if(0>b||b>=this.children.length)throw new Error("The supplied index is out of bounds");var c=this.getChildIndex(a);this.children.splice(c,1),this.children.splice(b,0,a)},b.DisplayObjectContainer.prototype.getChildAt=function(a){if(0>a||a>=this.children.length)throw new Error("getChildAt: Supplied index "+a+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[a]},b.DisplayObjectContainer.prototype.removeChild=function(a){var b=this.children.indexOf(a);if(-1!==b)return this.removeChildAt(b)},b.DisplayObjectContainer.prototype.removeChildAt=function(a){var b=this.getChildAt(a);return this.stage&&b.removeStageReference(),b.parent=void 0,this.children.splice(a,1),b},b.DisplayObjectContainer.prototype.removeChildren=function(a,b){var c=a||0,d="number"==typeof b?b:this.children.length,e=d-c;if(e>0&&d>=e){for(var f=this.children.splice(c,e),g=0;gj;j++){var l=this.children[j];l.visible&&(i=!0,a=this.children[j].getBounds(),e=ec?g:c,h=h>d?h:d)}if(!i)return b.EmptyRectangle;var m=this._bounds;return m.x=e,m.y=f,m.width=g-e,m.height=h-f,m},b.DisplayObjectContainer.prototype.getLocalBounds=function(){var a=this.worldTransform;this.worldTransform=b.identityMatrix;for(var c=0,d=this.children.length;d>c;c++)this.children[c].updateTransform();var e=this.getBounds();return this.worldTransform=a,e},b.DisplayObjectContainer.prototype.setStageReference=function(a){this.stage=a;for(var b=0;bi){i*=-1;var s=d;d=-e,e=-s}if(0>l){l*=-1;var s=f;f=-g,g=-s}q=i*e+m,o=i*d+m,r=l*g+n,p=l*f+n}else{var t=i*e+k*g+m,u=l*g+j*e+n,v=i*d+k*g+m,w=l*g+j*d+n,x=i*d+k*f+m,y=l*f+j*d+n,z=i*e+k*f+m,A=l*f+j*e+n;q=q>t?t:q,q=q>v?v:q,q=q>x?x:q,q=q>z?z:q,r=r>u?u:r,r=r>w?w:r,r=r>y?y:r,r=r>A?A:r,o=t>o?t:o,o=v>o?v:o,o=x>o?x:o,o=z>o?z:o,p=u>p?u:p,p=w>p?w:p,p=y>p?y:p,p=A>p?A:p}var B=this._bounds;return B.x=q,B.width=o-q,B.y=r,B.height=p-r,this._currentBounds=B,B},b.Sprite.prototype._renderWebGL=function(a,b){if(this.visible&&!(this.alpha<=0)&&this.renderable){var c=this.worldTransform;if(b&&(c=b),this._mask||this._filters){var d=a.spriteBatch;this._filters&&(d.flush(),a.filterManager.pushFilter(this._filterBlock)),this._mask&&(d.stop(),a.maskManager.pushMask(this.mask,a),d.start()),d.render(this);for(var e=0;e>16&255)/255,(a>>8&255)/255,(255&a)/255]},b.rgb2hex=function(a){return(255*a[0]<<16)+(255*a[1]<<8)+255*a[2]},b.canUseNewCanvasBlendModes=function(){if(void 0===document)return!1;var a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/",c="AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",d=new Image;d.src=a+"AP804Oa6"+c;var e=new Image;e.src=a+"/wCKxvRF"+c;var f=b.CanvasPool.create(this,6,1),g=f.getContext("2d");if(g.globalCompositeOperation="multiply",g.drawImage(d,0,0),g.drawImage(e,2,0),!g.getImageData(2,0,1,1))return!1;var h=g.getImageData(2,0,1,1).data;return b.CanvasPool.remove(this),255===h[0]&&0===h[1]&&0===h[2]},b.getNextPowerOfTwo=function(a){if(a>0&&0===(a&a-1))return a;for(var b=1;a>b;)b<<=1;return b},b.isPowerOfTwo=function(a,b){return a>0&&0===(a&a-1)&&b>0&&0===(b&b-1)},b.CanvasPool={create:function(a,c,d){var e,f=b.CanvasPool.getFirst();if(-1===f){var g={parent:a,canvas:document.createElement("canvas")};b.CanvasPool.pool.push(g),e=g.canvas}else b.CanvasPool.pool[f].parent=a,e=b.CanvasPool.pool[f].canvas;return void 0!==c&&(e.width=c,e.height=d),e},getFirst:function(){for(var a=b.CanvasPool.pool,c=0;cd;d+=6,e+=4)this.indices[d+0]=e+0,this.indices[d+1]=e+1,this.indices[d+2]=e+2,this.indices[d+3]=e+0,this.indices[d+4]=e+2,this.indices[d+5]=e+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.dirty=!0,this.textures=[],this.blendModes=[],this.shaders=[],this.sprites=[],this.defaultShader=new b.AbstractFilter(["precision lowp float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;","}"])},b.WebGLSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW),this.currentBlendMode=99999;var c=new b.PixiShader(a);c.fragmentSrc=this.defaultShader.fragmentSrc,c.uniforms={},c.init(),this.defaultShader.shaders[a.id]=c},b.WebGLSpriteBatch.prototype.begin=function(a){this.renderSession=a,this.shader=this.renderSession.shaderManager.defaultShader,this.start()},b.WebGLSpriteBatch.prototype.end=function(){this.flush()},b.WebGLSpriteBatch.prototype.render=function(a,b){var c=a.texture,d=a.worldTransform;b&&(d=b),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture);var e=c._uvs;if(e){var f,g,h,i,j=a.anchor.x,k=a.anchor.y;if(c.trim){var l=c.trim;g=l.x-j*l.width,f=g+c.crop.width,i=l.y-k*l.height,h=i+c.crop.height}else f=c.frame.width*(1-j),g=c.frame.width*-j,h=c.frame.height*(1-k),i=c.frame.height*-k;var m=4*this.currentBatchSize*this.vertSize,n=c.baseTexture.resolution,o=d.a/n,p=d.b/n,q=d.c/n,r=d.d/n,s=d.tx,t=d.ty,u=this.colors,v=this.positions;this.renderSession.roundPixels?(v[m]=o*g+q*i+s|0,v[m+1]=r*i+p*g+t|0,v[m+5]=o*f+q*i+s|0,v[m+6]=r*i+p*f+t|0,v[m+10]=o*f+q*h+s|0,v[m+11]=r*h+p*f+t|0,v[m+15]=o*g+q*h+s|0,v[m+16]=r*h+p*g+t|0):(v[m]=o*g+q*i+s,v[m+1]=r*i+p*g+t,v[m+5]=o*f+q*i+s,v[m+6]=r*i+p*f+t,v[m+10]=o*f+q*h+s,v[m+11]=r*h+p*f+t,v[m+15]=o*g+q*h+s,v[m+16]=r*h+p*g+t),v[m+2]=e.x0,v[m+3]=e.y0,v[m+7]=e.x1,v[m+8]=e.y1,v[m+12]=e.x2,v[m+13]=e.y2,v[m+17]=e.x3,v[m+18]=e.y3;var w=a.tint;u[m+4]=u[m+9]=u[m+14]=u[m+19]=(w>>16)+(65280&w)+((255&w)<<16)+(255*a.worldAlpha<<24),this.sprites[this.currentBatchSize++]=a}},b.WebGLSpriteBatch.prototype.renderTilingSprite=function(a){var c=a.tilingTexture;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture),a._uvs||(a._uvs=new b.TextureUvs);var d=a._uvs,e=c.baseTexture.width,f=c.baseTexture.height;a.tilePosition.x%=e*a.tileScaleOffset.x,a.tilePosition.y%=f*a.tileScaleOffset.y;var g=a.tilePosition.x/(e*a.tileScaleOffset.x),h=a.tilePosition.y/(f*a.tileScaleOffset.y),i=a.width/e/(a.tileScale.x*a.tileScaleOffset.x),j=a.height/f/(a.tileScale.y*a.tileScaleOffset.y);d.x0=0-g,d.y0=0-h,d.x1=1*i-g,d.y1=0-h,d.x2=1*i-g,d.y2=1*j-h,d.x3=0-g,d.y3=1*j-h;var k=a.tint,l=(k>>16)+(65280&k)+((255&k)<<16)+(255*a.worldAlpha<<24),m=this.positions,n=this.colors,o=a.width,p=a.height,q=a.anchor.x,r=a.anchor.y,s=o*(1-q),t=o*-q,u=p*(1-r),v=p*-r,w=4*this.currentBatchSize*this.vertSize,x=c.baseTexture.resolution,y=a.worldTransform,z=y.a/x,A=y.b/x,B=y.c/x,C=y.d/x,D=y.tx,E=y.ty;m[w++]=z*t+B*v+D,m[w++]=C*v+A*t+E,m[w++]=d.x0,m[w++]=d.y0,n[w++]=l,m[w++]=z*s+B*v+D,m[w++]=C*v+A*s+E,m[w++]=d.x1,m[w++]=d.y1,n[w++]=l,m[w++]=z*s+B*u+D,m[w++]=C*u+A*s+E,m[w++]=d.x2,m[w++]=d.y2,n[w++]=l,m[w++]=z*t+B*u+D,m[w++]=C*u+A*t+E,m[w++]=d.x3,m[w++]=d.y3,n[w++]=l,this.sprites[this.currentBatchSize++]=a},b.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a,c=this.gl;if(this.dirty){this.dirty=!1,c.activeTexture(c.TEXTURE0),c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a=this.defaultShader.shaders[c.id];var d=4*this.vertSize;c.vertexAttribPointer(a.aVertexPosition,2,c.FLOAT,!1,d,0),c.vertexAttribPointer(a.aTextureCoord,2,c.FLOAT,!1,d,8),c.vertexAttribPointer(a.colorAttribute,4,c.UNSIGNED_BYTE,!0,d,16)}if(this.currentBatchSize>.5*this.size)c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices);else{var e=this.positions.subarray(0,4*this.currentBatchSize*this.vertSize);c.bufferSubData(c.ARRAY_BUFFER,0,e)}for(var f,g,h,i,j=0,k=0,l=null,m=this.renderSession.blendModeManager.currentBlendMode,n=null,o=!1,p=!1,q=0,r=this.currentBatchSize;r>q;q++){i=this.sprites[q],f=i.tilingTexture?i.tilingTexture.baseTexture:i.texture.baseTexture,g=i.blendMode,h=i.shader||this.defaultShader,o=m!==g,p=n!==h;var s=f.skipRender;if(s&&i.children.length>0&&(s=!1),(l!==f&&!s||o||p)&&(this.renderBatch(l,j,k),k=q,j=0,l=f,o&&(m=g,this.renderSession.blendModeManager.setBlendMode(m)),p)){n=h,a=n.shaders[c.id],a||(a=new b.PixiShader(c),a.fragmentSrc=n.fragmentSrc,a.uniforms=n.uniforms,a.init(),n.shaders[c.id]=a),this.renderSession.shaderManager.setShader(a),a.dirty&&a.syncUniforms();var t=this.renderSession.projection;c.uniform2f(a.projectionVector,t.x,t.y);var u=this.renderSession.offset;c.uniform2f(a.offsetVector,u.x,u.y)}j++}this.renderBatch(l,j,k),this.currentBatchSize=0}},b.WebGLSpriteBatch.prototype.renderBatch=function(a,b,c){if(0!==b){var d=this.gl;if(a._dirty[d.id]){if(!this.renderSession.renderer.updateTexture(a))return}else d.bindTexture(d.TEXTURE_2D,a._glTextures[d.id]);d.drawElements(d.TRIANGLES,6*b,d.UNSIGNED_SHORT,6*c*2),this.renderSession.drawCount++}},b.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},b.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},b.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},b.WebGLFastSpriteBatch=function(a){this.vertSize=10,this.maxSize=6e3,this.size=this.maxSize;var c=4*this.size*this.vertSize,d=6*this.maxSize;this.vertices=new b.Float32Array(c),this.indices=new b.Uint16Array(d),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var e=0,f=0;d>e;e+=6,f+=4)this.indices[e+0]=f+0,this.indices[e+1]=f+1,this.indices[e+2]=f+2,this.indices[e+3]=f+0,this.indices[e+4]=f+2,this.indices[e+5]=f+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.currentBlendMode=0,this.renderSession=null,this.shader=null,this.matrix=null,this.setContext(a)},b.WebGLFastSpriteBatch.prototype.constructor=b.WebGLFastSpriteBatch,b.WebGLFastSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW)},b.WebGLFastSpriteBatch.prototype.begin=function(a,b){this.renderSession=b,this.shader=this.renderSession.shaderManager.fastShader,this.matrix=a.worldTransform.toArray(!0),this.start()},b.WebGLFastSpriteBatch.prototype.end=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.render=function(a){var b=a.children,c=b[0];if(c.texture._uvs){this.currentBaseTexture=c.texture.baseTexture,c.blendMode!==this.renderSession.blendModeManager.currentBlendMode&&(this.flush(),this.renderSession.blendModeManager.setBlendMode(c.blendMode));for(var d=0,e=b.length;e>d;d++)this.renderSprite(b[d]);this.flush()}},b.WebGLFastSpriteBatch.prototype.renderSprite=function(a){if(a.visible&&(a.texture.baseTexture===this.currentBaseTexture||a.texture.baseTexture.skipRender||(this.flush(),this.currentBaseTexture=a.texture.baseTexture,a.texture._uvs))){var b,c,d,e,f,g,h,i,j=this.vertices;if(b=a.texture._uvs,c=a.texture.frame.width,d=a.texture.frame.height,a.texture.trim){var k=a.texture.trim;f=k.x-a.anchor.x*k.width,e=f+a.texture.crop.width,h=k.y-a.anchor.y*k.height,g=h+a.texture.crop.height}else e=a.texture.frame.width*(1-a.anchor.x),f=a.texture.frame.width*-a.anchor.x,g=a.texture.frame.height*(1-a.anchor.y),h=a.texture.frame.height*-a.anchor.y;i=4*this.currentBatchSize*this.vertSize,j[i++]=f,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x0,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x1,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x2,j[i++]=b.y2,j[i++]=a.alpha,j[i++]=f,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x3,j[i++]=b.y3,j[i++]=a.alpha,this.currentBatchSize++,this.currentBatchSize>=this.size&&this.flush()}},b.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a=this.gl;if(this.currentBaseTexture._glTextures[a.id]||this.renderSession.renderer.updateTexture(this.currentBaseTexture,a),a.bindTexture(a.TEXTURE_2D,this.currentBaseTexture._glTextures[a.id]),this.currentBatchSize>.5*this.size)a.bufferSubData(a.ARRAY_BUFFER,0,this.vertices);else{var b=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);a.bufferSubData(a.ARRAY_BUFFER,0,b)}a.drawElements(a.TRIANGLES,6*this.currentBatchSize,a.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}},b.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.start=function(){var a=this.gl;a.activeTexture(a.TEXTURE0),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var b=this.renderSession.projection;a.uniform2f(this.shader.projectionVector,b.x,b.y),a.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var c=4*this.vertSize;a.vertexAttribPointer(this.shader.aVertexPosition,2,a.FLOAT,!1,c,0),a.vertexAttribPointer(this.shader.aPositionCoord,2,a.FLOAT,!1,c,8),a.vertexAttribPointer(this.shader.aScale,2,a.FLOAT,!1,c,16),a.vertexAttribPointer(this.shader.aRotation,1,a.FLOAT,!1,c,24),a.vertexAttribPointer(this.shader.aTextureCoord,2,a.FLOAT,!1,c,28),a.vertexAttribPointer(this.shader.colorAttribute,1,a.FLOAT,!1,c,36)},b.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},b.WebGLFilterManager.prototype.constructor=b.WebGLFilterManager,b.WebGLFilterManager.prototype.setContext=function(a){this.gl=a,this.texturePool=[],this.initShaderBuffers()},b.WebGLFilterManager.prototype.begin=function(a,b){this.renderSession=a,this.defaultShader=a.shaderManager.defaultShader;var c=this.renderSession.projection;this.width=2*c.x,this.height=2*-c.y,this.buffer=b},b.WebGLFilterManager.prototype.pushFilter=function(a){var c=this.gl,d=this.renderSession.projection,e=this.renderSession.offset;a._filterArea=a.target.filterArea||a.target.getBounds(),a._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new b.WebGLStencilManager,this.renderSession.stencilManager.setContext(c),c.disable(c.STENCIL_TEST),this.filterStack.push(a);var f=a.filterPasses[0];this.offsetX+=a._filterArea.x,this.offsetY+=a._filterArea.y;var g=this.texturePool.pop();g?g.resize(this.width,this.height):g=new b.FilterTexture(this.gl,this.width,this.height),c.bindTexture(c.TEXTURE_2D,g.texture);var h=a._filterArea,i=f.padding;h.x-=i,h.y-=i,h.width+=2*i,h.height+=2*i,h.x<0&&(h.x=0),h.width>this.width&&(h.width=this.width),h.y<0&&(h.y=0),h.height>this.height&&(h.height=this.height),c.bindFramebuffer(c.FRAMEBUFFER,g.frameBuffer),c.viewport(0,0,h.width,h.height),d.x=h.width/2,d.y=-h.height/2,e.x=-h.x,e.y=-h.y,c.colorMask(!0,!0,!0,!0),c.clearColor(0,0,0,0),c.clear(c.COLOR_BUFFER_BIT),a._glFilterTexture=g},b.WebGLFilterManager.prototype.popFilter=function(){var a=this.gl,c=this.filterStack.pop(),d=c._filterArea,e=c._glFilterTexture,f=this.renderSession.projection,g=this.renderSession.offset;if(c.filterPasses.length>1){a.viewport(0,0,d.width,d.height),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=d.height,this.vertexArray[2]=d.width,this.vertexArray[3]=d.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=d.width,this.vertexArray[7]=0,a.bufferSubData(a.ARRAY_BUFFER,0,this.vertexArray),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=d.width/this.width,this.uvArray[5]=d.height/this.height,this.uvArray[6]=d.width/this.width,this.uvArray[7]=d.height/this.height,a.bufferSubData(a.ARRAY_BUFFER,0,this.uvArray);var h=e,i=this.texturePool.pop();i||(i=new b.FilterTexture(this.gl,this.width,this.height)),i.resize(this.width,this.height),a.bindFramebuffer(a.FRAMEBUFFER,i.frameBuffer),a.clear(a.COLOR_BUFFER_BIT),a.disable(a.BLEND);for(var j=0;j0?a.enable(a.STENCIL_TEST):a.disable(a.STENCIL_TEST),this.applyFilterPass(m,d,n,o),this.texturePool.push(e),c._glFilterTexture=null},b.WebGLFilterManager.prototype.applyFilterPass=function(a,c,d,e){var f=this.gl,g=a.shaders[f.id];g||(g=new b.PixiShader(f),g.fragmentSrc=a.fragmentSrc,g.uniforms=a.uniforms,g.init(),a.shaders[f.id]=g),this.renderSession.shaderManager.setShader(g),f.uniform2f(g.projectionVector,d/2,-e/2),f.uniform2f(g.offsetVector,0,0),a.uniforms.dimensions&&(a.uniforms.dimensions.value[0]=this.width,a.uniforms.dimensions.value[1]=this.height,a.uniforms.dimensions.value[2]=this.vertexArray[0],a.uniforms.dimensions.value[3]=this.vertexArray[5]),g.syncUniforms(),f.bindBuffer(f.ARRAY_BUFFER,this.vertexBuffer),f.vertexAttribPointer(g.aVertexPosition,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ARRAY_BUFFER,this.uvBuffer),f.vertexAttribPointer(g.aTextureCoord,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ARRAY_BUFFER,this.colorBuffer),f.vertexAttribPointer(g.colorAttribute,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ELEMENT_ARRAY_BUFFER,this.indexBuffer),f.drawElements(f.TRIANGLES,6,f.UNSIGNED_SHORT,0),this.renderSession.drawCount++},b.WebGLFilterManager.prototype.initShaderBuffers=function(){var a=this.gl;this.vertexBuffer=a.createBuffer(),this.uvBuffer=a.createBuffer(),this.colorBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),this.vertexArray=new b.Float32Array([0,0,1,0,0,1,1,1]),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertexArray,a.STATIC_DRAW),this.uvArray=new b.Float32Array([0,0,1,0,0,1,1,1]),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),a.bufferData(a.ARRAY_BUFFER,this.uvArray,a.STATIC_DRAW),this.colorArray=new b.Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),a.bindBuffer(a.ARRAY_BUFFER,this.colorBuffer),a.bufferData(a.ARRAY_BUFFER,this.colorArray,a.STATIC_DRAW),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),a.STATIC_DRAW)},b.WebGLFilterManager.prototype.destroy=function(){var a=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var b=0;b=0;a--){var c=this._glTextures[a],d=b.glContexts[a];d&&c&&d.deleteTexture(c)}this._glTextures.length=0,this.dirty()},b.BaseTexture.fromImage=function(a,c,d){var e=b.BaseTextureCache[a];if(void 0===c&&-1===a.indexOf("data:")&&(c=!0),!e){var f=new Image;c&&(f.crossOrigin=""),f.src=a,e=new b.BaseTexture(f,d),e.imageUrl=a,b.BaseTextureCache[a]=e,-1!==a.indexOf(b.RETINA_PREFIX+".")&&(e.resolution=2)}return e},b.BaseTexture.fromCanvas=function(a,c){a._pixiId||(a._pixiId="canvas_"+b.TextureCacheIdGenerator++),0===a.width&&(a.width=1),0===a.height&&(a.height=1);var d=b.BaseTextureCache[a._pixiId];return d||(d=new b.BaseTexture(a,c),b.BaseTextureCache[a._pixiId]=d),d},b.TextureCache={},b.FrameCache={},b.TextureSilentFail=!1,b.TextureCacheIdGenerator=0,b.Texture=function(a,c,d,e){this.noFrame=!1,c||(this.noFrame=!0,c=new b.Rectangle(0,0,1,1)),a instanceof b.Texture&&(a=a.baseTexture),this.baseTexture=a,this.frame=c,this.trim=e,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=d||new b.Rectangle(0,0,1,1),a.hasLoaded&&(this.noFrame&&(c=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(c))},b.Texture.prototype.constructor=b.Texture,b.Texture.prototype.onBaseTextureLoaded=function(){var a=this.baseTexture;this.noFrame&&(this.frame=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(this.frame)},b.Texture.prototype.destroy=function(a){a&&this.baseTexture.destroy(),this.valid=!1},b.Texture.prototype.setFrame=function(a){if(this.noFrame=!1,this.frame=a,this.width=a.width,this.height=a.height,this.crop.x=a.x,this.crop.y=a.y,this.crop.width=a.width,this.crop.height=a.height,!this.trim&&(a.x+a.width>this.baseTexture.width||a.y+a.height>this.baseTexture.height)){if(!b.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);return void(this.valid=!1)}this.valid=a&&a.width&&a.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()},b.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new b.TextureUvs);var a=this.crop,c=this.baseTexture.width,d=this.baseTexture.height;this._uvs.x0=a.x/c,this._uvs.y0=a.y/d,this._uvs.x1=(a.x+a.width)/c,this._uvs.y1=a.y/d,this._uvs.x2=(a.x+a.width)/c,this._uvs.y2=(a.y+a.height)/d,this._uvs.x3=a.x/c,this._uvs.y3=(a.y+a.height)/d},b.Texture.fromImage=function(a,c,d){var e=b.TextureCache[a];return e||(e=new b.Texture(b.BaseTexture.fromImage(a,c,d)),b.TextureCache[a]=e),e},b.Texture.fromFrame=function(a){var c=b.TextureCache[a];if(!c)throw new Error('The frameId "'+a+'" does not exist in the texture cache ');return c},b.Texture.fromCanvas=function(a,c){var d=b.BaseTexture.fromCanvas(a,c);return new b.Texture(d)},b.Texture.addTextureToCache=function(a,c){b.TextureCache[c]=a},b.Texture.removeTextureFromCache=function(a){var c=b.TextureCache[a];return delete b.TextureCache[a],delete b.BaseTextureCache[a],c},b.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},b.RenderTexture=function(a,c,d,e,f){if(this.width=a||100,this.height=c||100,this.resolution=f||1,this.frame=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.baseTexture=new b.BaseTexture,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=e||b.scaleModes.DEFAULT,this.baseTexture.hasLoaded=!0,b.Texture.call(this,this.baseTexture,new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution)),this.renderer=d||b.defaultRenderer,this.renderer.type===b.WEBGL_RENDERER){var g=this.renderer.gl;this.baseTexture._dirty[g.id]=!1,this.textureBuffer=new b.FilterTexture(g,this.width,this.height,this.baseTexture.scaleMode),this.baseTexture._glTextures[g.id]=this.textureBuffer.texture,this.render=this.renderWebGL,this.projection=new b.Point(.5*this.width,.5*-this.height)}else this.render=this.renderCanvas,this.textureBuffer=new b.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new Phaser.Matrix,this._updateUvs()},b.RenderTexture.prototype=Object.create(b.Texture.prototype),b.RenderTexture.prototype.constructor=b.RenderTexture,b.RenderTexture.prototype.resize=function(a,c,d){(a!==this.width||c!==this.height)&&(this.valid=a>0&&c>0,this.width=a,this.height=c,this.frame.width=this.crop.width=a*this.resolution,this.frame.height=this.crop.height=c*this.resolution,d&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===b.WEBGL_RENDERER&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},b.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===b.WEBGL_RENDERER&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},b.RenderTexture.prototype.renderWebGL=function(a,b,c){if(this.valid&&0!==a.alpha){var d=a.worldTransform;d.identity(),d.translate(0,2*this.projection.y),b&&d.append(b),d.scale(1,-1);for(var e=0;ea;a++)this.shaders[a].dirty=!0},b.Strip=function(a){b.DisplayObjectContainer.call(this),this.texture=a,this.uvs=new b.Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new b.Float32Array([0,0,100,0,100,100,0,100]),this.colors=new b.Float32Array([1,1,1,1]),this.indices=new b.Uint16Array([0,1,2,3]),this.dirty=!0,this.blendMode=b.blendModes.NORMAL,this.canvasPadding=0,this.drawMode=b.Strip.DrawModes.TRIANGLE_STRIP},b.Strip.prototype=Object.create(b.DisplayObjectContainer.prototype),b.Strip.prototype.constructor=b.Strip,b.Strip.prototype._renderWebGL=function(a){!this.visible||this.alpha<=0||(a.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(a),a.shaderManager.setShader(a.shaderManager.stripShader),this._renderStrip(a),a.spriteBatch.start())},b.Strip.prototype._initWebGL=function(a){var b=a.gl;this._vertexBuffer=b.createBuffer(),this._indexBuffer=b.createBuffer(),this._uvBuffer=b.createBuffer(),this._colorBuffer=b.createBuffer(),b.bindBuffer(b.ARRAY_BUFFER,this._vertexBuffer),b.bufferData(b.ARRAY_BUFFER,this.vertices,b.DYNAMIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._uvBuffer),b.bufferData(b.ARRAY_BUFFER,this.uvs,b.STATIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._colorBuffer),b.bufferData(b.ARRAY_BUFFER,this.colors,b.STATIC_DRAW),b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,this._indexBuffer),b.bufferData(b.ELEMENT_ARRAY_BUFFER,this.indices,b.STATIC_DRAW)},b.Strip.prototype._renderStrip=function(a){var c=a.gl,d=a.projection,e=a.offset,f=a.shaderManager.stripShader,g=this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?c.TRIANGLE_STRIP:c.TRIANGLES;a.blendModeManager.setBlendMode(this.blendMode),c.uniformMatrix3fv(f.translationMatrix,!1,this.worldTransform.toArray(!0)),c.uniform2f(f.projectionVector,d.x,-d.y),c.uniform2f(f.offsetVector,-e.x,-e.y),c.uniform1f(f.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferData(c.ARRAY_BUFFER,this.vertices,c.STATIC_DRAW),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.bufferData(c.ARRAY_BUFFER,this.uvs,c.STATIC_DRAW),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer),c.bufferData(c.ELEMENT_ARRAY_BUFFER,this.indices,c.STATIC_DRAW)):(c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),c.drawElements(g,this.indices.length,c.UNSIGNED_SHORT,0)},b.Strip.prototype._renderCanvas=function(a){var c=a.context,d=this.worldTransform;a.roundPixels?c.setTransform(d.a,d.b,d.c,d.d,0|d.tx,0|d.ty):c.setTransform(d.a,d.b,d.c,d.d,d.tx,d.ty),this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(c):this._renderCanvasTriangles(c)},b.Strip.prototype._renderCanvasTriangleStrip=function(a){var b=this.vertices,c=this.uvs,d=b.length/2;this.count++;for(var e=0;d-2>e;e++){var f=2*e;this._renderCanvasDrawTriangle(a,b,c,f,f+2,f+4)}},b.Strip.prototype._renderCanvasTriangles=function(a){var b=this.vertices,c=this.uvs,d=this.indices,e=d.length;this.count++;for(var f=0;e>f;f+=3){var g=2*d[f],h=2*d[f+1],i=2*d[f+2];this._renderCanvasDrawTriangle(a,b,c,g,h,i)}},b.Strip.prototype._renderCanvasDrawTriangle=function(a,b,c,d,e,f){var g=this.texture.baseTexture.source,h=this.texture.width,i=this.texture.height,j=b[d],k=b[e],l=b[f],m=b[d+1],n=b[e+1],o=b[f+1],p=c[d]*h,q=c[e]*h,r=c[f]*h,s=c[d+1]*i,t=c[e+1]*i,u=c[f+1]*i;if(this.canvasPadding>0){var v=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,x=(j+k+l)/3,y=(m+n+o)/3,z=j-x,A=m-y,B=Math.sqrt(z*z+A*A);j=x+z/B*(B+v),m=y+A/B*(B+w),z=k-x,A=n-y,B=Math.sqrt(z*z+A*A),k=x+z/B*(B+v),n=y+A/B*(B+w),z=l-x,A=o-y,B=Math.sqrt(z*z+A*A),l=x+z/B*(B+v),o=y+A/B*(B+w)}a.save(),a.beginPath(),a.moveTo(j,m),a.lineTo(k,n),a.lineTo(l,o),a.closePath(),a.clip();var C=p*t+s*r+q*u-t*r-s*q-p*u,D=j*t+s*l+k*u-t*l-s*k-j*u,E=p*k+j*r+q*l-k*r-j*q-p*l,F=p*t*l+s*k*r+j*q*u-j*t*r-s*q*l-p*k*u,G=m*t+s*o+n*u-t*o-s*n-m*u,H=p*n+m*r+q*o-n*r-m*q-p*o,I=p*t*o+s*n*r+m*q*u-m*t*r-s*q*o-p*n*u;a.transform(D/C,G/C,E/C,H/C,F/C,I/C),a.drawImage(g,0,0),a.restore()},b.Strip.prototype.renderStripFlat=function(a){var b=this.context,c=a.vertices,d=c.length/2;this.count++,b.beginPath();for(var e=1;d-2>e;e++){var f=2*e,g=c[f],h=c[f+2],i=c[f+4],j=c[f+1],k=c[f+3],l=c[f+5];b.moveTo(g,j),b.lineTo(h,k),b.lineTo(i,l)}b.fillStyle="#FF0000",b.fill(),b.closePath()},b.Strip.prototype.onTextureUpdate=function(){this.updateFrame=!0},b.Strip.prototype.getBounds=function(a){for(var c=a||this.worldTransform,d=c.a,e=c.b,f=c.c,g=c.d,h=c.tx,i=c.ty,j=-(1/0),k=-(1/0),l=1/0,m=1/0,n=this.vertices,o=0,p=n.length;p>o;o+=2){var q=n[o],r=n[o+1],s=d*q+f*r+h,t=g*r+e*q+i;l=l>s?s:l,m=m>t?t:m,j=s>j?s:j,k=t>k?t:k}if(l===-(1/0)||k===1/0)return b.EmptyRectangle;var u=this._bounds;return u.x=l,u.width=j-l,u.y=m,u.height=k-m,this._currentBounds=u,u},b.Strip.DrawModes={TRIANGLE_STRIP:0,TRIANGLES:1},b.Rope=function(a,c){b.Strip.call(this,a),this.points=c,this.vertices=new b.Float32Array(4*c.length),this.uvs=new b.Float32Array(4*c.length),this.colors=new b.Float32Array(2*c.length),this.indices=new b.Uint16Array(2*c.length),this.refresh()},b.Rope.prototype=Object.create(b.Strip.prototype),b.Rope.prototype.constructor=b.Rope,b.Rope.prototype.refresh=function(){var a=this.points;if(!(a.length<1)){var b=this.uvs,c=a[0],d=this.indices,e=this.colors;this.count-=.2,b[0]=0,b[1]=0,b[2]=0,b[3]=1,e[0]=1,e[1]=1,d[0]=0,d[1]=1;for(var f,g,h,i=a.length,j=1;i>j;j++)f=a[j],g=4*j,h=j/(i-1),j%2?(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1):(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1),g=2*j,e[g]=1,e[g+1]=1,g=2*j,d[g]=g,d[g+1]=g+1,c=f}},b.Rope.prototype.updateTransform=function(){var a=this.points;if(!(a.length<1)){var c,d=a[0],e={x:0,y:0};this.count-=.2;for(var f,g,h,i,j,k=this.vertices,l=a.length,m=0;l>m;m++)f=a[m],g=4*m,c=m1&&(h=1),i=Math.sqrt(e.x*e.x+e.y*e.y),j=this.texture.height/2,e.x/=i,e.y/=i,e.x*=j,e.y*=j,k[g]=f.x+e.x,k[g+1]=f.y+e.y,k[g+2]=f.x-e.x,k[g+3]=f.y-e.y,d=f;b.DisplayObjectContainer.prototype.updateTransform.call(this)}},b.Rope.prototype.setTexture=function(a){this.texture=a},b.TilingSprite=function(a,c,d){b.Sprite.call(this,a),this._width=c||128,this._height=d||128,this.tileScale=new b.Point(1,1),this.tileScaleOffset=new b.Point(1,1),this.tilePosition=new b.Point,this.renderable=!0,this.tint=16777215,this.textureDebug=!1,this.blendMode=b.blendModes.NORMAL,this.canvasBuffer=null,this.tilingTexture=null,this.tilePattern=null,this.refreshTexture=!0,this.frameWidth=0,this.frameHeight=0},b.TilingSprite.prototype=Object.create(b.Sprite.prototype),b.TilingSprite.prototype.constructor=b.TilingSprite,b.TilingSprite.prototype.setTexture=function(a){this.texture!==a&&(this.texture=a,this.refreshTexture=!0,this.cachedTint=16777215)},b.TilingSprite.prototype._renderWebGL=function(a){if(this.visible&&this.renderable&&0!==this.alpha){if(this._mask&&(a.spriteBatch.stop(),a.maskManager.pushMask(this.mask,a),a.spriteBatch.start()),this._filters&&(a.spriteBatch.flush(),a.filterManager.pushFilter(this._filterBlock)),this.refreshTexture){if(this.generateTilingTexture(!0,a),!this.tilingTexture)return;this.tilingTexture.needsUpdate&&(a.renderer.updateTexture(this.tilingTexture.baseTexture),this.tilingTexture.needsUpdate=!1)}a.spriteBatch.renderTilingSprite(this);for(var b=0;bn?n:x,x=x>p?p:x,x=x>r?r:x,x=x>t?t:x,y=y>o?o:y,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=n>v?n:v,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=o>w?o:w,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w;var z=this._bounds;return z.x=x,z.width=v-x,z.y=y,z.height=w-y,this._currentBounds=z,z},b.TilingSprite.prototype.destroy=function(){b.Sprite.prototype.destroy.call(this),this.canvasBuffer&&(this.canvasBuffer.destroy(),this.canvasBuffer=null),this.tileScale=null,this.tileScaleOffset=null,this.tilePosition=null,this.tilingTexture&&(this.tilingTexture.destroy(!0),this.tilingTexture=null)},Object.defineProperty(b.TilingSprite.prototype,"width",{get:function(){return this._width},set:function(a){this._width=a}}),Object.defineProperty(b.TilingSprite.prototype,"height",{get:function(){return this._height},set:function(a){this._height=a}}),"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=b),exports.PIXI=b):"undefined"!=typeof define&&define.amd?define("PIXI",function(){return a.PIXI=b}()):a.PIXI=b,b}).call(this),function(){function a(a,b){this._scaleFactor=a,this._deltaMode=b,this.originalEvent=null}var b=this,c=c||{VERSION:"2.4.5-dev",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,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},PIXI:PIXI||{}};if(Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)}),Function.prototype.bind||(Function.prototype.bind=function(){var a=Array.prototype.slice;return function(b){function c(){var f=e.concat(a.call(arguments));d.apply(this instanceof c?this:b,f)}var d=this,e=a.call(arguments,1);if("function"!=typeof d)throw new TypeError;return c.prototype=function f(a){return a&&(f.prototype=a),this instanceof f?void 0:new f}(d.prototype),c}}()),Array.isArray||(Array.isArray=function(a){return"[object Array]"==Object.prototype.toString.call(a)}),Array.prototype.forEach||(Array.prototype.forEach=function(a){"use strict";if(void 0===this||null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!=typeof a)throw new TypeError;for(var d=arguments.length>=2?arguments[1]:void 0,e=0;c>e;e++)e in b&&a.call(d,b[e],e,b)}),"function"!=typeof window.Uint32Array&&"object"!=typeof window.Uint32Array){var d=function(a){var b=new Array;window[a]=function(a){if("number"==typeof a){Array.call(this,a),this.length=a;for(var b=0;bf&&(a=a[g]);)g=c[f],f++;return a?a[d]:null},setProperty:function(a,b,c){for(var d=b.split("."),e=d.pop(),f=d.length,g=1,h=d[0];f>g&&(a=a[h]);)h=d[g],g++;return a&&(a[e]=c),a},chanceRoll:function(a){return void 0===a&&(a=50),a>0&&100*Math.random()<=a},randomChoice:function(a,b){return Math.random()<.5?a:b},parseDimension:function(a,b){var c=0,d=0;return"string"==typeof a?"%"===a.substr(-1)?(c=parseInt(a,10)/100,d=0===b?window.innerWidth*c:window.innerHeight*c):d=parseInt(a,10):d=a,d},pad:function(a,b,c,d){if(void 0===b)var b=0;if(void 0===c)var c=" ";if(void 0===d)var d=3;var e=0;if(b+1>=a.length)switch(d){case 1:a=new Array(b+1-a.length).join(c)+a;break;case 3:var f=Math.ceil((e=b-a.length)/2),g=e-f;a=new Array(g+1).join(c)+a+new Array(f+1).join(c);break;default:a+=new Array(b+1-a.length).join(c)}return a},isPlainObject:function(a){if("object"!=typeof a||a.nodeType||a===a.window)return!1;try{if(a.constructor&&!{}.hasOwnProperty.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(b){return!1}return!0},extend:function(){var a,b,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(b in a)d=h[b],e=a[b],h!==e&&(k&&e&&(c.Utils.isPlainObject(e)||(f=Array.isArray(e)))?(f?(f=!1,g=d&&Array.isArray(d)?d:[]):g=d&&c.Utils.isPlainObject(d)?d:{},h[b]=c.Utils.extend(k,g,e)):void 0!==e&&(h[b]=e));return h},mixinPrototype:function(a,b,c){void 0===c&&(c=!1);for(var d=Object.keys(b),e=0;e0&&(this._radius=.5*d),this.type=c.CIRCLE},c.Circle.prototype={circumference:function(){return 2*(Math.PI*this._radius)},random:function(a){void 0===a&&(a=new c.Point);var b=2*Math.PI*Math.random(),d=Math.random()+Math.random(),e=d>1?2-d:d,f=e*Math.cos(b),g=e*Math.sin(b);return a.x=this.x+f*this.radius,a.y=this.y+g*this.radius,a},getBounds:function(){return new c.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(a,b,c){return this.x=a,this.y=b,this._diameter=c,this._radius=.5*c,this},copyFrom:function(a){return this.setTo(a.x,a.y,a.diameter)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.diameter=this._diameter,a},distance:function(a,b){var d=c.Math.distance(this.x,this.y,a.x,a.y);return b?Math.round(d):d},clone:function(a){return void 0===a||null===a?a=new c.Circle(this.x,this.y,this.diameter):a.setTo(this.x,this.y,this.diameter),a},contains:function(a,b){return c.Circle.contains(this,a,b)},circumferencePoint:function(a,b,d){return c.Circle.circumferencePoint(this,a,b,d)},offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},c.Circle.prototype.constructor=c.Circle,Object.defineProperty(c.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(a){a>0&&(this._diameter=a,this._radius=.5*a)}}),Object.defineProperty(c.Circle.prototype,"radius",{get:function(){return this._radius},set:function(a){a>0&&(this._radius=a,this._diameter=2*a)}}),Object.defineProperty(c.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(a){a>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-a}}),Object.defineProperty(c.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(a){athis.y?(this._radius=0,this._diameter=0):this.radius=this.y-a}}),Object.defineProperty(c.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(a){a0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(c.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(a){a===!0&&this.setTo(0,0,0)}}),c.Circle.contains=function(a,b,c){if(a.radius>0&&b>=a.left&&b<=a.right&&c>=a.top&&c<=a.bottom){var d=(a.x-b)*(a.x-b),e=(a.y-c)*(a.y-c);return d+e<=a.radius*a.radius}return!1},c.Circle.equals=function(a,b){return a.x==b.x&&a.y==b.y&&a.diameter==b.diameter},c.Circle.intersects=function(a,b){return c.Math.distance(a.x,a.y,b.x,b.y)<=a.radius+b.radius},c.Circle.circumferencePoint=function(a,b,d,e){return void 0===d&&(d=!1),void 0===e&&(e=new c.Point),d===!0&&(b=c.Math.degToRad(b)),e.x=a.x+a.radius*Math.cos(b),e.y=a.y+a.radius*Math.sin(b),e},c.Circle.intersectsRectangle=function(a,b){var c=Math.abs(a.x-b.x-b.halfWidth),d=b.halfWidth+a.radius;if(c>d)return!1;var e=Math.abs(a.y-b.y-b.halfHeight),f=b.halfHeight+a.radius;if(e>f)return!1;if(c<=b.halfWidth||e<=b.halfHeight)return!0;var g=c-b.halfWidth,h=e-b.halfHeight,i=g*g,j=h*h,k=a.radius*a.radius;return k>=i+j},PIXI.Circle=c.Circle,c.Ellipse=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.ELLIPSE},c.Ellipse.prototype={setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},getBounds:function(){return new c.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},clone:function(a){return void 0===a||null===a?a=new c.Ellipse(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height), +a},contains:function(a,b){return c.Ellipse.contains(this,a,b)},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random()*Math.PI*2,d=Math.random();return a.x=Math.sqrt(d)*Math.cos(b),a.y=Math.sqrt(d)*Math.sin(b),a.x=this.x+a.x*this.width/2,a.y=this.y+a.y*this.height/2,a},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},c.Ellipse.prototype.constructor=c.Ellipse,Object.defineProperty(c.Ellipse.prototype,"left",{get:function(){return this.x},set:function(a){this.x=a}}),Object.defineProperty(c.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(a){ad+e},PIXI.Ellipse=c.Ellipse,c.Line=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.start=new c.Point(a,b),this.end=new c.Point(d,e),this.type=c.LINE},c.Line.prototype={setTo:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(c,d),this},fromSprite:function(a,b,c){return void 0===c&&(c=!1),c?this.setTo(a.center.x,a.center.y,b.center.x,b.center.y):this.setTo(a.x,a.y,b.x,b.y)},fromAngle:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(a+Math.cos(c)*d,b+Math.sin(c)*d),this},rotate:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2;return this.start.rotate(c,d,a,b),this.end.rotate(c,d,a,b),this},rotateAround:function(a,b,c,d){return this.start.rotate(a,b,c,d),this.end.rotate(a,b,c,d),this},intersects:function(a,b,d){return c.Line.intersectsPoints(this.start,this.end,a.start,a.end,b,d)},reflect:function(a){return c.Line.reflect(this,a)},midPoint:function(a){return void 0===a&&(a=new c.Point),a.x=(this.start.x+this.end.x)/2,a.y=(this.start.y+this.end.y)/2,a},centerOn:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2,e=a-c,f=b-d;this.start.add(e,f),this.end.add(e,f)},pointOnLine:function(a,b){return(a-this.start.x)*(this.end.y-this.start.y)===(this.end.x-this.start.x)*(b-this.start.y)},pointOnSegment:function(a,b){var c=Math.min(this.start.x,this.end.x),d=Math.max(this.start.x,this.end.x),e=Math.min(this.start.y,this.end.y),f=Math.max(this.start.y,this.end.y);return this.pointOnLine(a,b)&&a>=c&&d>=a&&b>=e&&f>=b},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random();return a.x=this.start.x+b*(this.end.x-this.start.x),a.y=this.start.y+b*(this.end.y-this.start.y),a},coordinatesOnLine:function(a,b){void 0===a&&(a=1),void 0===b&&(b=[]);var c=Math.round(this.start.x),d=Math.round(this.start.y),e=Math.round(this.end.x),f=Math.round(this.end.y),g=Math.abs(e-c),h=Math.abs(f-d),i=e>c?1:-1,j=f>d?1:-1,k=g-h;b.push([c,d]);for(var l=1;c!=e||d!=f;){var m=k<<1;m>-h&&(k-=h,c+=i),g>m&&(k+=g,d+=j),l%a===0&&b.push([c,d]),l++}return b},clone:function(a){return void 0===a||null===a?a=new c.Line(this.start.x,this.start.y,this.end.x,this.end.y):a.setTo(this.start.x,this.start.y,this.end.x,this.end.y),a}},Object.defineProperty(c.Line.prototype,"length",{get:function(){return Math.sqrt((this.end.x-this.start.x)*(this.end.x-this.start.x)+(this.end.y-this.start.y)*(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"angle",{get:function(){return Math.atan2(this.end.y-this.start.y,this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"slope",{get:function(){return(this.end.y-this.start.y)/(this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"perpSlope",{get:function(){return-((this.end.x-this.start.x)/(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"x",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"y",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"left",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"right",{get:function(){return Math.max(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"top",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"bottom",{get:function(){return Math.max(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"width",{get:function(){return Math.abs(this.start.x-this.end.x)}}),Object.defineProperty(c.Line.prototype,"height",{get:function(){return Math.abs(this.start.y-this.end.y)}}),Object.defineProperty(c.Line.prototype,"normalX",{get:function(){return Math.cos(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalY",{get:function(){return Math.sin(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalAngle",{get:function(){return c.Math.wrap(this.angle-1.5707963267948966,-Math.PI,Math.PI)}}),c.Line.intersectsPoints=function(a,b,d,e,f,g){void 0===f&&(f=!0),void 0===g&&(g=new c.Point);var h=b.y-a.y,i=e.y-d.y,j=a.x-b.x,k=d.x-e.x,l=b.x*a.y-a.x*b.y,m=e.x*d.y-d.x*e.y,n=h*k-i*j;if(0===n)return null;if(g.x=(j*m-k*l)/n,g.y=(i*l-h*m)/n,f){var o=(e.y-d.y)*(b.x-a.x)-(e.x-d.x)*(b.y-a.y),p=((e.x-d.x)*(a.y-d.y)-(e.y-d.y)*(a.x-d.x))/o,q=((b.x-a.x)*(a.y-d.y)-(b.y-a.y)*(a.x-d.x))/o;return p>=0&&1>=p&&q>=0&&1>=q?g:null}return g},c.Line.intersects=function(a,b,d,e){return c.Line.intersectsPoints(a.start,a.end,b.start,b.end,d,e)},c.Line.reflect=function(a,b){return 2*b.normalAngle-3.141592653589793-a.angle},c.Matrix=function(a,b,d,e,f,g){a=a||1,b=b||0,d=d||0,e=e||1,f=f||0,g=g||0,this.a=a,this.b=b,this.c=d,this.d=e,this.tx=f,this.ty=g,this.type=c.MATRIX},c.Matrix.prototype={fromArray:function(a){return this.setTo(a[0],a[1],a[3],a[4],a[2],a[5])},setTo:function(a,b,c,d,e,f){return this.a=a,this.b=b,this.c=c,this.d=d,this.tx=e,this.ty=f,this},clone:function(a){return void 0===a||null===a?a=new c.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(a.a=this.a,a.b=this.b,a.c=this.c,a.d=this.d,a.tx=this.tx,a.ty=this.ty),a},copyTo:function(a){return a.copyFrom(this),a},copyFrom:function(a){return this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.tx=a.tx,this.ty=a.ty,this},toArray:function(a,b){return void 0===b&&(b=new PIXI.Float32Array(9)),a?(b[0]=this.a,b[1]=this.b,b[2]=0,b[3]=this.c,b[4]=this.d,b[5]=0,b[6]=this.tx,b[7]=this.ty,b[8]=1):(b[0]=this.a,b[1]=this.c,b[2]=this.tx,b[3]=this.b,b[4]=this.d,b[5]=this.ty,b[6]=0,b[7]=0,b[8]=1),b},apply:function(a,b){return void 0===b&&(b=new c.Point),b.x=this.a*a.x+this.c*a.y+this.tx,b.y=this.b*a.x+this.d*a.y+this.ty,b},applyInverse:function(a,b){void 0===b&&(b=new c.Point);var d=1/(this.a*this.d+this.c*-this.b),e=a.x,f=a.y;return b.x=this.d*d*e+-this.c*d*f+(this.ty*this.c-this.tx*this.d)*d,b.y=this.a*d*f+-this.b*d*e+(-this.ty*this.a+this.tx*this.b)*d,b},translate:function(a,b){return this.tx+=a,this.ty+=b,this},scale:function(a,b){return this.a*=a,this.d*=b,this.c*=a,this.b*=b,this.tx*=a,this.ty*=b,this},rotate:function(a){var b=Math.cos(a),c=Math.sin(a),d=this.a,e=this.c,f=this.tx;return this.a=d*b-this.b*c,this.b=d*c+this.b*b,this.c=e*b-this.d*c,this.d=e*c+this.d*b,this.tx=f*b-this.ty*c,this.ty=f*c+this.ty*b,this},append:function(a){var b=this.a,c=this.b,d=this.c,e=this.d;return this.a=a.a*b+a.b*d,this.b=a.a*c+a.b*e,this.c=a.c*b+a.d*d,this.d=a.c*c+a.d*e,this.tx=a.tx*b+a.ty*d+this.tx,this.ty=a.tx*c+a.ty*e+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},c.identityMatrix=new c.Matrix,PIXI.Matrix=c.Matrix,PIXI.identityMatrix=c.identityMatrix,c.Point=function(a,b){a=a||0,b=b||0,this.x=a,this.y=b,this.type=c.POINT},c.Point.prototype={copyFrom:function(a){return this.setTo(a.x,a.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},set:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},add:function(a,b){return this.x+=a,this.y+=b,this},subtract:function(a,b){return this.x-=a,this.y-=b,this},multiply:function(a,b){return this.x*=a,this.y*=b,this},divide:function(a,b){return this.x/=a,this.y/=b,this},clampX:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this},clampY:function(a,b){return this.y=c.Math.clamp(this.y,a,b),this},clamp:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this.y=c.Math.clamp(this.y,a,b),this},clone:function(a){return void 0===a||null===a?a=new c.Point(this.x,this.y):a.setTo(this.x,this.y),a},copyTo:function(a){return a.x=this.x,a.y=this.y,a},distance:function(a,b){return c.Point.distance(this,a,b)},equals:function(a){return a.x===this.x&&a.y===this.y},angle:function(a,b){return void 0===b&&(b=!1),b?c.Math.radToDeg(Math.atan2(a.y-this.y,a.x-this.x)):Math.atan2(a.y-this.y,a.x-this.x)},rotate:function(a,b,d,e,f){return c.Point.rotate(this,a,b,d,e,f)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(a){return this.normalize().multiply(a,a)},normalize:function(){if(!this.isZero()){var a=this.getMagnitude();this.x/=a,this.y/=a}return this},isZero:function(){return 0===this.x&&0===this.y},dot:function(a){return this.x*a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},c.Point.prototype.constructor=c.Point,c.Point.add=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x+b.x,d.y=a.y+b.y,d},c.Point.subtract=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x-b.x,d.y=a.y-b.y,d},c.Point.multiply=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x*b.x,d.y=a.y*b.y,d},c.Point.divide=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x/b.x,d.y=a.y/b.y,d},c.Point.equals=function(a,b){return a.x===b.x&&a.y===b.y},c.Point.angle=function(a,b){return Math.atan2(a.y-b.y,a.x-b.x)},c.Point.negative=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.x,-a.y)},c.Point.multiplyAdd=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+b.x*d,a.y+b.y*d)},c.Point.interpolate=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+(b.x-a.x)*d,a.y+(b.y-a.y)*d)},c.Point.perp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.y,a.x)},c.Point.rperp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(a.y,-a.x)},c.Point.distance=function(a,b,d){var e=c.Math.distance(a.x,a.y,b.x,b.y);return d?Math.round(e):e},c.Point.project=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b)/b.getMagnitudeSq();return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.projectUnit=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b);return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.normalRightHand=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-1*a.y,a.x)},c.Point.normalize=function(a,b){void 0===b&&(b=new c.Point);var d=a.getMagnitude();return 0!==d&&b.setTo(a.x/d,a.y/d),b},c.Point.rotate=function(a,b,d,e,f,g){if(f&&(e=c.Math.degToRad(e)),void 0===g){a.subtract(b,d);var h=Math.sin(e),i=Math.cos(e),j=i*a.x-h*a.y,k=h*a.x+i*a.y;a.x=j+b,a.y=k+d}else{var l=e+Math.atan2(a.y-d,a.x-b);a.x=b+g*Math.cos(l),a.y=d+g*Math.sin(l)}return a},c.Point.centroid=function(a,b){if(void 0===b&&(b=new c.Point),"[object Array]"!==Object.prototype.toString.call(a))throw new Error("Phaser.Point. Parameter 'points' must be an array");var d=a.length;if(1>d)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===d)return b.copyFrom(a[0]),b;for(var e=0;d>e;e++)c.Point.add(b,a[e],b);return b.divide(d,d),b},c.Point.parse=function(a,b,d){b=b||"x",d=d||"y";var e=new c.Point;return a[b]&&(e.x=parseInt(a[b],10)),a[d]&&(e.y=parseInt(a[d],10)),e},PIXI.Point=c.Point,c.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.type=c.POLYGON},c.Polygon.prototype={toNumberArray:function(a){void 0===a&&(a=[]);for(var b=0;b=h&&j>b||b>=j&&h>b)&&(i-g)*(b-h)/(j-h)+g>a&&(d=!d)}return d},setTo:function(a){if(this.area=0,this._points=[],arguments.length>0){Array.isArray(a)||(a=Array.prototype.slice.call(arguments));for(var b=Number.MAX_VALUE,c=0,d=a.length;d>c;c++){if("number"==typeof a[c]){var e=new PIXI.Point(a[c],a[c+1]);c++}else var e=new PIXI.Point(a[c].x,a[c].y);this._points.push(e),e.yf;f++)b=this._points[f],c=f===g-1?this._points[0]:this._points[f+1],d=(b.y-a+(c.y-a))/2,e=b.x-c.x,this.area+=d*e;return this.area}},c.Polygon.prototype.constructor=c.Polygon,Object.defineProperty(c.Polygon.prototype,"points",{get:function(){return this._points},set:function(a){null!=a?this.setTo(a):this.setTo()}}),PIXI.Polygon=c.Polygon,c.Rectangle=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.RECTANGLE},c.Rectangle.prototype={offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},scale:function(a,b){return void 0===b&&(b=a),this.width*=a,this.height*=b,this},centerOn:function(a,b){return this.centerX=a,this.centerY=b,this},floor:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y)},floorAll:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.width=Math.floor(this.width),this.height=Math.floor(this.height)},ceil:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y)},ceilAll:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.width=Math.ceil(this.width),this.height=Math.ceil(this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},inflate:function(a,b){return c.Rectangle.inflate(this,a,b)},size:function(a){return c.Rectangle.size(this,a)},resize:function(a,b){return this.width=a,this.height=b,this},clone:function(a){return c.Rectangle.clone(this,a)},contains:function(a,b){return c.Rectangle.contains(this,a,b)},containsRect:function(a){return c.Rectangle.containsRect(a,this)},equals:function(a){return c.Rectangle.equals(this,a)},intersection:function(a,b){return c.Rectangle.intersection(this,a,b)},intersects:function(a){return c.Rectangle.intersects(this,a)},intersectsRaw:function(a,b,d,e,f){return c.Rectangle.intersectsRaw(this,a,b,d,e,f)},union:function(a,b){return c.Rectangle.union(this,a,b)},random:function(a){return void 0===a&&(a=new c.Point),a.x=this.randomX,a.y=this.randomY,a},toString:function(){return"[{Rectangle (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+" empty="+this.empty+")}]"}},Object.defineProperty(c.Rectangle.prototype,"halfWidth",{get:function(){return Math.round(this.width/2)}}),Object.defineProperty(c.Rectangle.prototype,"halfHeight",{get:function(){return Math.round(this.height/2)}}),Object.defineProperty(c.Rectangle.prototype,"bottom",{get:function(){return this.y+this.height},set:function(a){a<=this.y?this.height=0:this.height=a-this.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomLeft",{get:function(){return new c.Point(this.x,this.bottom)},set:function(a){this.x=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomRight",{get:function(){return new c.Point(this.right,this.bottom)},set:function(a){this.right=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"left",{get:function(){return this.x},set:function(a){a>=this.right?this.width=0:this.width=this.right-a,this.x=a}}),Object.defineProperty(c.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(a){a<=this.x?this.width=0:this.width=a-this.x}}),Object.defineProperty(c.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(c.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(c.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(a){this.x=a-this.halfWidth}}),Object.defineProperty(c.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(a){this.y=a-this.halfHeight}}),Object.defineProperty(c.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(c.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(c.Rectangle.prototype,"top",{get:function(){return this.y},set:function(a){a>=this.bottom?(this.height=0,this.y=a):this.height=this.bottom-a}}),Object.defineProperty(c.Rectangle.prototype,"topLeft",{get:function(){return new c.Point(this.x,this.y)},set:function(a){this.x=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"topRight",{get:function(){return new c.Point(this.x+this.width,this.y)},set:function(a){this.right=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(a){a===!0&&this.setTo(0,0,0,0)}}),c.Rectangle.prototype.constructor=c.Rectangle,c.Rectangle.inflate=function(a,b,c){return a.x-=b,a.width+=2*b,a.y-=c,a.height+=2*c,a},c.Rectangle.inflatePoint=function(a,b){return c.Rectangle.inflate(a,b.x,b.y)},c.Rectangle.size=function(a,b){return void 0===b||null===b?b=new c.Point(a.width,a.height):b.setTo(a.width,a.height),b},c.Rectangle.clone=function(a,b){return void 0===b||null===b?b=new c.Rectangle(a.x,a.y,a.width,a.height):b.setTo(a.x,a.y,a.width,a.height),b},c.Rectangle.contains=function(a,b,c){return a.width<=0||a.height<=0?!1:b>=a.x&&b=a.y&&c=a&&a+c>e&&f>=b&&b+d>f},c.Rectangle.containsPoint=function(a,b){return c.Rectangle.contains(a,b.x,b.y)},c.Rectangle.containsRect=function(a,b){return a.volume>b.volume?!1:a.x>=b.x&&a.y>=b.y&&a.rightb.right||a.y>b.bottom)},c.Rectangle.intersectsRaw=function(a,b,c,d,e,f){return void 0===f&&(f=0),!(b>a.right+f||ca.bottom+f||ed&&(d=a.x),a.xf&&(f=a.y),a.y=c&&a<=c+this.width){var d=this.y;if(b>=d&&b<=d+this.height)return!0}return!1}},c.RoundedRectangle.prototype.constructor=c.RoundedRectangle,PIXI.RoundedRectangle=c.RoundedRectangle,c.Camera=function(a,b,d,e,f,g){this.game=a,this.world=a.world,this.id=0,this.view=new c.Rectangle(d,e,f,g),this.bounds=new c.Rectangle(d,e,f,g),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this._targetPosition=new c.Point,this._edge=0,this._position=new c.Point},c.Camera.FOLLOW_LOCKON=0,c.Camera.FOLLOW_PLATFORMER=1,c.Camera.FOLLOW_TOPDOWN=2,c.Camera.FOLLOW_TOPDOWN_TIGHT=3,c.Camera.prototype={preUpdate:function(){this.totalInView=0},follow:function(a,b){void 0===b&&(b=c.Camera.FOLLOW_LOCKON),this.target=a;var d;switch(b){case c.Camera.FOLLOW_PLATFORMER:var e=this.width/8,f=this.height/3;this.deadzone=new c.Rectangle((this.width-e)/2,(this.height-f)/2-.25*f,e,f);break;case c.Camera.FOLLOW_TOPDOWN:d=Math.max(this.width,this.height)/4,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_TOPDOWN_TIGHT:d=Math.max(this.width,this.height)/8,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_LOCKON:this.deadzone=null;break;default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(a){this.setPosition(Math.round(a.x-this.view.halfWidth),Math.round(a.y-this.view.halfHeight))},focusOnXY:function(a,b){this.setPosition(Math.round(a-this.view.halfWidth),Math.round(b-this.view.halfHeight))},update:function(){this.target&&this.updateTarget(),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateTarget:function(){this._targetPosition.copyFrom(this.target),this.target.parent&&this._targetPosition.multiply(this.target.parent.worldTransform.a,this.target.parent.worldTransform.d),this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this._targetPosition.x-this.deadzone.right),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this._targetPosition.y-this.deadzone.bottom)):(this.view.x=this._targetPosition.x-this.view.halfWidth,this.view.y=this._targetPosition.y-this.view.halfHeight)},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1,this.view.x<=this.bounds.x*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x),this.view.right>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width),this.view.y<=this.bounds.top*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y),this.view.bottom>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height)},setPosition:function(a,b){this.view.x=a,this.view.y=b,this.bounds&&this.checkBounds()},setSize:function(a,b){this.view.width=a,this.view.height=b},reset:function(){this.target=null,this.view.x=0,this.view.y=0}},c.Camera.prototype.constructor=c.Camera,Object.defineProperty(c.Camera.prototype,"x",{get:function(){return this.view.x},set:function(a){this.view.x=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"y",{get:function(){return this.view.y},set:function(a){this.view.y=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"position",{get:function(){return this._position.set(this.view.centerX,this.view.centerY),this._position},set:function(a){"undefined"!=typeof a.x&&(this.view.x=a.x),"undefined"!=typeof a.y&&(this.view.y=a.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"width",{get:function(){return this.view.width},set:function(a){this.view.width=a}}),Object.defineProperty(c.Camera.prototype,"height",{get:function(){return this.view.height},set:function(a){this.view.height=a}}),c.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},c.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},c.State.prototype.constructor=c.State,c.StateManager=function(a,b){this.game=a,this.states={},this._pendingState=null,"undefined"!=typeof b&&null!==b&&(this._pendingState=b),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new c.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},c.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(a,b,d){void 0===d&&(d=!1);var e;return b instanceof c.State?e=b:"object"==typeof b?(e=b,e.game=this.game):"function"==typeof b&&(e=new b(this.game)),this.states[a]=e,d&&(this.game.isBooted?this.start(a):this._pendingState=a),e},remove:function(a){this.current===a&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[a]},start:function(a,b,c){void 0===b&&(b=!0),void 0===c&&(c=!1),this.checkState(a)&&(this._pendingState=a,this._clearWorld=b,this._clearCache=c,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!1),this._pendingState=this.current,this._clearWorld=a,this._clearCache=b,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var a=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,a),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache===!0&&this.game.cache.destroy()))},checkState:function(a){return this.states[a]?this.states[a].preload||this.states[a].create||this.states[a].update||this.states[a].render?!0:(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+a),!1)},link:function(a){this.states[a].game=this.game,this.states[a].add=this.game.add,this.states[a].make=this.game.make,this.states[a].camera=this.game.camera,this.states[a].cache=this.game.cache,this.states[a].input=this.game.input,this.states[a].load=this.game.load,this.states[a].math=this.game.math,this.states[a].sound=this.game.sound,this.states[a].scale=this.game.scale,this.states[a].state=this,this.states[a].stage=this.game.stage,this.states[a].time=this.game.time,this.states[a].tweens=this.game.tweens,this.states[a].world=this.game.world,this.states[a].particles=this.game.particles,this.states[a].rnd=this.game.rnd,this.states[a].physics=this.game.physics,this.states[a].key=a},unlink:function(a){this.states[a]&&(this.states[a].game=null,this.states[a].add=null,this.states[a].make=null,this.states[a].camera=null,this.states[a].cache=null,this.states[a].input=null,this.states[a].load=null,this.states[a].math=null,this.states[a].sound=null,this.states[a].scale=null,this.states[a].state=null,this.states[a].stage=null,this.states[a].time=null,this.states[a].tweens=null,this.states[a].world=null,this.states[a].particles=null,this.states[a].rnd=null,this.states[a].physics=null)},setCurrentState:function(a){this.callbackContext=this.states[a],this.link(a),this.onInitCallback=this.states[a].init||this.dummy,this.onPreloadCallback=this.states[a].preload||null,this.onLoadRenderCallback=this.states[a].loadRender||null,this.onLoadUpdateCallback=this.states[a].loadUpdate||null,this.onCreateCallback=this.states[a].create||null,this.onUpdateCallback=this.states[a].update||null,this.onPreRenderCallback=this.states[a].preRender||null,this.onRenderCallback=this.states[a].render||null,this.onResizeCallback=this.states[a].resize||null,this.onPausedCallback=this.states[a].paused||null,this.onResumedCallback=this.states[a].resumed||null,this.onPauseUpdateCallback=this.states[a].pauseUpdate||null,this.onShutDownCallback=this.states[a].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=a,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),a===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){this._created===!1&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),this._created===!1&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game); +},preRender:function(a){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,a)},resize:function(a,b){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,a,b)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===c.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},c.StateManager.prototype.constructor=c.StateManager,Object.defineProperty(c.StateManager.prototype,"created",{get:function(){return this._created}}),c.Signal=function(){},c.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!0,validateListener:function(a,b){if("function"!=typeof a)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",b))},_registerListener:function(a,b,d,e,f){var g,h=this._indexOfListener(a,d);if(-1!==h){if(g=this._bindings[h],g.isOnce()!==b)throw new Error("You cannot add"+(b?"":"Once")+"() then add"+(b?"Once":"")+"() the same listener without removing the relationship first.")}else g=new c.SignalBinding(this,a,b,d,e,f),this._addBinding(g);return this.memorize&&this._prevParams&&g.execute(this._prevParams),g},_addBinding:function(a){this._bindings||(this._bindings=[]);var b=this._bindings.length;do b--;while(this._bindings[b]&&a._priority<=this._bindings[b]._priority);this._bindings.splice(b+1,0,a)},_indexOfListener:function(a,b){if(!this._bindings)return-1;void 0===b&&(b=null);for(var c,d=this._bindings.length;d--;)if(c=this._bindings[d],c._listener===a&&c.context===b)return d;return-1},has:function(a,b){return-1!==this._indexOfListener(a,b)},add:function(a,b,c){this.validateListener(a,"add");var d=[];if(arguments.length>3)for(var e=3;e3)for(var e=3;ea||a>=this.children.length?-1:this.getChildAt(a)},c.Group.prototype.create=function(a,b,c,d,e){void 0===e&&(e=!0);var f=new this.classType(this.game,a,b,c,d);return f.exists=e,f.visible=e,f.alive=e,this.addChild(f),f.z=this.children.length,this.enableBody&&this.game.physics.enable(f,this.physicsBodyType,this.enableBodyDebug),f.events&&f.events.onAddedToGroup$dispatch(f,this),null===this.cursor&&(this.cursor=f),f},c.Group.prototype.createMultiple=function(a,b,c,d){void 0===d&&(d=!1);for(var e=0;a>e;e++)this.create(0,0,b,c,d)},c.Group.prototype.updateZ=function(){for(var a=this.children.length;a--;)this.children[a].z=a},c.Group.prototype.resetCursor=function(a){return void 0===a&&(a=0),a>this.children.length-1&&(a=0),this.cursor?(this.cursorIndex=a,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.next=function(){return this.cursor?(this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.previous=function(){return this.cursor?(0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.swap=function(a,b){this.swapChildren(a,b),this.updateZ()},c.Group.prototype.bringToTop=function(a){return a.parent===this&&this.getIndex(a)0&&(this.remove(a,!1,!0),this.addAt(a,0,!0)),a},c.Group.prototype.moveUp=function(a){if(a.parent===this&&this.getIndex(a)0){var b=this.getIndex(a),c=this.getAt(b-1);c&&this.swap(a,c)}return a},c.Group.prototype.xy=function(a,b,c){return 0>a||a>this.children.length?-1:(this.getChildAt(a).x=b,void(this.getChildAt(a).y=c))},c.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},c.Group.prototype.getIndex=function(a){return this.children.indexOf(a)},c.Group.prototype.replace=function(a,b){var d=this.getIndex(a);return-1!==d?(b.parent&&(b.parent instanceof c.Group?b.parent.remove(b):b.parent.removeChild(b)),this.remove(a),this.addAt(b,d),a):void 0},c.Group.prototype.hasProperty=function(a,b){var c=b.length;return 1===c&&b[0]in a?!0:2===c&&b[0]in a&&b[1]in a[b[0]]?!0:3===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]?!0:4===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]&&b[3]in a[b[0]][b[1]][b[2]]?!0:!1},c.Group.prototype.setProperty=function(a,b,c,d,e){if(void 0===e&&(e=!1),d=d||0,!this.hasProperty(a,b)&&(!e||d>0))return!1;var f=b.length;return 1===f?0===d?a[b[0]]=c:1==d?a[b[0]]+=c:2==d?a[b[0]]-=c:3==d?a[b[0]]*=c:4==d&&(a[b[0]]/=c):2===f?0===d?a[b[0]][b[1]]=c:1==d?a[b[0]][b[1]]+=c:2==d?a[b[0]][b[1]]-=c:3==d?a[b[0]][b[1]]*=c:4==d&&(a[b[0]][b[1]]/=c):3===f?0===d?a[b[0]][b[1]][b[2]]=c:1==d?a[b[0]][b[1]][b[2]]+=c:2==d?a[b[0]][b[1]][b[2]]-=c:3==d?a[b[0]][b[1]][b[2]]*=c:4==d&&(a[b[0]][b[1]][b[2]]/=c):4===f&&(0===d?a[b[0]][b[1]][b[2]][b[3]]=c:1==d?a[b[0]][b[1]][b[2]][b[3]]+=c:2==d?a[b[0]][b[1]][b[2]][b[3]]-=c:3==d?a[b[0]][b[1]][b[2]][b[3]]*=c:4==d&&(a[b[0]][b[1]][b[2]][b[3]]/=c)),!0},c.Group.prototype.checkProperty=function(a,b,d,e){return void 0===e&&(e=!1),!c.Utils.getProperty(a,b)&&e?!1:c.Utils.getProperty(a,b)!==d?!1:!0},c.Group.prototype.set=function(a,b,c,d,e,f,g){return void 0===g&&(g=!1),b=b.split("."),void 0===d&&(d=!1),void 0===e&&(e=!1),(d===!1||d&&a.alive)&&(e===!1||e&&a.visible)?this.setProperty(a,b,c,f,g):void 0},c.Group.prototype.setAll=function(a,b,c,d,e,f){void 0===c&&(c=!1),void 0===d&&(d=!1),void 0===f&&(f=!1),a=a.split("."),e=e||0;for(var g=0;g2){c=[];for(var d=2;d2){e=[];for(var f=2;f2){d=[null];for(var e=2;e2){d=[null];for(var e=2;e2){d=[null];for(var e=2;eb[this._sortProperty]?1:a.zb[this._sortProperty]?-1:0},c.Group.prototype.iterate=function(a,b,d,e,f,g){if(d===c.Group.RETURN_TOTAL&&0===this.children.length)return 0;for(var h=0,i=0;i0?this.children[this.children.length-1]:void 0},c.Group.prototype.getBottom=function(){return this.children.length>0?this.children[0]:void 0},c.Group.prototype.countLiving=function(){return this.iterate("alive",!0,c.Group.RETURN_TOTAL)},c.Group.prototype.countDead=function(){return this.iterate("alive",!1,c.Group.RETURN_TOTAL)},c.Group.prototype.getRandom=function(a,b){return 0===this.children.length?null:(a=a||0,b=b||this.children.length,c.ArrayUtils.getRandomItem(this.children,a,b))},c.Group.prototype.remove=function(a,b,c){if(void 0===b&&(b=!1),void 0===c&&(c=!1),0===this.children.length||-1===this.children.indexOf(a))return!1;c||!a.events||a.destroyPhase||a.events.onRemovedFromGroup$dispatch(a,this);var d=this.removeChild(a);return this.removeFromHash(a),this.updateZ(),this.cursor===a&&this.next(),b&&d&&d.destroy(!0),!0},c.Group.prototype.moveAll=function(a,b){if(void 0===b&&(b=!1),this.children.length>0&&a instanceof c.Group){do a.add(this.children[0],b);while(this.children.length>0);this.hash=[],this.cursor=null}return a},c.Group.prototype.removeAll=function(a,b){if(void 0===a&&(a=!1),void 0===b&&(b=!1),0!==this.children.length){do{!b&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var c=this.removeChild(this.children[0]);this.removeFromHash(c),a&&c&&c.destroy(!0)}while(this.children.length>0);this.hash=[],this.cursor=null}},c.Group.prototype.removeBetween=function(a,b,c,d){if(void 0===b&&(b=this.children.length-1),void 0===c&&(c=!1),void 0===d&&(d=!1),0!==this.children.length){if(a>b||0>a||b>this.children.length)return!1;for(var e=b;e>=a;){!d&&this.children[e].events&&this.children[e].events.onRemovedFromGroup$dispatch(this.children[e],this);var f=this.removeChild(this.children[e]);this.removeFromHash(f),c&&f&&f.destroy(!0),this.cursor===this.children[e]&&(this.cursor=null),e--}this.updateZ()}},c.Group.prototype.destroy=function(a,b){null===this.game||this.ignoreDestroy||(void 0===a&&(a=!0),void 0===b&&(b=!1),this.onDestroy.dispatch(this,a,b),this.removeAll(a),this.cursor=null,this.filters=null,this.pendingDestroy=!1,b||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(c.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,c.Group.RETURN_TOTAL)}}),Object.defineProperty(c.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(c.Group.prototype,"angle",{get:function(){return c.Math.radToDeg(this.rotation)},set:function(a){this.rotation=c.Math.degToRad(a)}}),c.World=function(a){c.Group.call(this,a,null,"__world",!1),this.bounds=new c.Rectangle(0,0,a.width,a.height),this.camera=null,this._definedSize=!1,this._width=a.width,this._height=a.height,this.game.state.onStateChange.add(this.stateChange,this)},c.World.prototype=Object.create(c.Group.prototype),c.World.prototype.constructor=c.World,c.World.prototype.boot=function(){this.camera=new c.Camera(this.game,0,0,0,this.game.width,this.game.height),this.camera.displayObject=this,this.camera.scale=this.scale,this.game.camera=this.camera,this.game.stage.addChild(this)},c.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},c.World.prototype.setBounds=function(a,b,c,d){this._definedSize=!0,this._width=c,this._height=d,this.bounds.setTo(a,b,c,d),this.x=a,this.y=b,this.camera.bounds&&this.camera.bounds.setTo(a,b,Math.max(c,this.game.width),Math.max(d,this.game.height)),this.game.physics.setBoundsToWorld()},c.World.prototype.resize=function(a,b){this._definedSize&&(athis.bounds.right&&(a.x=this.bounds.left)),e&&(a.y+a._currentBounds.heightthis.bounds.bottom&&(a.y=this.bounds.top))):(d&&a.x+bthis.bounds.right&&(a.x=this.bounds.left-b),e&&a.y+bthis.bounds.bottom&&(a.y=this.bounds.top-b))},Object.defineProperty(c.World.prototype,"width",{get:function(){return this.bounds.width},set:function(a){ag;g++)e>g?f.push("color: #ff2424; background: #fff"):f.push("color: #959595; background: #fff");console.log.apply(console,f)}else window.console&&console.log("Phaser v"+a+" | Pixi.js "+PIXI.VERSION+" | "+b+" | "+d+" | http://phaser.io")}},setUpRenderer:function(){if(this.canvas=c.Canvas.create(this,this.width,this.height,this.config.canvasID,!0),this.config.canvasStyle?this.canvas.style=this.config.canvasStyle:this.canvas.style["-webkit-full-screen"]="width: 100%; height: 100%",this.renderType===c.HEADLESS||this.renderType===c.CANVAS||this.renderType===c.AUTO&&!this.device.webGL){if(!this.device.canvas)throw new Error("Phaser.Game - Cannot create Canvas or WebGL context, aborting.");this.renderType=c.CANVAS,this.renderer=new PIXI.CanvasRenderer(this),this.context=this.renderer.context}else this.renderType=c.WEBGL,this.renderer=new PIXI.WebGLRenderer(this),this.context=null,this.canvas.addEventListener("webglcontextlost",this.contextLost.bind(this),!1),this.canvas.addEventListener("webglcontextrestored",this.contextRestored.bind(this),!1);this.device.cocoonJS&&(this.canvas.screencanvas=this.renderType===c.CANVAS?!0:!1),this.renderType!==c.HEADLESS&&(this.stage.smoothed=this.antialias,c.Canvas.addToDOM(this.canvas,this.parent,!1),c.Canvas.setTouchAction(this.canvas))},contextLost:function(a){a.preventDefault(),this.renderer.contextLost=!0},contextRestored:function(){this.renderer.initContext(),this.cache.clearGLTextures(),this.renderer.contextLost=!1},update:function(a){if(this.time.update(a),this._kickstart)return this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),this.updateRender(this.time.slowMotion*this.time.desiredFps),void(this._kickstart=!1);if(this._spiraling>1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var b=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*b,this.time.elapsed),0);var c=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/b),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=b&&(this._deltaTime-=b,this.currentUpdateID=c,this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),c++,!this.forceSingleUpdate||1!==c);)this.time.refresh();c>this._lastCount?this._spiraling++:c=c.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+c.Input.MAX_POINTERS+" pointers reached."),null;var a=this.pointers.length+1,b=new c.Pointer(this.game,a,c.PointerMode.TOUCH);return this.pointers.push(b),this["pointer"+a]=b,b},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(a);if(!this.pointer2.active)return this.pointer2.start(a);for(var b=2;b0;c++){var d=this.pointers[c];d.active&&b--}return a-b},getPointer:function(a){void 0===a&&(a=!1);for(var b=0;b=g&&this._localPoint.x=h&&this._localPoint.y=g&&this._localPoint.x=h&&this._localPoint.yi;i++)if(this.hitTest(a.children[i],b,d))return!0;return!1},onClickTrampoline:function(){this.activePointer.processClickTrampolines()}},c.Input.prototype.constructor=c.Input,Object.defineProperty(c.Input.prototype,"x",{get:function(){return this._x},set:function(a){this._x=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"y",{get:function(){return this._y},set:function(a){this._y=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"pollLocked",{get:function(){return this.pollRate>0&&this._pollCounterthis.game.time.time},justReleased:function(a){return a=a||250,this.isUp&&this.timeUp+a>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},c.DeviceButton.prototype.constructor=c.DeviceButton,Object.defineProperty(c.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),c.Pointer=function(a,b,d){this.game=a,this.id=b,this.type=c.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=d||c.PointerMode.CURSOR|c.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new c.DeviceButton(this,c.Pointer.LEFT_BUTTON),this.middleButton=new c.DeviceButton(this,c.Pointer.MIDDLE_BUTTON),this.rightButton=new c.DeviceButton(this,c.Pointer.RIGHT_BUTTON),this.backButton=new c.DeviceButton(this,c.Pointer.BACK_BUTTON),this.forwardButton=new c.DeviceButton(this,c.Pointer.FORWARD_BUTTON),this.eraserButton=new c.DeviceButton(this,c.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===b,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.active=!1,this.dirty=!1,this.position=new c.Point,this.positionDown=new c.Point,this.positionUp=new c.Point,this.circle=new c.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},c.Pointer.NO_BUTTON=0,c.Pointer.LEFT_BUTTON=1,c.Pointer.RIGHT_BUTTON=2,c.Pointer.MIDDLE_BUTTON=4,c.Pointer.BACK_BUTTON=8,c.Pointer.FORWARD_BUTTON=16,c.Pointer.ERASER_BUTTON=32,c.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(a,b){c.Pointer.LEFT_BUTTON&a&&this.leftButton.start(b),c.Pointer.RIGHT_BUTTON&a&&this.rightButton.start(b),c.Pointer.MIDDLE_BUTTON&a&&this.middleButton.start(b),c.Pointer.BACK_BUTTON&a&&this.backButton.start(b),c.Pointer.FORWARD_BUTTON&a&&this.forwardButton.start(b),c.Pointer.ERASER_BUTTON&a&&this.eraserButton.start(b)},processButtonsUp:function(a,b){a===c.Mouse.LEFT_BUTTON&&this.leftButton.stop(b),a===c.Mouse.RIGHT_BUTTON&&this.rightButton.stop(b),a===c.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(b),a===c.Mouse.BACK_BUTTON&&this.backButton.stop(b),a===c.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(b),5===a&&this.eraserButton.stop(b)},updateButtons:function(a){this.button=a.button;var b="down"===a.type.toLowerCase().substr(-4);void 0!==a.buttons?b?this.processButtonsDown(a.buttons,a):this.processButtonsUp(a.button,a):b?this.leftButton.start(a):(this.leftButton.stop(a),this.rightButton.stop(a)),a.ctrlKey&&this.leftButton.isDown&&this.rightButton.start(a),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(a){var b=this.game.input;return a.pointerId&&(this.pointerId=a.pointerId),this.identifier=a.identifier,this.target=a.target,this.isMouse?this.updateButtons(a):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(a,!0),this.positionDown.setTo(this.x,this.y),(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.x=this.x,b.y=this.y,b.position.setTo(this.x,this.y),b.onDown.dispatch(this,a),b.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var a=this.game.input;this.active&&(this.dirty&&(a.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),this._holdSent===!1&&this.duration>=a.holdRate&&((a.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||a.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||a.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===a.totalActivePointers)&&a.onHold.dispatch(this),this._holdSent=!0),a.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+a.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>a.recordLimit&&this._history.shift()))},move:function(a,b){var d=this.game.input;if(!d.pollLocked){if(void 0===b&&(b=!1),void 0!==a.button&&(this.button=a.button),b&&this.isMouse&&this.updateButtons(a), +this.clientX=a.clientX,this.clientY=a.clientY,this.pageX=a.pageX,this.pageY=a.pageY,this.screenX=a.screenX,this.screenY=a.screenY,this.isMouse&&d.mouse.locked&&!b&&(this.rawMovementX=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.rawMovementY=a.movementY||a.mozMovementY||a.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*d.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*d.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(d.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||d.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||d.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===d.totalActivePointers)&&(d.activePointer=this,d.x=this.x,d.y=this.y,d.position.setTo(d.x,d.y),d.circle.x=d.x,d.circle.y=d.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY),this.game.paused)return this;for(var e=d.moveCallbacks.length;e--;)d.moveCallbacks[e].callback.call(d.moveCallbacks[e].context,this,this.x,this.y,b);return null!==this.targetObject&&this.targetObject.isDragged===!0?this.targetObject.update(this)===!1&&(this.targetObject=null):d.interactiveItems.total>0&&this.processInteractiveObjects(b),this}},processInteractiveObjects:function(a){for(var b=Number.MAX_VALUE,c=-1,d=null,e=this.game.input.interactiveItems.first;e;)e.checked=!1,e.validForInput(c,b,!1)&&(e.checked=!0,(a&&e.checkPointerDown(this,!0)||!a&&e.checkPointerOver(this,!0))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e)),e=this.game.input.interactiveItems.next;for(var e=this.game.input.interactiveItems.first;e;)!e.checked&&e.validForInput(c,b,!0)&&(a&&e.checkPointerDown(this,!1)||!a&&e.checkPointerOver(this,!1))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e),e=this.game.input.interactiveItems.next;return null===d?this.targetObject&&(this.targetObject._pointerOutHandler(this),this.targetObject=null):null===this.targetObject?(this.targetObject=d,d._pointerOverHandler(this)):this.targetObject===d?d.update(this)===!1&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this),this.targetObject=d,this.targetObject._pointerOverHandler(this)),null!==this.targetObject},leave:function(a){this.withinGame=!1,this.move(a,!1)},stop:function(a){var b=this.game.input;return this._stateReset&&this.withinGame?void a.preventDefault():(this.timeUp=this.game.time.time,(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.onUp.dispatch(this,a),this.duration>=0&&this.duration<=b.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(a.pageX,a.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),this.isMouse===!1&&b.currentPointers--,b.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this)},justPressed:function(a){return a=a||this.game.input.justPressedRate,this.isDown===!0&&this.timeDown+a>this.game.time.time},justReleased:function(a){return a=a||this.game.input.justReleasedRate,this.isUp&&this.timeUp+a>this.game.time.time},addClickTrampoline:function(a,b,c,d){if(this.isDown){for(var e=this._clickTrampolines=this._clickTrampolines||[],f=0;fd;d++)this._pointerData[d]={id:d,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1};this.snapOffset=new c.Point,this.enabled=!0,this._wasEnabled=!0}return this.sprite.events.onAddedToGroup.add(this.addedToGroup,this),this.sprite.events.onRemovedFromGroup.add(this.removedFromGroup,this),this.flagged=!1,this.sprite},addedToGroup:function(){this._dragPhase||this._wasEnabled&&!this.enabled&&this.start()},removedFromGroup:function(){this._dragPhase||(this.enabled?(this._wasEnabled=!0,this.stop()):this._wasEnabled=!1)},reset:function(){this.enabled=!1,this.flagged=!1;for(var a=0;10>a;a++)this._pointerData[a]={id:a,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1}},stop:function(){this.enabled!==!1&&(this.enabled=!1,this.game.input.interactiveItems.remove(this))},destroy:function(){this.sprite&&(this._setHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.enabled=!1,this.game.input.interactiveItems.remove(this),this._pointerData.length=0,this.boundsRect=null,this.boundsSprite=null,this.sprite=null)},validForInput:function(a,b,c){return void 0===c&&(c=!0),!this.enabled||0===this.sprite.scale.x||0===this.sprite.scale.y||this.priorityIDa||this.priorityID===a&&this.sprite.renderOrderIDb;b++)if(this._pointerData[b].isOver)return!0},pointerOut:function(a){if(!this.enabled)return!1;if(void 0!==a)return this._pointerData[a].isOut;for(var b=0;10>b;b++)if(this._pointerData[b].isOut)return!0},pointerTimeOver:function(a){return a=a||0,this._pointerData[a].timeOver},pointerTimeOut:function(a){return a=a||0,this._pointerData[a].timeOut},pointerDragged:function(a){return a=a||0,this._pointerData[a].isDragged},checkPointerDown:function(a,b){return a.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectClick?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPointerOver:function(a,b){return this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectOver?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPixel:function(a,b,c){if(this.sprite.texture.baseTexture.source){if(null===a&&null===b){this.game.input.getLocalPosition(this.sprite,c,this._tempPoint);var a=this._tempPoint.x,b=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(a-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(b-=-this.sprite.texture.frame.height*this.sprite.anchor.y),a+=this.sprite.texture.frame.x,b+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(a-=this.sprite.texture.trim.x,b-=this.sprite.texture.trim.y,athis.sprite.texture.crop.right||bthis.sprite.texture.crop.bottom))return this._dx=a,this._dy=b,!1;this._dx=a,this._dy=b,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,a,b,1,1,0,0,1,1);var d=this.game.input.hitContext.getImageData(0,0,1,1);if(d.data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(a){return null!==this.sprite&&void 0!==this.sprite.parent?this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this.draggable&&this._draggedPointerID===a.id?this.updateDrag(a):this._pointerData[a.id].isOver?this.checkPointerOver(a)?(this._pointerData[a.id].x=a.x-this.sprite.x,this._pointerData[a.id].y=a.y-this.sprite.y,!0):(this._pointerOutHandler(a),!1):void 0:(this._pointerOutHandler(a),!1):void 0},_pointerOverHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];(b.isOver===!1||a.dirty)&&(b.isOver=!0,b.isOut=!1,b.timeOver=this.game.time.time,b.x=a.x-this.sprite.x,b.y=a.y-this.sprite.y,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,a))}},_pointerOutHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];b.isOver=!1,b.isOut=!0,b.timeOut=this.game.time.time,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.sprite&&this.sprite.events&&this.sprite.events.onInputOut$dispatch(this.sprite,a)}},_touchedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(!b.isDown&&b.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,a))return;b.isDown=!0,b.isUp=!1,b.timeDown=this.game.time.time,this.sprite&&this.sprite.events&&this.sprite.events.onInputDown$dispatch(this.sprite,a),a.dirty=!0,this.draggable&&this.isDragged===!1&&this.startDrag(a),this.bringToTop&&this.sprite.bringToTop()}}},_releasedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(b.isDown&&a.isUp){b.isDown=!1,b.isUp=!0,b.timeUp=this.game.time.time,b.downDuration=b.timeUp-b.timeDown;var c=this.checkPointerOver(a);this.sprite&&this.sprite.events&&(this.sprite.events.onInputUp$dispatch(this.sprite,a,c),c&&(c=this.checkPointerOver(a))),b.isOver=c,!c&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),a.dirty=!0,this.draggable&&this.isDragged&&this._draggedPointerID===a.id&&this.stopDrag(a)}}},updateDrag:function(a,b){if(a.isUp)return this.stopDrag(a),!1;void 0===b&&(b=!1);var c=this.globalToLocalX(a.x)+this._dragPoint.x+this.dragOffset.x,d=this.globalToLocalY(a.y)+this._dragPoint.y+this.dragOffset.y;return this.sprite.fixedToCamera?(this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=c),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=d),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y))):(this.allowHorizontalDrag&&(this.sprite.x=c),this.allowVerticalDrag&&(this.sprite.y=d),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))),this.sprite.events.onDragUpdate.dispatch(this.sprite,a,c,d,this.snapPoint,b),!0},justOver:function(a,b){return a=a||0,b=b||500,this._pointerData[a].isOver&&this.overDuration(a)a;a++)this._pointerData[a].isDragged=!1;this.draggable=!1,this.isDragged=!1,this._draggedPointerID=-1},startDrag:function(a){var b=this.sprite.x,c=this.sprite.y;if(this.isDragged=!0,this._draggedPointerID=a.id,this._pointerData[a.id].isDragged=!0,this.sprite.fixedToCamera)this.dragFromCenter?(this.sprite.centerOn(a.x,a.y),this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y)):this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y);else{if(this.dragFromCenter){var d=this.sprite.getBounds();this.sprite.x=this.globalToLocalX(a.x)+(this.sprite.x-d.centerX),this.sprite.y=this.globalToLocalY(a.y)+(this.sprite.y-d.centerY)}this._dragPoint.setTo(this.sprite.x-this.globalToLocalX(a.x),this.sprite.y-this.globalToLocalY(a.y))}this.updateDrag(a,!0),this.bringToTop&&(this._dragPhase=!0,this.sprite.bringToTop()),this.dragStartPoint.set(b,c),this.sprite.events.onDragStart$dispatch(this.sprite,a,b,c)},globalToLocalX:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.x,a*=this.game.scale.grid.scaleFluidInversed.x),a},globalToLocalY:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.y,a*=this.game.scale.grid.scaleFluidInversed.y),a},stopDrag:function(a){this.isDragged=!1,this._draggedPointerID=-1,this._pointerData[a.id].isDragged=!1,this._dragPhase=!1,this.snapOnRelease&&(this.sprite.fixedToCamera?(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY):(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY)),this.sprite.events.onDragStop$dispatch(this.sprite,a),this.checkPointerOver(a)===!1&&this._pointerOutHandler(a)},setDragLock:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!0),this.allowHorizontalDrag=a,this.allowVerticalDrag=b},enableSnap:function(a,b,c,d,e,f){void 0===c&&(c=!0),void 0===d&&(d=!1),void 0===e&&(e=0),void 0===f&&(f=0),this.snapX=a,this.snapY=b,this.snapOffsetX=e,this.snapOffsetY=f,this.snapOnDrag=c,this.snapOnRelease=d},disableSnap:function(){this.snapOnDrag=!1,this.snapOnRelease=!1},checkBoundsRect:function(){this.sprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},c.InputHandler.prototype.constructor=c.InputHandler,c.Gamepad=function(a){this.game=a,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!=navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this)]},c.Gamepad.prototype={addCallbacks:function(a,b){"undefined"!=typeof b&&(this.onConnectCallback="function"==typeof b.onConnect?b.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof b.onDisconnect?b.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof b.onDown?b.onDown:this.onDownCallback,this.onUpCallback="function"==typeof b.onUp?b.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof b.onAxis?b.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof b.onFloat?b.onFloat:this.onFloatCallback,this.callbackContext=a)},start:function(){if(!this._active){this._active=!0;var a=this;this._onGamepadConnected=function(b){return a.onGamepadConnected(b)},this._onGamepadDisconnected=function(b){return a.onGamepadDisconnected(b)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(a){var b=a.gamepad;this._rawPads.push(b),this._gamepads[b.index].connect(b)},onGamepadDisconnected:function(a){var b=a.gamepad;for(var c in this._rawPads)this._rawPads[c].index===b.index&&this._rawPads.splice(c,1);this._gamepads[b.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(navigator.getGamepads)var a=navigator.getGamepads();else if(navigator.webkitGetGamepads)var a=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var a=navigator.webkitGamepads();if(a){this._rawPads=[];for(var b=!1,c=0;c0&&d>this.deadZone||0>d&&d<-this.deadZone?this.processAxisChange(c,d):this.processAxisChange(c,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(a){var b=!this.connected;this.connected=!0,this.index=a.index,this._rawPad=a,this._buttons=[],this._buttonsLen=a.buttons.length,this._axes=[],this._axesLen=a.axes.length;for(var d=0;dthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(a){return this.alive&&(this.health+=a,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},c.Component.InCamera=function(){},c.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},c.Component.InputEnabled=function(){},c.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(a){a?null===this.input?(this.input=new c.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},c.Component.InWorld=function(){},c.Component.InWorld.preUpdate=function(){if((this.autoCull||this.checkWorldBounds)&&(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull&&(this.game.world.camera.view.intersects(this._bounds)?(this.renderable=!0,this.game.world.camera.totalInView++):this.renderable=!1),this.checkWorldBounds))if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1;return!0},c.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},c.Component.LifeSpan=function(){},c.Component.LifeSpan.preUpdate=function(){return this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0)?(this.kill(),!1):!0},c.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(a){return void 0===a&&(a=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(a),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},c.Component.LoadTexture=function(){},c.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(a,b,d){a===c.PENDING_ATLAS?(a=b,b=0):b=b||0,(d||void 0===d)&&this.animations&&this.animations.stop(),this.key=a,this.customRender=!1;var e=this.game.cache,f=!0,g=!this.texture.baseTexture.scaleMode;if(c.RenderTexture&&a instanceof c.RenderTexture)this.key=a.key,this.setTexture(a);else if(c.BitmapData&&a instanceof c.BitmapData)this.customRender=!0,this.setTexture(a.texture),e.hasFrameData(a.key,c.Cache.BITMAPDATA)&&(f=!this.animations.loadFrameData(e.getFrameData(a.key,c.Cache.BITMAPDATA),b));else if(c.Video&&a instanceof c.Video){this.customRender=!0;var h=a.texture.valid;this.setTexture(a.texture),this.setFrame(a.texture.frame.clone()),a.onChangeSource.add(this.resizeFrame,this),this.texture.valid=h}else if(a instanceof PIXI.Texture)this.setTexture(a);else{var i=e.getImage(a,!0);this.key=i.key,this.setTexture(new PIXI.Texture(i.base)),"__default"===a?this.texture.baseTexture.skipRender=!0:this.texture.baseTexture.skipRender=!1,f=!this.animations.loadFrameData(i.frameData,b)}f&&(this._frame=c.Rectangle.clone(this.texture.frame)),g||(this.texture.baseTexture.scaleMode=1)},setFrame:function(a){this._frame=a,this.texture.frame.x=a.x,this.texture.frame.y=a.y,this.texture.frame.width=a.width,this.texture.frame.height=a.height,this.texture.crop.x=a.x,this.texture.crop.y=a.y,this.texture.crop.width=a.width,this.texture.crop.height=a.height,a.trimmed?(this.texture.trim?(this.texture.trim.x=a.spriteSourceSizeX,this.texture.trim.y=a.spriteSourceSizeY,this.texture.trim.width=a.sourceSizeW,this.texture.trim.height=a.sourceSizeH):this.texture.trim={x:a.spriteSourceSizeX,y:a.spriteSourceSizeY,width:a.sourceSizeW,height:a.sourceSizeH},this.texture.width=a.sourceSizeW,this.texture.height=a.sourceSizeH,this.texture.frame.width=a.sourceSizeW,this.texture.frame.height=a.sourceSizeH):!a.trimmed&&this.texture.trim&&(this.texture.trim=null),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(a,b,c){this.texture.frame.resize(b,c),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(a){this.animations.frame=a}},frameName:{get:function(){return this.animations.frameName},set:function(a){this.animations.frameName=a}}},c.Component.Overlap=function(){},c.Component.Overlap.prototype={overlap:function(a){return c.Rectangle.intersects(this.getBounds(),a.getBounds())}},c.Component.PhysicsBody=function(){},c.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this._exists&&this.parent.exists?!0:(this.renderOrderID=-1,!1))},c.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},c.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(a){this.position.x=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(a){this.position.y=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},c.Component.Reset=function(){},c.Component.Reset.prototype.reset=function(a,b,c){return void 0===c&&(c=1),this.world.set(a,b),this.position.set(a,b),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=c),this.components.PhysicsBody&&this.body&&this.body.reset(a,b,!1,!1),this},c.Component.ScaleMinMax=function(){},c.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(a){this.scaleMin&&(a.athis.scaleMax.x&&(a.a=this.scaleMax.x),a.d>this.scaleMax.y&&(a.d=this.scaleMax.y))},setScaleMinMax:function(a,b,d,e){void 0===b?b=d=e=a:void 0===d&&(d=e=b,b=a),null===a?this.scaleMin=null:this.scaleMin?this.scaleMin.set(a,b):this.scaleMin=new c.Point(a,b),null===d?this.scaleMax=null:this.scaleMax?this.scaleMax.set(d,e):this.scaleMax=new c.Point(d,e),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},c.Component.Smoothed=function(){},c.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(a){a?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},c.GameObjectFactory=function(a){this.game=a,this.world=this.game.world},c.GameObjectFactory.prototype={existing:function(a){return this.world.add(a)},image:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Image(this.game,a,b,d,e))},sprite:function(a,b,c,d,e){return void 0===e&&(e=this.world),e.create(a,b,c,d)},creature:function(a,b,d,e,f){void 0===f&&(f=this.world);var g=new c.Creature(this.game,a,b,d,e);return f.add(g),g},tween:function(a){return this.game.tweens.create(a)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},physicsGroup:function(a,b,d,e){return new c.Group(this.game,b,d,e,!0,a)},spriteBatch:function(a,b,d){return void 0===a&&(a=null),void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},tileSprite:function(a,b,d,e,f,g,h){return void 0===h&&(h=this.world),h.add(new c.TileSprite(this.game,a,b,d,e,f,g))},rope:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.Rope(this.game,a,b,d,e,f))},text:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Text(this.game,a,b,d,e))},button:function(a,b,d,e,f,g,h,i,j,k){return void 0===k&&(k=this.world),k.add(new c.Button(this.game,a,b,d,e,f,g,h,i,j))},graphics:function(a,b,d){return void 0===d&&(d=this.world),d.add(new c.Graphics(this.game,a,b))},emitter:function(a,b,d){return this.game.particles.add(new c.Particles.Arcade.Emitter(this.game,a,b,d))},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.BitmapText(this.game,a,b,d,e,f))},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},video:function(a,b){return new c.Video(this.game,a,b)},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a},plugin:function(a){return this.game.plugins.add(a)}},c.GameObjectFactory.prototype.constructor=c.GameObjectFactory,c.GameObjectCreator=function(a){this.game=a,this.world=this.game.world},c.GameObjectCreator.prototype={image:function(a,b,d,e){return new c.Image(this.game,a,b,d,e)},sprite:function(a,b,d,e){return new c.Sprite(this.game,a,b,d,e)},tween:function(a){return new c.Tween(a,this.game,this.game.tweens)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},spriteBatch:function(a,b,d){return void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},tileSprite:function(a,b,d,e,f,g){return new c.TileSprite(this.game,a,b,d,e,f,g)},rope:function(a,b,d,e,f){return new c.Rope(this.game,a,b,d,e,f)},text:function(a,b,d,e){return new c.Text(this.game,a,b,d,e)},button:function(a,b,d,e,f,g,h,i,j){return new c.Button(this.game,a,b,d,e,f,g,h,i,j)},graphics:function(a,b){return new c.Graphics(this.game,a,b)},emitter:function(a,b,d){return new c.Particles.Arcade.Emitter(this.game,a,b,d)},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return new c.BitmapText(this.game,a,b,d,e,f,g)},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a}},c.GameObjectCreator.prototype.constructor=c.GameObjectCreator,c.Sprite=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.SPRITE,this.physicsType=c.SPRITE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Sprite.prototype=Object.create(PIXI.Sprite.prototype),c.Sprite.prototype.constructor=c.Sprite,c.Component.Core.install.call(c.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Sprite.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Sprite.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Sprite.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Sprite.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Sprite.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Image=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.IMAGE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Image.prototype=Object.create(PIXI.Sprite.prototype),c.Image.prototype.constructor=c.Image,c.Component.Core.install.call(c.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","Smoothed"]),c.Image.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Image.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Image.prototype.preUpdate=function(){return this.preUpdateInWorld()?this.preUpdateCore():!1},c.Button=function(a,b,d,e,f,g,h,i,j,k){b=b||0,d=d||0,e=e||null,f=f||null,g=g||this,c.Image.call(this,a,b,d,e,i),this.type=c.BUTTON,this.physicsType=c.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new c.Signal,this.onInputOut=new c.Signal,this.onInputDown=new c.Signal,this.onInputUp=new c.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=c.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0, +this.setFrames(h,i,j,k),null!==f&&this.onInputUp.add(f,g),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},c.Button.prototype=Object.create(c.Image.prototype),c.Button.prototype.constructor=c.Button;var g="Over",h="Out",i="Down",j="Up";c.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},c.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},c.Button.prototype.setStateFrame=function(a,b,c){var d="_on"+a+"Frame";null!==b?(this[d]=b,c&&this.changeStateFrame(a)):this[d]=null},c.Button.prototype.changeStateFrame=function(a){if(this.freezeFrames)return!1;var b="_on"+a+"Frame",c=this[b];return"string"==typeof c?(this.frameName=c,!0):"number"==typeof c?(this.frame=c,!0):!1},c.Button.prototype.setFrames=function(a,b,c,d){this.setStateFrame(g,a,this.input.pointerOver()),this.setStateFrame(h,b,!this.input.pointerOver()),this.setStateFrame(i,c,this.input.pointerDown()),this.setStateFrame(j,d,this.input.pointerUp())},c.Button.prototype.setStateSound=function(a,b,d){var e="on"+a+"Sound",f="on"+a+"SoundMarker";b instanceof c.Sound||b instanceof c.AudioSprite?(this[e]=b,this[f]="string"==typeof d?d:""):(this[e]=null,this[f]="")},c.Button.prototype.playStateSound=function(a){var b="on"+a+"Sound",c=this[b];if(c){var d="on"+a+"SoundMarker",e=this[d];return c.play(e),!0}return!1},c.Button.prototype.setSounds=function(a,b,c,d,e,f,k,l){this.setStateSound(g,a,b),this.setStateSound(h,e,f),this.setStateSound(i,c,d),this.setStateSound(j,k,l)},c.Button.prototype.setOverSound=function(a,b){this.setStateSound(g,a,b)},c.Button.prototype.setOutSound=function(a,b){this.setStateSound(h,a,b)},c.Button.prototype.setDownSound=function(a,b){this.setStateSound(i,a,b)},c.Button.prototype.setUpSound=function(a,b){this.setStateSound(j,a,b)},c.Button.prototype.onInputOverHandler=function(a,b){b.justReleased()&&(this.justReleasedPreventsOver&b.pointerMode)===b.pointerMode||(this.changeStateFrame(g),(!this.onOverMouseOnly||b.isMouse)&&(this.playStateSound(g),this.onInputOver&&this.onInputOver.dispatch(this,b)))},c.Button.prototype.onInputOutHandler=function(a,b){this.changeStateFrame(h),this.playStateSound(h),this.onInputOut&&this.onInputOut.dispatch(this,b)},c.Button.prototype.onInputDownHandler=function(a,b){this.changeStateFrame(i),this.playStateSound(i),this.onInputDown&&this.onInputDown.dispatch(this,b)},c.Button.prototype.onInputUpHandler=function(a,b,c){if(this.playStateSound(j),this.onInputUp&&this.onInputUp.dispatch(this,b,c),!this.freezeFrames)if(this.forceOut===!0||(this.forceOut&b.pointerMode)===b.pointerMode)this.changeStateFrame(h);else{var d=this.changeStateFrame(j);d||(c?this.changeStateFrame(g):this.changeStateFrame(h))}},c.SpriteBatch=function(a,b,d,e){(void 0===b||null===b)&&(b=a.world),PIXI.SpriteBatch.call(this),c.Group.call(this,a,b,d,e),this.type=c.SPRITEBATCH},c.SpriteBatch.prototype=c.Utils.extend(!0,c.SpriteBatch.prototype,c.Group.prototype,PIXI.SpriteBatch.prototype),c.SpriteBatch.prototype.constructor=c.SpriteBatch,c.BitmapData=function(a,b,d,e){(void 0===d||0===d)&&(d=256),(void 0===e||0===e)&&(e=256),this.game=a,this.key=b,this.width=d,this.height=e,this.canvas=PIXI.CanvasPool.create(this,d,e),this.context=this.canvas.getContext("2d",{alpha:!0}),this.ctx=this.context,this.imageData=this.context.getImageData(0,0,d,e),this.data=null,this.imageData&&(this.data=this.imageData.data),this.pixels=null,this.data&&(this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data),this.baseTexture=new PIXI.BaseTexture(this.canvas),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,d,e,"bitmapData"),this.texture.frame=this.textureFrame,this.type=c.BITMAPDATA,this.disableTextureUpload=!1,this.dirty=!1,this.cls=this.clear,this._image=null,this._pos=new c.Point,this._size=new c.Point,this._scale=new c.Point,this._rotate=0,this._alpha={prev:1,current:1},this._anchor=new c.Point,this._tempR=0,this._tempG=0,this._tempB=0,this._circle=new c.Circle,this._swapCanvas=void 0},c.BitmapData.prototype={move:function(a,b,c){return 0!==a&&this.moveH(a,c),0!==b&&this.moveV(b,c),this},moveH:function(a,b){void 0===b&&(b=!0),void 0===this._swapCanvas&&(this._swapCanvas=PIXI.CanvasPool.create(this,this.width,this.height));var c=this._swapCanvas,d=c.getContext("2d"),e=this.height,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),0>a){a=Math.abs(a);var g=this.width-a;b&&d.drawImage(f,0,0,a,e,g,0,a,e),d.drawImage(f,a,0,g,e,0,0,g,e)}else{var g=this.width-a;b&&d.drawImage(f,g,0,a,e,0,0,a,e),d.drawImage(f,0,0,g,e,a,0,g,e)}return this.clear(),this.copy(this._swapCanvas)},moveV:function(a,b){void 0===b&&(b=!0),void 0===this._swapCanvas&&(this._swapCanvas=PIXI.CanvasPool.create(this,this.width,this.height));var c=this._swapCanvas,d=c.getContext("2d"),e=this.width,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),0>a){a=Math.abs(a);var g=this.height-a;b&&d.drawImage(f,0,0,e,a,0,g,e,a),d.drawImage(f,0,a,e,g,0,0,e,g)}else{var g=this.height-a;b&&d.drawImage(f,0,g,e,a,0,0,e,a),d.drawImage(f,0,0,e,g,0,a,e,g)}return this.clear(),this.copy(this._swapCanvas)},add:function(a){if(Array.isArray(a))for(var b=0;bm;m++)for(var n=d;h>n;n++)c.Color.unpackPixel(this.getPixel32(n,m),j),k=a.call(b,j,n,m),k!==!1&&null!==k&&void 0!==k&&(this.setPixel32(n,m,k.r,k.g,k.b,k.a,!1),l=!0);return l&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},processPixel:function(a,b,c,d,e,f){void 0===c&&(c=0),void 0===d&&(d=0),void 0===e&&(e=this.width),void 0===f&&(f=this.height);for(var g=c+e,h=d+f,i=0,j=0,k=!1,l=d;h>l;l++)for(var m=c;g>m;m++)i=this.getPixel32(m,l),j=a.call(b,i,m,l),j!==i&&(this.pixels[l*this.width+m]=j,k=!0);return k&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},replaceRGB:function(a,b,d,e,f,g,h,i,j){var k=0,l=0,m=this.width,n=this.height,o=c.Color.packPixel(a,b,d,e);void 0!==j&&j instanceof c.Rectangle&&(k=j.x,l=j.y,m=j.width,n=j.height);for(var p=0;n>p;p++)for(var q=0;m>q;q++)this.getPixel32(k+q,l+p)===o&&this.setPixel32(k+q,l+p,f,g,h,i,!1);return this.context.putImageData(this.imageData,0,0),this.dirty=!0,this},setHSL:function(a,b,d,e){var f=a||0===a,g=b||0===b,h=d||0===d;if(f||g||h){void 0===e&&(e=new c.Rectangle(0,0,this.width,this.height));for(var i=c.Color.createColor(),j=e.y;j=0&&a<=this.width&&b>=0&&b<=this.height&&(c.Device.LITTLE_ENDIAN?this.pixels[b*this.width+a]=g<<24|f<<16|e<<8|d:this.pixels[b*this.width+a]=d<<24|e<<16|f<<8|g,h&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(a,b,c,d,e,f){return this.setPixel32(a,b,c,d,e,255,f)},getPixel:function(a,b,d){d||(d=c.Color.createColor());var e=~~(a+b*this.width);return e*=4,d.r=this.data[e],d.g=this.data[++e],d.b=this.data[++e],d.a=this.data[++e],d},getPixel32:function(a,b){return a>=0&&a<=this.width&&b>=0&&b<=this.height?this.pixels[b*this.width+a]:void 0},getPixelRGB:function(a,b,d,e,f){return c.Color.unpackPixel(this.getPixel32(a,b),d,e,f)},getPixels:function(a){return this.context.getImageData(a.x,a.y,a.width,a.height)},getFirstPixel:function(a){void 0===a&&(a=0);var b=c.Color.createColor(),d=0,e=0,f=1,g=!1;1===a?(f=-1,e=this.height):3===a&&(f=-1,d=this.width);do c.Color.unpackPixel(this.getPixel32(d,e),b),0===a||1===a?(d++,d===this.width&&(d=0,e+=f,(e>=this.height||0>=e)&&(g=!0))):(2===a||3===a)&&(e++,e===this.height&&(e=0,d+=f,(d>=this.width||0>=d)&&(g=!0)));while(0===b.a&&!g);return b.x=d,b.y=e,b},getBounds:function(a){return void 0===a&&(a=new c.Rectangle),a.x=this.getFirstPixel(2).x,a.x===this.width?a.setTo(0,0,0,0):(a.y=this.getFirstPixel(0).y,a.width=this.getFirstPixel(3).x-a.x+1,a.height=this.getFirstPixel(1).y-a.y+1,a)},addToWorld:function(a,b,c,d,e,f){e=e||1,f=f||1;var g=this.game.add.image(a,b,this);return g.anchor.set(c,d),g.scale.set(e,f),g},copy:function(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){if((void 0===a||null===a)&&(a=this),this._image=a,a instanceof c.Sprite||a instanceof c.Image||a instanceof c.Text||a instanceof PIXI.Sprite)this._pos.set(a.texture.crop.x,a.texture.crop.y),this._size.set(a.texture.crop.width,a.texture.crop.height),this._scale.set(a.scale.x,a.scale.y),this._anchor.set(a.anchor.x,a.anchor.y),this._rotate=a.rotation,this._alpha.current=a.alpha,this._image=a.texture.baseTexture.source,(void 0===g||null===g)&&(g=a.x),(void 0===h||null===h)&&(h=a.y),a.texture.trim&&(g+=a.texture.trim.x-a.anchor.x*a.texture.trim.width,h+=a.texture.trim.y-a.anchor.y*a.texture.trim.height),16777215!==a.tint&&(a.cachedTint!==a.tint&&(a.cachedTint=a.tint,a.tintedTexture=PIXI.CanvasTinter.getTintedTexture(a,a.tint)),this._image=a.tintedTexture);else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,a instanceof c.BitmapData)this._image=a.canvas;else if("string"==typeof a){if(a=this.game.cache.getImage(a),null===a)return;this._image=a}this._size.set(this._image.width,this._image.height)}if((void 0===b||null===b)&&(b=0),(void 0===d||null===d)&&(d=0),e&&(this._size.x=e),f&&(this._size.y=f),(void 0===g||null===g)&&(g=b),(void 0===h||null===h)&&(h=d),(void 0===i||null===i)&&(i=this._size.x),(void 0===j||null===j)&&(j=this._size.y),"number"==typeof k&&(this._rotate=k),"number"==typeof l&&(this._anchor.x=l),"number"==typeof m&&(this._anchor.y=m),"number"==typeof n&&(this._scale.x=n),"number"==typeof o&&(this._scale.y=o),"number"==typeof p&&(this._alpha.current=p),void 0===q&&(q=null),void 0===r&&(r=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var s=this.context;return this._alpha.prev=s.globalAlpha,s.save(),s.globalAlpha=this._alpha.current,q&&(this.op=q),r&&(g|=0,h|=0),s.translate(g,h),s.scale(this._scale.x,this._scale.y),s.rotate(this._rotate),s.drawImage(this._image,this._pos.x+b,this._pos.y+d,this._size.x,this._size.y,-i*this._anchor.x,-j*this._anchor.y,i,j),s.restore(),s.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyRect:function(a,b,c,d,e,f,g){return this.copy(a,b.x,b.y,b.width,b.height,c,d,b.width,b.height,0,0,0,1,1,e,f,g)},draw:function(a,b,c,d,e,f,g){return this.copy(a,null,null,null,null,b,c,d,e,null,null,null,null,null,null,f,g)},drawGroup:function(a,b,c){return a.total>0&&a.forEachExists(this.drawGroupProxy,this,b,c),this},drawGroupProxy:function(a,b,d){if(a.type===c.EMITTER||a.type===c.BITMAPTEXT)for(var e=0;eb.width&&(e=b.width);var f=this.context;return f.fillStyle=f.createPattern(b,d),this._circle=new c.Circle(a.start.x,a.start.y,b.height),this._circle.circumferencePoint(a.angle-1.5707963267948966,!1,this._pos),f.save(),f.translate(this._pos.x,this._pos.y),f.rotate(a.angle),f.fillRect(0,0,e,b.height),f.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){PIXI.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this}},Object.defineProperty(c.BitmapData.prototype,"smoothed",{get:function(){c.Canvas.getSmoothingEnabled(this.context)},set:function(a){c.Canvas.setSmoothingEnabled(this.context,a)}}),Object.defineProperty(c.BitmapData.prototype,"op",{get:function(){return this.context.globalCompositeOperation},set:function(a){this.context.globalCompositeOperation=a}}),c.BitmapData.getTransform=function(a,b,c,d,e,f){return"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),"number"!=typeof c&&(c=1),"number"!=typeof d&&(d=1),"number"!=typeof e&&(e=0),"number"!=typeof f&&(f=0),{sx:c,sy:d,scaleX:c,scaleY:d,skewX:e,skewY:f,translateX:a,translateY:b,tx:a,ty:b}},c.BitmapData.prototype.constructor=c.BitmapData,PIXI.Graphics=function(){PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new PIXI.Rectangle(0,0,1,1),this.dirty=!0,this.webGLDirty=!1,this.cachedSpriteDirty=!1},PIXI.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),PIXI.Graphics.prototype.constructor=PIXI.Graphics,PIXI.Graphics.prototype.lineStyle=function(a,b,c){return this.lineWidth=a||0,this.lineColor=b||0,this.lineAlpha=void 0===c?1:c,this.currentPath&&(this.currentPath.shape.points.length?this.drawShape(new PIXI.Polygon(this.currentPath.shape.points.slice(-2))):(this.currentPath.lineWidth=this.lineWidth,this.currentPath.lineColor=this.lineColor,this.currentPath.lineAlpha=this.lineAlpha)),this},PIXI.Graphics.prototype.moveTo=function(a,b){return this.drawShape(new PIXI.Polygon([a,b])),this},PIXI.Graphics.prototype.lineTo=function(a,b){return this.currentPath||this.moveTo(0,0),this.currentPath.shape.points.push(a,b),this.dirty=!0,this},PIXI.Graphics.prototype.quadraticCurveTo=function(a,b,c,d){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);var e,f,g=20,h=this.currentPath.shape.points;0===h.length&&this.moveTo(0,0);for(var i=h[h.length-2],j=h[h.length-1],k=0,l=1;g>=l;++l)k=l/g,e=i+(a-i)*k,f=j+(b-j)*k,h.push(e+(a+(c-a)*k-e)*k,f+(b+(d-b)*k-f)*k);return this.dirty=!0,this},PIXI.Graphics.prototype.bezierCurveTo=function(a,b,c,d,e,f){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);for(var g,h,i,j,k,l=20,m=this.currentPath.shape.points,n=m[m.length-2],o=m[m.length-1],p=0,q=1;l>=q;++q)p=q/l,g=1-p,h=g*g,i=h*g,j=p*p,k=j*p,m.push(i*n+3*h*p*a+3*g*j*c+k*e,i*o+3*h*p*b+3*g*j*d+k*f);return this.dirty=!0,this},PIXI.Graphics.prototype.arcTo=function(a,b,c,d,e){this.currentPath?0===this.currentPath.shape.points.length&&this.currentPath.shape.points.push(a,b):this.moveTo(a,b);var f=this.currentPath.shape.points,g=f[f.length-2],h=f[f.length-1],i=h-b,j=g-a,k=d-b,l=c-a,m=Math.abs(i*l-j*k);if(1e-8>m||0===e)(f[f.length-2]!==a||f[f.length-1]!==b)&&f.push(a,b);else{var n=i*i+j*j,o=k*k+l*l,p=i*k+j*l,q=e*Math.sqrt(n)/m,r=e*Math.sqrt(o)/m,s=q*p/n,t=r*p/o,u=q*l+r*j,v=q*k+r*i,w=j*(r+s),x=i*(r+s),y=l*(q+t),z=k*(q+t),A=Math.atan2(x-v,w-u),B=Math.atan2(z-v,y-u);this.arc(u+a,v+b,e,A,B,j*k>l*i)}return this.dirty=!0,this},PIXI.Graphics.prototype.arc=function(a,b,c,d,e,f,g){if(d===e)return this;void 0===f&&(f=!1),void 0===g&&(g=40),!f&&d>=e?e+=2*Math.PI:f&&e>=d&&(d+=2*Math.PI);var h=f?-1*(d-e):e-d,i=Math.ceil(Math.abs(h)/(2*Math.PI))*g;if(0===h)return this;var j=a+Math.cos(d)*c,k=b+Math.sin(d)*c;f&&this.filling?this.moveTo(a,b):this.moveTo(j,k);for(var l=this.currentPath.shape.points,m=h/(2*i),n=2*m,o=Math.cos(m),p=Math.sin(m),q=i-1,r=q%1/q,s=0;q>=s;s++){var t=s+r*s,u=m+d+n*t,v=Math.cos(u),w=-Math.sin(u);l.push((o*v+p*w)*c+a,(o*-w+p*v)*c+b)}return this.dirty=!0,this},PIXI.Graphics.prototype.beginFill=function(a,b){return this.filling=!0,this.fillColor=a||0,this.fillAlpha=void 0===b?1:b,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},PIXI.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},PIXI.Graphics.prototype.drawRect=function(a,b,c,d){return this.drawShape(new PIXI.Rectangle(a,b,c,d)),this},PIXI.Graphics.prototype.drawRoundedRect=function(a,b,c,d,e){return this.drawShape(new PIXI.RoundedRectangle(a,b,c,d,e)),this},PIXI.Graphics.prototype.drawCircle=function(a,b,c){return this.drawShape(new PIXI.Circle(a,b,c)),this},PIXI.Graphics.prototype.drawEllipse=function(a,b,c,d){return this.drawShape(new PIXI.Ellipse(a,b,c,d)),this},PIXI.Graphics.prototype.drawPolygon=function(a){(a instanceof c.Polygon||a instanceof PIXI.Polygon)&&(a=a.points);var b=a;if(!Array.isArray(b)){b=new Array(arguments.length);for(var d=0;dp?p:x,x=x>r?r:x,x=x>t?t:x,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w,this._bounds.x=x,this._bounds.width=v-x,this._bounds.y=y,this._bounds.height=w-y,this._currentBounds=this._bounds}return this._currentBounds},PIXI.Graphics.prototype.containsPoint=function(a){this.worldTransform.applyInverse(a,tempPoint);for(var b=this.graphicsData,c=0;ch?h:a,b=h+j>b?h+j:b,d=d>i?i:d,e=i+k>e?i+k:e;else if(n===PIXI.Graphics.CIRC)h=f.x,i=f.y,j=f.radius+o/2,k=f.radius+o/2,a=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?i+k:e;else if(n===PIXI.Graphics.ELIP)h=f.x,i=f.y,j=f.width+o/2,k=f.height+o/2,a=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?i+k:e;else{g=f.points;for(var p=0;ph-o?h-o:a,b=h+o>b?h+o:b,d=d>i-o?i-o:d,e=i+o>e?i+o:e}}else a=0,b=0,d=0,e=0;var q=this.boundsPadding;this._localBounds.x=a-q,this._localBounds.width=b-a+2*q,this._localBounds.y=d-q,this._localBounds.height=e-d+2*q},PIXI.Graphics.prototype._generateCachedSprite=function(){var a=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(a.width,a.height);else{var b=new PIXI.CanvasBuffer(a.width,a.height),c=PIXI.Texture.fromCanvas(b.canvas);this._cachedSprite=new PIXI.Sprite(c),this._cachedSprite.buffer=b,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-(a.x/a.width),this._cachedSprite.anchor.y=-(a.y/a.height),this._cachedSprite.buffer.context.translate(-a.x,-a.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},PIXI.Graphics.prototype.updateCachedSpriteTexture=function(){var a=this._cachedSprite,b=a.texture,c=a.buffer.canvas;b.baseTexture.width=c.width,b.baseTexture.height=c.height,b.crop.width=b.frame.width=c.width,b.crop.height=b.frame.height=c.height,a._width=c.width,a._height=c.height,b.baseTexture.dirty()},PIXI.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},PIXI.Graphics.prototype.drawShape=function(a){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,a instanceof c.Polygon&&(a=a.clone(),a.flatten());var b=new PIXI.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,a);return this.graphicsData.push(b),b.type===PIXI.Graphics.POLY&&(b.shape.closed=this.filling,this.currentPath=b),this.dirty=!0,b},Object.defineProperty(PIXI.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(a){this._cacheAsBitmap=a,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),PIXI.GraphicsData=function(a,b,c,d,e,f,g){this.lineWidth=a,this.lineColor=b,this.lineAlpha=c,this._lineTint=b,this.fillColor=d,this.fillAlpha=e,this._fillTint=d,this.fill=f,this.shape=g,this.type=g.type},PIXI.GraphicsData.prototype.constructor=PIXI.GraphicsData,PIXI.GraphicsData.prototype.clone=function(){return new GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},PIXI.PolyK={},PIXI.PolyK.Triangulate=function(a){var b=!0,c=a.length>>1;if(3>c)return[];for(var d=[],e=[],f=0;c>f;f++)e.push(f);f=0;for(var g=c;g>3;){var h=e[(f+0)%g],i=e[(f+1)%g],j=e[(f+2)%g],k=a[2*h],l=a[2*h+1],m=a[2*i],n=a[2*i+1],o=a[2*j],p=a[2*j+1],q=!1;if(PIXI.PolyK._convex(k,l,m,n,o,p,b)){q=!0;for(var r=0;g>r;r++){var s=e[r];if(s!==h&&s!==i&&s!==j&&PIXI.PolyK._PointInTriangle(a[2*s],a[2*s+1],k,l,m,n,o,p)){q=!1;break}}}if(q)d.push(h,i,j),e.splice((f+1)%g,1),g--,f=0;else if(f++>3*g){if(!b)return null;for(d=[],e=[],f=0;c>f;f++)e.push(f);f=0,g=c,b=!1}}return d.push(e[0],e[1],e[2]),d},PIXI.PolyK._PointInTriangle=function(a,b,c,d,e,f,g,h){var i=g-c,j=h-d,k=e-c,l=f-d,m=a-c,n=b-d,o=i*i+j*j,p=i*k+j*l,q=i*m+j*n,r=k*k+l*l,s=k*m+l*n,t=1/(o*r-p*p),u=(r*q-p*s)*t,v=(o*s-p*q)*t;return u>=0&&v>=0&&1>u+v},PIXI.PolyK._convex=function(a,b,c,d,e,f,g){return(b-d)*(e-c)+(c-a)*(f-d)>=0===g},PIXI.EarCut={},PIXI.EarCut.Triangulate=function(a,b,c){c=c||2;var d=b&&b.length,e=d?b[0]*c:a.length,f=PIXI.EarCut.linkedList(a,0,e,c,!0),g=[];if(!f)return g;var h,i,j,k,l,m,n;if(d&&(f=PIXI.EarCut.eliminateHoles(a,b,f,c)),a.length>80*c){h=j=a[0],i=k=a[1];for(var o=c;e>o;o+=c)l=a[o],m=a[o+1],h>l&&(h=l),i>m&&(i=m),l>j&&(j=l),m>k&&(k=m);n=Math.max(j-h,k-i)}return PIXI.EarCut.earcutLinked(f,g,c,h,i,n),g},PIXI.EarCut.linkedList=function(a,b,c,d,e){var f,g,h,i=0;for(f=b,g=c-d;c>f;f+=d)i+=(a[g]-a[f])*(a[f+1]+a[g+1]),g=f;if(e===i>0)for(f=b;c>f;f+=d)h=PIXI.EarCut.insertNode(f,a[f],a[f+1],h);else for(f=c-d;f>=b;f-=d)h=PIXI.EarCut.insertNode(f,a[f],a[f+1],h);return h},PIXI.EarCut.filterPoints=function(a,b){if(!a)return a;b||(b=a);var c,d=a;do if(c=!1,d.steiner||!PIXI.EarCut.equals(d,d.next)&&0!==PIXI.EarCut.area(d.prev,d,d.next))d=d.next;else{if(PIXI.EarCut.removeNode(d),d=b=d.prev,d===d.next)return null;c=!0}while(c||d!==b);return b},PIXI.EarCut.earcutLinked=function(a,b,c,d,e,f,g){if(a){!g&&f&&PIXI.EarCut.indexCurve(a,d,e,f);for(var h,i,j=a;a.prev!==a.next;)if(h=a.prev,i=a.next,f?PIXI.EarCut.isEarHashed(a,d,e,f):PIXI.EarCut.isEar(a))b.push(h.i/c),b.push(a.i/c),b.push(i.i/c),PIXI.EarCut.removeNode(a),a=i.next,j=i.next;else if(a=i,a===j){g?1===g?(a=PIXI.EarCut.cureLocalIntersections(a,b,c),PIXI.EarCut.earcutLinked(a,b,c,d,e,f,2)):2===g&&PIXI.EarCut.splitEarcut(a,b,c,d,e,f):PIXI.EarCut.earcutLinked(PIXI.EarCut.filterPoints(a),b,c,d,e,f,1);break}}},PIXI.EarCut.isEar=function(a){var b=a.prev,c=a,d=a.next;if(PIXI.EarCut.area(b,c,d)>=0)return!1;for(var e=a.next.next;e!==a.prev;){ +if(PIXI.EarCut.pointInTriangle(b.x,b.y,c.x,c.y,d.x,d.y,e.x,e.y)&&PIXI.EarCut.area(e.prev,e,e.next)>=0)return!1;e=e.next}return!0},PIXI.EarCut.isEarHashed=function(a,b,c,d){var e=a.prev,f=a,g=a.next;if(PIXI.EarCut.area(e,f,g)>=0)return!1;for(var h=e.xf.x?e.x>g.x?e.x:g.x:f.x>g.x?f.x:g.x,k=e.y>f.y?e.y>g.y?e.y:g.y:f.y>g.y?f.y:g.y,l=PIXI.EarCut.zOrder(h,i,b,c,d),m=PIXI.EarCut.zOrder(j,k,b,c,d),n=a.nextZ;n&&n.z<=m;){if(n!==a.prev&&n!==a.next&&PIXI.EarCut.pointInTriangle(e.x,e.y,f.x,f.y,g.x,g.y,n.x,n.y)&&PIXI.EarCut.area(n.prev,n,n.next)>=0)return!1;n=n.nextZ}for(n=a.prevZ;n&&n.z>=l;){if(n!==a.prev&&n!==a.next&&PIXI.EarCut.pointInTriangle(e.x,e.y,f.x,f.y,g.x,g.y,n.x,n.y)&&PIXI.EarCut.area(n.prev,n,n.next)>=0)return!1;n=n.prevZ}return!0},PIXI.EarCut.cureLocalIntersections=function(a,b,c){var d=a;do{var e=d.prev,f=d.next.next;PIXI.EarCut.intersects(e,d,d.next,f)&&PIXI.EarCut.locallyInside(e,f)&&PIXI.EarCut.locallyInside(f,e)&&(b.push(e.i/c),b.push(d.i/c),b.push(f.i/c),PIXI.EarCut.removeNode(d),PIXI.EarCut.removeNode(d.next),d=a=f),d=d.next}while(d!==a);return d},PIXI.EarCut.splitEarcut=function(a,b,c,d,e,f){var g=a;do{for(var h=g.next.next;h!==g.prev;){if(g.i!==h.i&&PIXI.EarCut.isValidDiagonal(g,h)){var i=PIXI.EarCut.splitPolygon(g,h);return g=PIXI.EarCut.filterPoints(g,g.next),i=PIXI.EarCut.filterPoints(i,i.next),PIXI.EarCut.earcutLinked(g,b,c,d,e,f),void PIXI.EarCut.earcutLinked(i,b,c,d,e,f)}h=h.next}g=g.next}while(g!==a)},PIXI.EarCut.eliminateHoles=function(a,b,c,d){var e,f,g,h,i,j=[];for(e=0,f=b.length;f>e;e++)g=b[e]*d,h=f-1>e?b[e+1]*d:a.length,i=PIXI.EarCut.linkedList(a,g,h,d,!1),i===i.next&&(i.steiner=!0),j.push(PIXI.EarCut.getLeftmost(i));for(j.sort(compareX),e=0;e=d.next.y){var h=d.x+(f-d.y)*(d.next.x-d.x)/(d.next.y-d.y);e>=h&&h>g&&(g=h,c=d.x=d.x&&d.x>=c.x&&PIXI.EarCut.pointInTriangle(fi||i===k&&d.x>c.x)&&PIXI.EarCut.locallyInside(d,a)&&(c=d,k=i)),d=d.next;return c},PIXI.EarCut.indexCurve=function(a,b,c,d){var e=a;do null===e.z&&(e.z=PIXI.EarCut.zOrder(e.x,e.y,b,c,d)),e.prevZ=e.prev,e.nextZ=e.next,e=e.next;while(e!==a);e.prevZ.nextZ=null,e.prevZ=null,PIXI.EarCut.sortLinked(e)},PIXI.EarCut.sortLinked=function(a){var b,c,d,e,f,g,h,i,j=1;do{for(c=a,a=null,f=null,g=0;c;){for(g++,d=c,h=0,b=0;j>b&&(h++,d=d.nextZ,d);b++);for(i=j;h>0||i>0&&d;)0===h?(e=d,d=d.nextZ,i--):0!==i&&d?c.z<=d.z?(e=c,c=c.nextZ,h--):(e=d,d=d.nextZ,i--):(e=c,c=c.nextZ,h--),f?f.nextZ=e:a=e,e.prevZ=f,f=e;c=d}f.nextZ=null,j*=2}while(g>1);return a},PIXI.EarCut.zOrder=function(a,b,c,d,e){return a=32767*(a-c)/e,b=32767*(b-d)/e,a=16711935&(a|a<<8),a=252645135&(a|a<<4),a=858993459&(a|a<<2),a=1431655765&(a|a<<1),b=16711935&(b|b<<8),b=252645135&(b|b<<4),b=858993459&(b|b<<2),b=1431655765&(b|b<<1),a|b<<1},PIXI.EarCut.getLeftmost=function(a){var b=a,c=a;do b.x=0&&(a-g)*(d-h)-(c-g)*(b-h)>=0&&(c-g)*(f-h)-(e-g)*(d-h)>=0},PIXI.EarCut.isValidDiagonal=function(a,b){return PIXI.EarCut.equals(a,b)||a.next.i!==b.i&&a.prev.i!==b.i&&!PIXI.EarCut.intersectsPolygon(a,b)&&PIXI.EarCut.locallyInside(a,b)&&PIXI.EarCut.locallyInside(b,a)&&PIXI.EarCut.middleInside(a,b)},PIXI.EarCut.area=function(a,b,c){return(b.y-a.y)*(c.x-b.x)-(b.x-a.x)*(c.y-b.y)},PIXI.EarCut.equals=function(a,b){return a.x===b.x&&a.y===b.y},PIXI.EarCut.intersects=function(a,b,c,d){return PIXI.EarCut.area(a,b,c)>0!=PIXI.EarCut.area(a,b,d)>0&&PIXI.EarCut.area(c,d,a)>0!=PIXI.EarCut.area(c,d,b)>0},PIXI.EarCut.intersectsPolygon=function(a,b){var c=a;do{if(c.i!==a.i&&c.next.i!==a.i&&c.i!==b.i&&c.next.i!==b.i&&PIXI.EarCut.intersects(c,c.next,a,b))return!0;c=c.next}while(c!==a);return!1},PIXI.EarCut.locallyInside=function(a,b){return PIXI.EarCut.area(a.prev,a,a.next)<0?PIXI.EarCut.area(a,b,a.next)>=0&&PIXI.EarCut.area(a,a.prev,b)>=0:PIXI.EarCut.area(a,b,a.prev)<0||PIXI.EarCut.area(a,a.next,b)<0},PIXI.EarCut.middleInside=function(a,b){var c=a,d=!1,e=(a.x+b.x)/2,f=(a.y+b.y)/2;do c.y>f!=c.next.y>f&&e<(c.next.x-c.x)*(f-c.y)/(c.next.y-c.y)+c.x&&(d=!d),c=c.next;while(c!==a);return d},PIXI.EarCut.splitPolygon=function(a,b){var c=new PIXI.EarCut.Node(a.i,a.x,a.y),d=new PIXI.EarCut.Node(b.i,b.x,b.y),e=a.next,f=b.prev;return a.next=b,b.prev=a,c.next=e,e.prev=c,d.next=c,c.prev=d,f.next=d,d.prev=f,d},PIXI.EarCut.insertNode=function(a,b,c,d){var e=new PIXI.EarCut.Node(a,b,c);return d?(e.next=d.next,e.prev=d,d.next.prev=e,d.next=e):(e.prev=e,e.next=e),e},PIXI.EarCut.removeNode=function(a){a.next.prev=a.prev,a.prev.next=a.next,a.prevZ&&(a.prevZ.nextZ=a.nextZ),a.nextZ&&(a.nextZ.prevZ=a.prevZ)},PIXI.EarCut.Node=function(a,b,c){this.i=a,this.x=b,this.y=c,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(a,b){var c,d=b.gl,e=b.projection,f=b.offset,g=b.shaderManager.primitiveShader;a.dirty&&PIXI.WebGLGraphics.updateGraphics(a,d);for(var h=a._webGL[d.id],i=0;i=PIXI.WebGLGraphics.stencilBufferLimit)if(g.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit){f=PIXI.WebGLGraphics.switchMode(c,0);var h=PIXI.WebGLGraphics.buildPoly(g,f);h||(f=PIXI.WebGLGraphics.switchMode(c,1),PIXI.WebGLGraphics.buildComplexPoly(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,1),PIXI.WebGLGraphics.buildComplexPoly(g,f);g.lineWidth>0&&(f=PIXI.WebGLGraphics.switchMode(c,0),PIXI.WebGLGraphics.buildLine(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,0),g.type===PIXI.Graphics.RECT?PIXI.WebGLGraphics.buildRectangle(g,f):g.type===PIXI.Graphics.CIRC||g.type===PIXI.Graphics.ELIP?PIXI.WebGLGraphics.buildCircle(g,f):g.type===PIXI.Graphics.RREC&&PIXI.WebGLGraphics.buildRoundedRectangle(g,f);c.lastIndex++}for(d=0;d=q;q++)p=q/n,h=g(a,c,p),i=g(b,d,p),j=g(c,e,p),k=g(d,f,p),l=g(h,j,p),m=g(i,k,p),o.push(l,m);return o},PIXI.WebGLGraphics.buildCircle=function(a,b){var c,d,e=a.shape,f=e.x,g=e.y;a.type===PIXI.Graphics.CIRC?(c=e.radius,d=e.radius):(c=e.width,d=e.height);var h=40,i=2*Math.PI/h,j=0;if(a.fill){var k=PIXI.hex2rgb(a.fillColor),l=a.fillAlpha,m=k[0]*l,n=k[1]*l,o=k[2]*l,p=b.points,q=b.indices,r=p.length/6;for(q.push(r),j=0;h+1>j;j++)p.push(f,g,m,n,o,l),p.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d,m,n,o,l),q.push(r++,r++);q.push(r-1)}if(a.lineWidth){var s=a.points;for(a.points=[],j=0;h+1>j;j++)a.points.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d);PIXI.WebGLGraphics.buildLine(a,b),a.points=s}},PIXI.WebGLGraphics.buildLine=function(a,b){var c=0,d=a.points;if(0!==d.length){if(a.lineWidth%2)for(c=0;cc;c++)k=d[2*(c-1)],l=d[2*(c-1)+1],m=d[2*c],n=d[2*c+1],o=d[2*(c+1)],p=d[2*(c+1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,s=-(n-p),t=m-o,E=Math.sqrt(s*s+t*t),s/=E,t/=E,s*=K,t*=K,w=-r+l-(-r+n),x=-q+m-(-q+k),y=(-q+k)*(-r+n)-(-q+m)*(-r+l),z=-t+p-(-t+n),A=-s+m-(-s+o),B=(-s+o)*(-t+n)-(-s+m)*(-t+p),C=w*A-z*x,Math.abs(C)<.1?(C+=10.1,F.push(m-q,n-r,N,O,P,M),F.push(m+q,n+r,N,O,P,M)):(i=(x*B-A*y)/C,j=(z*y-w*B)/C,D=(i-m)*(i-m)+(j-n)+(j-n),D>19600?(u=q-s,v=r-t,E=Math.sqrt(u*u+v*v),u/=E,v/=E,u*=K,v*=K,F.push(m-u,n-v),F.push(N,O,P,M),F.push(m+u,n+v),F.push(N,O,P,M),F.push(m-u,n-v),F.push(N,O,P,M),I++):(F.push(i,j),F.push(N,O,P,M),F.push(m-(i-m),n-(j-n)),F.push(N,O,P,M)));for(k=d[2*(H-2)],l=d[2*(H-2)+1],m=d[2*(H-1)],n=d[2*(H-1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,F.push(m-q,n-r),F.push(N,O,P,M),F.push(m+q,n+r),F.push(N,O,P,M),G.push(J),c=0;I>c;c++)G.push(J++);G.push(J-1)}},PIXI.WebGLGraphics.buildComplexPoly=function(a,b){var c=a.points.slice();if(!(c.length<6)){var d=b.indices;b.points=c,b.alpha=a.fillAlpha,b.color=PIXI.hex2rgb(a.fillColor);for(var e,f,g=1/0,h=-(1/0),i=1/0,j=-(1/0),k=0;ke?e:g,h=e>h?e:h,i=i>f?f:i,j=f>j?f:j;c.push(g,i,h,i,h,j,g,j);var l=c.length/2;for(k=0;l>k;k++)d.push(k)}},PIXI.WebGLGraphics.buildPoly=function(a,b){var c=a.points;if(!(c.length<6)){var d=b.points,e=b.indices,f=c.length/2,g=PIXI.hex2rgb(a.fillColor),h=a.fillAlpha,i=g[0]*h,j=g[1]*h,k=g[2]*h,l=PIXI.EarCut.Triangulate(c,null,2);if(!l)return!1;var m=d.length/6,n=0;for(n=0;nn;n++)d.push(c[2*n],c[2*n+1],i,j,k,h);return!0}},PIXI.WebGLGraphics.graphicsDataPool=[],PIXI.WebGLGraphicsData=function(a){this.gl=a,this.color=[0,0,0],this.points=[],this.indices=[],this.buffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),this.mode=1,this.alpha=1,this.dirty=!0},PIXI.WebGLGraphicsData.prototype.reset=function(){this.points=[],this.indices=[]},PIXI.WebGLGraphicsData.prototype.upload=function(){var a=this.gl;this.glPoints=new PIXI.Float32Array(this.points),a.bindBuffer(a.ARRAY_BUFFER,this.buffer),a.bufferData(a.ARRAY_BUFFER,this.glPoints,a.STATIC_DRAW),this.glIndicies=new PIXI.Uint16Array(this.indices),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.glIndicies,a.STATIC_DRAW),this.dirty=!1},PIXI.CanvasGraphics=function(){},PIXI.CanvasGraphics.renderGraphics=function(a,b){var c=a.worldAlpha;a.dirty&&(this.updateGraphicsTint(a),a.dirty=!1);for(var d=0;dA?A:z,b.beginPath(),b.moveTo(v,w+z),b.lineTo(v,w+y-z),b.quadraticCurveTo(v,w+y,v+z,w+y),b.lineTo(v+x-z,w+y),b.quadraticCurveTo(v+x,w+y,v+x,w+y-z),b.lineTo(v+x,w+z),b.quadraticCurveTo(v+x,w,v+x-z,w),b.lineTo(v+z,w),b.quadraticCurveTo(v,w,v,w+z),b.closePath(),(e.fillColor||0===e.fillColor)&&(b.globalAlpha=e.fillAlpha*c,b.fillStyle="#"+("00000"+(0|g).toString(16)).substr(-6),b.fill()),e.lineWidth&&(b.globalAlpha=e.lineAlpha*c,b.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),b.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(a,b){var c=a.graphicsData.length;if(0!==c){b.beginPath();for(var d=0;c>d;d++){var e=a.graphicsData[d],f=e.shape;if(e.type===PIXI.Graphics.POLY){var g=f.points;b.moveTo(g[0],g[1]);for(var h=1;hy?y:x,b.moveTo(t,u+x),b.lineTo(t,u+w-x),b.quadraticCurveTo(t,u+w,t+x,u+w),b.lineTo(t+v-x,u+w),b.quadraticCurveTo(t+v,u+w,t+v,u+w-x),b.lineTo(t+v,u+x),b.quadraticCurveTo(t+v,u,t+v-x,u),b.lineTo(t+x,u),b.quadraticCurveTo(t,u,t,u+x),b.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(a){if(16777215!==a.tint)for(var b=(a.tint>>16&255)/255,c=(a.tint>>8&255)/255,d=(255&a.tint)/255,e=0;e>16&255)/255*b*255<<16)+((g>>8&255)/255*c*255<<8)+(255&g)/255*d*255,f._lineTint=((h>>16&255)/255*b*255<<16)+((h>>8&255)/255*c*255<<8)+(255&h)/255*d*255}},c.Graphics=function(a,b,d){void 0===b&&(b=0),void 0===d&&(d=0),this.type=c.GRAPHICS,this.physicsType=c.SPRITE,PIXI.Graphics.call(this),c.Component.Core.init.call(this,a,b,d,"",null)},c.Graphics.prototype=Object.create(PIXI.Graphics.prototype),c.Graphics.prototype.constructor=c.Graphics,c.Component.Core.install.call(c.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),c.Graphics.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Graphics.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Graphics.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Graphics.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Graphics.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Graphics.prototype.destroy=function(a){this.clear(),c.Component.Destroy.prototype.destroy.call(this,a)},c.Graphics.prototype.drawTriangle=function(a,b){void 0===b&&(b=!1);var d=new c.Polygon(a);if(b){var e=new c.Point(this.game.camera.x-a[0].x,this.game.camera.y-a[0].y),f=new c.Point(a[1].x-a[0].x,a[1].y-a[0].y),g=new c.Point(a[1].x-a[2].x,a[1].y-a[2].y),h=g.cross(f);e.dot(h)>0&&this.drawPolygon(d)}else this.drawPolygon(d)},c.Graphics.prototype.drawTriangles=function(a,b,d){void 0===d&&(d=!1);var e,f=new c.Point,g=new c.Point,h=new c.Point,i=[];if(b)if(a[0]instanceof c.Point)for(e=0;e0&&(j+=c[k-1]),h=j+l}else for(var k=0;kp&&Math.abs(p)>n&&(p=-n),0!==p){var m=p*(b.length-1);o+=m}this.canvas.height=o*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var q,r;for(this._charCount=0,g=0;g0&&(r+=p*g),"right"===this.style.align?q+=e-d[g]:"center"===this.style.align&&(q+=(e-d[g])/2),this.autoRound&&(q=Math.round(q),r=Math.round(r)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(b[g],q,r):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===c?this.context.strokeText(b[g],q,r):this.renderTabLine(b[g],q,r,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===c?this.context.fillText(b[g],q,r):this.renderTabLine(b[g],q,r,!0)));this.updateTexture()},c.Text.prototype.renderTabLine=function(a,b,c,d){var e=a.split(/(?:\t)/),f=this.style.tabs,g=0;if(Array.isArray(f))for(var h=0,i=0;i0&&(h+=f[i-1]),g=b+h,d?this.context.fillText(e[i],g,c):this.context.strokeText(e[i],g,c);else for(var i=0;i0||this.fontStyles.length>0){var f=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(f.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(f.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(f)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(e,b,c)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(e,b,c)),b+=this.context.measureText(e).width,this._charCount++}},c.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},c.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},c.Text.prototype.addColor=function(a,b){return this.colors[b]=a,this.dirty=!0,this},c.Text.prototype.addStrokeColor=function(a,b){return this.strokeColors[b]=a,this.dirty=!0,this},c.Text.prototype.addFontStyle=function(a,b){return this.fontStyles[b]=a,this.dirty=!0,this},c.Text.prototype.addFontWeight=function(a,b){return this.fontWeights[b]=a,this.dirty=!0,this},c.Text.prototype.precalculateWordWrap=function(a){this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font;var b=this.runWordWrap(a);return b.split(/(?:\r\n|\r|\n)/)},c.Text.prototype.runWordWrap=function(a){return this.useAdvancedWrap?this.advancedWordWrap(a):this.basicWordWrap(a)},c.Text.prototype.advancedWordWrap=function(a){for(var b=this.context,c=this.style.wordWrapWidth,d="",e=a.replace(/ +/gi," ").split(/\r?\n/gi),f=e.length,g=0;f>g;g++){var h=e[g],i="";h=h.replace(/^ *|\s*$/gi,"");var j=b.measureText(h).width;if(c>j)d+=h+"\n";else{for(var k=c,l=h.split(" "),m=0;mk){if(0===m){for(var q=o;q.length&&(q=q.slice(0,-1),p=b.measureText(q).width,!(k>=p)););if(!q.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var r=n.substr(q.length);l[m]=r,i+=q}var s=l[m].length?m:m+1,t=l.slice(s).join(" ").replace(/[ \n]*$/gi,"");e[g+1]=t+" "+(e[g+1]||""),f=e.length;break}i+=o,k-=p}d+=i.replace(/[ \n]*$/gi,"")+"\n"}}return d=d.replace(/[\s|\n]*$/gi,"")},c.Text.prototype.basicWordWrap=function(a){for(var b="",c=a.split("\n"),d=0;de?(g>0&&(b+="\n"),b+=f[g]+" ",e=this.style.wordWrapWidth-h):(e-=i,b+=f[g]+" ")}dd&&(this.style.wordWrapWidth=d)),this.updateTexture(),this},c.Text.prototype.updateTexture=function(){var a=this.texture.baseTexture,b=this.texture.crop,c=this.texture.frame,d=this.canvas.width,e=this.canvas.height;if(a.width=d,a.height=e,b.width=d,b.height=e,c.width=d,c.height=e,this.texture.width=d,this.texture.height=e,this._width=d,this._height=e,this.textBounds){var f=this.textBounds.x,g=this.textBounds.y;"right"===this.style.boundsAlignH?f+=this.textBounds.width-this.canvas.width:"center"===this.style.boundsAlignH&&(f+=this.textBounds.halfWidth-this.canvas.width/2),"bottom"===this.style.boundsAlignV?g+=this.textBounds.height-this.canvas.height:"middle"===this.style.boundsAlignV&&(g+=this.textBounds.halfHeight-this.canvas.height/2),this.pivot.x=-f,this.pivot.y=-g}this.renderable=0!==d&&0!==e,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},c.Text.prototype._renderWebGL=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,a)},c.Text.prototype._renderCanvas=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,a)},c.Text.prototype.determineFontProperties=function(a){var b=c.Text.fontPropertiesCache[a];if(!b){b={};var d=c.Text.fontPropertiesCanvas,e=c.Text.fontPropertiesContext;e.font=a;var f=Math.ceil(e.measureText("|MÉq").width),g=Math.ceil(e.measureText("|MÉq").width),h=2*g;if(g=1.4*g|0,d.width=f,d.height=h,e.fillStyle="#f00",e.fillRect(0,0,f,h), +e.font=a,e.textBaseline="alphabetic",e.fillStyle="#000",e.fillText("|MÉq",0,g),!e.getImageData(0,0,f,h))return b.ascent=g,b.descent=g+6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b,b;var i,j,k=e.getImageData(0,0,f,h).data,l=k.length,m=4*f,n=0,o=!1;for(i=0;g>i;i++){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n+=m}for(b.ascent=g-i,n=l-m,o=!1,i=h;i>g;i--){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n-=m}b.descent=i-g,b.descent+=6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b}return b},c.Text.prototype.getBounds=function(a){return this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype.getBounds.call(this,a)},Object.defineProperty(c.Text.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"cssFont",{get:function(){return this.componentsToFont(this._fontComponents)},set:function(a){a=a||"bold 20pt Arial",this._fontComponents=this.fontToComponents(a),this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"font",{get:function(){return this._fontComponents.fontFamily},set:function(a){a=a||"Arial",a=a.trim(),/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(a)||/['",]/.exec(a)||(a="'"+a+"'"),this._fontComponents.fontFamily=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontSize",{get:function(){var a=this._fontComponents.fontSize;return a&&/(?:^0$|px$)/.exec(a)?parseInt(a,10):a},set:function(a){a=a||"0","number"==typeof a&&(a+="px"),this._fontComponents.fontSize=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontWeight",{get:function(){return this._fontComponents.fontWeight||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontWeight=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontStyle",{get:function(){return this._fontComponents.fontStyle||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontStyle=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontVariant",{get:function(){return this._fontComponents.fontVariant||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontVariant=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fill",{get:function(){return this.style.fill},set:function(a){a!==this.style.fill&&(this.style.fill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"align",{get:function(){return this.style.align},set:function(a){a!==this.style.align&&(this.style.align=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"resolution",{get:function(){return this._res},set:function(a){a!==this._res&&(this._res=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"tabs",{get:function(){return this.style.tabs},set:function(a){a!==this.style.tabs&&(this.style.tabs=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignH",{get:function(){return this.style.boundsAlignH},set:function(a){a!==this.style.boundsAlignH&&(this.style.boundsAlignH=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignV",{get:function(){return this.style.boundsAlignV},set:function(a){a!==this.style.boundsAlignV&&(this.style.boundsAlignV=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"stroke",{get:function(){return this.style.stroke},set:function(a){a!==this.style.stroke&&(this.style.stroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"strokeThickness",{get:function(){return this.style.strokeThickness},set:function(a){a!==this.style.strokeThickness&&(this.style.strokeThickness=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrap",{get:function(){return this.style.wordWrap},set:function(a){a!==this.style.wordWrap&&(this.style.wordWrap=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrapWidth",{get:function(){return this.style.wordWrapWidth},set:function(a){a!==this.style.wordWrapWidth&&(this.style.wordWrapWidth=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"lineSpacing",{get:function(){return this._lineSpacing},set:function(a){a!==this._lineSpacing&&(this._lineSpacing=parseFloat(a),this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"shadowOffsetX",{get:function(){return this.style.shadowOffsetX},set:function(a){a!==this.style.shadowOffsetX&&(this.style.shadowOffsetX=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowOffsetY",{get:function(){return this.style.shadowOffsetY},set:function(a){a!==this.style.shadowOffsetY&&(this.style.shadowOffsetY=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowColor",{get:function(){return this.style.shadowColor},set:function(a){a!==this.style.shadowColor&&(this.style.shadowColor=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowBlur",{get:function(){return this.style.shadowBlur},set:function(a){a!==this.style.shadowBlur&&(this.style.shadowBlur=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowStroke",{get:function(){return this.style.shadowStroke},set:function(a){a!==this.style.shadowStroke&&(this.style.shadowStroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowFill",{get:function(){return this.style.shadowFill},set:function(a){a!==this.style.shadowFill&&(this.style.shadowFill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"width",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*this.texture.frame.width},set:function(a){this.scale.x=a/this.texture.frame.width,this._width=a}}),Object.defineProperty(c.Text.prototype,"height",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*this.texture.frame.height},set:function(a){this.scale.y=a/this.texture.frame.height,this._height=a}}),c.Text.fontPropertiesCache={},c.Text.fontPropertiesCanvas=PIXI.CanvasPool.create(c.Text.fontPropertiesCanvas),c.Text.fontPropertiesContext=c.Text.fontPropertiesCanvas.getContext("2d"),c.BitmapText=function(a,b,d,e,f,g,h){b=b||0,d=d||0,e=e||"",f=f||"",g=g||32,h=h||"left",PIXI.DisplayObjectContainer.call(this),this.type=c.BITMAPTEXT,this.physicsType=c.SPRITE,this.textWidth=0,this.textHeight=0,this.anchor=new c.Point,this._prevAnchor=new c.Point,this._glyphs=[],this._maxWidth=0,this._text=f,this._data=a.cache.getBitmapFont(e),this._font=e,this._fontSize=g,this._align=h,this._tint=16777215,this.updateText(),this.dirty=!1,c.Component.Core.init.call(this,a,b,d,"",null)},c.BitmapText.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),c.BitmapText.prototype.constructor=c.BitmapText,c.Component.Core.install.call(c.BitmapText.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),c.BitmapText.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.BitmapText.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.BitmapText.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.BitmapText.prototype.preUpdateCore=c.Component.Core.preUpdate,c.BitmapText.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.BitmapText.prototype.postUpdate=function(){c.Component.PhysicsBody.postUpdate.call(this),c.Component.FixedToCamera.postUpdate.call(this),this.body&&this.body.type===c.Physics.ARCADE&&(this.textWidth!==this.body.sourceWidth||this.textHeight!==this.body.sourceHeight)&&this.body.setSize(this.textWidth,this.textHeight)},c.BitmapText.prototype.setText=function(a){this.text=a},c.BitmapText.prototype.scanLine=function(a,b,c){for(var d=0,e=0,f=-1,g=null,h=this._maxWidth>0?this._maxWidth:null,i=[],j=0;j=h&&f>-1)return{width:e,text:c.substr(0,j-(j-f)),end:k,chars:i};e+=(m.xAdvance+o)*b,i.push(d+(m.xOffset+o)*b),d+=(m.xAdvance+o)*b,g=l}return{width:e,text:c,end:k,chars:i}},c.BitmapText.prototype.cleanText=function(a,b){void 0===b&&(b="");var c=this._data.font;if(!c)return"";for(var d=/\r\n|\n\r|\n|\r/g,e=a.replace(d,"\n").split("\n"),f=0;fthis.textWidth&&(this.textWidth=f.width),e+=a.lineHeight*c,b=b.substr(f.text.length+1)}while(f.end===!1);this.textHeight=e;for(var g=0,h=0,i=this.textWidth*this.anchor.x,j=this.textHeight*this.anchor.y,k=0;k0&&(this._fontSize=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(a){a!==this._maxWidth&&(this._maxWidth=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(a){a?this._data.base.scaleMode=0:this._data.base.scaleMode=1}}),c.RetroFont=function(a,b,d,e,f,g,h,i,j,k){if(!a.cache.checkImageKey(b))return!1;(void 0===g||null===g)&&(g=a.cache.getImage(b).width/d),this.characterWidth=d,this.characterHeight=e,this.characterSpacingX=h||0,this.characterSpacingY=i||0,this.characterPerRow=g,this.offsetX=j||0,this.offsetY=k||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=a.cache.getImage(b),this._text="",this.grabData=[],this.frameData=new c.FrameData;for(var l=this.offsetX,m=this.offsetY,n=0,o=0;o?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",c.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",c.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",c.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",c.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",c.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",c.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",c.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",c.RetroFont.prototype.setFixedWidth=function(a,b){void 0===b&&(b="left"),this.fixedWidth=a,this.align=b},c.RetroFont.prototype.setText=function(a,b,c,d,e,f){this.multiLine=b||!1,this.customSpacingX=c||0,this.customSpacingY=d||0,this.align=e||"left",f?this.autoUpperCase=!1:this.autoUpperCase=!0,a.length>0&&(this.text=a)},c.RetroFont.prototype.buildRetroFontText=function(){var a=0,b=0;if(this.clear(),this.multiLine){var d=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var e=0;ea&&(a=0),this.pasteLine(d[e],a,b,this.customSpacingX),b+=this.characterHeight+this.customSpacingY}else this.fixedWidth>0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),a=0,this.align===c.RetroFont.ALIGN_RIGHT?a=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===c.RetroFont.ALIGN_CENTER&&(a=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,a+=this.customSpacingX/2),0>a&&(a=0),this.pasteLine(this._text,a,0,this.customSpacingX);this.requiresReTint=!0},c.RetroFont.prototype.pasteLine=function(a,b,c,d){for(var e=0;e=0&&(this.stamp.frame=this.grabData[a.charCodeAt(e)],this.renderXY(this.stamp,b,c,!1),b+=this.characterWidth+d,b>this.width))break},c.RetroFont.prototype.getLongestLine=function(){var a=0;if(this._text.length>0)for(var b=this._text.split("\n"),c=0;ca&&(a=b[c].length);return a},c.RetroFont.prototype.removeUnsupportedCharacters=function(a){for(var b="",c=0;c=0||!a&&"\n"===d)&&(b=b.concat(d))}return b},c.RetroFont.prototype.updateOffset=function(a,b){if(this.offsetX!==a||this.offsetY!==b){for(var c=a-this.offsetX,d=b-this.offsetY,e=this.game.cache.getFrameData(this.stamp.key).getFrames(),f=e.length;f--;)e[f].x+=c,e[f].y+=d;this.buildRetroFontText()}},Object.defineProperty(c.RetroFont.prototype,"text",{get:function(){return this._text},set:function(a){var b;b=this.autoUpperCase?a.toUpperCase():a,b!==this._text&&(this._text=b,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(c.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(a){this.stamp.smoothed=a,this.buildRetroFontText()}}),c.Rope=function(a,b,d,e,f,g){this.points=[],this.points=g,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.ROPE,PIXI.Rope.call(this,PIXI.TextureCache.__default,this.points),c.Component.Core.init.call(this,a,b,d,e,f)},c.Rope.prototype=Object.create(PIXI.Rope.prototype),c.Rope.prototype.constructor=c.Rope,c.Component.Core.install.call(c.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Rope.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Rope.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Rope.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Rope.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Rope.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},c.Rope.prototype.reset=function(a,b){return c.Component.Reset.prototype.reset.call(this,a,b),this},Object.defineProperty(c.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(a){a&&"function"==typeof a?(this._hasUpdateAnimation=!0,this._updateAnimation=a):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(c.Rope.prototype,"segments",{get:function(){for(var a,b,d,e,f,g,h,i,j=[],k=0;k=1)&&(l.touch=!0),(window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(l.mspointer=!0),l.cocoonJS||("onwheel"in window||l.ie&&"WheelEvent"in window?l.wheelEvent="wheel":"onmousewheel"in window?l.wheelEvent="mousewheel":l.firefox&&"MouseScrollEvent"in window&&(l.wheelEvent="DOMMouseScroll"))}function d(){for(var a=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],b=document.createElement("div"),c=0;c0&&"none"!==a}var l=this;a(),g(),f(),e(),k(),h(),b(),d(),c()},c.Device.canPlayAudio=function(a){return"mp3"===a&&this.mp3?!0:"ogg"===a&&(this.ogg||this.opus)?!0:"m4a"===a&&this.m4a?!0:"opus"===a&&this.opus?!0:"wav"===a&&this.wav?!0:"webm"===a&&this.webm?!0:!1},c.Device.canPlayVideo=function(a){return"webm"===a&&(this.webmVideo||this.vp9Video)?!0:"mp4"===a&&(this.mp4Video||this.h264Video)?!0:"ogg"!==a&&"ogv"!==a||!this.oggVideo?"mpeg"===a&&this.hlsVideo?!0:!1:!0},c.Device.isConsoleOpen=function(){return window.console&&window.console.firebug?!0:window.console&&(console.profile(),console.profileEnd(),console.clear&&console.clear(),console.profiles)?console.profiles.length>0:!1},c.Device.isAndroidStockBrowser=function(){var a=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return a&&a[1]<537},c.Canvas={create:function(a,b,c,d,e){if(b=b||256,c=c||256,void 0===e)var f=PIXI.CanvasPool.create(a,b,c);else var f=document.createElement("canvas");return"string"==typeof d&&""!==d&&(f.id=d),f.width=b,f.height=c,f.style.display="block",f},setBackgroundColor:function(a,b){return b=b||"rgb(0,0,0)",a.style.backgroundColor=b,a},setTouchAction:function(a,b){return b=b||"none",a.style.msTouchAction=b,a.style["ms-touch-action"]=b,a.style["touch-action"]=b,a},setUserSelect:function(a,b){return b=b||"none",a.style["-webkit-touch-callout"]=b,a.style["-webkit-user-select"]=b,a.style["-khtml-user-select"]=b,a.style["-moz-user-select"]=b,a.style["-ms-user-select"]=b,a.style["user-select"]=b,a.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",a},addToDOM:function(a,b,c){var d;return void 0===c&&(c=!0),b&&("string"==typeof b?d=document.getElementById(b):"object"==typeof b&&1===b.nodeType&&(d=b)),d||(d=document.body),c&&d.style&&(d.style.overflow="hidden"),d.appendChild(a),a},removeFromDOM:function(a){a.parentNode&&a.parentNode.removeChild(a)},setTransform:function(a,b,c,d,e,f,g){return a.setTransform(d,f,g,e,b,c),a},setSmoothingEnabled:function(a,b){var d=c.Canvas.getSmoothingPrefix(a);return d&&(a[d]=b),a},getSmoothingPrefix:function(a){var b=["i","webkitI","msI","mozI","oI"];for(var c in b){var d=b[c]+"mageSmoothingEnabled";if(d in a)return d}return null},getSmoothingEnabled:function(a){var b=c.Canvas.getSmoothingPrefix(a);return b?a[b]:void 0},setImageRenderingCrisp:function(a){for(var b=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],c=0;ca},fuzzyGreaterThan:function(a,b,c){return void 0===c&&(c=1e-4),a>b-c},fuzzyCeil:function(a,b){return void 0===b&&(b=1e-4),Math.ceil(a-b)},fuzzyFloor:function(a,b){return void 0===b&&(b=1e-4),Math.floor(a+b)},average:function(){for(var a=0,b=arguments.length,c=0;b>c;c++)a+=+arguments[c];return a/b},shear:function(a){return a%1},snapTo:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.round(a/b),c+a)},snapToFloor:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.floor(a/b),c+a)},snapToCeil:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.ceil(a/b),c+a)},roundTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.round(a*d)/d},floorTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.floor(a*d)/d},ceilTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.ceil(a*d)/d},angleBetween:function(a,b,c,d){return Math.atan2(d-b,c-a)},angleBetweenY:function(a,b,c,d){return Math.atan2(c-a,d-b)},angleBetweenPoints:function(a,b){return Math.atan2(b.y-a.y,b.x-a.x)},angleBetweenPointsY:function(a,b){return Math.atan2(b.x-a.x,b.y-a.y)},reverseAngle:function(a){return this.normalizeAngle(a+Math.PI,!0)},normalizeAngle:function(a){return a%=2*Math.PI,a>=0?a:a+2*Math.PI},maxAdd:function(a,b,c){return Math.min(a+b,c)},minSub:function(a,b,c){return Math.max(a-b,c)},wrap:function(a,b,c){var d=c-b;if(0>=d)return 0;var e=(a-b)%d;return 0>e&&(e+=d),e+b},wrapValue:function(a,b,c){var d;return a=Math.abs(a),b=Math.abs(b),c=Math.abs(c),d=(a+b)%c},isOdd:function(a){return!!(1&a)},isEven:function(a){return!(1&a)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])var a=arguments[0];else var a=arguments;for(var b=1,c=0,d=a.length;d>b;b++)a[b]b;b++)a[b]>a[c]&&(c=b);return a[c]},minProperty:function(a){if(2===arguments.length&&"object"==typeof arguments[1])var b=arguments[1];else var b=arguments.slice(1);for(var c=1,d=0,e=b.length;e>c;c++)b[c][a]c;c++)b[c][a]>b[d][a]&&(d=c);return b[d][a]},wrapAngle:function(a,b){return b?this.wrap(a,-Math.PI,Math.PI):this.wrap(a,-180,180)},linearInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return 0>b?this.linear(a[0],a[1],d):b>1?this.linear(a[c],a[c-1],c-d):this.linear(a[e],a[e+1>c?c:e+1],d-e)},bezierInterpolation:function(a,b){for(var c=0,d=a.length-1,e=0;d>=e;e++)c+=Math.pow(1-b,d-e)*Math.pow(b,e)*a[e]*this.bernstein(d,e);return c},catmullRomInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return a[0]===a[c]?(0>b&&(e=Math.floor(d=c*(1+b))),this.catmullRom(a[(e-1+c)%c],a[e],a[(e+1)%c],a[(e+2)%c],d-e)):0>b?a[0]-(this.catmullRom(a[0],a[0],a[1],a[1],-d)-a[0]):b>1?a[c]-(this.catmullRom(a[c],a[c],a[c-1],a[c-1],d-c)-a[c]):this.catmullRom(a[e?e-1:0],a[e],a[e+1>c?c:e+1],a[e+2>c?c:e+2],d-e)},linear:function(a,b,c){return(b-a)*c+a},bernstein:function(a,b){return this.factorial(a)/this.factorial(b)/this.factorial(a-b)},factorial:function(a){if(0===a)return 1;for(var b=a;--a;)b*=a;return b},catmullRom:function(a,b,c,d,e){var f=.5*(c-a),g=.5*(d-b),h=e*e,i=e*h;return(2*b-2*c+f+g)*i+(-3*b+3*c-2*f-g)*h+f*e+b},difference:function(a,b){return Math.abs(a-b)},roundAwayFromZero:function(a){return a>0?Math.ceil(a):Math.floor(a)},sinCosGenerator:function(a,b,c,d){void 0===b&&(b=1),void 0===c&&(c=1),void 0===d&&(d=1);for(var e=b,f=c,g=d*Math.PI/a,h=[],i=[],j=0;a>j;j++)f-=e*g,e+=f*g,h[j]=f,i[j]=e;return{sin:i,cos:h,length:a}},distance:function(a,b,c,d){var e=a-c,f=b-d;return Math.sqrt(e*e+f*f)},distanceSq:function(a,b,c,d){var e=a-c,f=b-d;return e*e+f*f},distancePow:function(a,b,c,d,e){return void 0===e&&(e=2),Math.sqrt(Math.pow(c-a,e)+Math.pow(d-b,e))},clamp:function(a,b,c){return b>a?b:a>c?c:a},clampBottom:function(a,b){return b>a?b:a},within:function(a,b,c){return Math.abs(a-b)<=c},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},smoothstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*(3-2*a)},smootherstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*a*(a*(6*a-15)+10)},sign:function(a){return 0>a?-1:a>0?1:0},percent:function(a,b,c){return void 0===c&&(c=0),a>b||c>b?1:c>a||c>a?0:(a-c)/b}};var k=Math.PI/180,l=180/Math.PI;return c.Math.degToRad=function(a){return a*k},c.Math.radToDeg=function(a){return a*l},c.RandomDataGenerator=function(a){void 0===a&&(a=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof a?this.state(a):this.sow(a)},c.RandomDataGenerator.prototype={rnd:function(){var a=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|a,this.s0=this.s1,this.s1=this.s2,this.s2=a-this.c,this.s2},sow:function(a){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,a)for(var b=0;b>>0,b-=d,b*=d,d=b>>>0,b-=d,d+=4294967296*b;return 2.3283064365386963e-10*(d>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(a,b){return Math.floor(this.realInRange(0,b-a+1)+a)},between:function(a,b){return this.integerInRange(a,b)},realInRange:function(a,b){return this.frac()*(b-a)+a},normal:function(){return 1-2*this.frac()},uuid:function(){var a="",b="";for(b=a="";a++<36;b+=~a%5|3*a&4?(15^a?8^this.frac()*(20^a?16:4):4).toString(16):"-");return b},pick:function(a){return a[this.integerInRange(0,a.length-1)]},weightedPick:function(a){return a[~~(Math.pow(this.frac(),2)*(a.length-1)+.5)]},timestamp:function(a,b){return this.realInRange(a||9466848e5,b||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(a){return"string"==typeof a&&a.match(/^!rnd/)&&(a=a.split(","),this.c=parseFloat(a[1]),this.s0=parseFloat(a[2]),this.s1=parseFloat(a[3]),this.s2=parseFloat(a[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},c.RandomDataGenerator.prototype.constructor=c.RandomDataGenerator,c.QuadTree=function(a,b,c,d,e,f,g){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(a,b,c,d,e,f,g)},c.QuadTree.prototype={reset:function(a,b,c,d,e,f,g){this.maxObjects=e||10,this.maxLevels=f||4,this.level=g||0,this.bounds={x:Math.round(a),y:Math.round(b),width:c,height:d,subWidth:Math.floor(c/2),subHeight:Math.floor(d/2),right:Math.round(a)+Math.floor(c/2),bottom:Math.round(b)+Math.floor(d/2)},this.objects.length=0,this.nodes.length=0},populate:function(a){a.forEach(this.populateHandler,this,!0)},populateHandler:function(a){a.body&&a.exists&&this.insert(a.body)},split:function(){this.nodes[0]=new c.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new c.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new c.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new c.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(a){var b,c=0;if(null!=this.nodes[0]&&(b=this.getIndex(a),-1!==b))return void this.nodes[b].insert(a);if(this.objects.push(a),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(b=2):a.x>this.bounds.right&&(a.ythis.bounds.bottom&&(b=3)),b},retrieve:function(a){if(a instanceof c.Rectangle)var b=this.objects,d=this.getIndex(a);else{if(!a.body)return this._empty;var b=this.objects,d=this.getIndex(a.body)}return this.nodes[0]&&(-1!==d?b=b.concat(this.nodes[d].retrieve(a)):(b=b.concat(this.nodes[0].retrieve(a)),b=b.concat(this.nodes[1].retrieve(a)),b=b.concat(this.nodes[2].retrieve(a)),b=b.concat(this.nodes[3].retrieve(a)))),b},clear:function(){this.objects.length=0;for(var a=this.nodes.length;a--;)this.nodes[a].clear(),this.nodes.splice(a,1);this.nodes.length=0}},c.QuadTree.prototype.constructor=c.QuadTree,c.Net=function(a){this.game=a},c.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(a){return-1!==window.location.hostname.indexOf(a)},updateQueryString:function(a,b,c,d){void 0===c&&(c=!1),(void 0===d||""===d)&&(d=window.location.href);var e="",f=new RegExp("([?|&])"+a+"=.*?(&|#|$)(.*)","gi");if(f.test(d))e="undefined"!=typeof b&&null!==b?d.replace(f,"$1"+a+"="+b+"$2$3"):d.replace(f,"$1$3").replace(/(&|\?)$/,"");else if("undefined"!=typeof b&&null!==b){var g=-1!==d.indexOf("?")?"&":"?",h=d.split("#");d=h[0]+g+a+"="+b,h[1]&&(d+="#"+h[1]),e=d}else e=d;return c?void(window.location.href=e):e},getQueryString:function(a){void 0===a&&(a="");var b={},c=location.search.substring(1).split("&");for(var d in c){var e=c[d].split("=");if(e.length>1){if(a&&a==this.decodeURI(e[0]))return this.decodeURI(e[1]);b[this.decodeURI(e[0])]=this.decodeURI(e[1])}}return b},decodeURI:function(a){return decodeURIComponent(a.replace(/\+/g," "))}},c.Net.prototype.constructor=c.Net,c.TweenManager=function(a){this.game=a,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:c.Easing.Power0,Power1:c.Easing.Power1,Power2:c.Easing.Power2,Power3:c.Easing.Power3,Power4:c.Easing.Power4,Linear:c.Easing.Linear.None,Quad:c.Easing.Quadratic.Out,Cubic:c.Easing.Cubic.Out,Quart:c.Easing.Quartic.Out,Quint:c.Easing.Quintic.Out,Sine:c.Easing.Sinusoidal.Out,Expo:c.Easing.Exponential.Out,Circ:c.Easing.Circular.Out,Elastic:c.Easing.Elastic.Out,Back:c.Easing.Back.Out,Bounce:c.Easing.Bounce.Out,"Quad.easeIn":c.Easing.Quadratic.In,"Cubic.easeIn":c.Easing.Cubic.In,"Quart.easeIn":c.Easing.Quartic.In,"Quint.easeIn":c.Easing.Quintic.In,"Sine.easeIn":c.Easing.Sinusoidal.In,"Expo.easeIn":c.Easing.Exponential.In,"Circ.easeIn":c.Easing.Circular.In,"Elastic.easeIn":c.Easing.Elastic.In,"Back.easeIn":c.Easing.Back.In,"Bounce.easeIn":c.Easing.Bounce.In,"Quad.easeOut":c.Easing.Quadratic.Out,"Cubic.easeOut":c.Easing.Cubic.Out,"Quart.easeOut":c.Easing.Quartic.Out,"Quint.easeOut":c.Easing.Quintic.Out,"Sine.easeOut":c.Easing.Sinusoidal.Out,"Expo.easeOut":c.Easing.Exponential.Out,"Circ.easeOut":c.Easing.Circular.Out,"Elastic.easeOut":c.Easing.Elastic.Out,"Back.easeOut":c.Easing.Back.Out,"Bounce.easeOut":c.Easing.Bounce.Out,"Quad.easeInOut":c.Easing.Quadratic.InOut,"Cubic.easeInOut":c.Easing.Cubic.InOut,"Quart.easeInOut":c.Easing.Quartic.InOut,"Quint.easeInOut":c.Easing.Quintic.InOut,"Sine.easeInOut":c.Easing.Sinusoidal.InOut,"Expo.easeInOut":c.Easing.Exponential.InOut,"Circ.easeInOut":c.Easing.Circular.InOut,"Elastic.easeInOut":c.Easing.Elastic.InOut,"Back.easeInOut":c.Easing.Back.InOut,"Bounce.easeInOut":c.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},c.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var a=0;ad;d++)this.removeFrom(a[d]);else if(a.type===c.GROUP&&b)for(var d=0,e=a.children.length;e>d;d++)this.removeFrom(a.children[d]);else{for(d=0,e=this._tweens.length;e>d;d++)a===this._tweens[d].target&&this.remove(this._tweens[d]);for(d=0,e=this._add.length;e>d;d++)a===this._add[d].target&&this.remove(this._add[d])}},add:function(a){a._manager=this,this._add.push(a)},create:function(a){return new c.Tween(a,this.game,this)},remove:function(a){var b=this._tweens.indexOf(a);-1!==b?this._tweens[b].pendingDelete=!0:(b=this._add.indexOf(a),-1!==b&&(this._add[b].pendingDelete=!0))},update:function(){var a=this._add.length,b=this._tweens.length;if(0===b&&0===a)return!1;for(var c=0;b>c;)this._tweens[c].update(this.game.time.time)?c++:(this._tweens.splice(c,1),b--);return a>0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(a){return this._tweens.some(function(b){return b.target===a})},_pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._pause()},_resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._resume()},pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].pause()},resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].resume(!0)}},c.TweenManager.prototype.constructor=c.TweenManager,c.Tween=function(a,b,d){this.game=b,this.target=a,this.manager=d,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new c.Signal,this.onLoop=new c.Signal,this.onRepeat=new c.Signal,this.onChildComplete=new c.Signal,this.onComplete=new c.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=d.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},c.Tween.prototype={to:function(a,b,d,e,f,g,h){return(void 0===b||0>=b)&&(b=1e3),(void 0===d||null===d)&&(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).to(a,b,d,f,g,h)),e&&this.start(),this)},from:function(a,b,d,e,f,g,h){return void 0===b&&(b=1e3),(void 0===d||null===d)&&(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).from(a,b,d,f,g,h)),e&&this.start(),this)},start:function(a){if(void 0===a&&(a=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(var b=0;ba||a>this.timeline.length-1)&&(a=0),this.current=a,this.timeline[this.current].start(),this},stop:function(a){return void 0===a&&(a=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,a&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(a,b,c){if(0===this.timeline.length)return this;if(void 0===c&&(c=0),-1===c)for(var d=0;d0?arguments[a-1].chainedTween=arguments[a]:this.chainedTween=arguments[a];return this},loop:function(a){return void 0===a&&(a=!0),a?this.repeatAll(-1):this.repeatCounter=0,this},onUpdateCallback:function(a,b){return this._onUpdateCallback=a,this._onUpdateCallbackContext=b,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var a=0;a0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(a,b){if(null===this.game||null===this.target)return null;void 0===a&&(a=60),void 0===b&&(b=[]);for(var c=0;c0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a],this.parent.target[a]=this.vStart[a];return this.value=0,this.yoyoCounter=0,this},loadValues:function(){for(var a in this.parent.properties){if(this.vStart[a]=this.parent.properties[a],Array.isArray(this.vEnd[a])){if(0===this.vEnd[a].length)continue;0===this.percent&&(this.vEnd[a]=[this.vStart[a]].concat(this.vEnd[a]))}"undefined"!=typeof this.vEnd[a]?("string"==typeof this.vEnd[a]&&(this.vEnd[a]=this.vStart[a]+parseFloat(this.vEnd[a],10)),this.parent.properties[a]=this.vEnd[a]):this.vEnd[a]=this.vStart[a],this.vStartCache[a]=this.vStart[a],this.vEndCache[a]=this.vEnd[a]}return this},update:function(a){if(this.isRunning){if(a=this.startTime))return c.TweenData.PENDING;this.isRunning=!0}var b=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=b*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=b*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var d in this.vEnd){var e=this.vStart[d],f=this.vEnd[d];Array.isArray(f)?this.parent.target[d]=this.interpolationFunction.call(this.interpolationContext,f,this.value):this.parent.target[d]=e+(f-e)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():c.TweenData.RUNNING},generateData:function(a){this.parent.reverse?this.dt=this.duration:this.dt=0;var b=[],c=!1,d=1/a*1e3;do{this.parent.reverse?(this.dt-=d,this.dt=Math.max(this.dt,0)):(this.dt+=d,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var e={};for(var f in this.vEnd){var g=this.vStart[f],h=this.vEnd[f];Array.isArray(h)?e[f]=this.interpolationFunction(h,this.value):e[f]=g+(h-g)*this.value}b.push(e),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(c=!0)}while(!c);if(this.yoyo){var i=b.slice();i.reverse(),b=b.concat(i)}return b},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var a in this.vStartCache)this.vStart[a]=this.vStartCache[a],this.vEnd[a]=this.vEndCache[a];return this.inReverse=!1,c.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return c.TweenData.COMPLETE;if(this.inReverse)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a];else{for(var a in this.vStartCache)this.vStart[a]=this.vStartCache[a],this.vEnd[a]=this.vEndCache[a];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,c.TweenData.LOOPED}},c.TweenData.prototype.constructor=c.TweenData,c.Easing={Linear:{None:function(a){return a}},Quadratic:{In:function(a){return a*a},Out:function(a){return a*(2-a)},InOut:function(a){return(a*=2)<1?.5*a*a:-.5*(--a*(a-2)-1)}},Cubic:{In:function(a){return a*a*a},Out:function(a){return--a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a:.5*((a-=2)*a*a+2)}},Quartic:{In:function(a){return a*a*a*a},Out:function(a){return 1- --a*a*a*a},InOut:function(a){return(a*=2)<1?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2)}},Quintic:{In:function(a){return a*a*a*a*a},Out:function(a){return--a*a*a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)}},Sinusoidal:{In:function(a){return 0===a?0:1===a?1:1-Math.cos(a*Math.PI/2)},Out:function(a){return 0===a?0:1===a?1:Math.sin(a*Math.PI/2)},InOut:function(a){return 0===a?0:1===a?1:.5*(1-Math.cos(Math.PI*a))}},Exponential:{In:function(a){return 0===a?0:Math.pow(1024,a-1)},Out:function(a){return 1===a?1:1-Math.pow(2,-10*a)},InOut:function(a){return 0===a?0:1===a?1:(a*=2)<1?.5*Math.pow(1024,a-1):.5*(-Math.pow(2,-10*(a-1))+2)}},Circular:{In:function(a){return 1-Math.sqrt(1-a*a)},Out:function(a){return Math.sqrt(1- --a*a)},InOut:function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)}},Elastic:{In:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),-(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)))},Out:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),c*Math.pow(2,-10*a)*Math.sin((a-b)*(2*Math.PI)/d)+1)},InOut:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),(a*=2)<1?-.5*(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)):c*Math.pow(2,-10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)*.5+1)}},Back:{In:function(a){var b=1.70158;return a*a*((b+1)*a-b)},Out:function(a){var b=1.70158;return--a*a*((b+1)*a+b)+1},InOut:function(a){var b=2.5949095;return(a*=2)<1?.5*(a*a*((b+1)*a-b)):.5*((a-=2)*a*((b+1)*a+b)+2)}},Bounce:{In:function(a){return 1-c.Easing.Bounce.Out(1-a)},Out:function(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},InOut:function(a){return.5>a?.5*c.Easing.Bounce.In(2*a):.5*c.Easing.Bounce.Out(2*a-1)+.5}}},c.Easing.Default=c.Easing.Linear.None,c.Easing.Power0=c.Easing.Linear.None,c.Easing.Power1=c.Easing.Quadratic.Out,c.Easing.Power2=c.Easing.Cubic.Out,c.Easing.Power3=c.Easing.Quartic.Out,c.Easing.Power4=c.Easing.Quintic.Out,c.Time=function(a){this.game=a,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new c.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},c.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(a){return this._timers.push(a),a},create:function(a){void 0===a&&(a=!0);var b=new c.Timer(this.game,a);return this._timers.push(b),b},removeAll:function(){for(var a=0;aa;)this._timers[a].update(this.time)?a++:(this._timers.splice(a,1),b--)},updateAdvancedTiming:function(){this._frameCount++,this._elapsedAccumulator+=this.elapsed,this._frameCount>=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var a=this._timers.length;a--;)this._timers[a]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var a=this._timers.length;a--;)this._timers[a]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(a){return this.time-a},elapsedSecondsSince:function(a){return.001*(this.time-a)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(c.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(a){this._desiredFps=a,this.physicsElapsed=1/a,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/a}}),c.Time.prototype.constructor=c.Time,c.Timer=function(a,b){void 0===b&&(b=!0),this.game=a,this.running=!1,this.autoDestroy=b,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new c.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},c.Timer.MINUTE=6e4,c.Timer.SECOND=1e3,c.Timer.HALF=500,c.Timer.QUARTER=250,c.Timer.prototype={create:function(a,b,d,e,f,g){a=Math.round(a);var h=a;h+=0===this._now?this.game.time.time:this._now;var i=new c.TimerEvent(this,a,h,d,b,e,f,g);return this.events.push(i),this.order(),this.expired=!1,i},add:function(a,b,c){return this.create(a,!1,0,b,c,Array.prototype.slice.call(arguments,3))},repeat:function(a,b,c,d){return this.create(a,!1,b,c,d,Array.prototype.slice.call(arguments,4))},loop:function(a,b,c){return this.create(a,!0,0,b,c,Array.prototype.slice.call(arguments,3))},start:function(a){if(!this.running){this._started=this.game.time.time+(a||0),this.running=!0;for(var b=0;b0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(a,b){return a.tickb.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1); +this._len=this.events.length,this._i=0},update:function(a){if(this.paused)return!0;if(this.elapsed=a-this._now,this._now=a,this.elapsed>this.timeCap&&this.adjustEvents(a-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=this.events[this._i].tick&&!this.events[this._i].pendingDelete;)this._newTick=this._now+this.events[this._i].delay-(this._now-this.events[this._i].tick),this._newTick<0&&(this._newTick=this._now+this.events[this._i].delay),this.events[this._i].loop===!0?(this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):this.events[this._i].repeatCount>0?(this.events[this._i].repeatCount--,this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):(this._marked++,this.events[this._i].pendingDelete=!0,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)),this._i++;this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return this.expired&&this.autoDestroy?!1:!0},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(a){for(var b=0;bc&&(c=0),this.events[b].tick=this._now+c}var d=this.nextTick-a;0>d?this.nextTick=this._now:this.nextTick=this._now+d},resume:function(){if(this.paused){var a=this.game.time.time;this._pauseTotal+=a-this._now,this._now=a,this.adjustEvents(this._pauseStarted),this.paused=!1,this._codePaused=!1}},_resume:function(){this._codePaused||this.resume()},removeAll:function(){this.onComplete.removeAll(),this.events.length=0,this._len=0,this._i=0},destroy:function(){this.onComplete.removeAll(),this.running=!1,this.events=[],this._len=0,this._i=0}},Object.defineProperty(c.Timer.prototype,"next",{get:function(){return this.nextTick}}),Object.defineProperty(c.Timer.prototype,"duration",{get:function(){return this.running&&this.nextTick>this._now?this.nextTick-this._now:0}}),Object.defineProperty(c.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(c.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(c.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),c.Timer.prototype.constructor=c.Timer,c.TimerEvent=function(a,b,c,d,e,f,g,h){this.timer=a,this.delay=b,this.tick=c,this.repeatCount=d-1,this.loop=e,this.callback=f,this.callbackContext=g,this.args=h,this.pendingDelete=!1},c.TimerEvent.prototype.constructor=c.TimerEvent,c.AnimationManager=function(a){this.sprite=a,this.game=a.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},c.AnimationManager.prototype={loadFrameData:function(a,b){if(void 0===a)return!1;if(this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(a);return this._frameData=a,void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},copyFrameData:function(a,b){if(this._frameData=a.clone(),this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(this._frameData);return void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},add:function(a,b,d,e,f){return b=b||[],d=d||60,void 0===e&&(e=!1),void 0===f&&(f=b&&"number"==typeof b[0]?!0:!1),this._outputFrames=[],this._frameData.getFrameIndexes(b,f,this._outputFrames),this._anims[a]=new c.Animation(this.game,this.sprite,a,this._frameData,this._outputFrames,d,e),this.currentAnim=this._anims[a],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[a]},validateFrames:function(a,b){void 0===b&&(b=!0);for(var c=0;cthis._frameData.total)return!1}else if(this._frameData.checkFrameName(a[c])===!1)return!1;return!0},play:function(a,b,c,d){return this._anims[a]?this.currentAnim===this._anims[a]?this.currentAnim.isPlaying===!1?(this.currentAnim.paused=!1,this.currentAnim.play(b,c,d)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[a],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(b,c,d)):void 0},stop:function(a,b){void 0===b&&(b=!1),!this.currentAnim||"string"==typeof a&&a!==this.currentAnim.name||this.currentAnim.stop(b)},update:function(){return this.updateIfVisible&&!this.sprite.visible?!1:this.currentAnim&&this.currentAnim.update()?(this.currentFrame=this.currentAnim.currentFrame,!0):!1},next:function(a){this.currentAnim&&(this.currentAnim.next(a),this.currentFrame=this.currentAnim.currentFrame)},previous:function(a){this.currentAnim&&(this.currentAnim.previous(a),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(a){return"string"==typeof a&&this._anims[a]?this._anims[a]:null},refreshFrame:function(){this.sprite.setTexture(PIXI.TextureCache[this.currentFrame.uuid])},destroy:function(){var a=null;for(var a in this._anims)this._anims.hasOwnProperty(a)&&this._anims[a].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},c.AnimationManager.prototype.constructor=c.AnimationManager,Object.defineProperty(c.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(c.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(c.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(a){this.currentAnim.paused=a}}),Object.defineProperty(c.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(c.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(a){"number"==typeof a&&this._frameData&&null!==this._frameData.getFrame(a)&&(this.currentFrame=this._frameData.getFrame(a),this.currentFrame&&this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(c.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(a){"string"==typeof a&&this._frameData&&null!==this._frameData.getFrameByName(a)?(this.currentFrame=this._frameData.getFrameByName(a),this.currentFrame&&(this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame))):console.warn("Cannot set frameName: "+a)}}),c.Animation=function(a,b,d,e,f,g,h){void 0===h&&(h=!1),this.game=a,this._parent=b,this._frameData=e,this.name=d,this._frames=[],this._frames=this._frames.concat(f),this.delay=1e3/g,this.loop=h,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new c.Signal,this.onUpdate=null,this.onComplete=new c.Signal,this.onLoop=new c.Signal,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},c.Animation.prototype={play:function(a,b,c){return"number"==typeof a&&(this.delay=1e3/a),"boolean"==typeof b&&(this.loop=b),"undefined"!=typeof c&&(this.killOnComplete=c),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},setFrame:function(a,b){var c;if(void 0===b&&(b=!1),"string"==typeof a)for(var d=0;d=this._timeNextFrame?(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this._frameIndex+=this._frameSkip,this._frameIndex>=this._frames.length?this.loop?(this._frameIndex%=this._frames.length,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),this.onUpdate?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0):(this.complete(),!1):this.updateCurrentFrame(!0)):!1},updateCurrentFrame:function(a,b){if(void 0===b&&(b=!1),!this._frameData)return!1;var c=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(b||!b&&c!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),this.onUpdate&&a?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0},next:function(a){void 0===a&&(a=1);var b=this._frameIndex+a;b>=this._frames.length&&(this.loop?b%=this._frames.length:b=this._frames.length-1),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},previous:function(a){void 0===a&&(a=1);var b=this._frameIndex-a;0>b&&(this.loop?b=this._frames.length+b:b++),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},updateFrameData:function(a){this._frameData=a,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},c.Animation.prototype.constructor=c.Animation,Object.defineProperty(c.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(a){this.isPaused=a,a?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(c.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(c.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(a){this.currentFrame=this._frameData.getFrame(this._frames[a]),null!==this.currentFrame&&(this._frameIndex=a,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(c.Animation.prototype,"speed",{get:function(){return Math.round(1e3/this.delay)},set:function(a){a>=1&&(this.delay=1e3/a)}}),Object.defineProperty(c.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(a){a&&null===this.onUpdate?this.onUpdate=new c.Signal:a||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),c.Animation.generateFrameNames=function(a,b,d,e,f){void 0===e&&(e="");var g=[],h="";if(d>b)for(var i=b;d>=i;i++)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);else for(var i=b;i>=d;i--)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);return g},c.Frame=function(a,b,d,e,f,g){this.index=a,this.x=b,this.y=d,this.width=e,this.height=f,this.name=g,this.centerX=Math.floor(e/2),this.centerY=Math.floor(f/2),this.distance=c.Math.distance(0,0,e,f),this.rotated=!1,this.rotationDirection="cw",this.trimmed=!1,this.sourceSizeW=e,this.sourceSizeH=f,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},c.Frame.prototype={resize:function(a,b){this.width=a,this.height=b,this.centerX=Math.floor(a/2),this.centerY=Math.floor(b/2),this.distance=c.Math.distance(0,0,a,b),this.sourceSizeW=a,this.sourceSizeH=b,this.right=this.x+a,this.bottom=this.y+b},setTrim:function(a,b,c,d,e,f,g){this.trimmed=a,a&&(this.sourceSizeW=b,this.sourceSizeH=c,this.centerX=Math.floor(b/2),this.centerY=Math.floor(c/2),this.spriteSourceSizeX=d,this.spriteSourceSizeY=e,this.spriteSourceSizeW=f,this.spriteSourceSizeH=g)},clone:function(){var a=new c.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var b in this)this.hasOwnProperty(b)&&(a[b]=this[b]);return a},getRect:function(a){return void 0===a?a=new c.Rectangle(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a}},c.Frame.prototype.constructor=c.Frame,c.FrameData=function(){this._frames=[],this._frameNames=[]},c.FrameData.prototype={addFrame:function(a){return a.index=this._frames.length,this._frames.push(a),""!==a.name&&(this._frameNames[a.name]=a.index),a},getFrame:function(a){return a>=this._frames.length&&(a=0),this._frames[a]},getFrameByName:function(a){return"number"==typeof this._frameNames[a]?this._frames[this._frameNames[a]]:null},checkFrameName:function(a){return null==this._frameNames[a]?!1:!0},clone:function(){for(var a=new c.FrameData,b=0;b=d;d++)c.push(this._frames[d]);return c},getFrames:function(a,b,c){if(void 0===b&&(b=!0),void 0===c&&(c=[]),void 0===a||0===a.length)for(var d=0;d=d&&(d=Math.floor(-j/Math.min(-1,d))),0>=e&&(e=Math.floor(-k/Math.min(-1,e)));var l=Math.floor((j-g)/(d+h)),m=Math.floor((k-g)/(e+h)),n=l*m;if(-1!==f&&(n=f),0===j||0===k||d>j||e>k||0===n)return console.warn("Phaser.AnimationParser.spriteSheet: '"+b+"'s width/height zero or width/height < given frameWidth/frameHeight"),null;for(var o=new c.FrameData,p=g,q=g,r=0;n>r;r++)o.addFrame(new c.Frame(r,p,q,d,e,"")),p+=d+h,p+d>j&&(p=g,q+=e+h);return o},JSONData:function(a,b){if(!b.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(b);for(var d,e=new c.FrameData,f=b.frames,g=0;g tag");for(var d,e,f,g,h,i,j,k,l,m,n,o=new c.FrameData,p=b.getElementsByTagName("SubTexture"),q=0;q-1},getAssetIndex:function(a,b){for(var c=-1,d=0;d-1?{index:c,file:this._fileList[c]}:!1},reset:function(a,b){void 0===b&&(b=!1),this.resetLocked||(a&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,b&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(a,b,c,d,e,f){if(void 0===e&&(e=!1),void 0===b||""===b)return console.warn("Phaser.Loader: Invalid or no key given of type "+a),this;if(void 0===c||null===c){if(!f)return console.warn("Phaser.Loader: No URL given for file type: "+a+" key: "+b),this;c=b+f}var g={type:a,key:b,path:this.path,url:c,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(d)for(var h in d)g[h]=d[h];var i=this.getAssetIndex(a,b);if(e&&i>-1){var j=this._fileList[i];j.loading||j.loaded?(this._fileList.push(g),this._totalFileCount++):this._fileList[i]=g}else-1===i&&(this._fileList.push(g),this._totalFileCount++);return this},replaceInFileList:function(a,b,c,d){return this.addToFileList(a,b,c,d,!0)},pack:function(a,b,c,d){if(void 0===b&&(b=null),void 0===c&&(c=null),void 0===d&&(d=null),!b&&!c)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var e={type:"packfile",key:a,url:b,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:d};c&&("string"==typeof c&&(c=JSON.parse(c)),e.data=c||{},e.loaded=!0);for(var f=0;f=e||d&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var f=this;setTimeout(function(){f.finishedLoading(!0)},2e3)}},finishedLoading:function(a){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,a||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.onLoadComplete.dispatch(),this.game.state.loadComplete(),this.reset())},asyncComplete:function(a,b){void 0===b&&(b=""),a.loaded=!0,a.error=!!b,b&&(a.errorMessage=b,console.warn("Phaser.Loader - "+a.type+"["+a.key+"]: "+b)),this.processLoadQueue()},processPack:function(a){var b=a.data[a.key];if(!b)return void console.warn("Phaser.Loader - "+a.key+": pack has data, but not for pack key");for(var d=0;d=400&&f.status<=599?e.call(g,a,f):d.call(g,a,f)}catch(b){g.hasLoaded?window.console&&console.error(b):g.asyncComplete(a,b.message||"Exception")}},f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.hasLoaded?window.console&&console.error(b):g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,f.send()},xhrLoadWithXDR:function(a,b,c,d,e){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var f=new window.XDomainRequest;f.open("GET",b,!0),f.responseType=c,f.timeout=3e3,e=e||this.fileError;var g=this;f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.ontimeout=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.onprogress=function(){},f.onload=function(){try{return 4==f.readyState&&f.status>=400&&f.status<=599?e.call(g,a,f):d.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,setTimeout(function(){f.send()},0)},getVideoURL:function(a){for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayVideo(c))return d}return null},getAudioURL:function(a){if(this.game.sound.noAudio)return null;for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayAudio(c))return d}return null},fileError:function(a,b,c){var d=a.requestUrl||this.transformUrl(a.url,a),e="error loading asset from URL "+d;!c&&b&&(c=b.status),c&&(e=e+" ("+c+")"),this.asyncComplete(a,e)},fileComplete:function(a,b){var d=!0;switch(a.type){case"packfile":var e=JSON.parse(b.responseText);a.data=e||{};break;case"image":this.cache.addImage(a.key,a.url,a.data);break;case"spritesheet":this.cache.addSpriteSheet(a.key,a.url,a.data,a.frameWidth,a.frameHeight,a.frameMax,a.margin,a.spacing);break;case"textureatlas":if(null==a.atlasURL)this.cache.addTextureAtlas(a.key,a.url,a.data,a.atlasData,a.format);else if(d=!1,a.format==c.Loader.TEXTURE_ATLAS_JSON_ARRAY||a.format==c.Loader.TEXTURE_ATLAS_JSON_HASH||a.format==c.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.jsonLoadComplete);else{if(a.format!=c.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+a.format);this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.xmlLoadComplete)}break;case"bitmapfont":a.atlasURL?(d=!1,this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",function(a,b){var c;try{c=JSON.parse(b.responseText)}catch(d){}c?(a.atlasType="json",this.jsonLoadComplete(a,b)):(a.atlasType="xml",this.xmlLoadComplete(a,b))})):this.cache.addBitmapFont(a.key,a.url,a.data,a.atlasData,a.atlasType,a.xSpacing,a.ySpacing);break;case"video":if(a.asBlob)try{a.data=new Blob([new Uint8Array(b.response)])}catch(f){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+a.key)}this.cache.addVideo(a.key,a.url,a.data,a.asBlob);break;case"audio":this.game.sound.usingWebAudio?(a.data=b.response,this.cache.addSound(a.key,a.url,a.data,!0,!1),a.autoDecode&&this.game.sound.decode(a.key)):this.cache.addSound(a.key,a.url,a.data,!1,!0);break;case"text":a.data=b.responseText,this.cache.addText(a.key,a.url,a.data);break;case"shader":a.data=b.responseText,this.cache.addShader(a.key,a.url,a.data);break;case"physics":var e=JSON.parse(b.responseText);this.cache.addPhysicsData(a.key,a.url,e,a.format);break;case"script":a.data=document.createElement("script"),a.data.language="javascript",a.data.type="text/javascript",a.data.defer=!1,a.data.text=b.responseText,document.head.appendChild(a.data),a.callback&&(a.data=a.callback.call(a.callbackContext,a.key,b.responseText));break;case"binary":a.callback?a.data=a.callback.call(a.callbackContext,a.key,b.response):a.data=b.response,this.cache.addBinary(a.key,a.data)}d&&this.asyncComplete(a)},jsonLoadComplete:function(a,b){var c=JSON.parse(b.responseText);"tilemap"===a.type?this.cache.addTilemap(a.key,a.url,c,a.format):"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,c,a.atlasType,a.xSpacing,a.ySpacing):"json"===a.type?this.cache.addJSON(a.key,a.url,c):this.cache.addTextureAtlas(a.key,a.url,a.data,c,a.format),this.asyncComplete(a)},csvLoadComplete:function(a,b){var c=b.responseText;this.cache.addTilemap(a.key,a.url,c,a.format),this.asyncComplete(a)},xmlLoadComplete:function(a,b){var c=b.responseText,d=this.parseXml(c);if(!d){var e=b.responseType||b.contentType;return console.warn("Phaser.Loader - "+a.key+": invalid XML ("+e+")"),void this.asyncComplete(a,"invalid XML")}"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,d,a.atlasType,a.xSpacing,a.ySpacing):"textureatlas"===a.type?this.cache.addTextureAtlas(a.key,a.url,a.data,d,a.format):"xml"===a.type&&this.cache.addXML(a.key,a.url,d),this.asyncComplete(a)},parseXml:function(a){var b;try{if(window.DOMParser){var c=new DOMParser;b=c.parseFromString(a,"text/xml")}else b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)}catch(d){b=null}return b&&b.documentElement&&!b.getElementsByTagName("parsererror").length?b:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(c.Loader.prototype,"progressFloat",{get:function(){var a=this._loadedFileCount/this._totalFileCount*100;return c.Math.clamp(a||0,0,100)}}),Object.defineProperty(c.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),c.Loader.prototype.constructor=c.Loader,c.LoaderParser={bitmapFont:function(a,b,c,d){return this.xmlBitmapFont(a,b,c,d)},xmlBitmapFont:function(a,b,c,d){var e={},f=a.getElementsByTagName("info")[0],g=a.getElementsByTagName("common")[0];e.font=f.getAttribute("face"),e.size=parseInt(f.getAttribute("size"),10),e.lineHeight=parseInt(g.getAttribute("lineHeight"),10)+d,e.chars={};for(var h=a.getElementsByTagName("char"),i=0;i=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop())))):void this.destroy()},loopFull:function(a){this.play(null,0,a,!0)},play:function(a,b,c,d,e){if((void 0===a||a===!1||null===a)&&(a=""),void 0===e&&(e=!0),this.isPlaying&&!this.allowMultiple&&!e&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||e))if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(f){}this.externalNode?this._sound.disconnect(this.externalNode):this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(""===a&&Object.keys(this.markers).length>0)return this;if(""!==a){if(this.currentMarker=a,!this.markers[a])return this;this.position=this.markers[a].start,this.volume=this.markers[a].volume,this.loop=this.markers[a].loop,this.duration=this.markers[a].duration,this.durationMS=this.markers[a].durationMS,"undefined"!=typeof c&&(this.volume=c),"undefined"!=typeof d&&(this.loop=d),this._tempMarker=a,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else b=b||0,void 0===c&&(c=this._volume),void 0===d&&(d=this.loop),this.position=b,this.volume=c,this.loop=d,this.duration=0,this.durationMS=0,this._tempMarker=a,this._tempPosition=b,this._tempVolume=c,this._tempLoop=d;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===a&&(this._sound.loop=!0),this.loop||""!==a||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===a?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).isDecoding===!1&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(a,b,c,d){a=a||"",b=b||0,c=c||1,void 0===d&&(d=!1),this.play(a,b,c,d,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var a=this.position+this.pausedPosition/1e3;this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var b=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,a,b):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,a):this._sound.start(0,a,b)}else this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(a){}this.externalNode?this._sound.disconnect(this.externalNode):this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var b=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,b)}},fadeIn:function(a,b,c){void 0===b&&(b=!1),void 0===c&&(c=this.currentMarker),this.paused||(this.play(c,0,0,b),this.fadeTo(a,1))},fadeOut:function(a){this.fadeTo(a,0)},fadeTo:function(a,b){if(this.isPlaying&&!this.paused&&b!==this.volume){if(void 0===a&&(a=1e3),void 0===b)return void console.warn("Phaser.Sound.fadeTo: No Volume Specified.");this.fadeTween=this.game.add.tween(this).to({volume:b},a,c.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)}},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},destroy:function(a){void 0===a&&(a=!0),this.stop(),a?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(), +this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},c.Sound.prototype.constructor=c.Sound,Object.defineProperty(c.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(c.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(c.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(a){a=a||!1,a!==this._muted&&(a?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(c.Sound.prototype,"volume",{get:function(){return this._volume},set:function(a){return this.game.device.firefox&&this.usingAudioTag&&(a=this.game.math.clamp(a,0,1)),this._muted?void(this._muteVolume=a):(this._tempVolume=a,this._volume=a,void(this.usingWebAudio?this.gainNode.gain.value=a:this.usingAudioTag&&this._sound&&(this._sound.volume=a)))}}),c.SoundManager=function(a){this.game=a,this.onSoundDecode=new c.Signal,this.onVolumeChange=new c.Signal,this.onMute=new c.Signal,this.onUnMute=new c.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new c.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},c.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&this.game.device.webAudio===!1&&(this.channels=1),window.PhaserGlobal){if(window.PhaserGlobal.disableAudio===!0)return this.noAudio=!0,void(this.touchLocked=!1);if(window.PhaserGlobal.disableWebAudio===!0)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||(!this.game.device.cocoonJS&&this.game.device.iOS||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal.disableAudio===!0||(this.game.device.iOSVersion>8?this.game.input.touch.addTouchLockCallback(this.unlock,this,!0):this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var a=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=a,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0)}return!0},stopAll:function(){if(!this.noAudio)for(var a=0;aa?a=0:a>1&&(a=1),this._volume!==a){if(this._volume=a,this.usingWebAudio)this.masterGain.gain.value=a;else for(var b=0;b=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var b=this._parentBounds.width,d=this._parentBounds.height,e=this.getParentBounds(this._parentBounds),f=e.width!==b||e.height!==d,g=this.updateOrientationState();(f||g)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,e),this.updateLayout(),this.signalSizeChange());var h=2*this._updateThrottle;this._updateThrottle=b||0>=c)return a;var e=b,f=a.height*b/a.width,g=a.width*c/a.height,h=c,i=g>b;return i=i?d:!d,i?(a.width=Math.floor(e),a.height=Math.floor(f)):(a.width=Math.floor(g),a.height=Math.floor(h)),a},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},c.ScaleManager.prototype.constructor=c.ScaleManager,Object.defineProperty(c.ScaleManager.prototype,"boundingParent",{get:function(){if(this.parentIsWindow||this.isFullScreen&&!this._createdFullScreenTarget)return null;var a=this.game.canvas&&this.game.canvas.parentNode;return a||null}}),Object.defineProperty(c.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(a){return a!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=a),this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(a){return a!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=a,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=a),this._fullScreenScaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(a){a!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(a){a!==this._pageAlignVertically&&(this._pageAlignVertically=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(c.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(c.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),c.Utils.Debug=function(a){this.game=a,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1},c.Utils.Debug.prototype={boot:function(){this.game.renderType===c.CANVAS?this.context=this.game.context:(this.bmd=this.game.make.bitmapData(this.game.width,this.game.height),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.canvas=PIXI.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d"))},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(a,b,c,d){"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),c=c||"rgb(255,255,255)",void 0===d&&(d=0),this.currentX=a,this.currentY=b,this.currentColor=c,this.columnWidth=d,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=c,this.context.fillStyle=c,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var a=this.currentX,b=0;b=0&&c.right>=0&&c.top<=this.layoutBounds.width&&c.left<=this.layoutBounds.height},getScreenOrientation:function(a){var b=window.screen,c=b.orientation||b.mozOrientation||b.msOrientation;if(c&&"string"==typeof c.type)return c.type;if("string"==typeof c)return c;var d="portrait-primary",e="landscape-primary";if("screen"===a)return b.height>b.width?d:e;if("viewport"===a)return this.visualBounds.height>this.visualBounds.width?d:e;if("window.orientation"===a&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?d:e;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return d;if(window.matchMedia("(orientation: landscape)").matches)return e}return this.visualBounds.height>this.visualBounds.width?d:e},visualBounds:new c.Rectangle,layoutBounds:new c.Rectangle,documentBounds:new c.Rectangle},c.Device.whenReady(function(a){var b=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},d=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};Object.defineProperty(c.DOM,"scrollX",{get:b}),Object.defineProperty(c.DOM,"scrollY",{get:d}),Object.defineProperty(c.DOM.visualBounds,"x",{get:b}),Object.defineProperty(c.DOM.visualBounds,"y",{get:d}),Object.defineProperty(c.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(c.DOM.layoutBounds,"y",{value:0});var e=a.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight;if(e){var f=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},g=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(c.DOM.visualBounds,"width",{get:f}),Object.defineProperty(c.DOM.visualBounds,"height",{get:g}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:f}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:g})}else Object.defineProperty(c.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(c.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:function(){var a=document.documentElement.clientWidth,b=window.innerWidth;return b>a?b:a}}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:function(){var a=document.documentElement.clientHeight,b=window.innerHeight;return b>a?b:a}});Object.defineProperty(c.DOM.documentBounds,"x",{value:0}),Object.defineProperty(c.DOM.documentBounds,"y",{value:0}),Object.defineProperty(c.DOM.documentBounds,"width",{get:function(){var a=document.documentElement;return Math.max(a.clientWidth,a.offsetWidth,a.scrollWidth)}}),Object.defineProperty(c.DOM.documentBounds,"height",{get:function(){var a=document.documentElement;return Math.max(a.clientHeight,a.offsetHeight,a.scrollHeight)}})},null,!0),c.ArraySet=function(a){this.position=0,this.list=a||[]},c.ArraySet.prototype={add:function(a){return this.exists(a)||this.list.push(a),a},getIndex:function(a){return this.list.indexOf(a)},getByKey:function(a,b){for(var c=this.list.length;c--;)if(this.list[c][a]===b)return this.list[c];return null},exists:function(a){return this.list.indexOf(a)>-1},reset:function(){this.list.length=0},remove:function(a){var b=this.list.indexOf(a);return b>-1?(this.list.splice(b,1),a):void 0},setAll:function(a,b){for(var c=this.list.length;c--;)this.list[c]&&(this.list[c][a]=b)},callAll:function(a){for(var b=Array.prototype.slice.call(arguments,1),c=this.list.length;c--;)this.list[c]&&this.list[c][a]&&this.list[c][a].apply(this.list[c],b)},removeAll:function(a){void 0===a&&(a=!1);for(var b=this.list.length;b--;)if(this.list[b]){var c=this.remove(this.list[b]);a&&c.destroy()}this.position=0,this.list=[]}},Object.defineProperty(c.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(c.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(c.ArraySet.prototype,"next",{get:function(){return this.position0;b--){var c=Math.floor(Math.random()*(b+1)),d=a[b];a[b]=a[c],a[c]=d}return a},transposeMatrix:function(a){for(var b=a.length,c=a[0].length,d=new Array(c),e=0;c>e;e++){d[e]=new Array(b);for(var f=b-1;f>-1;f--)d[e][f]=a[f][e]}return d},rotateMatrix:function(a,b){if("string"!=typeof b&&(b=(b%360+360)%360),90===b||-270===b||"rotateLeft"===b)a=c.ArrayUtils.transposeMatrix(a),a=a.reverse();else if(-90===b||270===b||"rotateRight"===b)a=a.reverse(),a=c.ArrayUtils.transposeMatrix(a);else if(180===Math.abs(b)||"rotate180"===b){for(var d=0;d=e-a?e:d},rotate:function(a){var b=a.shift();return a.push(b),b},numberArray:function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},numberArrayStep:function(a,b,d){(void 0===a||null===a)&&(a=0),(void 0===b||null===b)&&(b=a,a=0),void 0===d&&(d=1);for(var e=[],f=Math.max(c.Math.roundAwayFromZero((b-a)/(d||1)),0),g=0;f>g;g++)e.push(a),a+=d;return e}},c.LinkedList=function(){this.next=null,this.prev=null,this.first=null,this.last=null,this.total=0},c.LinkedList.prototype={add:function(a){return 0===this.total&&null===this.first&&null===this.last?(this.first=a,this.last=a,this.next=a,a.prev=this,this.total++,a):(this.last.next=a,a.prev=this.last,this.last=a,this.total++,a)},reset:function(){this.first=null,this.last=null,this.next=null,this.prev=null,this.total=0},remove:function(a){return 1===this.total?(this.reset(),void(a.next=a.prev=null)):(a===this.first?this.first=this.first.next:a===this.last&&(this.last=this.last.prev),a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),a.next=a.prev=null,null===this.first&&(this.last=null),void this.total--)},callAll:function(a){if(this.first&&this.last){var b=this.first;do b&&b[a]&&b[a].call(b),b=b.next;while(b!=this.last.next)}}},c.LinkedList.prototype.constructor=c.LinkedList,c.Create=function(a){this.game=a,this.bmd=null,this.canvas=null,this.ctx=null,this.palettes=[{0:"#000",1:"#9D9D9D",2:"#FFF",3:"#BE2633",4:"#E06F8B",5:"#493C2B",6:"#A46422",7:"#EB8931",8:"#F7E26B",9:"#2F484E",A:"#44891A",B:"#A3CE27",C:"#1B2632",D:"#005784",E:"#31A2F2",F:"#B2DCEF"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#f5f4eb"},{0:"#000",1:"#2234d1",2:"#0c7e45",3:"#44aacc",4:"#8a3622",5:"#5c2e78",6:"#aa5c3d",7:"#b5b5b5",8:"#5e606e",9:"#4c81fb",A:"#6cd947",B:"#7be2f9",C:"#eb8a60",D:"#e23d69",E:"#ffd93f",F:"#fff"},{0:"#000",1:"#fff",2:"#8b4131",3:"#7bbdc5",4:"#8b41ac",5:"#6aac41",6:"#3931a4",7:"#d5de73",8:"#945a20",9:"#5a4100",A:"#bd736a",B:"#525252",C:"#838383",D:"#acee8b",E:"#7b73de",F:"#acacac"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#fff"}]},c.Create.PALETTE_ARNE=0,c.Create.PALETTE_JMP=1,c.Create.PALETTE_CGA=2,c.Create.PALETTE_C64=3,c.Create.PALETTE_JAPANESE_MACHINE=4,c.Create.prototype={texture:function(a,b,c,d,e){void 0===c&&(c=8),void 0===d&&(d=c),void 0===e&&(e=0);var f=b[0].length*c,g=b.length*d;null===this.bmd&&(this.bmd=this.game.make.bitmapData(),this.canvas=this.bmd.canvas,this.ctx=this.bmd.context),this.bmd.resize(f,g),this.bmd.clear();for(var h=0;hg;g+=e)this.ctx.fillRect(0,g,b,1);for(var h=0;b>h;h+=d)this.ctx.fillRect(h,0,1,c);return this.bmd.generateTexture(a)}},c.Create.prototype.constructor=c.Create,c.FlexGrid=function(a,b,d){this.game=a.game,this.manager=a,this.width=b,this.height=d,this.boundsCustom=new c.Rectangle(0,0,b,d),this.boundsFluid=new c.Rectangle(0,0,b,d),this.boundsFull=new c.Rectangle(0,0,b,d),this.boundsNone=new c.Rectangle(0,0,b,d),this.positionCustom=new c.Point(0,0),this.positionFluid=new c.Point(0,0),this.positionFull=new c.Point(0,0),this.positionNone=new c.Point(0,0),this.scaleCustom=new c.Point(1,1),this.scaleFluid=new c.Point(1,1),this.scaleFluidInversed=new c.Point(1,1),this.scaleFull=new c.Point(1,1),this.scaleNone=new c.Point(1,1),this.customWidth=0,this.customHeight=0,this.customOffsetX=0,this.customOffsetY=0,this.ratioH=b/d,this.ratioV=d/b,this.multiplier=0,this.layers=[]},c.FlexGrid.prototype={setSize:function(a,b){this.width=a,this.height=b,this.ratioH=a/b,this.ratioV=b/a,this.scaleNone=new c.Point(1,1),this.boundsNone.width=this.width,this.boundsNone.height=this.height,this.refresh()},createCustomLayer:function(a,b,d,e){void 0===e&&(e=!0),this.customWidth=a,this.customHeight=b,this.boundsCustom.width=a,this.boundsCustom.height=b;var f=new c.FlexLayer(this,this.positionCustom,this.boundsCustom,this.scaleCustom);return e&&this.game.world.add(f),this.layers.push(f),"undefined"!=typeof d&&null!==typeof d&&f.addMultiple(d),f},createFluidLayer:function(a,b){void 0===b&&(b=!0);var d=new c.FlexLayer(this,this.positionFluid,this.boundsFluid,this.scaleFluid);return b&&this.game.world.add(d),this.layers.push(d),"undefined"!=typeof a&&null!==typeof a&&d.addMultiple(a),d},createFullLayer:function(a){var b=new c.FlexLayer(this,this.positionFull,this.boundsFull,this.scaleFluid);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},createFixedLayer:function(a){var b=new c.FlexLayer(this,this.positionNone,this.boundsNone,this.scaleNone);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},reset:function(){for(var a=this.layers.length;a--;)this.layers[a].persist||(this.layers[a].position=null,this.layers[a].scale=null,this.layers.slice(a,1))},onResize:function(a,b){this.ratioH=a/b,this.ratioV=b/a,this.refresh(a,b)},refresh:function(){this.multiplier=Math.min(this.manager.height/this.height,this.manager.width/this.width),this.boundsFluid.width=Math.round(this.width*this.multiplier),this.boundsFluid.height=Math.round(this.height*this.multiplier),this.scaleFluid.set(this.boundsFluid.width/this.width,this.boundsFluid.height/this.height),this.scaleFluidInversed.set(this.width/this.boundsFluid.width,this.height/this.boundsFluid.height),this.scaleFull.set(this.boundsFull.width/this.width,this.boundsFull.height/this.height),this.boundsFull.width=Math.round(this.manager.width*this.scaleFluidInversed.x),this.boundsFull.height=Math.round(this.manager.height*this.scaleFluidInversed.y),this.boundsFluid.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.boundsNone.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.positionFluid.set(this.boundsFluid.x,this.boundsFluid.y),this.positionNone.set(this.boundsNone.x,this.boundsNone.y)},fitSprite:function(a){this.manager.scaleSprite(a),a.x=this.manager.bounds.centerX,a.y=this.manager.bounds.centerY},debug:function(){this.game.debug.text(this.boundsFluid.width+" x "+this.boundsFluid.height,this.boundsFluid.x+4,this.boundsFluid.y+16),this.game.debug.geom(this.boundsFluid,"rgba(255,0,0,0.9",!1)}},c.FlexGrid.prototype.constructor=c.FlexGrid,c.FlexLayer=function(a,b,d,e){c.Group.call(this,a.game,null,"__flexLayer"+a.game.rnd.uuid(),!1),this.manager=a.manager,this.grid=a,this.persist=!1,this.position=b,this.bounds=d,this.scale=e,this.topLeft=d.topLeft,this.topMiddle=new c.Point(d.halfWidth,0),this.topRight=d.topRight,this.bottomLeft=d.bottomLeft,this.bottomMiddle=new c.Point(d.halfWidth,d.bottom),this.bottomRight=d.bottomRight},c.FlexLayer.prototype=Object.create(c.Group.prototype),c.FlexLayer.prototype.constructor=c.FlexLayer,c.FlexLayer.prototype.resize=function(){},c.FlexLayer.prototype.debug=function(){this.game.debug.text(this.bounds.width+" x "+this.bounds.height,this.bounds.x+4,this.bounds.y+16),this.game.debug.geom(this.bounds,"rgba(0,0,255,0.9",!1),this.game.debug.geom(this.topLeft,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topMiddle,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topRight,"rgba(255,255,255,0.9")},c.Color={packPixel:function(a,b,d,e){return c.Device.LITTLE_ENDIAN?(e<<24|d<<16|b<<8|a)>>>0:(a<<24|b<<16|d<<8|e)>>>0},unpackPixel:function(a,b,d,e){return(void 0===b||null===b)&&(b=c.Color.createColor()),(void 0===d||null===d)&&(d=!1),(void 0===e||null===e)&&(e=!1),c.Device.LITTLE_ENDIAN?(b.a=(4278190080&a)>>>24,b.b=(16711680&a)>>>16,b.g=(65280&a)>>>8,b.r=255&a):(b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a),b.color=a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a/255+")",d&&c.Color.RGBtoHSL(b.r,b.g,b.b,b),e&&c.Color.RGBtoHSV(b.r,b.g,b.b,b),b},fromRGBA:function(a,b){return b||(b=c.Color.createColor()),b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a+")",b},toRGBA:function(a,b,c,d){return a<<24|b<<16|c<<8|d},RGBtoHSL:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,1)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d);if(e.h=0,e.s=0,e.l=(g+f)/2,g!==f){var h=g-f;e.s=e.l>.5?h/(2-g-f):h/(g+f),g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6}return e},HSLtoRGB:function(a,b,d,e){if(e?(e.r=d,e.g=d,e.b=d):e=c.Color.createColor(d,d,d),0!==b){var f=.5>d?d*(1+b):d+b-d*b,g=2*d-f;e.r=c.Color.hueToColor(g,f,a+1/3),e.g=c.Color.hueToColor(g,f,a),e.b=c.Color.hueToColor(g,f,a-1/3)}return e.r=Math.floor(255*e.r|0),e.g=Math.floor(255*e.g|0),e.b=Math.floor(255*e.b|0),c.Color.updateColor(e),e},RGBtoHSV:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,255)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d),h=g-f;return e.h=0,e.s=0===g?0:h/g,e.v=g,g!==f&&(g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6),e},HSVtoRGB:function(a,b,d,e){void 0===e&&(e=c.Color.createColor(0,0,0,1,a,b,0,d));var f,g,h,i=Math.floor(6*a),j=6*a-i,k=d*(1-b),l=d*(1-j*b),m=d*(1-(1-j)*b);switch(i%6){case 0:f=d,g=m,h=k;break;case 1:f=l,g=d,h=k;break;case 2:f=k,g=d,h=m;break;case 3:f=k,g=l,h=d;break;case 4:f=m,g=k,h=d;break;case 5:f=d,g=k,h=l}return e.r=Math.floor(255*f),e.g=Math.floor(255*g),e.b=Math.floor(255*h),c.Color.updateColor(e),e},hueToColor:function(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a},createColor:function(a,b,d,e,f,g,h,i){var j={r:a||0,g:b||0,b:d||0,a:e||1,h:f||0,s:g||0,l:h||0,v:i||0,color:0,color32:0,rgba:""};return c.Color.updateColor(j)},updateColor:function(a){return a.rgba="rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+a.a.toString()+")",a.color=c.Color.getColor(a.r,a.g,a.b),a.color32=c.Color.getColor32(a.a,a.r,a.g,a.b),a},getColor32:function(a,b,c,d){return a<<24|b<<16|c<<8|d},getColor:function(a,b,c){return a<<16|b<<8|c},RGBtoString:function(a,b,d,e,f){return void 0===e&&(e=255),void 0===f&&(f="#"),"#"===f?"#"+((1<<24)+(a<<16)+(b<<8)+d).toString(16).slice(1):"0x"+c.Color.componentToHex(e)+c.Color.componentToHex(a)+c.Color.componentToHex(b)+c.Color.componentToHex(d)},hexToRGB:function(a){var b=c.Color.hexToColor(a);return b?c.Color.getColor32(b.a,b.r,b.g,b.b):void 0},hexToColor:function(a,b){a=a.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,b,c,d){return b+b+c+c+d+d});var d=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);if(d){var e=parseInt(d[1],16),f=parseInt(d[2],16),g=parseInt(d[3],16);b?(b.r=e,b.g=f,b.b=g):b=c.Color.createColor(e,f,g)}return b},webToColor:function(a,b){b||(b=c.Color.createColor());var d=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(a);return d&&(b.r=parseInt(d[1],10),b.g=parseInt(d[2],10),b.b=parseInt(d[3],10),b.a=void 0!==d[4]?parseFloat(d[4]):1,c.Color.updateColor(b)),b},valueToColor:function(a,b){if(b||(b=c.Color.createColor()),"string"==typeof a)return 0===a.indexOf("rgb")?c.Color.webToColor(a,b):(b.a=1,c.Color.hexToColor(a,b));if("number"==typeof a){var d=c.Color.getRGB(a);return b.r=d.r,b.g=d.g,b.b=d.b,b.a=d.a/255,b}return b},componentToHex:function(a){var b=a.toString(16);return 1==b.length?"0"+b:b},HSVColorWheel:function(a,b){void 0===a&&(a=1),void 0===b&&(b=1);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSVtoRGB(e/359,a,b));return d},HSLColorWheel:function(a,b){void 0===a&&(a=.5),void 0===b&&(b=.5);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSLtoRGB(e/359,a,b));return d},interpolateColor:function(a,b,d,e,f){void 0===f&&(f=255);var g=c.Color.getRGB(a),h=c.Color.getRGB(b),i=(h.red-g.red)*e/d+g.red,j=(h.green-g.green)*e/d+g.green,k=(h.blue-g.blue)*e/d+g.blue;return c.Color.getColor32(f,i,j,k)},interpolateColorWithRGB:function(a,b,d,e,f,g){var h=c.Color.getRGB(a),i=(b-h.red)*g/f+h.red,j=(d-h.green)*g/f+h.green,k=(e-h.blue)*g/f+h.blue;return c.Color.getColor(i,j,k)},interpolateRGB:function(a,b,d,e,f,g,h,i){var j=(e-a)*i/h+a,k=(f-b)*i/h+b,l=(g-d)*i/h+d;return c.Color.getColor(j,k,l)},getRandomColor:function(a,b,d){if(void 0===a&&(a=0),void 0===b&&(b=255),void 0===d&&(d=255),b>255||a>b)return c.Color.getColor(255,255,255);var e=a+Math.round(Math.random()*(b-a)),f=a+Math.round(Math.random()*(b-a)),g=a+Math.round(Math.random()*(b-a));return c.Color.getColor32(d,e,f,g)},getRGB:function(a){return a>16777215?{alpha:a>>>24,red:a>>16&255,green:a>>8&255,blue:255&a,a:a>>>24,r:a>>16&255,g:a>>8&255,b:255&a}:{alpha:255,red:a>>16&255,green:a>>8&255,blue:255&a,a:255,r:a>>16&255,g:a>>8&255,b:255&a}},getWebRGB:function(a){if("object"==typeof a)return"rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+(a.a/255).toString()+")";var b=c.Color.getRGB(a);return"rgba("+b.r.toString()+","+b.g.toString()+","+b.b.toString()+","+(b.a/255).toString()+")"},getAlpha:function(a){return a>>>24},getAlphaFloat:function(a){return(a>>>24)/255},getRed:function(a){return a>>16&255},getGreen:function(a){return a>>8&255},getBlue:function(a){return 255&a},blendNormal:function(a){return a},blendLighten:function(a,b){return b>a?b:a},blendDarken:function(a,b){return b>a?a:b},blendMultiply:function(a,b){return a*b/255},blendAverage:function(a,b){return(a+b)/2},blendAdd:function(a,b){return Math.min(255,a+b)},blendSubtract:function(a,b){return Math.max(0,a+b-255)},blendDifference:function(a,b){return Math.abs(a-b)},blendNegation:function(a,b){return 255-Math.abs(255-a-b)},blendScreen:function(a,b){return 255-((255-a)*(255-b)>>8)},blendExclusion:function(a,b){return a+b-2*a*b/255},blendOverlay:function(a,b){return 128>b?2*a*b/255:255-2*(255-a)*(255-b)/255},blendSoftLight:function(a,b){return 128>b?2*((a>>1)+64)*(b/255):255-2*(255-((a>>1)+64))*(255-b)/255},blendHardLight:function(a,b){return c.Color.blendOverlay(b,a)},blendColorDodge:function(a,b){return 255===b?b:Math.min(255,(a<<8)/(255-b))},blendColorBurn:function(a,b){return 0===b?b:Math.max(0,255-(255-a<<8)/b)},blendLinearDodge:function(a,b){return c.Color.blendAdd(a,b)},blendLinearBurn:function(a,b){return c.Color.blendSubtract(a,b)},blendLinearLight:function(a,b){return 128>b?c.Color.blendLinearBurn(a,2*b):c.Color.blendLinearDodge(a,2*(b-128))},blendVividLight:function(a,b){return 128>b?c.Color.blendColorBurn(a,2*b):c.Color.blendColorDodge(a,2*(b-128))},blendPinLight:function(a,b){return 128>b?c.Color.blendDarken(a,2*b):c.Color.blendLighten(a,2*(b-128))},blendHardMix:function(a,b){return c.Color.blendVividLight(a,b)<128?0:255},blendReflect:function(a,b){return 255===b?b:Math.min(255,a*a/(255-b))},blendGlow:function(a,b){return c.Color.blendReflect(b,a)},blendPhoenix:function(a,b){return Math.min(a,b)-Math.max(a,b)+255}},c.Physics=function(a,b){b=b||{},this.game=a,this.config=b,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},c.Physics.ARCADE=0,c.Physics.P2JS=1,c.Physics.NINJA=2,c.Physics.BOX2D=3,c.Physics.CHIPMUNK=4,c.Physics.MATTERJS=5,c.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&this.config.arcade!==!0||!c.Physics.hasOwnProperty("Arcade")||(this.arcade=new c.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&this.config.ninja===!0&&c.Physics.hasOwnProperty("Ninja")&&(this.ninja=new c.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&this.config.p2===!0&&c.Physics.hasOwnProperty("P2")&&(this.p2=new c.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&this.config.box2d===!0&&c.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new c.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&this.config.matter===!0&&c.Physics.hasOwnProperty("Matter")&&(this.matter=new c.Physics.Matter(this.game,this.config))},startSystem:function(a){a===c.Physics.ARCADE?this.arcade=new c.Physics.Arcade(this.game):a===c.Physics.P2JS?null===this.p2?this.p2=new c.Physics.P2(this.game,this.config):this.p2.reset():a===c.Physics.NINJA?this.ninja=new c.Physics.Ninja(this.game):a===c.Physics.BOX2D?null===this.box2d?this.box2d=new c.Physics.Box2D(this.game,this.config):this.box2d.reset():a===c.Physics.MATTERJS&&(null===this.matter?this.matter=new c.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(a,b,d){void 0===b&&(b=c.Physics.ARCADE),void 0===d&&(d=!1),b===c.Physics.ARCADE?this.arcade.enable(a):b===c.Physics.P2JS&&this.p2?this.p2.enable(a,d):b===c.Physics.NINJA&&this.ninja?this.ninja.enableAABB(a):b===c.Physics.BOX2D&&this.box2d?this.box2d.enable(a):b===c.Physics.MATTERJS&&this.matter&&this.matter.enable(a)},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},c.Physics.prototype.constructor=c.Physics,c.Particles=function(a){this.game=a,this.emitters={},this.ID=0},c.Particles.prototype={add:function(a){return this.emitters[a.name]=a,a},remove:function(a){delete this.emitters[a.name]},update:function(){for(var a in this.emitters)this.emitters[a].exists&&this.emitters[a].update()}},c.Particles.prototype.constructor=c.Particles,c.Video=function(a,b,d){if(void 0===b&&(b=null),void 0===d&&(d=null),this.game=a,this.key=b,this.width=0,this.height=0,this.type=c.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new c.Signal,this.onChangeSource=new c.Signal,this.onComplete=new c.Signal,this.onAccess=new c.Signal,this.onError=new c.Signal,this.onTimeout=new c.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,b&&this.game.cache.checkVideoKey(b)){var e=this.game.cache.getVideo(b);e.isBlob?this.createVideoFromBlob(e.data):this.video=e.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else d&&this.createVideoFromURL(d,!1);this.video&&!d?(this.baseTexture=new PIXI.BaseTexture(this.video),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(PIXI.TextureCache.__default.baseTexture.source),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==b&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,c.BitmapData&&(this.snapshot=new c.BitmapData(this.game,"",this.width,this.height)),!this.game.device.cocoonJS&&(this.game.device.iOS||this.game.device.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock?this.setTouchLock():e&&(e.locked=!1)},c.Video.prototype={connectToMediaStream:function(a,b){return a&&b&&(this.video=a,this.videoStream=b,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(a,b,c){if(void 0===a&&(a=!1),void 0===b&&(b=null),void 0===c&&(c=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==b&&(this.video.width=b),null!==c&&(this.video.height=c),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:a,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(d){this.getUserMediaError(d)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(a){clearTimeout(this._timeOutID),this.onError.dispatch(this,a)},getUserMediaSuccess:function(a){clearTimeout(this._timeOutID),this.videoStream=a,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=a:this.video.src=window.URL&&window.URL.createObjectURL(a)||a;var b=this;this.video.onloadeddata=function(){function a(){if(c>0)if(b.video.videoWidth>0){var d=b.video.videoWidth,e=b.video.videoHeight;isNaN(b.video.videoHeight)&&(e=d/(4/3)),b.video.play(),b.isStreaming=!0,b.baseTexture.source=b.video,b.updateTexture(null,d,e),b.onAccess.dispatch(b)}else window.setTimeout(a,500);else console.warn("Unable to connect to video stream. Webcam error?");c--}var c=10;a()}},createVideoFromBlob:function(a){var b=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(a){b.updateTexture(a)},!0),this.video.src=window.URL.createObjectURL(a),this.video.canplay=!0,this},createVideoFromURL:function(a,b){return void 0===b&&(b=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"), +this.video.controls=!1,b&&this.video.setAttribute("autoplay","autoplay"),this.video.src=a,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=a,this},updateTexture:function(a,b,c){var d=!1;(void 0===b||null===b)&&(b=this.video.videoWidth,d=!0),(void 0===c||null===c)&&(c=this.video.videoHeight),this.width=b,this.height=c,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(b,c),this.texture.frame.resize(b,c),this.texture.width=b,this.texture.height=c,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(b,c),d&&null!==this.key&&(this.onChangeSource.dispatch(this,b,c),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(a,b){return void 0===a&&(a=!1),void 0===b&&(b=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),a?this.video.loop="loop":this.video.loop="",this.video.playbackRate=b,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,a,b)),this},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(a){if(Array.isArray(a))for(var b=0;b0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming))},setTouchLock:function(){this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var a=this.game.cache.getVideo(this.key);a&&!a.isBlob&&(a.locked=!1)}return!0},grab:function(a,b,c){return void 0===a&&(a=!1),void 0===b&&(b=1),void 0===c&&(c=null),null===this.snapshot?void console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable"):(a&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,b,c),this.snapshot)},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(c.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(a){this.video.currentTime=a}}),Object.defineProperty(c.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(c.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(c.Video.prototype,"mute",{get:function(){return this._muted},set:function(a){if(a=a||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(c.Video.prototype,"paused",{get:function(){return this._paused},set:function(a){if(a=a||null,!this.touchLocked)if(a){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(c.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(a){0>a?a=0:a>1&&(a=1),this.video&&(this.video.volume=a)}}),Object.defineProperty(c.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(a){this.video&&(this.video.playbackRate=a)}}),Object.defineProperty(c.Video.prototype,"loop",{get:function(){return this.video?this.video.loop:!1},set:function(a){a&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(c.Video.prototype,"playing",{get:function(){return!(this.video.paused&&this.video.ended)}}),c.Video.prototype.constructor=c.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=c.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=c.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new PIXI.Matrix),void 0===PIXI.RenderTexture.tempMatrix&&(PIXI.RenderTexture.tempMatrix=new PIXI.Matrix),PIXI.Graphics&&void 0===PIXI.Graphics.POLY&&(PIXI.Graphics.POLY=c.POLYGON,PIXI.Graphics.RECT=c.RECTANGLE,PIXI.Graphics.CIRC=c.CIRCLE,PIXI.Graphics.ELIP=c.ELLIPSE,PIXI.Graphics.RREC=c.ROUNDEDRECTANGLE),PIXI.TextureSilentFail=!0,"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=c),exports.Phaser=c):"undefined"!=typeof define&&define.amd?define("Phaser",function(){return b.Phaser=c}()):b.Phaser=c,c}.call(this); //# sourceMappingURL=phaser-no-physics.map \ No newline at end of file diff --git a/build/phaser.js b/build/phaser.js index 5d957e998..9442b90e4 100644 --- a/build/phaser.js +++ b/build/phaser.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.4.4 "Amador" - Built: Thu Oct 15 2015 11:52:26 +* v2.4.5 "Sienda" - Built: Fri Feb 05 2016 11:51:16 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -15207,6 +15207,8 @@ PIXI.Sprite.prototype.setTexture = function(texture, destroyBase) this.texture.baseTexture.destroy(); } + // Over-ridden by loadTexture as needed + this.texture.baseTexture.skipRender = false; this.texture = texture; this.texture.valid = true; }; @@ -17570,12 +17572,15 @@ PIXI.WebGLMaskManager.prototype.pushMask = function(maskData, renderSession) { var gl = renderSession.gl; - if(maskData.dirty) + if (maskData.dirty) { PIXI.WebGLGraphics.updateGraphics(maskData, gl); } - if(!maskData._webGL[gl.id].data.length)return; + if (maskData._webGL[gl.id] === undefined || maskData._webGL[gl.id].data === undefined || maskData._webGL[gl.id].data.length === 0) + { + return; + } renderSession.stencilManager.pushStencil(maskData, maskData._webGL[gl.id].data[0], renderSession); }; @@ -17590,7 +17595,14 @@ PIXI.WebGLMaskManager.prototype.pushMask = function(maskData, renderSession) PIXI.WebGLMaskManager.prototype.popMask = function(maskData, renderSession) { var gl = this.gl; + + if (maskData._webGL[gl.id] === undefined || maskData._webGL[gl.id].data === undefined || maskData._webGL[gl.id].data.length === 0) + { + return; + } + renderSession.stencilManager.popStencil(maskData, maskData._webGL[gl.id].data[0], renderSession); + }; /** @@ -18600,7 +18612,14 @@ PIXI.WebGLSpriteBatch.prototype.flush = function() blendSwap = currentBlendMode !== nextBlendMode; shaderSwap = currentShader !== nextShader; // should I use _UIDS??? - if ((currentBaseTexture !== nextTexture && !nextTexture.skipRender) || blendSwap || shaderSwap) + var skip = nextTexture.skipRender; + + if (skip && sprite.children.length > 0) + { + skip = false; + } + + if ((currentBaseTexture !== nextTexture && !skip) || blendSwap || shaderSwap) { this.renderBatch(currentBaseTexture, batchSize, start); @@ -19236,7 +19255,14 @@ PIXI.WebGLFilterManager.prototype.pushFilter = function(filterBlock) var offset = this.renderSession.offset; filterBlock._filterArea = filterBlock.target.filterArea || filterBlock.target.getBounds(); - + + // >>> modify by nextht + filterBlock._previous_stencil_mgr = this.renderSession.stencilManager; + this.renderSession.stencilManager = new PIXI.WebGLStencilManager(); + this.renderSession.stencilManager.setContext(gl); + gl.disable(gl.STENCIL_TEST); + // <<< modify by nextht + // filter program // OPTIMISATION - the first filter is free if its a simple color change? this.filterStack.push(filterBlock); @@ -19461,6 +19487,20 @@ PIXI.WebGLFilterManager.prototype.popFilter = function() gl.activeTexture(gl.TEXTURE0); gl.bindTexture(gl.TEXTURE_2D, texture.texture); + // >>> modify by nextht + if (this.renderSession.stencilManager) { + this.renderSession.stencilManager.destroy(); + } + this.renderSession.stencilManager = filterBlock._previous_stencil_mgr; + filterBlock._previous_stencil_mgr = null; + if (this.renderSession.stencilManager.count > 0) { + gl.enable(gl.STENCIL_TEST); + } + else { + gl.disable(gl.STENCIL_TEST); + } + // <<< modify by nextht + // apply! this.applyFilterPass(filter, filterArea, sizeX, sizeY); @@ -20516,11 +20556,11 @@ PIXI.BaseTexture.prototype.destroy = function() if (!navigator.isCocoonJS) this.source.src = ''; } - else if (this.source && this.source._pixiId) + else if (this.source) { PIXI.CanvasPool.removeByCanvas(this.source); - delete PIXI.BaseTextureCache[this.source._pixiId]; + delete PIXI.BaseTextureCache[this.source]; } this.source = null; @@ -20591,7 +20631,7 @@ PIXI.BaseTexture.prototype.unloadFromGPU = function() * @param imageUrl {String} The image url of the texture * @param crossorigin {Boolean} * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return BaseTexture + * @return {BaseTexture} */ PIXI.BaseTexture.fromImage = function(imageUrl, crossorigin, scaleMode) { @@ -20632,7 +20672,7 @@ PIXI.BaseTexture.fromImage = function(imageUrl, crossorigin, scaleMode) * @method fromCanvas * @param canvas {Canvas} The canvas element source of the texture * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return BaseTexture + * @return {BaseTexture} */ PIXI.BaseTexture.fromCanvas = function(canvas, scaleMode) { @@ -20924,7 +20964,7 @@ PIXI.Texture.prototype._updateUvs = function() * @param imageUrl {String} The image url of the texture * @param crossorigin {Boolean} Whether requests should be treated as crossorigin * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return Texture + * @return {Texture} */ PIXI.Texture.fromImage = function(imageUrl, crossorigin, scaleMode) { @@ -20946,7 +20986,7 @@ PIXI.Texture.fromImage = function(imageUrl, crossorigin, scaleMode) * @static * @method fromFrame * @param frameId {String} The frame id of the texture - * @return Texture + * @return {Texture} */ PIXI.Texture.fromFrame = function(frameId) { @@ -20962,7 +21002,7 @@ PIXI.Texture.fromFrame = function(frameId) * @method fromCanvas * @param canvas {Canvas} The canvas element source of the texture * @param scaleMode {Number} See {{#crossLink "PIXI/scaleModes:property"}}PIXI.scaleModes{{/crossLink}} for possible values - * @return Texture + * @return {Texture} */ PIXI.Texture.fromCanvas = function(canvas, scaleMode) { @@ -22247,7 +22287,7 @@ PIXI.TilingSprite.prototype.setTexture = function(texture) */ PIXI.TilingSprite.prototype._renderWebGL = function(renderSession) { - if (this.visible === false || this.alpha === 0) + if (!this.visible || !this.renderable || this.alpha === 0) { return; } @@ -22315,7 +22355,7 @@ PIXI.TilingSprite.prototype._renderWebGL = function(renderSession) */ PIXI.TilingSprite.prototype._renderCanvas = function(renderSession) { - if (this.visible === false || this.alpha === 0) + if (!this.visible || !this.renderable || this.alpha === 0) { return; } @@ -22437,6 +22477,8 @@ PIXI.TilingSprite.prototype.generateTilingTexture = function(forcePowerOfTwo, re var texture = this.texture; var frame = texture.frame; + console.log('generateTilingTexture', texture, frame); + var targetWidth = this._frame.sourceSizeW; var targetHeight = this._frame.sourceSizeH; @@ -22685,7 +22727,7 @@ var Phaser = Phaser || { * @constant * @type {string} */ - VERSION: '2.4.4', + VERSION: '2.4.5-dev', /** * An array of Phaser game instances. @@ -22960,6 +23002,13 @@ var Phaser = Phaser || { */ VIDEO: 28, + /** + * Game Object type. + * @constant + * @type {integer} + */ + PENDING_ATLAS: -1, + /** * Various blend modes supported by Pixi. * @@ -24625,6 +24674,8 @@ Phaser.Line.prototype = { * Rotation takes place around the coordinates given. * * @method Phaser.Line#rotateAround + * @param {number} x - The x coordinate to offset the rotation from. + * @param {number} y - The y coordinate to offset the rotation from. * @param {number} angle - The angle in radians (unless asDegrees is true) to rotate the line by. * @param {boolean} [asDegrees=false] - Is the given angle in radians (false) or degrees (true)? * @return {Phaser.Line} This line object @@ -28176,28 +28227,28 @@ Phaser.Camera.prototype = { this.atLimit.y = false; // Make sure we didn't go outside the cameras bounds - if (this.view.x <= this.bounds.x) + if (this.view.x <= this.bounds.x * this.scale.x) { this.atLimit.x = true; - this.view.x = this.bounds.x; + this.view.x = this.bounds.x * this.scale.x; } - if (this.view.right >= this.bounds.right) + if (this.view.right >= this.bounds.right * this.scale.x) { this.atLimit.x = true; - this.view.x = this.bounds.right - this.width; + this.view.x = (this.bounds.right * this.scale.x) - this.width; } - if (this.view.y <= this.bounds.top) + if (this.view.y <= this.bounds.top * this.scale.y) { this.atLimit.y = true; - this.view.y = this.bounds.top; + this.view.y = this.bounds.top * this.scale.y; } - if (this.view.bottom >= this.bounds.bottom) + if (this.view.bottom >= this.bounds.bottom * this.scale.y) { this.atLimit.y = true; - this.view.y = this.bounds.bottom - this.height; + this.view.y = (this.bounds.bottom * this.scale.y) - this.height; } }, @@ -28516,7 +28567,7 @@ Phaser.State.prototype = { /** * The update method is left empty for your own use. * It is called during the core game loop AFTER debug, physics, plugins and the Stage have had their preUpdate methods called. - * If is called BEFORE Stage, Tweens, Sounds, Input, Physics, Particles and Plugins have had their postUpdate methods called. + * It is called BEFORE Stage, Tweens, Sounds, Input, Physics, Particles and Plugins have had their postUpdate methods called. * * @method Phaser.State#update */ @@ -29018,20 +29069,15 @@ Phaser.StateManager.prototype = { if (this.states[key]) { - var valid = false; - if (this.states[key]['preload'] || this.states[key]['create'] || this.states[key]['update'] || this.states[key]['render']) { - valid = true; + return true; } - - if (valid === false) + else { console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"); return false; } - - return true; } else { @@ -29162,7 +29208,7 @@ Phaser.StateManager.prototype = { * Gets the current State. * * @method Phaser.StateManager#getCurrentState - * @return Phaser.State + * @return {Phaser.State} * @public */ getCurrentState: function() { @@ -29175,6 +29221,12 @@ Phaser.StateManager.prototype = { */ loadComplete: function () { + // Make sure to do load-update one last time before state is set to _created + if (this._created === false && this.onLoadUpdateCallback) + { + this.onLoadUpdateCallback.call(this.callbackContext, this.game); + } + if (this._created === false && this.onCreateCallback) { this._created = true; @@ -30045,6 +30097,9 @@ Phaser.SignalBinding.prototype.constructor = Phaser.SignalBinding; /** * This is a base Filter class to use for any Phaser filter development. * +* The vast majority of filters (including all of those that ship with Phaser) use fragment shaders, and +* therefore only work in WebGL and are not supported by Canvas at all. +* * @class Phaser.Filter * @constructor * @param {Phaser.Game} game - A reference to the currently running game. @@ -30723,7 +30778,12 @@ Phaser.Stage = function (game) { this.name = '_stage_root'; /** - * @property {boolean} disableVisibilityChange - By default if the browser tab loses focus the game will pause. You can stop that behaviour by setting this property to true. + * By default if the browser tab loses focus the game will pause. + * You can stop that behavior by setting this property to true. + * Note that the browser can still elect to pause your game if it wishes to do so, + * for example swapping to another browser tab. This will cause the RAF callback to halt, + * effectively pausing your game, even though no in-game pause event is triggered if you enable this property. + * @property {boolean} disableVisibilityChange * @default */ this.disableVisibilityChange = false; @@ -31399,6 +31459,11 @@ Phaser.Group.prototype.add = function (child, silent) { if (child.parent !== this) { + if (child.body) + { + child.parent.removeFromHash(child); + } + this.addChild(child); child.z = this.children.length; @@ -31525,6 +31590,11 @@ Phaser.Group.prototype.addAt = function (child, index, silent) { if (child.parent !== this) { + if (child.body) + { + child.parent.removeFromHash(child); + } + this.addChildAt(child, index); this.updateZ(); @@ -31875,7 +31945,7 @@ Phaser.Group.prototype.xy = function (index, x, y) { /** * Reverses all children in this group. * -* This operaation applies only to immediate children and does not propagate to subgroups. +* This operation applies only to immediate children and does not propagate to subgroups. * * @method Phaser.Group#reverse */ @@ -32696,8 +32766,12 @@ Phaser.Group.prototype.forEachDead = function (callback, callbackContext) { * Sort the children in the group according to a particular key and ordering. * * Call this function to sort the group according to a particular key value and order. +* * For example to depth sort Sprites for Zelda-style game you might call `group.sort('y', Phaser.Group.SORT_ASCENDING)` at the bottom of your `State.update()`. * +* Internally this uses a standard JavaScript Array sort, so everything that applies there also applies here, including +* alphabetical sorting, mixing strings and numbers, and Unicode sorting. See MDN for more details. +* * @method Phaser.Group#sort * @param {string} [key='z'] - The name of the property to sort on. Defaults to the objects z-depth value. * @param {integer} [order=Phaser.Group.SORT_ASCENDING] - Order ascending ({@link Phaser.Group.SORT_ASCENDING SORT_ASCENDING}) or descending ({@link Phaser.Group.SORT_DESCENDING SORT_DESCENDING}). @@ -34251,12 +34325,12 @@ Phaser.Game.prototype = { this.parent = config['parent']; } - if (config['transparent']) + if (config['transparent'] !== undefined) { this.transparent = config['transparent']; } - if (config['antialias']) + if (config['antialias'] !== undefined) { this.antialias = config['antialias']; } @@ -34266,7 +34340,7 @@ Phaser.Game.prototype = { this.resolution = config['resolution']; } - if (config['preserveDrawingBuffer']) + if (config['preserveDrawingBuffer'] !== undefined) { this.preserveDrawingBuffer = config['preserveDrawingBuffer']; } @@ -34309,6 +34383,13 @@ Phaser.Game.prototype = { return; } + // The game width / height must be an integer + this.width = Math.floor(this.width); + this.height = Math.floor(this.height); + + this._width = Math.floor(this._width); + this._height = Math.floor(this._height); + this.onPause = new Phaser.Signal(); this.onResume = new Phaser.Signal(); this.onBlur = new Phaser.Signal(); @@ -39353,14 +39434,6 @@ Phaser.InputHandler = function (sprite) { */ this.boundsSprite = null; - /** - * If this object is set to consume the pointer event then it will stop all propagation from this object on. - * For example if you had a stack of 6 sprites with the same priority IDs and one consumed the event, none of the others would receive it. - * @property {boolean} consumePointerEvent - * @default - */ - this.consumePointerEvent = false; - /** * @property {boolean} scaleLayer - EXPERIMENTAL: Please do not use this property unless you know what it does. Likely to change in the future. */ @@ -40165,9 +40238,6 @@ Phaser.InputHandler.prototype = { } } - // Consume the event? - return this.consumePointerEvent; - }, /** @@ -40234,7 +40304,7 @@ Phaser.InputHandler.prototype = { * @param {Phaser.Pointer} pointer * @return {boolean} */ - updateDrag: function (pointer) { + updateDrag: function (pointer, fromStart) { if (pointer.isUp) { @@ -40242,6 +40312,11 @@ Phaser.InputHandler.prototype = { return false; } + if (fromStart === undefined) + { + fromStart = false; + } + var px = this.globalToLocalX(pointer.x) + this._dragPoint.x + this.dragOffset.x; var py = this.globalToLocalY(pointer.y) + this._dragPoint.y + this.dragOffset.y; @@ -40304,7 +40379,7 @@ Phaser.InputHandler.prototype = { } } - this.sprite.events.onDragUpdate.dispatch(this.sprite, pointer, px, py, this.snapPoint); + this.sprite.events.onDragUpdate.dispatch(this.sprite, pointer, px, py, this.snapPoint, fromStart); return true; @@ -40528,7 +40603,7 @@ Phaser.InputHandler.prototype = { this._dragPoint.setTo(this.sprite.x - this.globalToLocalX(pointer.x), this.sprite.y - this.globalToLocalY(pointer.y)); } - this.updateDrag(pointer); + this.updateDrag(pointer, true); if (this.bringToTop) { @@ -41593,8 +41668,9 @@ Phaser.SinglePad.prototype = { this.onUpCallback = (typeof callbacks.onUp === 'function') ? callbacks.onUp : this.onUpCallback; this.onAxisCallback = (typeof callbacks.onAxis === 'function') ? callbacks.onAxis : this.onAxisCallback; this.onFloatCallback = (typeof callbacks.onFloat === 'function') ? callbacks.onFloat : this.onFloatCallback; - } + this.callbackContext = context; + } }, /** @@ -41816,6 +41892,11 @@ Phaser.SinglePad.prototype = { */ processButtonDown: function (buttonCode, value) { + if (this._buttons[buttonCode]) + { + this._buttons[buttonCode].start(null, value); + } + if (this._padParent.onDownCallback) { this._padParent.onDownCallback.call(this._padParent.callbackContext, buttonCode, value, this.index); @@ -41826,11 +41907,6 @@ Phaser.SinglePad.prototype = { this.onDownCallback.call(this.callbackContext, buttonCode, value); } - if (this._buttons[buttonCode]) - { - this._buttons[buttonCode].start(null, value); - } - }, /** @@ -44129,14 +44205,19 @@ Phaser.Component.Destroy.prototype = { * * If this Game Object has the Events component it will also dispatch the `onDestroy` event. * + * You can optionally also destroy the BaseTexture this Game Object is using. Be careful if you've + * more than one Game Object sharing the same BaseTexture. + * * @method * @param {boolean} [destroyChildren=true] - Should every child of this object have its destroy method called as well? + * @param {boolean} [destroyTexture=false] - Destroy the BaseTexture this Game Object is using? Note that if another Game Object is sharing the same BaseTexture it will invalidate it. */ - destroy: function (destroyChildren) { + destroy: function (destroyChildren, destroyTexture) { if (this.game === null || this.destroyPhase) { return; } if (destroyChildren === undefined) { destroyChildren = true; } + if (destroyTexture === undefined) { destroyTexture = false; } this.destroyPhase = true; @@ -44243,6 +44324,12 @@ Phaser.Component.Destroy.prototype = { this._destroyCachedSprite(); + // Texture? + if (destroyTexture) + { + this.texture.destroy(true); + } + this.destroyPhase = false; this.pendingDestroy = false; @@ -44578,7 +44665,7 @@ Phaser.Component.Health.prototype = { * @param {number} amount - The amount to subtract from the current `health` value. * @return {Phaser.Sprite} This instance. */ - damage: function(amount) { + damage: function (amount) { if (this.alive) { @@ -44594,6 +44681,27 @@ Phaser.Component.Health.prototype = { }, + /** + * Sets the health property of the Game Object to the given amount. + * Will never exceed the `maxHealth` value. + * + * @member + * @param {number} amount - The amount to set the `health` value to. The total will never exceed `maxHealth`. + * @return {Phaser.Sprite} This instance. + */ + setHealth: function (amount) { + + this.health = amount; + + if (this.health > this.maxHealth) + { + this.health = this.maxHealth; + } + + return this; + + }, + /** * Heal the Game Object. This adds the given amount of health to the `health` property. * @@ -44601,7 +44709,7 @@ Phaser.Component.Health.prototype = { * @param {number} amount - The amount to add to the current `health` value. The total will never exceed `maxHealth`. * @return {Phaser.Sprite} This instance. */ - heal: function(amount) { + heal: function (amount) { if (this.alive) { @@ -44928,20 +45036,20 @@ Phaser.Component.LifeSpan.prototype = { * It will dispatch the `onRevived` event. Listen to `events.onRevived` for the signal. * * @method - * @param {number} [health=1] - The health to give the Game Object. Only set if the GameObject has the Health component. + * @param {number} [health=100] - The health to give the Game Object. Only set if the GameObject has the Health component. * @return {PIXI.DisplayObject} This instance. */ revive: function (health) { - if (health === undefined) { health = 1; } + if (health === undefined) { health = 100; } this.alive = true; this.exists = true; this.visible = true; - if (typeof this.heal === 'function') + if (typeof this.setHealth === 'function') { - this.heal(health); + this.setHealth(health); } if (this.events) @@ -45019,6 +45127,13 @@ Phaser.Component.LoadTexture.prototype = { * * Calling this method causes a WebGL texture update, so use sparingly or in low-intensity portions of your game, or if you know the new texture is already on the GPU. * + * You can use the new const `Phaser.PENDING_ATLAS` as the texture key for any sprite. + * Doing this then sets the key to be the `frame` argument (the frame is set to zero). + * + * This allows you to create sprites using `load.image` during development, and then change them + * to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' + * and swapping it to be the key of the atlas data. + * * @method * @param {string|Phaser.RenderTexture|Phaser.BitmapData|Phaser.Video|PIXI.Texture} key - This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache Image entry, or an instance of a RenderTexture, BitmapData, Video or PIXI.Texture. * @param {string|number} [frame] - If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index. @@ -45026,7 +45141,15 @@ Phaser.Component.LoadTexture.prototype = { */ loadTexture: function (key, frame, stopAnimation) { - frame = frame || 0; + if (key === Phaser.PENDING_ATLAS) + { + key = frame; + frame = 0; + } + else + { + frame = frame || 0; + } if ((stopAnimation || stopAnimation === undefined) && this.animations) { @@ -45078,6 +45201,15 @@ Phaser.Component.LoadTexture.prototype = { this.key = img.key; this.setTexture(new PIXI.Texture(img.base)); + if (key === '__default') + { + this.texture.baseTexture.skipRender = true; + } + else + { + this.texture.baseTexture.skipRender = false; + } + setFrame = !this.animations.loadFrameData(img.frameData, frame); } @@ -47595,7 +47727,6 @@ Phaser.BitmapData = function (game, key, width, height) { * @property {HTMLCanvasElement} canvas - The canvas to which this BitmapData draws. * @default */ - // this.canvas = Phaser.Canvas.create(width, height, '', true); this.canvas = PIXI.CanvasPool.create(this, width, height); /** @@ -47763,10 +47894,10 @@ Phaser.BitmapData = function (game, key, width, height) { this._circle = new Phaser.Circle(); /** - * @property {HTMLCanvasElement} _swapCanvas - A swap canvas. + * @property {HTMLCanvasElement} _swapCanvas - A swap canvas. Used by moveH and moveV, created in those methods. * @private */ - this._swapCanvas = PIXI.CanvasPool.create(this, width, height); + this._swapCanvas = undefined; }; @@ -47813,6 +47944,11 @@ Phaser.BitmapData.prototype = { if (wrap === undefined) { wrap = true; } + if (this._swapCanvas === undefined) + { + this._swapCanvas = PIXI.CanvasPool.create(this, this.width, this.height); + } + var c = this._swapCanvas; var ctx = c.getContext('2d'); var h = this.height; @@ -47871,6 +48007,11 @@ Phaser.BitmapData.prototype = { if (wrap === undefined) { wrap = true; } + if (this._swapCanvas === undefined) + { + this._swapCanvas = PIXI.CanvasPool.create(this, this.width, this.height); + } + var c = this._swapCanvas; var ctx = c.getContext('2d'); var w = this.width; @@ -47991,6 +48132,9 @@ Phaser.BitmapData.prototype = { * You can optionally define the area to clear. * If the arguments are left empty it will clear the entire canvas. * + * You may need to call BitmapData.update after this in order to clear out the pixel data, + * but Phaser will not do this automatically for you. + * * @method Phaser.BitmapData#clear * @param {number} [x=0] - The x coordinate of the top-left of the area to clear. * @param {number} [y=0] - The y coordinate of the top-left of the area to clear. @@ -48007,8 +48151,6 @@ Phaser.BitmapData.prototype = { this.context.clearRect(x, y, width, height); - this.update(); - this.dirty = true; return this; @@ -48077,6 +48219,8 @@ Phaser.BitmapData.prototype = { * Resizes the BitmapData. This changes the size of the underlying canvas and refreshes the buffer. * * @method Phaser.BitmapData#resize + * @param {integer} width - The new width of the BitmapData. + * @param {integer} height - The new height of the BitmapData. * @return {Phaser.BitmapData} This BitmapData object for method chaining. */ resize: function (width, height) { @@ -48089,8 +48233,11 @@ Phaser.BitmapData.prototype = { this.canvas.width = width; this.canvas.height = height; - this._swapCanvas.width = width; - this._swapCanvas.height = height; + if (this._swapCanvas !== undefined) + { + this._swapCanvas.width = width; + this._swapCanvas.height = height; + } this.baseTexture.width = width; this.baseTexture.height = height; @@ -48117,6 +48264,8 @@ Phaser.BitmapData.prototype = { * It then re-builds the ArrayBuffer, the data Uint8ClampedArray reference and the pixels Int32Array. * If not given the dimensions defaults to the full size of the context. * + * Warning: This is a very expensive operation, so use it sparingly. + * * @method Phaser.BitmapData#update * @param {number} [x=0] - The x coordinate of the top-left of the image data area to grab from. * @param {number} [y=0] - The y coordinate of the top-left of the image data area to grab from. @@ -48329,12 +48478,12 @@ Phaser.BitmapData.prototype = { * @return {Phaser.BitmapData} This BitmapData object for method chaining. */ setHSL: function (h, s, l, region) { + + var bHaveH = h || h === 0; + var bHaveS = s || s === 0; + var bHaveL = l || l === 0; - if (h === undefined || h === null) { h = false; } - if (s === undefined || s === null) { s = false; } - if (l === undefined || l === null) { l = false; } - - if (!h && !s && !l) + if (!bHaveH && !bHaveS && !bHaveL) { return; } @@ -48352,17 +48501,17 @@ Phaser.BitmapData.prototype = { { Phaser.Color.unpackPixel(this.getPixel32(x, y), pixel, true); - if (h) + if (bHaveH) { pixel.h = h; } - if (s) + if (bHaveS) { pixel.s = s; } - if (l) + if (bHaveL) { pixel.l = l; } @@ -48422,12 +48571,12 @@ Phaser.BitmapData.prototype = { if (s) { - pixel.s = this.game.math.limitValue(pixel.s + s, 0, 1); + pixel.s = this.game.math.clamp(pixel.s + s, 0, 1); } if (l) { - pixel.l = this.game.math.limitValue(pixel.l + l, 0, 1); + pixel.l = this.game.math.clamp(pixel.l + l, 0, 1); } Phaser.Color.HSLtoRGB(pixel.h, pixel.s, pixel.l, pixel); @@ -48960,7 +49109,7 @@ Phaser.BitmapData.prototype = { /** * Draws the immediate children of a Phaser.Group to this BitmapData. - * Children are only drawn if they have their `exists` property set to `true`. + * Children are only drawn if they have their `exists` property set to `true` and have image based Textures. * The children will be drawn at their `x` and `y` world space coordinates. If this is outside the bounds of the BitmapData they won't be drawn. * When drawing it will take into account the child's rotation, scale and alpha values. * No iteration takes place. Groups nested inside other Groups will not be iterated through. @@ -48975,13 +49124,38 @@ Phaser.BitmapData.prototype = { if (group.total > 0) { - group.forEachExists(this.copy, this, null, null, null, null, null, null, null, null, null, null, null, null, null, null, blendMode, roundPx); + group.forEachExists(this.drawGroupProxy, this, blendMode, roundPx); } return this; }, + /** + * A proxy for drawGroup that handles child iteration for more complex Game Objects. + * + * @method Phaser.BitmapData#drawGroupProxy + * @private + * @param {Phaser.Sprite|Phaser.Image|Phaser.BitmapText} child - The child to draw. + * @param {string} [blendMode=null] - The composite blend mode that will be used when drawing. The default is no blend mode at all. This is a Canvas globalCompositeOperation value such as 'lighter' or 'xor'. + * @param {boolean} [roundPx=false] - Should the x and y values be rounded to integers before drawing? This prevents anti-aliasing in some instances. + */ + drawGroupProxy: function (child, blendMode, roundPx) { + + if (child.type === Phaser.EMITTER || child.type === Phaser.BITMAPTEXT) + { + for (var i = 0; i < child.children.length; i++) + { + this.copy(child.children[i], null, null, null, null, null, null, null, null, null, null, null, null, null, null, blendMode, roundPx); + } + } + else + { + this.copy(child, null, null, null, null, null, null, null, null, null, null, null, null, null, null, blendMode, roundPx); + } + + }, + /** * Draws the Game Object or Group to this BitmapData and then recursively iterates through all of its children. * @@ -50172,9 +50346,10 @@ PIXI.Graphics.prototype.arcTo = function(x1, y1, x2, y2, radius) * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle) * @param endAngle {Number} The ending angle, in radians * @param anticlockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise. + * @param segments {Number} Optional. The number of segments to use when calculating the arc. The default is 40. If you need more fidelity use a higher number. * @return {Graphics} */ -PIXI.Graphics.prototype.arc = function(cx, cy, radius, startAngle, endAngle, anticlockwise) +PIXI.Graphics.prototype.arc = function(cx, cy, radius, startAngle, endAngle, anticlockwise, segments) { // If we do this we can never draw a full circle if (startAngle === endAngle) @@ -50183,6 +50358,7 @@ PIXI.Graphics.prototype.arc = function(cx, cy, radius, startAngle, endAngle, ant } if (anticlockwise === undefined) { anticlockwise = false; } + if (segments === undefined) { segments = 40; } if (!anticlockwise && endAngle <= startAngle) { @@ -50194,7 +50370,7 @@ PIXI.Graphics.prototype.arc = function(cx, cy, radius, startAngle, endAngle, ant } var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * segments; // Sweep check - moved here because we don't want to do the moveTo below if the arc fails if (sweep === 0) @@ -50972,9 +51148,11 @@ Object.defineProperty(PIXI.Graphics.prototype, "cacheAsBitmap", { else { this.destroyCachedSprite(); - this.dirty = true; } + this.dirty = true; + this.webGLDirty = true; + } }); @@ -51257,6 +51435,631 @@ PIXI.PolyK._convex = function(ax, ay, bx, by, cx, cy, sign) return ((ay-by)*(cx-bx) + (bx-ax)*(cy-by) >= 0) === sign; }; +/* +Copyright (c) 2016, Mapbox + +Permission to use, copy, modify, and/or distribute this software for any purpose +with or without fee is hereby granted, provided that the above copyright notice +and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. +*/ + +/** +* @class EarCut +*/ +PIXI.EarCut = {}; + +PIXI.EarCut.Triangulate = function (data, holeIndices, dim) { + + dim = dim || 2; + + var hasHoles = holeIndices && holeIndices.length, + outerLen = hasHoles ? holeIndices[0] * dim : data.length, + outerNode = PIXI.EarCut.linkedList(data, 0, outerLen, dim, true), + triangles = []; + + if (!outerNode) return triangles; + + var minX, minY, maxX, maxY, x, y, size; + + if (hasHoles) outerNode = PIXI.EarCut.eliminateHoles(data, holeIndices, outerNode, dim); + + // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox + if (data.length > 80 * dim) { + minX = maxX = data[0]; + minY = maxY = data[1]; + + for (var i = dim; i < outerLen; i += dim) { + x = data[i]; + y = data[i + 1]; + if (x < minX) minX = x; + if (y < minY) minY = y; + if (x > maxX) maxX = x; + if (y > maxY) maxY = y; + } + + // minX, minY and size are later used to transform coords into integers for z-order calculation + size = Math.max(maxX - minX, maxY - minY); + } + + PIXI.EarCut.earcutLinked(outerNode, triangles, dim, minX, minY, size); + + return triangles; +} + +// create a circular doubly linked list from polygon points in the specified winding order + +PIXI.EarCut.linkedList = function (data, start, end, dim, clockwise) { + var sum = 0, + i, j, last; + + // calculate original winding order of a polygon ring + for (i = start, j = end - dim; i < end; i += dim) { + sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]); + j = i; + } + + // link points into circular doubly-linked list in the specified winding order + if (clockwise === (sum > 0)) { + for (i = start; i < end; i += dim) last = PIXI.EarCut.insertNode(i, data[i], data[i + 1], last); + } else { + for (i = end - dim; i >= start; i -= dim) last = PIXI.EarCut.insertNode(i, data[i], data[i + 1], last); + } + + return last; +} + +// eliminate colinear or duplicate points + +PIXI.EarCut.filterPoints = function (start, end) { + if (!start) return start; + if (!end) end = start; + + var p = start, + again; + do { + again = false; + + if (!p.steiner && (PIXI.EarCut.equals(p, p.next) || PIXI.EarCut.area(p.prev, p, p.next) === 0)) { + PIXI.EarCut.removeNode(p); + p = end = p.prev; + if (p === p.next) return null; + again = true; + + } else { + p = p.next; + } + } while (again || p !== end); + + return end; +} + +// main ear slicing loop which triangulates a polygon (given as a linked list) + +PIXI.EarCut.earcutLinked = function (ear, triangles, dim, minX, minY, size, pass) { + if (!ear) return; + + // interlink polygon nodes in z-order + if (!pass && size) PIXI.EarCut.indexCurve(ear, minX, minY, size); + + var stop = ear, + prev, next; + + // iterate through ears, slicing them one by one + while (ear.prev !== ear.next) { + prev = ear.prev; + next = ear.next; + + if (size ? PIXI.EarCut.isEarHashed(ear, minX, minY, size) : PIXI.EarCut.isEar(ear)) { + // cut off the triangle + triangles.push(prev.i / dim); + triangles.push(ear.i / dim); + triangles.push(next.i / dim); + + PIXI.EarCut.removeNode(ear); + + // skipping the next vertice leads to less sliver triangles + ear = next.next; + stop = next.next; + + continue; + } + + ear = next; + + // if we looped through the whole remaining polygon and can't find any more ears + if (ear === stop) { + // try filtering points and slicing again + if (!pass) { + PIXI.EarCut.earcutLinked(PIXI.EarCut.filterPoints(ear), triangles, dim, minX, minY, size, 1); + + // if this didn't work, try curing all small self-intersections locally + } else if (pass === 1) { + ear = PIXI.EarCut.cureLocalIntersections(ear, triangles, dim); + PIXI.EarCut.earcutLinked(ear, triangles, dim, minX, minY, size, 2); + + // as a last resort, try splitting the remaining polygon into two + } else if (pass === 2) { + PIXI.EarCut.splitEarcut(ear, triangles, dim, minX, minY, size); + } + + break; + } + } +} + +// check whether a polygon node forms a valid ear with adjacent nodes + +PIXI.EarCut.isEar = function (ear) { + var a = ear.prev, + b = ear, + c = ear.next; + + if (PIXI.EarCut.area(a, b, c) >= 0) return false; // reflex, can't be an ear + + // now make sure we don't have other points inside the potential ear + var p = ear.next.next; + + while (p !== ear.prev) { + if (PIXI.EarCut.pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && + PIXI.EarCut.area(p.prev, p, p.next) >= 0) return false; + p = p.next; + } + + return true; +} + +PIXI.EarCut.isEarHashed = function (ear, minX, minY, size) { + var a = ear.prev, + b = ear, + c = ear.next; + + if (PIXI.EarCut.area(a, b, c) >= 0) return false; // reflex, can't be an ear + + // triangle bbox; min & max are calculated like this for speed + var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x), + minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y), + maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x), + maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y); + + // z-order range for the current triangle bbox; + var minZ = PIXI.EarCut.zOrder(minTX, minTY, minX, minY, size), + maxZ = PIXI.EarCut.zOrder(maxTX, maxTY, minX, minY, size); + + // first look for points inside the triangle in increasing z-order + var p = ear.nextZ; + + while (p && p.z <= maxZ) { + if (p !== ear.prev && p !== ear.next && + PIXI.EarCut.pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && + PIXI.EarCut.area(p.prev, p, p.next) >= 0) return false; + p = p.nextZ; + } + + // then look for points in decreasing z-order + p = ear.prevZ; + + while (p && p.z >= minZ) { + if (p !== ear.prev && p !== ear.next && + PIXI.EarCut.pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && + PIXI.EarCut.area(p.prev, p, p.next) >= 0) return false; + p = p.prevZ; + } + + return true; +} + +// go through all polygon nodes and cure small local self-intersections + +PIXI.EarCut.cureLocalIntersections = function (start, triangles, dim) { + var p = start; + do { + var a = p.prev, + b = p.next.next; + + // a self-intersection where edge (v[i-1],v[i]) intersects (v[i+1],v[i+2]) + if (PIXI.EarCut.intersects(a, p, p.next, b) && PIXI.EarCut.locallyInside(a, b) && PIXI.EarCut.locallyInside(b, a)) { + + triangles.push(a.i / dim); + triangles.push(p.i / dim); + triangles.push(b.i / dim); + + // remove two nodes involved + PIXI.EarCut.removeNode(p); + PIXI.EarCut.removeNode(p.next); + + p = start = b; + } + p = p.next; + } while (p !== start); + + return p; +} + +// try splitting polygon into two and triangulate them independently + +PIXI.EarCut.splitEarcut = function (start, triangles, dim, minX, minY, size) { + // look for a valid diagonal that divides the polygon into two + var a = start; + do { + var b = a.next.next; + while (b !== a.prev) { + if (a.i !== b.i && PIXI.EarCut.isValidDiagonal(a, b)) { + // split the polygon in two by the diagonal + var c = PIXI.EarCut.splitPolygon(a, b); + + // filter colinear points around the cuts + a = PIXI.EarCut.filterPoints(a, a.next); + c = PIXI.EarCut.filterPoints(c, c.next); + + // run earcut on each half + PIXI.EarCut.earcutLinked(a, triangles, dim, minX, minY, size); + PIXI.EarCut.earcutLinked(c, triangles, dim, minX, minY, size); + return; + } + b = b.next; + } + a = a.next; + } while (a !== start); +} + +// link every hole into the outer loop, producing a single-ring polygon without holes + +PIXI.EarCut.eliminateHoles = function (data, holeIndices, outerNode, dim) { + var queue = [], + i, len, start, end, list; + + for (i = 0, len = holeIndices.length; i < len; i++) { + start = holeIndices[i] * dim; + end = i < len - 1 ? holeIndices[i + 1] * dim : data.length; + list = PIXI.EarCut.linkedList(data, start, end, dim, false); + if (list === list.next) list.steiner = true; + queue.push(PIXI.EarCut.getLeftmost(list)); + } + + queue.sort(compareX); + + // process holes from left to right + for (i = 0; i < queue.length; i++) { + PIXI.EarCut.eliminateHole(queue[i], outerNode); + outerNode = PIXI.EarCut.filterPoints(outerNode, outerNode.next); + } + + return outerNode; +} + +PIXI.EarCut.compareX = function (a, b) { + return a.x - b.x; +} + +// find a bridge between vertices that connects hole with an outer ring and and link it + +PIXI.EarCut.eliminateHole = function (hole, outerNode) { + outerNode = PIXI.EarCut.findHoleBridge(hole, outerNode); + if (outerNode) { + var b = PIXI.EarCut.splitPolygon(outerNode, hole); + PIXI.EarCut.filterPoints(b, b.next); + } +} + +// David Eberly's algorithm for finding a bridge between hole and outer polygon + +PIXI.EarCut.findHoleBridge = function (hole, outerNode) { + var p = outerNode, + hx = hole.x, + hy = hole.y, + qx = -Infinity, + m; + + // find a segment intersected by a ray from the hole's leftmost point to the left; + // segment's endpoint with lesser x will be potential connection point + do { + if (hy <= p.y && hy >= p.next.y) { + var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y); + if (x <= hx && x > qx) { + qx = x; + m = p.x < p.next.x ? p : p.next; + } + } + p = p.next; + } while (p !== outerNode); + + if (!m) return null; + + if (hole.x === m.x) return m.prev; // hole touches outer segment; pick lower endpoint + + // look for points inside the triangle of hole point, segment intersection and endpoint; + // if there are no points found, we have a valid connection; + // otherwise choose the point of the minimum angle with the ray as connection point + + var stop = m, + tanMin = Infinity, + tan; + + p = m.next; + + while (p !== stop) { + if (hx >= p.x && p.x >= m.x && + PIXI.EarCut.pointInTriangle(hy < m.y ? hx : qx, hy, m.x, m.y, hy < m.y ? qx : hx, hy, p.x, p.y)) { + + tan = Math.abs(hy - p.y) / (hx - p.x); // tangential + + if ((tan < tanMin || (tan === tanMin && p.x > m.x)) && PIXI.EarCut.locallyInside(p, hole)) { + m = p; + tanMin = tan; + } + } + + p = p.next; + } + + return m; +} + +// interlink polygon nodes in z-order + +PIXI.EarCut.indexCurve = function (start, minX, minY, size) { + var p = start; + do { + if (p.z === null) p.z = PIXI.EarCut.zOrder(p.x, p.y, minX, minY, size); + p.prevZ = p.prev; + p.nextZ = p.next; + p = p.next; + } while (p !== start); + + p.prevZ.nextZ = null; + p.prevZ = null; + + PIXI.EarCut.sortLinked(p); +} + +// Simon Tatham's linked list merge sort algorithm +// http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html + +PIXI.EarCut.sortLinked = function (list) { + var i, p, q, e, tail, numMerges, pSize, qSize, + inSize = 1; + + do { + p = list; + list = null; + tail = null; + numMerges = 0; + + while (p) { + numMerges++; + q = p; + pSize = 0; + for (i = 0; i < inSize; i++) { + pSize++; + q = q.nextZ; + if (!q) break; + } + + qSize = inSize; + + while (pSize > 0 || (qSize > 0 && q)) { + + if (pSize === 0) { + e = q; + q = q.nextZ; + qSize--; + } else if (qSize === 0 || !q) { + e = p; + p = p.nextZ; + pSize--; + } else if (p.z <= q.z) { + e = p; + p = p.nextZ; + pSize--; + } else { + e = q; + q = q.nextZ; + qSize--; + } + + if (tail) tail.nextZ = e; + else list = e; + + e.prevZ = tail; + tail = e; + } + + p = q; + } + + tail.nextZ = null; + inSize *= 2; + + } while (numMerges > 1); + + return list; +} + +// z-order of a point given coords and size of the data bounding box + +PIXI.EarCut.zOrder = function (x, y, minX, minY, size) { + // coords are transformed into non-negative 15-bit integer range + x = 32767 * (x - minX) / size; + y = 32767 * (y - minY) / size; + + x = (x | (x << 8)) & 0x00FF00FF; + x = (x | (x << 4)) & 0x0F0F0F0F; + x = (x | (x << 2)) & 0x33333333; + x = (x | (x << 1)) & 0x55555555; + + y = (y | (y << 8)) & 0x00FF00FF; + y = (y | (y << 4)) & 0x0F0F0F0F; + y = (y | (y << 2)) & 0x33333333; + y = (y | (y << 1)) & 0x55555555; + + return x | (y << 1); +} + +// find the leftmost node of a polygon ring + +PIXI.EarCut.getLeftmost = function (start) { + var p = start, + leftmost = start; + do { + if (p.x < leftmost.x) leftmost = p; + p = p.next; + } while (p !== start); + + return leftmost; +} + +// check if a point lies within a convex triangle + +PIXI.EarCut.pointInTriangle = function (ax, ay, bx, by, cx, cy, px, py) { + return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 && + (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 && + (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0; +} + +// check if a diagonal between two polygon nodes is valid (lies in polygon interior) + +PIXI.EarCut.isValidDiagonal = function (a, b) { + return PIXI.EarCut.equals(a, b) || a.next.i !== b.i && a.prev.i !== b.i && !PIXI.EarCut.intersectsPolygon(a, b) && + PIXI.EarCut.locallyInside(a, b) && PIXI.EarCut.locallyInside(b, a) && PIXI.EarCut.middleInside(a, b); +} + +// signed area of a triangle + +PIXI.EarCut.area = function (p, q, r) { + return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y); +} + +// check if two points are equal + +PIXI.EarCut.equals = function (p1, p2) { + return p1.x === p2.x && p1.y === p2.y; +} + +// check if two segments intersect + +PIXI.EarCut.intersects = function (p1, q1, p2, q2) { + return PIXI.EarCut.area(p1, q1, p2) > 0 !== PIXI.EarCut.area(p1, q1, q2) > 0 && + PIXI.EarCut.area(p2, q2, p1) > 0 !== PIXI.EarCut.area(p2, q2, q1) > 0; +} + +// check if a polygon diagonal intersects any polygon segments + +PIXI.EarCut.intersectsPolygon = function (a, b) { + var p = a; + do { + if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i && + PIXI.EarCut.intersects(p, p.next, a, b)) return true; + p = p.next; + } while (p !== a); + + return false; +} + +// check if a polygon diagonal is locally inside the polygon + +PIXI.EarCut.locallyInside = function (a, b) { + return PIXI.EarCut.area(a.prev, a, a.next) < 0 ? + PIXI.EarCut.area(a, b, a.next) >= 0 && PIXI.EarCut.area(a, a.prev, b) >= 0 : + PIXI.EarCut.area(a, b, a.prev) < 0 || PIXI.EarCut.area(a, a.next, b) < 0; +} + +// check if the middle point of a polygon diagonal is inside the polygon + +PIXI.EarCut.middleInside = function (a, b) { + var p = a, + inside = false, + px = (a.x + b.x) / 2, + py = (a.y + b.y) / 2; + do { + if (((p.y > py) !== (p.next.y > py)) && (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x)) + inside = !inside; + p = p.next; + } while (p !== a); + + return inside; +} + +// link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two; +// if one belongs to the outer ring and another to a hole, it merges it into a single ring + +PIXI.EarCut.splitPolygon = function (a, b) { + var a2 = new PIXI.EarCut.Node(a.i, a.x, a.y), + b2 = new PIXI.EarCut.Node(b.i, b.x, b.y), + an = a.next, + bp = b.prev; + + a.next = b; + b.prev = a; + + a2.next = an; + an.prev = a2; + + b2.next = a2; + a2.prev = b2; + + bp.next = b2; + b2.prev = bp; + + return b2; +} + +// create a node and optionally link it with previous one (in a circular doubly linked list) + +PIXI.EarCut.insertNode = function (i, x, y, last) { + var p = new PIXI.EarCut.Node(i, x, y); + + if (!last) { + p.prev = p; + p.next = p; + + } else { + p.next = last.next; + p.prev = last; + last.next.prev = p; + last.next = p; + } + return p; +} + +PIXI.EarCut.removeNode = function (p) { + p.next.prev = p.prev; + p.prev.next = p.next; + + if (p.prevZ) p.prevZ.nextZ = p.nextZ; + if (p.nextZ) p.nextZ.prevZ = p.prevZ; +} + +PIXI.EarCut.Node = function (i, x, y) { + // vertice index in coordinates array + this.i = i; + + // vertex coordinates + this.x = x; + this.y = y; + + // previous and next vertice nodes in a polygon ring + this.prev = null; + this.next = null; + + // z-order curve value + this.z = null; + + // previous and next nodes in z-order + this.prevZ = null; + this.nextZ = null; + + // indicates whether this is a steiner point + this.steiner = false; +} + /** * @author Mat Groves http://matgroves.com/ @Doormat23 */ @@ -51272,6 +52075,13 @@ PIXI.WebGLGraphics = function() { }; +/** + * The number of points beyond which Pixi swaps to using the Stencil Buffer to render the Graphics. + * + * @type {number} + */ +PIXI.WebGLGraphics.stencilBufferLimit = 6; + /** * Renders the graphics object * @@ -51406,9 +52216,9 @@ PIXI.WebGLGraphics.updateGraphics = function(graphics, gl) // MAKE SURE WE HAVE THE CORRECT TYPE.. if(data.fill) { - if(data.points.length >= 6) + if(data.points.length >= PIXI.WebGLGraphics.stencilBufferLimit) { - if(data.points.length < 6 * 2) + if(data.points.length < PIXI.WebGLGraphics.stencilBufferLimit * 2) { webGLData = PIXI.WebGLGraphics.switchMode(webGL, 0); @@ -51533,7 +52343,7 @@ PIXI.WebGLGraphics.buildRectangle = function(graphicsData, webGLData) var verts = webGLData.points; var indices = webGLData.indices; - var vertPos = verts.length/6; + var vertPos = verts.length / 6; // start verts.push(x, y); @@ -51549,10 +52359,10 @@ PIXI.WebGLGraphics.buildRectangle = function(graphicsData, webGLData) verts.push(r, g, b, alpha); // insert 2 dead triangles.. - indices.push(vertPos, vertPos, vertPos+1, vertPos+2, vertPos+3, vertPos+3); + indices.push(vertPos, vertPos, vertPos + 1, vertPos + 2, vertPos + 3, vertPos + 3); } - if(graphicsData.lineWidth) + if (graphicsData.lineWidth) { var tempPoints = graphicsData.points; @@ -51606,13 +52416,12 @@ PIXI.WebGLGraphics.buildRoundedRectangle = function(graphicsData, webGLData) var verts = webGLData.points; var indices = webGLData.indices; - var vecPos = verts.length/6; + var vecPos = verts.length / 6; - var triangles = PIXI.PolyK.Triangulate(recPoints); + var triangles = PIXI.EarCut.Triangulate(recPoints, null, 2); - // - var i = 0; + for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -51739,7 +52548,7 @@ PIXI.WebGLGraphics.buildCircle = function(graphicsData, webGLData) var verts = webGLData.points; var indices = webGLData.indices; - var vecPos = verts.length/6; + var vecPos = verts.length / 6; indices.push(vecPos); @@ -52076,7 +52885,7 @@ PIXI.WebGLGraphics.buildPoly = function(graphicsData, webGLData) var g = color[1] * alpha; var b = color[2] * alpha; - var triangles = PIXI.PolyK.Triangulate(points); + var triangles = PIXI.EarCut.Triangulate(points, null, 2); if(!triangles)return false; @@ -52903,7 +53712,7 @@ Phaser.Text = function (game, x, y, text, style) { text = text.toString(); } - style = style || {}; + style = Phaser.Utils.extend({}, style); /** * @property {number} type - The const type of this object. @@ -52970,6 +53779,19 @@ Phaser.Text = function (game, x, y, text, style) { */ this.autoRound = false; + /** + * Will this Text object use Basic or Advanced Word Wrapping? + * + * Advanced wrapping breaks long words if they are the first of a line, and repeats the process as necessary. + * White space is condensed (e.g., consecutive spaces are replaced with one). + * Lines are trimmed of white space before processing. + * + * It throws an error if wordWrapWidth is less than a single character. + * @property {boolean} useAdvancedWrap + * @default + */ + this.useAdvancedWrap = false; + /** * @property {number} _res - Internal canvas resolution var. * @private @@ -53658,6 +54480,28 @@ Phaser.Text.prototype.addFontWeight = function (weight, position) { }; +/** +* Runs the given text through the Text.runWordWrap function and returns +* the results as an array, where each element of the array corresponds to a wrapped +* line of text. +* +* Useful if you wish to control pagination on long pieces of content. +* +* @method Phaser.Text#precalculateWordWrap +* @param {string} text - The text for which the wrapping will be calculated. +* @return {array} An array of strings with the pieces of wrapped text. +*/ +Phaser.Text.prototype.precalculateWordWrap = function (text) { + + this.texture.baseTexture.resolution = this._res; + this.context.font = this.style.font; + + var wrappedLines = this.runWordWrap(text); + + return wrappedLines.split(/(?:\r\n|\r|\n)/); + +}; + /** * Greedy wrapping algorithm that will wrap words as the line grows longer than its horizontal bounds. * @@ -53667,6 +54511,150 @@ Phaser.Text.prototype.addFontWeight = function (weight, position) { */ Phaser.Text.prototype.runWordWrap = function (text) { + if (this.useAdvancedWrap) + { + return this.advancedWordWrap(text); + } + else + { + return this.basicWordWrap(text); + } + +}; + +/** +* Advanced wrapping algorithm that will wrap words as the line grows longer than its horizontal bounds. +* White space is condensed (e.g., consecutive spaces are replaced with one). +* Lines are trimmed of white space before processing. +* Throws an error if the user was smart enough to specify a wordWrapWidth less than a single character. +* +* @method Phaser.Text#advancedWordWrap +* @param {string} text - The text to perform word wrap detection against. +* @private +*/ +Phaser.Text.prototype.advancedWordWrap = function (text) { + + var context = this.context; + var wordWrapWidth = this.style.wordWrapWidth; + + var output = ''; + + // (1) condense whitespace + // (2) split into lines + var lines = text + .replace(/ +/gi, ' ') + .split(/\r?\n/gi); + + var linesCount = lines.length; + + for (var i = 0; i < linesCount; i++) + { + var line = lines[i]; + var out = ''; + + // trim whitespace + line = line.replace(/^ *|\s*$/gi, ''); + + // if entire line is less than wordWrapWidth + // append the entire line and exit early + var lineWidth = context.measureText(line).width; + + if (lineWidth < wordWrapWidth) + { + output += line + '\n'; + continue; + } + + // otherwise, calculate new lines + var currentLineWidth = wordWrapWidth; + + // split into words + var words = line.split(' '); + + for (var j = 0; j < words.length; j++) + { + var word = words[j]; + var wordWithSpace = word + ' '; + var wordWidth = context.measureText(wordWithSpace).width; + + if (wordWidth > currentLineWidth) + { + // break word + if (j === 0) + { + // shave off letters from word until it's small enough + var newWord = wordWithSpace; + + while (newWord.length) + { + newWord = newWord.slice(0, -1); + wordWidth = context.measureText(newWord).width; + + if (wordWidth <= currentLineWidth) + { + break; + } + } + + // if wordWrapWidth is too small for even a single + // letter, shame user failure with a fatal error + if (!newWord.length) + { + throw new Error('This text\'s wordWrapWidth setting is less than a single character!'); + } + + // replace current word in array with remainder + var secondPart = word.substr(newWord.length); + + words[j] = secondPart; + + // append first piece to output + out += newWord; + } + + // if existing word length is 0, don't include it + var offset = (words[j].length) ? j : j + 1; + + // collapse rest of sentence + var remainder = words.slice(offset).join(' ') + // remove any trailing white space + .replace(/[ \n]*$/gi, ''); + + // prepend remainder to next line + lines[i + 1] = remainder + ' ' + (lines[i + 1] || ''); + linesCount = lines.length; + + break; // processing on this line + + // append word with space to output + } + else + { + out += wordWithSpace; + currentLineWidth -= wordWidth; + } + } + + // append processed line to output + output += out.replace(/[ \n]*$/gi, '') + '\n'; + } + + // trim the end of the string + output = output.replace(/[\s|\n]*$/gi, ''); + + return output; + +}; + +/** +* Greedy wrapping algorithm that will wrap words as the line grows longer than its horizontal bounds. +* +* @method Phaser.Text#basicWordWrap +* @param {string} text - The text to perform word wrap detection against. +* @private +*/ +Phaser.Text.prototype.basicWordWrap = function (text) { + var result = ''; var lines = text.split('\n'); @@ -55100,10 +56088,12 @@ Phaser.BitmapText.prototype.scanLine = function (data, scale, text) { var c = 0; - if (!charData) + // If the character data isn't found in the data array + // then we replace it with a blank space + if (charData === undefined) { - // Skip a character not found in the font data - continue; + charCode = 32; + charData = data.chars[charCode]; } // Adjust for kerning from previous character to this one @@ -55123,11 +56113,11 @@ Phaser.BitmapText.prototype.scanLine = function (data, scale, text) { } else { - w += charData.xAdvance * scale; + w += (charData.xAdvance + kerning) * scale; - chars.push(x + (charData.xOffset * scale)); + chars.push(x + (charData.xOffset + kerning) * scale); - x += charData.xAdvance * scale; + x += (charData.xAdvance + kerning) * scale; prevCharCode = charCode; } @@ -55138,6 +56128,58 @@ Phaser.BitmapText.prototype.scanLine = function (data, scale, text) { }; +/** +* Given a text string this will scan each character in the string to ensure it exists +* in the BitmapText font data. If it doesn't the character is removed, or replaced with the `replace` argument. +* +* If no font data has been loaded at all this returns an empty string, as nothing can be rendered. +* +* @method Phaser.BitmapText.prototype.cleanText +* @param {string} text - The text to parse. +* @param {string} [replace=''] - The replacement string for any missing characters. +* @return {string} The cleaned text string. +*/ +Phaser.BitmapText.prototype.cleanText = function (text, replace) { + + if (replace === undefined) + { + replace = ''; + } + + var data = this._data.font; + + if (!data) + { + return ''; + } + + var re = /\r\n|\n\r|\n|\r/g; + var lines = text.replace(re, "\n").split("\n"); + + for (var i = 0; i < lines.length; i++) + { + var output = ''; + var line = lines[i]; + + for (var c = 0; c < line.length; c++) + { + if (data.chars[line.charCodeAt(c)]) + { + output = output.concat(line[c]); + } + else + { + output = output.concat(replace); + } + } + + lines[i] = output; + } + + return lines.join("\n"); + +}; + /** * Renders text and updates it when needed. * @@ -55205,6 +56247,12 @@ Phaser.BitmapText.prototype.updateText = function () { var charCode = line.text.charCodeAt(c); var charData = data.chars[charCode]; + if (charData === undefined) + { + charCode = 32; + charData = data.chars[charCode]; + } + var g = this._glyphs[t]; if (g) @@ -56068,7 +57116,7 @@ Object.defineProperty(Phaser.RetroFont.prototype, "text", { /** * @name Phaser.RetroFont#smoothed -* @property {string} text - Set this value to update the text in this sprite. Carriage returns are automatically stripped out if multiLine is false. Text is converted to upper case if autoUpperCase is true. +* @property {boolean} smoothed - Sets if the stamp is smoothed or not. */ Object.defineProperty(Phaser.RetroFont.prototype, "smoothed", { @@ -56220,7 +57268,7 @@ Phaser.Rope.prototype.update = function() { * @memberof Phaser.Rope * @param {number} x - The x coordinate (in world space) to position the Sprite at. * @param {number} y - The y coordinate (in world space) to position the Sprite at. -* @return (Phaser.Rope) This instance. +* @return {Phaser.Rope} This instance. */ Phaser.Rope.prototype.reset = function(x, y) { @@ -56499,7 +57547,7 @@ Phaser.TileSprite.prototype.destroy = function(destroyChildren) { * @memberof Phaser.TileSprite * @param {number} x - The x coordinate (in world space) to position the Sprite at. * @param {number} y - The y coordinate (in world space) to position the Sprite at. -* @return (Phaser.TileSprite) This instance. +* @return {Phaser.TileSprite} This instance. */ Phaser.TileSprite.prototype.reset = function(x, y) { @@ -60729,13 +61777,13 @@ Phaser.Tween = function (target, game, manager) { * Is this Tween frame or time based? A frame based tween will use the physics elapsed timer when updating. This means * it will retain the same consistent frame rate, regardless of the speed of the device. The duration value given should * be given in frames. - * + * * If the Tween uses a time based update (which is the default) then the duration is given in milliseconds. * In this situation a 2000ms tween will last exactly 2 seconds, regardless of the device and how many visual updates the tween * has actually been through. For very short tweens you may wish to experiment with a frame based update instead. * * The default value is whatever you've set in TweenManager.frameBased. - * + * * @property {boolean} frameBased * @default */ @@ -60948,6 +61996,7 @@ Phaser.Tween.prototype = { if (complete) { this.onComplete.dispatch(this.target, this); + this._hasStarted = false; if (this.chainedTween) { @@ -61404,6 +62453,7 @@ Phaser.Tween.prototype = { // No more repeats and no more children, so we're done this.isRunning = false; this.onComplete.dispatch(this.target, this); + this._hasStarted = false; if (this.chainedTween) { @@ -62001,6 +63051,15 @@ Phaser.TweenData.prototype = { // We're already in reverse mode, which means the yoyo has finished and there's no repeats, so end if (this.inReverse && this.repeatCounter === 0) { + // Restore the properties + for (var property in this.vStartCache) + { + this.vStart[property] = this.vStartCache[property]; + this.vEnd[property] = this.vEndCache[property]; + } + + this.inReverse = false; + return Phaser.TweenData.COMPLETE; } @@ -64420,20 +65479,9 @@ Phaser.AnimationManager.prototype = { if (resetFrame === undefined) { resetFrame = false; } - if (typeof name === 'string') + if (this.currentAnim && (typeof name !== 'string' || name === this.currentAnim.name)) { - if (this._anims[name]) - { - this.currentAnim = this._anims[name]; - this.currentAnim.stop(resetFrame); - } - } - else - { - if (this.currentAnim) - { - this.currentAnim.stop(resetFrame); - } + this.currentAnim.stop(resetFrame); } }, @@ -64710,7 +65758,6 @@ Object.defineProperty(Phaser.AnimationManager.prototype, 'frameName', { * @param {number[]|string[]} frames - An array of numbers or strings indicating which frames to play in which order. * @param {number} [frameRate=60] - The speed at which the animation should play. The speed is given in frames per second. * @param {boolean} [loop=false] - Whether or not the animation is looped or just plays once. -* @param {boolean} loop - Should this animation loop when it reaches the end or play through once. */ Phaser.Animation = function (game, parent, name, frameData, frames, frameRate, loop) { @@ -64825,6 +65872,9 @@ Phaser.Animation = function (game, parent, name, frameData, frames, frameRate, l /** * This event is dispatched when the Animation changes frame. * By default this event is disabled due to its intensive nature. Enable it with: `Animation.enableUpdate = true`. + * Note that the event is only dispatched with the current frame. In a low-FPS environment Animations + * will automatically frame-skip to try and claw back time, so do not base your code on expecting to + * receive a perfectly sequential set of frames from this event. * @property {Phaser.Signal|null} onUpdate * @default */ @@ -65973,7 +67023,7 @@ Phaser.FrameData.prototype = { for (var i = 0; i < frames.length; i++) { // Does the frames array contain names or indexes? - if (useNumericIndex) + if (useNumericIndex && this._frames[frames[i]]) { output.push(this._frames[frames[i]].index); } @@ -68281,9 +69331,9 @@ Phaser.Cache.prototype = { */ clearGLTextures: function () { - for (var key in this.cache.image) + for (var key in this._cache.image) { - this.cache.image[key].base._glTextures = []; + this._cache.image[key].base._glTextures = []; } }, @@ -68543,7 +69593,7 @@ Phaser.Loader = function (game) { * * To disable all parallel downloads this must be set to false prior to any resource being loaded. * - * @property {integer} enableParallel + * @property {boolean} enableParallel */ this.enableParallel = true; @@ -69017,7 +70067,7 @@ Phaser.Loader.prototype = { if (!file || (!file.loaded && !file.loading && file.type !== 'packfile')) { - this._fileList.splice(i, 1, pack); + this._fileList.splice(i, 0, pack); this._totalPackCount++; break; } @@ -69392,7 +70442,7 @@ Phaser.Loader.prototype = { * Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially. * @return {Phaser.Loader} This Loader instance. */ - audiosprite: function(key, urls, jsonURL, jsonData, autoDecode) { + audioSprite: function (key, urls, jsonURL, jsonData, autoDecode) { if (this.game.sound.noAudio) { @@ -69427,6 +70477,23 @@ Phaser.Loader.prototype = { }, + /** + * A legacy alias for Loader.audioSprite. Please see that method for documentation. + * + * @method Phaser.Loader#audiosprite + * @param {string} key - Unique asset key of the audio file. + * @param {Array|string} urls - An array containing the URLs of the audio files, i.e.: [ 'audiosprite.mp3', 'audiosprite.ogg', 'audiosprite.m4a' ] or a single string containing just one URL. + * @param {string} [jsonURL=null] - The URL of the audiosprite configuration JSON object. If you wish to pass the data directly set this parameter to null. + * @param {string|object} [jsonData=null] - A JSON object or string containing the audiosprite configuration data. This is ignored if jsonURL is not null. + * @param {boolean} [autoDecode=true] - When using Web Audio the audio files can either be decoded at load time or run-time. + * Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially. + * @return {Phaser.Loader} This Loader instance. + */ + audiosprite: function (key, urls, jsonURL, jsonData, autoDecode) { + + return this.audioSprite(key, urls, jsonURL, jsonData, autoDecode); + + }, /** * Adds a video file to the current load queue. @@ -70243,10 +71310,10 @@ Phaser.Loader.prototype = { this.onLoadComplete.dispatch(); - this.reset(); - this.game.state.loadComplete(); + this.reset(); + }, /** @@ -70668,9 +71735,12 @@ Phaser.Loader.prototype = { xhr.onload = function () { try { - - return onload.call(_this, file, xhr); - + if (xhr.readyState == 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. + return onerror.call(_this, file, xhr); + } + else { + return onload.call(_this, file, xhr); + } } catch (e) { // If this was the last file in the queue and an error is thrown in the create method @@ -70779,6 +71849,12 @@ Phaser.Loader.prototype = { xhr.onload = function () { try { + if (xhr.readyState == 4 && xhr.status >= 400 && xhr.status <= 599) { // Handle HTTP status codes of 4xx and 5xx as errors, even if xhr.onerror was not called. + return onerror.call(_this, file, xhr); + } + else { + return onload.call(_this, file, xhr); + } return onload.call(_this, file, xhr); } catch (e) { _this.asyncComplete(file, e.message || 'Exception'); @@ -70815,8 +71891,8 @@ Phaser.Loader.prototype = { if (url.uri) // {uri: .., type: ..} pair { - url = url.uri; videoType = url.type; + url = url.uri; } else { @@ -70838,7 +71914,7 @@ Phaser.Loader.prototype = { if (this.game.device.canPlayVideo(videoType)) { - return urls[i]; + return url; } } @@ -70870,8 +71946,8 @@ Phaser.Loader.prototype = { if (url.uri) // {uri: .., type: ..} pair { - url = url.uri; audioType = url.type; + url = url.uri; } else { @@ -70893,7 +71969,7 @@ Phaser.Loader.prototype = { if (this.game.device.canPlayAudio(audioType)) { - return urls[i]; + return url; } } @@ -71198,7 +72274,7 @@ Phaser.Loader.prototype = { /** * Parses string data as XML. * - * @method parseXml + * @method Phaser.Loader#parseXml * @private * @param {string} data - The XML text to parse * @return {?XMLDocument} Returns the xml document, or null if such could not parsed to a valid document. @@ -72055,6 +73131,7 @@ Phaser.Sound.prototype = { this._sound.onended = null; this.isPlaying = false; + this.currentTime = this.durationMS; this.stop(); }, @@ -72172,15 +73249,6 @@ Phaser.Sound.prototype = { { if (this.usingWebAudio) { - if (this.externalNode) - { - this._sound.disconnect(this.externalNode); - } - else - { - this._sound.disconnect(this.gainNode); - } - if (this._sound.stop === undefined) { this._sound.noteOff(0); @@ -72193,6 +73261,15 @@ Phaser.Sound.prototype = { catch (e) { } } + + if (this.externalNode) + { + this._sound.disconnect(this.externalNode); + } + else + { + this._sound.disconnect(this.gainNode); + } } else if (this.usingAudioTag) { @@ -72505,15 +73582,6 @@ Phaser.Sound.prototype = { { if (this.usingWebAudio) { - if (this.externalNode) - { - this._sound.disconnect(this.externalNode); - } - else - { - this._sound.disconnect(this.gainNode); - } - if (this._sound.stop === undefined) { this._sound.noteOff(0); @@ -72528,6 +73596,15 @@ Phaser.Sound.prototype = { // Thanks Android 4.4 } } + + if (this.externalNode) + { + this._sound.disconnect(this.externalNode); + } + else + { + this._sound.disconnect(this.gainNode); + } } else if (this.usingAudioTag) { @@ -72538,22 +73615,23 @@ Phaser.Sound.prototype = { this.pendingPlayback = false; this.isPlaying = false; - var prevMarker = this.currentMarker; - - if (this.currentMarker !== '') - { - this.onMarkerComplete.dispatch(this.currentMarker, this); - } - - this.currentMarker = ''; - - if (this.fadeTween !== null) - { - this.fadeTween.stop(); - } if (!this.paused) { + var prevMarker = this.currentMarker; + + if (this.currentMarker !== '') + { + this.onMarkerComplete.dispatch(this.currentMarker, this); + } + + this.currentMarker = ''; + + if (this.fadeTween !== null) + { + this.fadeTween.stop(); + } + this.onStop.dispatch(this, prevMarker); } @@ -73075,6 +74153,11 @@ Phaser.SoundManager.prototype = { */ setTouchLock: function () { + if (this.noAudio || window['PhaserGlobal'].disableAudio === true) + { + return; + } + if (this.game.device.iOSVersion > 8) { this.game.input.touch.addTouchLockCallback(this.unlock, this, true); @@ -73535,6 +74618,8 @@ Phaser.SoundManager.prototype = { this.onSoundDecode.dispose(); + this.context.close(); + if (this.context && window['PhaserGlobal']) { // Store this in the PhaserGlobal window var, if set, to allow for re-use if the game is created again without the page refreshing @@ -74017,7 +75102,7 @@ Phaser.ScaleManager = function (game, width, height) { * * @protected * - * @property {boolean} [supportsFullscreen=(auto)] - True only if fullscreen support will be used. (Changing to fullscreen still might not work.) + * @property {boolean} [supportsFullScreen=(auto)] - True only if fullscreen support will be used. (Changing to fullscreen still might not work.) * * @property {boolean} [orientationFallback=(auto)] - See {@link Phaser.DOM.getScreenOrientation}. * @@ -74365,7 +75450,7 @@ Phaser.ScaleManager.prototype = { this._booted = true; - if (this._pendingScaleMode) + if (this._pendingScaleMode !== null) { this.scaleMode = this._pendingScaleMode; this._pendingScaleMode = null; @@ -74382,7 +75467,7 @@ Phaser.ScaleManager.prototype = { */ parseConfig: function (config) { - if (config['scaleMode']) + if (config['scaleMode'] !== undefined) { if (this._booted) { @@ -74394,7 +75479,7 @@ Phaser.ScaleManager.prototype = { } } - if (config['fullScreenScaleMode']) + if (config['fullScreenScaleMode'] !== undefined) { this.fullScreenScaleMode = config['fullScreenScaleMode']; } @@ -75004,8 +76089,8 @@ Phaser.ScaleManager.prototype = { } else if (scaleMode === Phaser.ScaleManager.NO_SCALE) { - this.width = this.game.width; - this.height = this.game.height; + this.width = this.game.width / this.game.device.pixelRatio; + this.height = this.game.height / this.game.device.pixelRatio; } else if (scaleMode === Phaser.ScaleManager.USER_SCALE) { @@ -80844,7 +81929,7 @@ Phaser.Physics.Arcade.prototype = { * @param {Phaser.Sprite|Phaser.Group|Phaser.Particles.Emitter|Phaser.TilemapLayer|array} object1 - The first object or array of objects to check. Can be Phaser.Sprite, Phaser.Group, Phaser.Particles.Emitter, or Phaser.TilemapLayer. * @param {Phaser.Sprite|Phaser.Group|Phaser.Particles.Emitter|Phaser.TilemapLayer|array} object2 - The second object or array of objects to check. Can be Phaser.Sprite, Phaser.Group, Phaser.Particles.Emitter or Phaser.TilemapLayer. * @param {function} [collideCallback=null] - An optional callback function that is called if the objects collide. The two objects will be passed to this function in the same order in which you specified them, unless you are colliding Group vs. Sprite, in which case Sprite will always be the first parameter. - * @param {function} [processCallback=null] - A callback function that lets you perform additional checks against the two objects if they overlap. If this is set then collision will only happen if processCallback returns true. The two objects will be passed to this function in the same order in which you specified them. + * @param {function} [processCallback=null] - A callback function that lets you perform additional checks against the two objects if they overlap. If this is set then collision will only happen if processCallback returns true. The two objects will be passed to this function in the same order in which you specified them, unless you are colliding Group vs. Sprite, in which case Sprite will always be the first parameter. * @param {object} [callbackContext] - The context in which to run the callbacks. * @return {boolean} True if a collision occurred otherwise false. */ @@ -82154,6 +83239,26 @@ Phaser.Physics.Arcade.prototype = { return Math.atan2(dy, dx); + }, + + /** + * Find the angle in radians between a display object (like a Sprite) and a Pointer, + * taking their x/y and center into account relative to the world. + * + * @method Phaser.Physics.Arcade#worldAngleToPointer + * @param {any} displayObject - The DisplayObjerct to test from. + * @param {Phaser.Pointer} [pointer] - The Phaser.Pointer to test to. If none is given then Input.activePointer is used. + * @return {number} The angle in radians between displayObject.world.x/y to Pointer.worldX / worldY + */ + worldAngleToPointer: function (displayObject, pointer) { + + pointer = pointer || this.game.input.activePointer; + + var dx = pointer.worldX - displayObject.world.x; + var dy = pointer.worldY - displayObject.world.y; + + return Math.atan2(dy, dx); + } }; @@ -82865,6 +83970,16 @@ Phaser.Physics.Arcade.Body.prototype = { onFloor: function () { return this.blocked.down; }, + + /** + * Returns true if the top of this Body is in contact with either the world bounds or a tile. + * + * @method Phaser.Physics.Arcade.Body#onTop + * @return {boolean} True if in contact with either the world bounds or a tile. + */ + onCeiling: function(){ + return this.blocked.up; + }, /** * Returns true if either side of this Body is in contact with either the world bounds or a tile. @@ -86501,7 +87616,7 @@ Phaser.Physics.P2.Body.prototype = { * period of time (impulse = force * time). Impulses will be added to Body.velocity and Body.angularVelocity. * * @method Phaser.Physics.P2.Body#applyImpulseLocal - * @param {Float32Array|Array} impulse - The impulse vector to add, oriented in world space. + * @param {Float32Array|Array} impulse - The impulse vector to add, oriented in local space. * @param {number} localX - A local point on the body. * @param {number} localY - A local point on the body. */ @@ -89653,8 +90768,8 @@ Phaser.Tilemap.prototype = { * You can also pass in a BitmapData which can be used instead of an Image. * @param {number} [tileWidth=32] - The width of the tiles in the Tileset Image. If not given it will default to the map.tileWidth value, if that isn't set then 32. * @param {number} [tileHeight=32] - The height of the tiles in the Tileset Image. If not given it will default to the map.tileHeight value, if that isn't set then 32. - * @param {number} [tileMargin=0] - The width of the tiles in the Tileset Image. If not given it will default to the map.tileWidth value. - * @param {number} [tileSpacing=0] - The height of the tiles in the Tileset Image. If not given it will default to the map.tileHeight value. + * @param {number} [tileMargin=0] - The width of the tiles in the Tileset Image. + * @param {number} [tileSpacing=0] - The height of the tiles in the Tileset Image. * @param {number} [gid=0] - If adding multiple tilesets to a blank/dynamic map, specify the starting GID the set will use here. * @return {Phaser.Tileset} Returns the Tileset object that was created or updated, or null if it failed. */ @@ -89704,7 +90819,7 @@ Phaser.Tilemap.prototype = { if (idx === null && this.format === Phaser.Tilemap.TILED_JSON) { - console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "' + key + '"'); + console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "' + tileset + '"'); return null; } @@ -90133,19 +91248,6 @@ Phaser.Tilemap.prototype = { }, - /** - * Gets the object index based on its name. - * - * @method Phaser.Tilemap#getObjectIndex - * @param {string} name - The name of the object to get. - * @return {number} The index of the object in this tilemap, or null if not found. - */ - getObjectIndex: function (name) { - - return this.getIndex(this.objects, name); - - }, - /** * Sets a global collision callback for the given tile index within the layer. This will affect all tiles on this layer that have the same index. * If a callback is already set for the tile index it will be replaced. Set the callback to null to remove it. @@ -90619,9 +91721,10 @@ Phaser.Tilemap.prototype = { hasTile: function (x, y, layer) { layer = this.getLayer(layer); - + if (this.layers[layer].data[y] === undefined || this.layers[layer].data[y][x] === undefined) { + return false; + } return (this.layers[layer].data[y][x].index > -1); - }, /** @@ -91995,7 +93098,7 @@ Phaser.TilemapLayer.prototype.resetTilesetCache = function () { }; /** - * This method will set the scale of the tilemap as well as update the underlying block data of this layer + * This method will set the scale of the tilemap as well as update the underlying block data of this layer. * * @method Phaser.TilemapLayer#setScale * @param {number} [xScale=1] - The scale factor along the X-plane @@ -92700,6 +93803,7 @@ Phaser.TilemapParser = { * Parses a CSV file into valid map data. * * @method Phaser.TilemapParser.parseCSV + * @param {string} key - The name you want to give the map data. * @param {string} data - The CSV file data. * @param {number} [tileWidth=32] - The pixel width of a single map tile. If using CSV data you must specify this. Not required if using Tiled map data. * @param {number} [tileHeight=32] - The pixel height of a single map tile. If using CSV data you must specify this. Not required if using Tiled map data. @@ -92863,11 +93967,11 @@ Phaser.TilemapParser = { var bytes = new Array( len ); // Interpret binaryString as an array of bytes representing // little-endian encoded uint32 values. - for (var i = 0; i < len; i+=4) { - bytes[i/4] = (binaryString.charCodeAt(i) | - binaryString.charCodeAt(i+1) << 8 | - binaryString.charCodeAt(i+2) << 16 | - binaryString.charCodeAt(i+3) << 24) >>> 0; + for (var j = 0; j < len; j+=4) { + bytes[j/4] = (binaryString.charCodeAt(j) | + binaryString.charCodeAt(j+1) << 8 | + binaryString.charCodeAt(j+2) << 16 | + binaryString.charCodeAt(j+3) << 24) >>> 0; } curl.data = bytes; } @@ -93068,10 +94172,10 @@ Phaser.TilemapParser = { { var newCollection = new Phaser.ImageCollection(set.name, set.firstgid, set.tilewidth, set.tileheight, set.margin, set.spacing, set.properties); - for (var i in set.tiles) + for (var ti in set.tiles) { - var image = set.tiles[i].image; - var gid = set.firstgid + parseInt(i, 10); + var image = set.tiles[ti].image; + var gid = set.firstgid + parseInt(ti, 10); newCollection.addImage(gid, image); } @@ -93715,7 +94819,7 @@ Phaser.Particle.prototype.setScaleData = function(data) { * @param {number} x - The x coordinate (in world space) to position the Particle at. * @param {number} y - The y coordinate (in world space) to position the Particle at. * @param {number} [health=1] - The health to give the Particle. -* @return (Phaser.Particle) This instance. +* @return {Phaser.Particle} This instance. */ Phaser.Particle.prototype.reset = function(x, y, health) { @@ -94234,6 +95338,7 @@ Phaser.Particles.Arcade.Emitter.prototype.makeParticles = function (keys, frames * Call this function to turn off all the particles and the emitter. * * @method Phaser.Particles.Arcade.Emitter#kill +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.kill = function () { @@ -94241,18 +95346,23 @@ Phaser.Particles.Arcade.Emitter.prototype.kill = function () { this.alive = false; this.exists = false; + return this; + }; /** * Handy for bringing game objects "back to life". Just sets alive and exists back to true. * * @method Phaser.Particles.Arcade.Emitter#revive +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.revive = function () { this.alive = true; this.exists = true; + return this; + }; /** @@ -94261,6 +95371,7 @@ Phaser.Particles.Arcade.Emitter.prototype.revive = function () { * @method Phaser.Particles.Arcade.Emitter#explode * @param {number} [lifespan=0] - How long each particle lives once emitted in ms. 0 = forever. * @param {number} [quantity=0] - How many particles to launch. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.explode = function (lifespan, quantity) { @@ -94268,6 +95379,8 @@ Phaser.Particles.Arcade.Emitter.prototype.explode = function (lifespan, quantity this.start(true, lifespan, 0, quantity, false); + return this; + }; /** @@ -94283,6 +95396,7 @@ Phaser.Particles.Arcade.Emitter.prototype.explode = function (lifespan, quantity * @param {number} [quantity=1] - How many particles to launch each time the frequency is met. Can never be > Emitter.maxParticles. * @param {number} [total=-1] - How many particles to launch in total. If -1 it will carry on indefinitely. * @param {boolean} [immediate=true] - Should the flow start immediately (true) or wait until the first frequency event? (false) +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.flow = function (lifespan, frequency, quantity, total, immediate) { @@ -94312,6 +95426,8 @@ Phaser.Particles.Arcade.Emitter.prototype.flow = function (lifespan, frequency, this.start(false, lifespan, frequency, quantity); } + return this; + }; /** @@ -94323,6 +95439,7 @@ Phaser.Particles.Arcade.Emitter.prototype.flow = function (lifespan, frequency, * @param {number} [frequency=250] - Ignored if Explode is set to true. Frequency is how often to emit 1 particle. Value given in ms. * @param {number} [quantity=0] - How many particles to launch. 0 = "all of the particles" which will keep emitting until Emitter.maxParticles is reached. * @param {number} [forceQuantity=false] - If `true` and creating a particle flow, the quantity emitted will be forced to the be quantity given in this call. This can never exceed Emitter.maxParticles. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, frequency, quantity, forceQuantity) { @@ -94359,6 +95476,8 @@ Phaser.Particles.Arcade.Emitter.prototype.start = function (explode, lifespan, f this._timer = this.game.time.time + frequency * this.game.time.slowMotion; } + return this; + }; /** @@ -94508,12 +95627,15 @@ Phaser.Particles.Arcade.Emitter.prototype.destroy = function () { * @method Phaser.Particles.Arcade.Emitter#setSize * @param {number} width - The desired width of the emitter (particles are spawned randomly within these dimensions). * @param {number} height - The desired height of the emitter. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.setSize = function (width, height) { this.area.width = width; this.area.height = height; + return this; + }; /** @@ -94521,6 +95643,7 @@ Phaser.Particles.Arcade.Emitter.prototype.setSize = function (width, height) { * @method Phaser.Particles.Arcade.Emitter#setXSpeed * @param {number} [min=0] - The minimum value for this range. * @param {number} [max=0] - The maximum value for this range. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.setXSpeed = function (min, max) { @@ -94530,6 +95653,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setXSpeed = function (min, max) { this.minParticleSpeed.x = min; this.maxParticleSpeed.x = max; + return this; + }; /** @@ -94537,6 +95662,7 @@ Phaser.Particles.Arcade.Emitter.prototype.setXSpeed = function (min, max) { * @method Phaser.Particles.Arcade.Emitter#setYSpeed * @param {number} [min=0] - The minimum value for this range. * @param {number} [max=0] - The maximum value for this range. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.setYSpeed = function (min, max) { @@ -94546,6 +95672,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setYSpeed = function (min, max) { this.minParticleSpeed.y = min; this.maxParticleSpeed.y = max; + return this; + }; /** @@ -94554,6 +95682,7 @@ Phaser.Particles.Arcade.Emitter.prototype.setYSpeed = function (min, max) { * @method Phaser.Particles.Arcade.Emitter#setRotation * @param {number} [min=0] - The minimum value for this range. * @param {number} [max=0] - The maximum value for this range. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.setRotation = function (min, max) { @@ -94563,6 +95692,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setRotation = function (min, max) { this.minRotation = min; this.maxRotation = max; + return this; + }; /** @@ -94576,6 +95707,7 @@ Phaser.Particles.Arcade.Emitter.prototype.setRotation = function (min, max) { * @param {number} [rate=0] - The rate (in ms) at which the particles will change in alpha from min to max, or set to zero to pick a random alpha between the two. * @param {function} [ease=Phaser.Easing.Linear.None] - If you've set a rate > 0 this is the easing formula applied between the min and max values. * @param {boolean} [yoyo=false] - If you've set a rate > 0 you can set if the ease will yoyo or not (i.e. ease back to its original values) +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.setAlpha = function (min, max, rate, ease, yoyo) { @@ -94602,6 +95734,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setAlpha = function (min, max, rate, e this.autoAlpha = true; } + return this; + }; /** @@ -94617,6 +95751,7 @@ Phaser.Particles.Arcade.Emitter.prototype.setAlpha = function (min, max, rate, e * @param {number} [rate=0] - The rate (in ms) at which the particles will change in scale from min to max, or set to zero to pick a random size between the two. * @param {function} [ease=Phaser.Easing.Linear.None] - If you've set a rate > 0 this is the easing formula applied between the min and max values. * @param {boolean} [yoyo=false] - If you've set a rate > 0 you can set if the ease will yoyo or not (i.e. ease back to its original values) +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.setScale = function (minX, maxX, minY, maxY, rate, ease, yoyo) { @@ -94650,6 +95785,8 @@ Phaser.Particles.Arcade.Emitter.prototype.setScale = function (minX, maxX, minY, this.autoScale = true; } + return this; + }; /** @@ -94658,6 +95795,7 @@ Phaser.Particles.Arcade.Emitter.prototype.setScale = function (minX, maxX, minY, * * @method Phaser.Particles.Arcade.Emitter#at * @param {object|Phaser.Sprite|Phaser.Image|Phaser.TileSprite|Phaser.Text|PIXI.DisplayObject} object - The object that you wish to match the center with. +* @return {Phaser.Particles.Arcade.Emitter} This Emitter instance. */ Phaser.Particles.Arcade.Emitter.prototype.at = function (object) { @@ -94672,6 +95810,8 @@ Phaser.Particles.Arcade.Emitter.prototype.at = function (object) { this.emitY = object.world.y + (object.anchor.y * object.height); } + return this; + }; /** @@ -94997,6 +96137,18 @@ Phaser.Video = function (game, key, url) { */ this._autoplay = false; + /** + * @property {function} _endCallback - The addEventListener ended function. + * @private + */ + this._endCallback = null; + + /** + * @property {function} _playCallback - The addEventListener playing function. + * @private + */ + this._playCallback = null; + if (key && this.game.cache.checkVideoKey(key)) { var _video = this.game.cache.getVideo(key); @@ -95436,7 +96588,9 @@ Phaser.Video.prototype = { this.game.onPause.add(this.setPause, this); this.game.onResume.add(this.setResume, this); - this.video.addEventListener('ended', this.complete.bind(this), true); + this._endCallback = this.complete.bind(this); + + this.video.addEventListener('ended', this._endCallback, true); if (loop) { @@ -95466,7 +96620,8 @@ Phaser.Video.prototype = { } else { - this.video.addEventListener('playing', this.playHandler.bind(this), true); + this._playCallback = this.playHandler.bind(this); + this.video.addEventListener('playing', this._playCallback, true); } } @@ -95487,7 +96642,7 @@ Phaser.Video.prototype = { */ playHandler: function () { - this.video.removeEventListener('playing', this.playHandler.bind(this)); + this.video.removeEventListener('playing', this._playCallback, true); this.updateTexture(); @@ -95546,8 +96701,8 @@ Phaser.Video.prototype = { } else { - this.video.removeEventListener('ended', this.complete.bind(this), true); - this.video.removeEventListener('playing', this.playHandler.bind(this), true); + this.video.removeEventListener('ended', this._endCallback, true); + this.video.removeEventListener('playing', this._playCallback, true); if (this.touchLocked) { @@ -95927,7 +97082,7 @@ Phaser.Video.prototype = { }; /** -* @memberof Phaser.Video +* @name Phaser.Video#currentTime * @property {number} currentTime - The current time of the video in seconds. If set the video will attempt to seek to that point in time. */ Object.defineProperty(Phaser.Video.prototype, "currentTime", { @@ -95947,7 +97102,7 @@ Object.defineProperty(Phaser.Video.prototype, "currentTime", { }); /** -* @memberof Phaser.Video +* @name Phaser.Video#duration * @property {number} duration - The duration of the video in seconds. * @readOnly */ @@ -95962,7 +97117,7 @@ Object.defineProperty(Phaser.Video.prototype, "duration", { }); /** -* @memberof Phaser.Video +* @name Phaser.Video#progress * @property {number} progress - The progress of this video. This is a value between 0 and 1, where 0 is the start and 1 is the end of the video. * @readOnly */ diff --git a/build/phaser.map b/build/phaser.map index 02317b8be..e8aeab8f3 100644 --- a/build/phaser.map +++ b/build/phaser.map @@ -1 +1 @@ -{"version":3,"file":"phaser.min.js","sources":["phaser.js"],"names":["e","exports","module","define","f","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length",1,"_dereq_","Line","Scalar","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar",2,"Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","angle","acos","sqdist",3,"Polygon","this","vertices","getIntersectionPoint","delta","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point",4,"abs",5,"./Polygon",6,"name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp",7,"AABB","options","lowerBound","vec2","create","upperBound","setFromPoints","points","position","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils",8,"Broadphase","world","boundingVolumeType","Body","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body",9,"NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape",10,"Narrowphase","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","ContactEquationPool","size","frictionEquationPool","FrictionEquationPool","restitution","stiffness","Equation","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","TupleDictionary","contactSkinSize","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","pointInConvex","worldPoint","convexOffset","convexAngle","worldVertex0","pic_worldVertex0","worldVertex1","pic_worldVertex1","r0","pic_r0","r1","pic_r1","verts","lastCross","v0","v1","cross","crossLength","Circle","Convex","Shape","Box","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","enableFrictionBefore","circlePosi","circlePosj","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","candidateDistance","localVertex","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","swapped","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","tileHeight","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary",11,"Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","distanceFromIntersectionSquared","intersect","squaredDistance","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","distance","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult",12,"RaycastResult","isStopped","getHitDistance","getHitPoint","out","lerp","stop","../collision/Ray",13,"SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","Utils","appendArray","off","on","sortAxisList","sortList",14,"Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation",15,"DistanceConstraint","localAnchorA","localAnchorB","worldAnchorA","worldAnchorB","maxForce","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint",16,"GearConstraint","ratio","AngleLockEquation","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation",17,"LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis",18,"PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","RotationalLockEquation","velocity","upperLimitEquation","ContactEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation",19,"RevoluteConstraint","pivotA","pivotB","worldPivot","localPivotA","localPivotB","worldPivotA","worldPivotB","RotationalVelocityEquation","relAngle","motorIsEnabled","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation",20,"./Equation",21,"computeB","h","GW","Gq","GiMf","computeGiMf","B",22,"ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps",23,"FrictionEquation","getSlipForce",24,"worldVectorA","worldVectorB",25,26,"EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target",27,"ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material",28,29,"PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom",30,"crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","subtract","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y",31,"_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","Icm","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","speedSquared","speedLimitSquared","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","getVelocityAtPoint","sleepyEvent","../events/EventEmitter",32,"LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring",33,"RotationalSpring","restAngle",34,35,"TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint",36,"Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World",37,"arguments","axes","updateArea","./Convex","./Shape",38,"intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1",39,"Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint",40,"isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk",41,"key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo",42,"raycast_normal","raycast_l0","raycast_l1","raycast_unit_y",43,44,"intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","planeToTo","n_dot_dir",45,"material","sensor",46,"GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver",47,"equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND",48,"destroy","equation","./Pool",49,50,"IslandNodePool","IslandNode","../world/IslandNode",51,"IslandPool","Island","../world/Island",52,"OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","lastData","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils",53,"OverlapKeeperRecord",54,"record",55,"objects","resize","object",56,"getKey","dict",57,"howmany","P2_ARRAY_TYPE","Float32Array",58,"bodyIds",59,"IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode",60,61,"springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","speedSquaredB","speedLimitSquaredB","speedSquaredA","speedLimitSquaredA","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","pa","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager","PIXI","game","WEBGL_RENDERER","CANVAS_RENDERER","VERSION","_UID","Uint16Array","Uint32Array","ArrayBuffer","PI_2","RAD_TO_DEG","DEG_TO_RAD","RETINA_PREFIX","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","stage","worldAlpha","worldTransform","Matrix","worldScale","worldRotation","_sr","_cr","filterArea","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","item","isMask","_filters","passes","filterPasses","_filterBlock","blendMode","blendModes","MULTIPLY","NORMAL","_generateCachedSprite","updateTransform","tx","ty","pt","wt","rotationCache","atan2","transformCallback","transformCallbackContext","displayObjectUpdateTransform","getBounds","matrix","EmptyRectangle","getLocalBounds","identityMatrix","setStageReference","preUpdate","generateTexture","resolution","scaleMode","renderer","bounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","toGlobal","toLocal","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","gl","Sprite","_renderWebGL","_renderCanvas","texture","tempFilters","filters","anchor","DisplayObjectContainer","_width","_height","addChild","addChildAt","removeChild","swapChildren","child2","index1","getChildIndex","index2","setChildIndex","currentIndex","getChildAt","removeChildAt","removeStageReference","removeChildren","beginIndex","endIndex","begin","range","removed","displayObjectContainerUpdateTransform","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","matrixCache","spriteBatch","flush","filterManager","pushFilter","maskManager","pushMask","mask","popMask","popFilter","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","baseTexture","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","valid","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","crop","currentBlendMode","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","scaleModes","LINEAR","trim","roundPixels","setTransform","cw","ch","requiresReTint","CanvasTinter","getTintedTexture","drawImage","source","fromFrame","frameId","TextureCache","fromImage","imageId","crossorigin","SpriteBatch","textureThing","ready","initWebGL","fastSpriteBatch","WebGLFastSpriteBatch","setContext","shaderManager","setShader","fastShader","transform","isRotated","childTransform","hex2rgb","hex","rgb2hex","rgb","canUseNewCanvasBlendModes","document","pngHead","pngEnd","magenta","Image","src","yellow","canvas","CanvasPool","getContext","getImageData","remove","getNextPowerOfTwo","number","isPowerOfTwo","getFirst","container","createElement","pool","removeByCanvas","getTotal","getFree","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","PixiShader","program","textureCount","firstRun","dirty","attributes","init","defaultVertexSrc","useProgram","uSampler","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","uniforms","uniformLocation","initUniforms","uniform","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","activeTexture","bindTexture","TEXTURE_2D","_glTextures","textureData","magFilter","minFilter","wrapS","CLAMP_TO_EDGE","wrapT","format","LUMINANCE","RGBA","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","texImage2D","UNSIGNED_BYTE","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","uniform1i","syncUniforms","transpose","z","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","_contextOptions","antialias","premultipliedAlpha","stencil","projection","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","drawCount","initContext","mapBlendModes","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","contextLost","viewport","bindFramebuffer","FRAMEBUFFER","clearColor","_bgColor","COLOR_BUFFER_BIT","renderDisplayObject","displayObject","buffer","setBlendMode","style","createTexture","UNPACK_PREMULTIPLY_ALPHA_WEBGL","NEAREST","mipmap","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","drawElements","TRIANGLE_FAN","indices","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","uniform1f","toArray","uniform2f","uniform3fv","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","maxAttibs","attribState","tempAttribState","stack","defaultShader","stripShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","numVerts","numIndices","positions","colors","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","AbstractFilter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","TEXTURE0","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skipRender","renderBatch","startIndex","TRIANGLES","deleteBuffer","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorBuffer","colorArray","createFramebuffer","DEFAULT","framebufferTexture2D","COLOR_ATTACHMENT0","renderBuffer","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","pixels","canHandleAlpha","putImageData","checkInverseAlpha","s1","s2","canUseMultiply","CanvasRenderer","refresh","Phaser","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","BaseTextureCache","BaseTextureCacheIdGenerator","BaseTexture","complete","naturalWidth","naturalHeight","imageUrl","forceLoaded","_pixiId","unloadFromGPU","updateSourceImage","newSrc","glTexture","image","crossOrigin","fromCanvas","TextureCacheIdGenerator","FrameCache","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","addTextureToCache","removeTextureFromCache","textureBuffer","renderWebGL","renderCanvas","tempMatrix","updateBase","identity","translate","realResolution","getImage","getBase64","getCanvas","toDataURL","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","Strip","canvasPadding","drawMode","DrawModes","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","v2","paddingX","paddingY","centerX","centerY","normX","normY","beginPath","moveTo","lineTo","closePath","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","fill","updateFrame","rawX","rawY","Rope","lastPoint","amount","total","nextPoint","perp","perpLength","TilingSprite","textureDebug","canvasBuffer","tilePattern","refreshTexture","frameWidth","frameHeight","generateTilingTexture","createPattern","sessionBlendMode","forcePowerOfTwo","targetWidth","_frame","sourceSizeW","targetHeight","sourceSizeH","trimmed","spriteSourceSizeX","spriteSourceSizeY","strokeStyle","strokeRect","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","RECTANGLE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","trunc","Function","bind","thisArg","bound","args","boundArgs","concat","TypeError","F","proto","arg","forEach","fun","CheapArray","assert","getProperty","obj","prop","parts","setProperty","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","parseInt","innerWidth","innerHeight","pad","dir","padlen","isPlainObject","nodeType","hasOwnProperty","copyIsArray","deep","mixinPrototype","mixin","replace","mixinKeys","childNodes","cloneNode","diameter","_diameter","_radius","circumference","setTo","copyFrom","copyTo","dest","round","output","contains","circumferencePoint","asDegrees","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","xDist","halfHeight","yDist","xCornerDist","yCornerDist","xCornerDistSq","yCornerDistSq","maxCornerDistSq","Ellipse","normx","normy","fromSprite","startSprite","endSprite","useCenter","center","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","pointOnSegment","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","uc","ua","ub","normalAngle","fromArray","newPos","tx1","invert","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","_points","closed","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","empty","inflatePoint","containsRaw","rx","ry","rw","rh","volume","sameDimensions","MIN_VALUE","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","_targetPosition","_edge","_position","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","follow","helper","unfollow","focusOn","setPosition","focusOnXY","updateTarget","checkBounds","setBoundsToWorld","setSize","State","make","camera","cache","input","load","math","sound","tweens","particles","physics","rnd","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","Signal","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","boot","onPause","pause","onResume","resume","state","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","dispatch","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","exists","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","webkitHidden","mozHidden","msHidden","hidden","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","SORT_ASCENDING","SORT_DESCENDING","silent","addToHash","events","onAddedToGroup$dispatch","removeFromHash","addMultiple","moveAll","addAt","updateZ","getAt","createMultiple","quantity","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","addAll","property","subAll","multiplyAll","divideAll","callAllExists","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","checkExists","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","getFirstExists","createIfNull","resetChild","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","destroyPhase","onRemovedFromGroup$dispatch","group","removeBetween","destroyChildren","soft","_definedSize","stateChange","setBounds","useBounds","horizontal","vertical","between","Game","physicsConfig","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Cache","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","webAudio","chrome","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","enableStep","disableStep","removeFromDOM","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","pollRate","multiInputOverride","MOUSE_TOUCH_COMBINE","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","addMoveCallback","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","limit","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","worldVisible","TileSprite","Graphics","graphicsData","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","duration","justReleased","pointerMode","CONTACT","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchLockCallbacks","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","addTouchLockCallback","onEnd","removeTouchLockCallback","cb","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","consumePointerEvent","scaleLayer","dragOffset","dragFromCenter","dragStartPoint","snapPoint","_dragPoint","_dragPhase","_wasEnabled","_tempPoint","_pointerData","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","flagged","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","_draggedPointerID","updateDrag","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","startDrag","onInputUp$dispatch","stopDrag","globalToLocalX","globalToLocalY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","onDragStart$dispatch","grid","boundsFluid","scaleFluidInversed","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_rawPad","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","processAxisChange","triggerCallback","disconnectingIndex","axisCode","buttonValue","Key","keycode","_enabled","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","C","D","E","H","J","K","L","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","BringToTop","Core","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","Delta","Destroy","onDestroy$dispatch","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","heal","InCamera","InputEnabled","inputEnabled","InWorld","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","img","base","frameData","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","creature","mesh","Creature","tween","physicsGroup","audio","audioSprite","addSprite","tileSprite","rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","Tilemap","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","align","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","STATE_OVER","STATE_OUT","STATE_DOWN","STATE_UP","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","changedUp","ctx","imageData","textureFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","addImage","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","HSLtoRGB","shiftHSL","limitValue","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","op","copyRect","drawGroup","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","arc","lineWidth","stroke","textureLine","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","fillAlpha","lineColor","currentPath","boundsPadding","_localBounds","webGLDirty","cachedSpriteDirty","lineStyle","lineAlpha","drawShape","quadraticCurveTo","cpX","cpY","toX","toY","xa","ya","fromX","fromY","bezierCurveTo","cpX2","cpY2","dt2","dt3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qx","qy","startAngle","endAngle","anticlockwise","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","real","beginFill","fillColor","endFill","drawRect","drawRoundedRect","drawCircle","drawEllipse","drawPolygon","clearDirty","updateCachedSpriteTexture","_prevTint","updateLocalBounds","tempPoint","RECT","RREC","CIRC","ELIP","cachedSprite","destroyCachedSprite","GraphicsData","POLY","_lineTint","_fillTint","sign","lastIndex","graphicsDataPool","switchMode","canDrawUsingSimple","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","getPt","n1","n2","perc","diff","xb","yb","circleData","totalSegs","seg","firstPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","pdist","indexCount","indexStart","glPoints","glIndicies","updateGraphicsTint","kappa","ox","oy","xe","ye","xm","ym","maxRadius","tintR","tintG","tintB","drawTriangle","cull","triangle","cameraToFace","faceNormal","drawTriangles","point1","point2","point3","renderXY","renderRawXY","textBounds","strokeColors","fontStyles","fontWeights","autoRound","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","spaceLeft","words","wordWidth","wordWidthWithSpace","updateFont","fontFamily","setText","parseList","list","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","exec","parseFloat","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","FrameData","currentX","currentY","addFrame","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","updateAnimation","_updateAnimation","segments","difference","_scroll","def","physicsElapsed","autoScroll","stopScroll","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ie","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkOS","vita","kindle","RegExp","$1","_checkFeatures","getItem","error","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkInput","documentElement","maxTouchPoints","msPointerEnabled","pointerEnabled","_checkFullScreenSupport","fs","cfs","Element","_checkBrowser","$3","process","versions","_checkVideo","videoElement","canPlayType","_checkAudio","audioElement","_checkDevice","Int8Array","_checkIsLittleEndian","Uint8ClampedArray","Int32Array","_checkIsUint8ClampedImageData","vibrate","webkitVibrate","mozVibrate","msVibrate","elem","createImageData","_checkCSS3D","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","canPlayAudio","canPlayVideo","isConsoleOpen","profile","profileEnd","isAndroidStockBrowser","matches","skipPool","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","fuzzyEqual","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","val","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","floorTo","ceilTo","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","radians","linearInterpolation","linear","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","percent","degreeToRadiansFactor","radianToDegreesFactor","degrees","seeds","s0","sow","integer","frac","integerInRange","realInRange","pick","ary","weightedPick","QuadTree","maxObjects","maxLevels","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","re","separator","getQueryString","parameter","keyValues","search","substring","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","getAll","pendingDelete","removeFrom","_manager","addTweens","numTweens","isTweening","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","elapsedMS","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","useLocalFrameIndex","frameIndex","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","rotated","rotationDirection","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","row","column","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","signature","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","_cache","binary","bitmapFont","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","addCanvas","removeImage","_resolveURL","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","LoaderParser","jsonBitmapFont","xmlBitmapFont","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getJSON","getXML","getVideo","getShader","getRenderTexture","getBaseTexture","getFrameCount","getFrameByIndex","getPixiTexture","getPixiBaseTexture","getURL","getKeys","removeCanvas","removeFromPixi","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","atlas","baseURL","isLoading","preloadSprite","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","extension","syncPoint","currentFile","replaceInFileList","pack","images","urls","script","spritesheet","autoDecode","noAudio","audiosprite","jsonURL","jsonData","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onload","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","Blob","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","onFadeComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","mute","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","fakeiOSTouchLock","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","reflowGame","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","currentColor","soundInfo","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","filled","rectangle","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","geom","forceType","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","PORTRAIT","LANDSCAPE","matchMedia","documentBounds","pageXOffset","pageYOffset","treatAsDesktop","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","randomIndex","removeRandomItem","shuffle","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","POSITIVE_INFINITY","numberArray","numberArrayStep","LinkedList","entity","palettes","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","cellWidth","cellHeight","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","q","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","velocityDelta","computeVelocity","angularAcceleration","angularDrag","maxAngular","acceleration","drag","maxVelocity","allowGravity","object1","object2","overlapCallback","processCallback","collideHandler","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","group1","group2","body1","body2","separateX","separateY","immovable","maxOverlap","deltaAbsX","embedded","touching","none","overlapX","customSeparateX","bounce","moves","nv1","nv2","avg","deltaAbsY","overlapY","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","allowRotation","preRotation","newVelocity","deltaMax","facing","collideWorldBounds","any","wasTouching","blocked","tilePadding","syncBounds","_sx","_sy","updateBounds","asx","asy","check","onFloor","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","separateTile","tile","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","setImpactEvents","impactHandler","setPostBroadphaseCallback","postBroadphaseHandler","_bodyCallbacks","_bodyCallbackContext","_groupCallbacks","_groupCallbackContext","setCollisionGroup","setWorldMaterial","updateBoundsCollisionGroup","fixedStepTime","impactCallback","createDistanceConstraint","getBody","createGearConstraint","createRevoluteConstraint","createLockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","setMaterial","createMaterial","createContactMaterial","getSprings","getConstraints","filterStatic","physicsPosition","query","toJSON","createCollisionGroup","bitmask","createSpring","worldA","worldB","localA","localB","createRotationalSpring","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","setter","getFixtures","setMask","setSensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","shapeChanged","impulse","localX","localY","setZeroRotation","setZeroVelocity","setZeroDamping","rotateLeft","rotateRight","moveForward","moveBackward","thrust","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","setCircle","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","generatedShapes","categoryBits","maskBits","isSensor","polygons","loadPolygon","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","TilemapLayer","indexes","getImageIndex","getObjectIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","baseY","normStartX","normStartY","tileColor","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","fields","sliced","curl","compression","encoding","binaryString","atob","bytes","opacity","flippedVal","curi","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","curo","polygon","ellipse","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","_minParticleScale","_maxParticleScale","_quantity","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particle","rndKey","rndFrame","explode","flow","forceQuantity","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_autoplay","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"phaser.min.js","sources":["phaser.js"],"names":["e","exports","module","define","f","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length",1,"_dereq_","Line","Scalar","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar",2,"Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","angle","acos","sqdist",3,"Polygon","this","vertices","getIntersectionPoint","delta","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point",4,"abs",5,"./Polygon",6,"name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp",7,"AABB","options","lowerBound","vec2","create","upperBound","setFromPoints","points","position","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils",8,"Broadphase","world","boundingVolumeType","Body","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body",9,"NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape",10,"Narrowphase","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","ContactEquationPool","size","frictionEquationPool","FrictionEquationPool","restitution","stiffness","Equation","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","TupleDictionary","contactSkinSize","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","pointInConvex","worldPoint","convexOffset","convexAngle","worldVertex0","pic_worldVertex0","worldVertex1","pic_worldVertex1","r0","pic_r0","r1","pic_r1","verts","lastCross","v0","v1","cross","crossLength","Circle","Convex","Shape","Box","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","enableFrictionBefore","circlePosi","circlePosj","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","candidateDistance","localVertex","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","swapped","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","tileHeight","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary",11,"Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","distanceFromIntersectionSquared","intersect","squaredDistance","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","distance","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult",12,"RaycastResult","isStopped","getHitDistance","getHitPoint","out","lerp","stop","../collision/Ray",13,"SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","Utils","appendArray","off","on","sortAxisList","sortList",14,"Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation",15,"DistanceConstraint","localAnchorA","localAnchorB","worldAnchorA","worldAnchorB","maxForce","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint",16,"GearConstraint","ratio","AngleLockEquation","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation",17,"LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis",18,"PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","RotationalLockEquation","velocity","upperLimitEquation","ContactEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation",19,"RevoluteConstraint","pivotA","pivotB","worldPivot","localPivotA","localPivotB","worldPivotA","worldPivotB","RotationalVelocityEquation","relAngle","motorIsEnabled","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation",20,"./Equation",21,"computeB","h","GW","Gq","GiMf","computeGiMf","B",22,"ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps",23,"FrictionEquation","getSlipForce",24,"worldVectorA","worldVectorB",25,26,"EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target",27,"ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material",28,29,"PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom",30,"crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","subtract","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y",31,"_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","Icm","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","speedSquared","speedLimitSquared","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","getVelocityAtPoint","sleepyEvent","../events/EventEmitter",32,"LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring",33,"RotationalSpring","restAngle",34,35,"TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint",36,"Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World",37,"arguments","axes","updateArea","./Convex","./Shape",38,"intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1",39,"Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint",40,"isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk",41,"key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo",42,"raycast_normal","raycast_l0","raycast_l1","raycast_unit_y",43,44,"intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","planeToTo","n_dot_dir",45,"material","sensor",46,"GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver",47,"equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND",48,"destroy","equation","./Pool",49,50,"IslandNodePool","IslandNode","../world/IslandNode",51,"IslandPool","Island","../world/Island",52,"OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","lastData","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils",53,"OverlapKeeperRecord",54,"record",55,"objects","resize","object",56,"getKey","dict",57,"howmany","P2_ARRAY_TYPE","Float32Array",58,"bodyIds",59,"IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode",60,61,"springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","speedSquaredB","speedLimitSquaredB","speedSquaredA","speedLimitSquaredA","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","pa","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager","PIXI","game","WEBGL_RENDERER","CANVAS_RENDERER","VERSION","_UID","Uint16Array","Uint32Array","ArrayBuffer","PI_2","RAD_TO_DEG","DEG_TO_RAD","RETINA_PREFIX","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","stage","worldAlpha","worldTransform","Matrix","worldScale","worldRotation","_sr","_cr","filterArea","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","item","isMask","_filters","passes","filterPasses","_filterBlock","blendMode","blendModes","MULTIPLY","NORMAL","_generateCachedSprite","updateTransform","tx","ty","pt","wt","rotationCache","atan2","transformCallback","transformCallbackContext","displayObjectUpdateTransform","getBounds","matrix","EmptyRectangle","getLocalBounds","identityMatrix","setStageReference","preUpdate","generateTexture","resolution","scaleMode","renderer","bounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","toGlobal","toLocal","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","gl","Sprite","_renderWebGL","_renderCanvas","texture","tempFilters","filters","anchor","DisplayObjectContainer","_width","_height","addChild","addChildAt","removeChild","swapChildren","child2","index1","getChildIndex","index2","setChildIndex","currentIndex","getChildAt","removeChildAt","removeStageReference","removeChildren","beginIndex","endIndex","begin","range","removed","displayObjectContainerUpdateTransform","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","matrixCache","spriteBatch","flush","filterManager","pushFilter","maskManager","pushMask","mask","popMask","popFilter","Texture","emptyTexture","tint","cachedTint","tintedTexture","shader","baseTexture","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","crop","currentBlendMode","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","scaleModes","LINEAR","trim","roundPixels","setTransform","cw","ch","requiresReTint","CanvasTinter","getTintedTexture","drawImage","source","fromFrame","frameId","TextureCache","fromImage","imageId","crossorigin","SpriteBatch","textureThing","ready","initWebGL","fastSpriteBatch","WebGLFastSpriteBatch","setContext","shaderManager","setShader","fastShader","transform","isRotated","childTransform","hex2rgb","hex","rgb2hex","rgb","canUseNewCanvasBlendModes","document","pngHead","pngEnd","magenta","Image","src","yellow","canvas","CanvasPool","getContext","getImageData","remove","getNextPowerOfTwo","number","isPowerOfTwo","getFirst","container","createElement","pool","removeByCanvas","getTotal","getFree","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","PixiShader","program","textureCount","firstRun","dirty","attributes","init","defaultVertexSrc","useProgram","uSampler","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","uniforms","uniformLocation","initUniforms","uniform","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","activeTexture","bindTexture","TEXTURE_2D","_glTextures","textureData","magFilter","minFilter","wrapS","CLAMP_TO_EDGE","wrapT","format","LUMINANCE","RGBA","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","texImage2D","UNSIGNED_BYTE","texParameteri","TEXTURE_MAG_FILTER","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","TEXTURE_WRAP_T","uniform1i","syncUniforms","transpose","z","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","defaultRenderer","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","view","_contextOptions","antialias","premultipliedAlpha","stencil","projection","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","drawCount","initContext","mapBlendModes","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","contextLost","viewport","bindFramebuffer","FRAMEBUFFER","clearColor","_bgColor","COLOR_BUFFER_BIT","renderDisplayObject","displayObject","buffer","setBlendMode","style","createTexture","UNPACK_PREMULTIPLY_ALPHA_WEBGL","NEAREST","mipmap","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","drawElements","TRIANGLE_FAN","indices","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","uniform1f","toArray","uniform2f","uniform3fv","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","maxAttibs","attribState","tempAttribState","stack","defaultShader","stripShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","numVerts","numIndices","positions","colors","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","AbstractFilter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","TEXTURE0","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorBuffer","colorArray","createFramebuffer","DEFAULT","framebufferTexture2D","COLOR_ATTACHMENT0","renderBuffer","createRenderbuffer","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","pixels","canHandleAlpha","putImageData","checkInverseAlpha","s1","s2","canUseMultiply","CanvasRenderer","refresh","Phaser","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","BaseTextureCache","BaseTextureCacheIdGenerator","BaseTexture","complete","naturalWidth","naturalHeight","imageUrl","forceLoaded","unloadFromGPU","updateSourceImage","newSrc","glTexture","image","crossOrigin","fromCanvas","_pixiId","TextureCacheIdGenerator","FrameCache","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","addTextureToCache","removeTextureFromCache","textureBuffer","renderWebGL","renderCanvas","tempMatrix","updateBase","identity","translate","realResolution","getImage","getBase64","getCanvas","toDataURL","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","Strip","canvasPadding","drawMode","DrawModes","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","v2","paddingX","paddingY","centerX","centerY","normX","normY","beginPath","moveTo","lineTo","closePath","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","fill","updateFrame","rawX","rawY","Rope","lastPoint","amount","total","nextPoint","perp","perpLength","TilingSprite","textureDebug","canvasBuffer","tilePattern","refreshTexture","frameWidth","frameHeight","generateTilingTexture","createPattern","sessionBlendMode","forcePowerOfTwo","targetWidth","_frame","sourceSizeW","targetHeight","sourceSizeH","trimmed","spriteSourceSizeX","spriteSourceSizeY","strokeStyle","strokeRect","amd","WheelEventProxy","scaleFactor","deltaMode","_scaleFactor","_deltaMode","originalEvent","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","RECTANGLE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","trunc","Function","bind","thisArg","bound","args","boundArgs","concat","TypeError","F","proto","arg","forEach","fun","CheapArray","assert","getProperty","obj","prop","parts","setProperty","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","parseInt","innerWidth","innerHeight","pad","dir","padlen","isPlainObject","nodeType","hasOwnProperty","copyIsArray","deep","mixinPrototype","mixin","replace","mixinKeys","childNodes","cloneNode","diameter","_diameter","_radius","circumference","setTo","copyFrom","copyTo","dest","round","output","contains","circumferencePoint","asDegrees","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","xDist","halfHeight","yDist","xCornerDist","yCornerDist","xCornerDistSq","yCornerDistSq","maxCornerDistSq","Ellipse","normx","normy","fromSprite","startSprite","endSprite","useCenter","center","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","pointOnSegment","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","uc","ua","ub","normalAngle","fromArray","newPos","tx1","invert","clampX","clamp","clampY","radToDeg","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","_points","closed","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","empty","inflatePoint","containsRaw","rx","ry","rw","rh","volume","sameDimensions","MIN_VALUE","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","_targetPosition","_edge","_position","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","follow","helper","unfollow","focusOn","setPosition","focusOnXY","updateTarget","checkBounds","setBoundsToWorld","setSize","State","make","camera","cache","input","load","math","sound","tweens","particles","physics","rnd","preload","loadUpdate","loadRender","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","Signal","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","boot","onPause","pause","onResume","resume","state","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","dispatch","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","addOnce","_destroy","getNumListeners","halt","bindings","paramsArr","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","postUpdate","Stage","disableVisibilityChange","exists","currentRenderOrderID","_hiddenVar","_onChange","config","parseConfig","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","webkitHidden","mozHidden","msHidden","hidden","visibilityChange","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","hash","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","SORT_ASCENDING","SORT_DESCENDING","silent","removeFromHash","addToHash","events","onAddedToGroup$dispatch","addMultiple","moveAll","addAt","updateZ","getAt","createMultiple","quantity","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","addAll","property","subAll","multiplyAll","divideAll","callAllExists","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","checkExists","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","getFirstExists","createIfNull","resetChild","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","destroyPhase","onRemovedFromGroup$dispatch","group","removeBetween","destroyChildren","soft","_definedSize","stateChange","setBounds","useBounds","horizontal","vertical","between","Game","physicsConfig","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Cache","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","showDebugHeader","RequestAnimationFrame","stopFocus","focus","hideBanner","webAudio","chrome","webGL","contextRestored","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","enableStep","disableStep","removeFromDOM","setMute","cordova","iOS","unsetMute","hitCanvas","hitContext","moveCallbacks","pollRate","multiInputOverride","MOUSE_TOUCH_COMBINE","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","addMoveCallback","deleteMoveCallback","TOUCH","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","limit","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","worldVisible","TileSprite","Graphics","graphicsData","processClickTrampolines","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","mouseWheelCallback","capture","button","wheelDelta","locked","stopOnGameOut","pointerLock","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","_onMouseWheel","_wheelEvent","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","WHEEL_UP","WHEEL_DOWN","android","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","onMouseOut","onMouseOver","onMouseWheel","wheelEvent","mouseMoveCallback","withinGame","bindEvent","deltaY","requestPointerLock","element","mozRequestPointerLock","webkitRequestPointerLock","_pointerLockChange","pointerLockChange","pointerLockElement","mozPointerLockElement","webkitPointerLockElement","releasePointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","_stubsGenerated","makeBinder","defineProperties","detail","deltaX","wheelDeltaX","deltaZ","pointerDownCallback","pointerMoveCallback","pointerUpCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","padFloat","justPressed","duration","justReleased","pointerMode","CONTACT","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","resetButtons","processButtonsDown","buttons","processButtonsUp","updateButtons","down","toLowerCase","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","_pointerOutHandler","_pointerOverHandler","leave","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","touchLockCallbacks","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","addTouchLockCallback","onEnd","removeTouchLockCallback","cb","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStartPoint","snapPoint","_dragPoint","_dragPhase","_wasEnabled","_tempPoint","_pointerData","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","flagged","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","_draggedPointerID","updateDrag","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","startDrag","onInputUp$dispatch","stopDrag","fromStart","globalToLocalX","globalToLocalY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","onDragStart$dispatch","grid","boundsFluid","scaleFluidInversed","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_rawPad","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","processAxisChange","triggerCallback","disconnectingIndex","axisCode","buttonValue","Key","keycode","_enabled","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","C","D","E","H","J","K","L","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","BringToTop","Core","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","Delta","Destroy","destroyTexture","onDestroy$dispatch","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onRemovedFromWorld","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onRemovedFromWorld","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","backing","_fixedToCamera","Health","health","maxHealth","damage","kill","setHealth","heal","InCamera","InputEnabled","inputEnabled","InWorld","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","revive","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","img","base","frameData","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","creature","mesh","Creature","tween","physicsGroup","audio","audioSprite","addSprite","tileSprite","rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","Tilemap","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","align","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","removedFromWorld","STATE_OVER","STATE_OUT","STATE_DOWN","STATE_UP","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","changedUp","ctx","imageData","textureFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","addImage","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","op","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","arc","lineWidth","stroke","textureLine","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","fillAlpha","lineColor","currentPath","boundsPadding","_localBounds","webGLDirty","cachedSpriteDirty","lineStyle","lineAlpha","drawShape","quadraticCurveTo","cpX","cpY","toX","toY","xa","ya","fromX","fromY","bezierCurveTo","cpX2","cpY2","dt2","dt3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qx","qy","startAngle","endAngle","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","real","beginFill","fillColor","endFill","drawRect","drawRoundedRect","drawCircle","drawEllipse","drawPolygon","clearDirty","updateCachedSpriteTexture","_prevTint","updateLocalBounds","tempPoint","RECT","RREC","CIRC","ELIP","cachedSprite","destroyCachedSprite","GraphicsData","POLY","_lineTint","_fillTint","sign","EarCut","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","eliminateHoles","earcutLinked","clockwise","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","list","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","Node","an","bp","stencilBufferLimit","lastIndex","graphicsDataPool","switchMode","canDrawUsingSimple","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","getPt","n1","n2","perc","diff","xb","yb","circleData","totalSegs","seg","firstPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","pdist","indexCount","indexStart","glPoints","glIndicies","updateGraphicsTint","kappa","ox","oy","xe","ye","xm","ym","maxRadius","tintR","tintG","tintB","drawTriangle","cull","triangle","cameraToFace","faceNormal","drawTriangles","point1","point2","point3","renderXY","renderRawXY","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","backgroundColor","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","wrappedLines","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","exec","parseFloat","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","FrameData","currentX","currentY","addFrame","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","updateAnimation","_updateAnimation","difference","_scroll","def","physicsElapsed","autoScroll","stopScroll","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chromeVersion","epiphany","firefox","firefoxVersion","ie","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkOS","vita","kindle","RegExp","$1","_checkFeatures","getItem","error","WebGLRenderingContext","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkInput","documentElement","maxTouchPoints","msPointerEnabled","pointerEnabled","_checkFullScreenSupport","fs","cfs","Element","_checkBrowser","$3","process","versions","_checkVideo","videoElement","canPlayType","_checkAudio","audioElement","_checkDevice","Int8Array","_checkIsLittleEndian","Uint8ClampedArray","Int32Array","_checkIsUint8ClampedImageData","vibrate","webkitVibrate","mozVibrate","msVibrate","elem","createImageData","_checkCSS3D","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","canPlayAudio","canPlayVideo","isConsoleOpen","profile","profileEnd","isAndroidStockBrowser","matches","skipPool","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","setImageRenderingCrisp","types","msInterpolationMode","setImageRenderingBicubic","forceSetTimeOut","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","PI2","fuzzyEqual","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","val","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","floorTo","ceilTo","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","radians","linearInterpolation","linear","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","percent","degreeToRadiansFactor","radianToDegreesFactor","degrees","seeds","s0","sow","integer","frac","integerInRange","realInRange","pick","ary","weightedPick","QuadTree","maxObjects","maxLevels","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","substring","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","getAll","pendingDelete","removeFrom","_manager","addTweens","numTweens","isTweening","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","yoyoCounter","ms","elapsedMS","fps","blob","reversed","asin","prevTime","_desiredFps","suggestedFps","advancedTiming","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","useLocalFrameIndex","frameIndex","dispatchComplete","onAnimationComplete$dispatch","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","rotated","rotationDirection","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","row","column","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","signature","tileheight","tilewidth","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","_cache","binary","bitmapFont","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","addDefaultImage","addMissingImage","addCanvas","removeImage","_resolveURL","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","LoaderParser","jsonBitmapFont","xmlBitmapFont","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getJSON","getXML","getVideo","getShader","getRenderTexture","getBaseTexture","getFrameCount","getFrameByIndex","getPixiTexture","getPixiBaseTexture","getURL","getKeys","removeCanvas","removeFromPixi","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","atlas","baseURL","isLoading","preloadSprite","onLoadStart","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","useXDomainRequest","_warnedAboutXDomainRequest","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","extension","syncPoint","currentFile","replaceInFileList","pack","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onload","onerror","controls","autoplay","videoLoadEvent","canplay","Audio","playThroughEvent","XDomainRequest","xhrLoadWithXDR","xhr","XMLHttpRequest","open","responseType","message","send","timeout","ontimeout","onprogress","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","Blob","response","decode","language","defer","head","contentType","domparser","DOMParser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","externalNode","masterGainNode","gainNode","_sound","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","onFadeComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","onended","isDecoded","loopFull","forceRestart","noteOff","createBufferSource","noteGrainOn","muted","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","mute","onSoundDecode","onVolumeChange","onUnMute","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","disableAudio","disableWebAudio","audioContext","fakeiOSTouchLock","setTouchLock","unlock","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","playbackState","PLAYING_STATE","FINISHED_STATE","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","setUserScale","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","reflowGame","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","pageAlignHorizontally","pageAlignVertically","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","ALLOW_KEYBOARD_INPUT","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","bmd","columnWidth","renderShadow","currentAlpha","currentColor","soundInfo","cameraInfo","hideIfUp","downColor","upColor","worldX","worldY","spriteInputInfo","justDown","justUp","inputInfo","spriteBounds","filled","rectangle","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","geom","forceType","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","PORTRAIT","LANDSCAPE","matchMedia","documentBounds","pageXOffset","pageYOffset","treatAsDesktop","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","randomIndex","removeRandomItem","shuffle","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","POSITIVE_INFINITY","numberArray","numberArrayStep","LinkedList","entity","palettes","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","pixelWidth","pixelHeight","palette","cellWidth","cellHeight","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","layers","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","steps","currentStep","src1","src2","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","velocityDelta","computeVelocity","angularAcceleration","angularDrag","maxAngular","acceleration","drag","maxVelocity","allowGravity","object1","object2","overlapCallback","processCallback","collideHandler","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","group1","group2","body1","body2","separateX","separateY","immovable","maxOverlap","deltaAbsX","embedded","touching","none","overlapX","customSeparateX","bounce","moves","nv1","nv2","avg","deltaAbsY","overlapY","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","worldAngleToPointer","allowRotation","preRotation","newVelocity","deltaMax","facing","collideWorldBounds","any","wasTouching","blocked","tilePadding","syncBounds","_sx","_sy","updateBounds","asx","asy","check","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","separateTile","tile","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","setImpactEvents","impactHandler","setPostBroadphaseCallback","postBroadphaseHandler","_bodyCallbacks","_bodyCallbackContext","_groupCallbacks","_groupCallbackContext","setCollisionGroup","setWorldMaterial","updateBoundsCollisionGroup","fixedStepTime","impactCallback","createDistanceConstraint","getBody","createGearConstraint","createRevoluteConstraint","createLockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","setMaterial","createMaterial","createContactMaterial","getSprings","getConstraints","filterStatic","physicsPosition","query","toJSON","createCollisionGroup","bitmask","createSpring","worldA","worldB","localA","localB","createRotationalSpring","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","polyline","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","addRectangle","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","setter","getFixtures","setMask","setSensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","shapeChanged","impulse","localX","localY","setZeroRotation","setZeroVelocity","setZeroDamping","rotateLeft","rotateRight","moveForward","moveBackward","thrust","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","setCircle","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","generatedShapes","categoryBits","maskBits","isSensor","polygons","loadPolygon","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","widthInPixels","heightInPixels","tilesets","imagecollections","tiles","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","TilemapLayer","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","baseY","normStartX","normStartY","tileColor","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","fields","sliced","curl","compression","encoding","binaryString","atob","bytes","opacity","flippedVal","curi","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","curo","polygon","ellipse","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","_minParticleScale","_maxParticleScale","_quantity","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particle","rndKey","rndFrame","explode","flow","forceQuantity","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","onAccess","onError","onTimeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","playing","ended","changeSource","grab","hasChildNodes","firstChild","removeAttribute"],"mappings":"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"} \ No newline at end of file diff --git a/build/phaser.min.js b/build/phaser.min.js index 45dba0e97..af99c906c 100644 --- a/build/phaser.min.js +++ b/build/phaser.min.js @@ -1,27 +1,27 @@ -/* Phaser v2.4.4 - http://phaser.io - @photonstorm - (c) 2015 Photon Storm Ltd. */ +/* Phaser v2.4.5 - http://phaser.io - @photonstorm - (c) 2015 Photon Storm Ltd. */ !function(a){if("object"==typeof exports)module.exports=a();else if("function"==typeof define,1){var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.p2=a()}else define(a)}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g=0&&1>=i&&j>=0&&1>=j}},{"./Scalar":4}],2:[function(a,b,c){function d(){}b.exports=d,d.area=function(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(c[0]-a[0])*(b[1]-a[1])},d.left=function(a,b,c){return d.area(a,b,c)>0},d.leftOn=function(a,b,c){return d.area(a,b,c)>=0},d.right=function(a,b,c){return d.area(a,b,c)<0},d.rightOn=function(a,b,c){return d.area(a,b,c)<=0};var e=[],f=[];d.collinear=function(a,b,c,g){if(g){var h=e,i=f;h[0]=b[0]-a[0],h[1]=b[1]-a[1],i[0]=c[0]-b[0],i[1]=c[1]-b[1];var j=h[0]*i[0]+h[1]*i[1],k=Math.sqrt(h[0]*h[0]+h[1]*h[1]),l=Math.sqrt(i[0]*i[0]+i[1]*i[1]),m=Math.acos(j/(k*l));return g>m}return 0==d.area(a,b,c)},d.sqdist=function(a,b){var c=b[0]-a[0],d=b[1]-a[1];return c*c+d*d}},{}],3:[function(a,b,c){function d(){this.vertices=[]}function e(a,b,c,d,e){e=e||0;var f=b[1]-a[1],g=a[0]-b[0],i=f*a[0]+g*a[1],j=d[1]-c[1],k=c[0]-d[0],l=j*c[0]+k*c[1],m=f*k-j*g;return h.eq(m,0,e)?[0,0]:[(k*i-g*l)/m,(f*l-j*i)/m]}var f=a("./Line"),g=a("./Point"),h=a("./Scalar");b.exports=d,d.prototype.at=function(a){var b=this.vertices,c=b.length;return b[0>a?a%c+c:a%c]},d.prototype.first=function(){return this.vertices[0]},d.prototype.last=function(){return this.vertices[this.vertices.length-1]},d.prototype.clear=function(){this.vertices.length=0},d.prototype.append=function(a,b,c){if("undefined"==typeof b)throw new Error("From is not given!");if("undefined"==typeof c)throw new Error("To is not given!");if(b>c-1)throw new Error("lol1");if(c>a.vertices.length)throw new Error("lol2");if(0>b)throw new Error("lol3");for(var d=b;c>d;d++)this.vertices.push(a.vertices[d])},d.prototype.makeCCW=function(){for(var a=0,b=this.vertices,c=1;cb[a][0])&&(a=c);g.left(this.at(a-1),this.at(a),this.at(a+1))||this.reverse()},d.prototype.reverse=function(){for(var a=[],b=0,c=this.vertices.length;b!==c;b++)a.push(this.vertices.pop());this.vertices=a},d.prototype.isReflex=function(a){return g.right(this.at(a-1),this.at(a),this.at(a+1))};var i=[],j=[];d.prototype.canSee=function(a,b){var c,d,e=i,h=j;if(g.leftOn(this.at(a+1),this.at(a),this.at(b))&&g.rightOn(this.at(a-1),this.at(a),this.at(b)))return!1;d=g.sqdist(this.at(a),this.at(b));for(var k=0;k!==this.vertices.length;++k)if((k+1)%this.vertices.length!==a&&k!==a&&g.leftOn(this.at(a),this.at(b),this.at(k+1))&&g.rightOn(this.at(a),this.at(b),this.at(k))&&(e[0]=this.at(a),e[1]=this.at(b),h[0]=this.at(k),h[1]=this.at(k+1),c=f.lineInt(e,h),g.sqdist(this.at(a),c)a)for(var f=a;b>=f;f++)e.vertices.push(this.vertices[f]);else{for(var f=0;b>=f;f++)e.vertices.push(this.vertices[f]);for(var f=a;f0?this.slice(a):[this]},d.prototype.slice=function(a){if(0==a.length)return[this];if(a instanceof Array&&a.length&&a[0]instanceof Array&&2==a[0].length&&a[0][0]instanceof Array){for(var b=[this],c=0;cc;c++)if(f.segmentsIntersect(a[b],a[b+1],a[c],a[c+1]))return!1;for(var b=1;bh)return console.warn("quickDecomp: max level ("+h+") reached."),a;for(var x=0;xo&&(n=o,k=l,r=y))),g.left(v.at(x+1),v.at(x),v.at(y+1))&&g.rightOn(v.at(x+1),v.at(x),v.at(y))&&(l=e(v.at(x+1),v.at(x),v.at(y),v.at(y+1)),g.left(v.at(x-1),v.at(x),l)&&(o=g.sqdist(v.vertices[x],l),m>o&&(m=o,j=l,q=y)));if(r==(q+1)%this.vertices.length)l[0]=(k[0]+j[0])/2,l[1]=(k[1]+j[1])/2,c.push(l),q>x?(t.append(v,x,q+1),t.vertices.push(l),u.vertices.push(l),0!=r&&u.append(v,r,v.vertices.length),u.append(v,0,x+1)):(0!=x&&t.append(v,x,v.vertices.length),t.append(v,0,q+1),t.vertices.push(l),u.vertices.push(l),u.append(v,r,x+1));else{if(r>q&&(q+=this.vertices.length),p=Number.MAX_VALUE,r>q)return a;for(var y=r;q>=y;++y)g.leftOn(v.at(x-1),v.at(x),v.at(y))&&g.rightOn(v.at(x+1),v.at(x),v.at(y))&&(o=g.sqdist(v.at(x),v.at(y)),p>o&&(p=o,s=y%this.vertices.length));s>x?(t.append(v,x,s+1),0!=s&&u.append(v,s,w.length),u.append(v,0,x+1)):(0!=x&&t.append(v,x,w.length),t.append(v,0,s+1),u.append(v,s,x+1))}return t.vertices.length3&&c>=0;--c)g.collinear(this.at(c-1),this.at(c),this.at(c+1),a)&&(this.vertices.splice(c%this.vertices.length,1),c--,b++);return b}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(a,b,c){function d(){}b.exports=d,d.eq=function(a,b,c){return c=c||0,Math.abs(a-b) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.0"}}},{}],7:[function(a,b,c){function d(a){this.lowerBound=e.create(),a&&a.lowerBound&&e.copy(this.lowerBound,a.lowerBound),this.upperBound=e.create(),a&&a.upperBound&&e.copy(this.upperBound,a.upperBound)}var e=a("../math/vec2");a("../utils/Utils");b.exports=d;var f=e.create();d.prototype.setFromPoints=function(a,b,c,d){var g=this.lowerBound,h=this.upperBound;"number"!=typeof c&&(c=0),0!==c?e.rotate(g,a[0],c):e.copy(g,a[0]),e.copy(h,g);for(var i=Math.cos(c),j=Math.sin(c),k=1;ko;o++)l[o]>h[o]&&(h[o]=l[o]),l[o]c&&(this.lowerBound[b]=c);var d=a.upperBound[b];this.upperBound[b]i?-1:h>i?-1:h}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(a,b,c){function d(a){this.type=a,this.result=[],this.world=null,this.boundingVolumeType=d.AABB}var e=a("../math/vec2"),f=a("../objects/Body");b.exports=d,d.AABB=1,d.BOUNDING_CIRCLE=2,d.prototype.setWorld=function(a){this.world=a},d.prototype.getCollisionPairs=function(a){};var g=e.create();d.boundingRadiusCheck=function(a,b){e.sub(g,a.position,b.position);var c=e.squaredLength(g),d=a.boundingRadius+b.boundingRadius;return d*d>=c},d.aabbCheck=function(a,b){return a.getAABB().overlaps(b.getAABB())},d.prototype.boundingVolumeCheck=function(a,b){var c;switch(this.boundingVolumeType){case d.BOUNDING_CIRCLE:c=d.boundingRadiusCheck(a,b);break;case d.AABB:c=d.aabbCheck(a,b);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return c},d.canCollide=function(a,b){var c=f.KINEMATIC,d=f.STATIC;return a.type===d&&b.type===d?!1:a.type===c&&b.type===d||a.type===d&&b.type===c?!1:a.type===c&&b.type===c?!1:a.sleepState===f.SLEEPING&&b.sleepState===f.SLEEPING?!1:a.sleepState===f.SLEEPING&&b.type===d||b.sleepState===f.SLEEPING&&a.type===d?!1:!0},d.NAIVE=1,d.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(a,b,c){function d(){e.call(this,e.NAIVE)}var e=(a("../shapes/Circle"),a("../shapes/Plane"),a("../shapes/Shape"),a("../shapes/Particle"),a("../collision/Broadphase"));a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.getCollisionPairs=function(a){var b=a.bodies,c=this.result;c.length=0;for(var d=0,f=b.length;d!==f;d++)for(var g=b[d],h=0;d>h;h++){var i=b[h];e.canCollide(g,i)&&this.boundingVolumeCheck(g,i)&&c.push(g,i)}return c},d.prototype.aabbQuery=function(a,b,c){c=c||[];for(var d=a.bodies,e=0;e=r*n)return!1;n=r}return!0}var g=a("../math/vec2"),h=g.sub,i=g.add,j=g.dot,k=(a("../utils/Utils"),a("../utils/ContactEquationPool")),l=a("../utils/FrictionEquationPool"),m=a("../utils/TupleDictionary"),n=a("../equations/Equation"),o=(a("../equations/ContactEquation"),a("../equations/FrictionEquation"),a("../shapes/Circle")),p=a("../shapes/Convex"),q=a("../shapes/Shape"),r=(a("../objects/Body"),a("../shapes/Box"));b.exports=d;var s=g.fromValues(0,1),t=g.fromValues(0,0),u=g.fromValues(0,0),v=g.fromValues(0,0),w=g.fromValues(0,0),x=g.fromValues(0,0),y=g.fromValues(0,0),z=g.fromValues(0,0),A=g.fromValues(0,0),B=g.fromValues(0,0),C=g.fromValues(0,0),D=g.fromValues(0,0),E=g.fromValues(0,0),F=g.fromValues(0,0),G=g.fromValues(0,0),H=g.fromValues(0,0),I=g.fromValues(0,0),J=g.fromValues(0,0),K=g.fromValues(0,0),L=[],M=g.create(),N=g.create();d.prototype.bodiesOverlap=function(a,b){for(var c=M,d=N,e=0,f=a.shapes.length;e!==f;e++){var g=a.shapes[e];a.toWorldFrame(c,g.position);for(var h=0,i=b.shapes.length;h!==i;h++){var j=b.shapes[h];if(b.toWorldFrame(d,j.position),this[g.type|j.type](a,g,c,g.angle+a.angle,b,j,d,j.angle+b.angle,!0))return!0}}return!1},d.prototype.collidedLastStep=function(a,b){var c=0|a.id,d=0|b.id;return!!this.collidingBodiesLastStep.get(c,d)},d.prototype.reset=function(){this.collidingBodiesLastStep.reset();for(var a=this.contactEquations,b=a.length;b--;){var c=a[b],d=c.bodyA.id,e=c.bodyB.id;this.collidingBodiesLastStep.set(d,e,!0)}for(var f=this.contactEquations,g=this.frictionEquations,h=0;hp;p++){g.set(m,(0===p?-1:1)*b.length/2,0),g.rotate(m,m,d),g.add(m,m,c);for(var q=0;2>q;q++){g.set(n,(0===q?-1:1)*h.length/2,0),g.rotate(n,n,j),g.add(n,n,i),this.enableFrictionReduction&&(l=this.enableFriction,this.enableFriction=!1);var r=this.circleCircle(a,b,m,d,f,h,n,j,k,b.radius,h.radius);if(this.enableFrictionReduction&&(this.enableFriction=l),k&&r)return!0;o+=r}}this.enableFrictionReduction&&(l=this.enableFriction,this.enableFriction=!1);var s=S;e(s,b);var t=this.convexCapsule(a,s,c,d,f,h,i,j,k);if(this.enableFrictionReduction&&(this.enableFriction=l),k&&t)return!0;if(o+=t,this.enableFrictionReduction){var l=this.enableFriction;this.enableFriction=!1}e(s,h);var u=this.convexCapsule(f,s,i,j,a,b,c,d,k);return this.enableFrictionReduction&&(this.enableFriction=l),k&&u?!0:(o+=u,this.enableFrictionReduction&&o&&this.enableFriction&&this.frictionEquations.push(this.createFrictionFromAverage(o)),o)},d.prototype[q.LINE|q.LINE]=d.prototype.lineLine=function(a,b,c,d,e,f,g,h,i){return i?!1:0},d.prototype[q.PLANE|q.LINE]=d.prototype.planeLine=function(a,b,c,d,e,f,k,l,m){var n=t,o=u,p=v,q=w,r=x,C=y,D=z,E=A,F=B,G=L,H=0;g.set(n,-f.length/2,0),g.set(o,f.length/2,0),g.rotate(p,n,l),g.rotate(q,o,l),i(p,p,k),i(q,q,k),g.copy(n,p),g.copy(o,q),h(r,o,n),g.normalize(C,r),g.rotate90cw(F,C),g.rotate(E,s,d),G[0]=n,G[1]=o;for(var I=0;IK){if(m)return!0;var M=this.createContactEquation(a,e,b,f);H++,g.copy(M.normalA,E),g.normalize(M.normalA,M.normalA),g.scale(D,E,K),h(M.contactPointA,J,D),h(M.contactPointA,M.contactPointA,a.position),h(M.contactPointB,J,k),i(M.contactPointB,M.contactPointB,k),h(M.contactPointB,M.contactPointB,e.position),this.contactEquations.push(M),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(M))}}return m?!1:(this.enableFrictionReduction||H&&this.enableFriction&&this.frictionEquations.push(this.createFrictionFromAverage(H)),H)},d.prototype[q.PARTICLE|q.CAPSULE]=d.prototype.particleCapsule=function(a,b,c,d,e,f,g,h,i){return this.circleLine(a,b,c,d,e,f,g,h,i,f.radius,0)},d.prototype[q.CIRCLE|q.LINE]=d.prototype.circleLine=function(a,b,c,d,e,f,k,l,m,n,o){var n=n||0,o="undefined"!=typeof o?o:b.radius,p=t,q=u,r=v,s=w,H=x,I=y,J=z,K=A,M=B,N=C,O=D,P=E,Q=F,R=G,S=L;g.set(K,-f.length/2,0),g.set(M,f.length/2,0),g.rotate(N,K,l),g.rotate(O,M,l),i(N,N,k),i(O,O,k),g.copy(K,N),g.copy(M,O),h(I,M,K),g.normalize(J,I),g.rotate90cw(H,J),h(P,c,K);var T=j(P,H);h(s,K,k),h(Q,c,k);var U=o+n;if(Math.abs(T)W&&X>V){if(m)return!0;var Y=this.createContactEquation(a,e,b,f);return g.scale(Y.normalA,p,-1),g.normalize(Y.normalA,Y.normalA),g.scale(Y.contactPointA,Y.normalA,o),i(Y.contactPointA,Y.contactPointA,c),h(Y.contactPointA,Y.contactPointA,a.position),h(Y.contactPointB,r,k),i(Y.contactPointB,Y.contactPointB,k),h(Y.contactPointB,Y.contactPointB,e.position),this.contactEquations.push(Y),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Y)),1}}S[0]=K,S[1]=M;for(var Z=0;ZQ&&(g.copy(J,B),L=Q,g.scale(A,s,Q),g.add(A,A,B),K=!0)}}if(K){if(m)return!0;var R=this.createContactEquation(a,e,b,j);return g.sub(R.normalA,J,c),g.normalize(R.normalA,R.normalA),g.scale(R.contactPointA,R.normalA,n),i(R.contactPointA,R.contactPointA,c),h(R.contactPointA,R.contactPointA,a.position),h(R.contactPointB,A,k),i(R.contactPointB,R.contactPointB,k),h(R.contactPointB,R.contactPointB,e.position),this.contactEquations.push(R),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(R)),1}if(n>0)for(var N=0;NQ&&(I=Q,g.scale(E,s,Q),g.add(E,E,c),g.copy(H,s),L=!0)}if(L){var R=this.createContactEquation(a,e,b,k);return g.scale(R.normalA,H,-1),g.normalize(R.normalA,R.normalA),g.set(R.contactPointA,0,0),i(R.contactPointA,R.contactPointA,c),h(R.contactPointA,R.contactPointA,a.position),h(R.contactPointB,E,l),i(R.contactPointB,R.contactPointB,l),h(R.contactPointB,R.contactPointB,e.position),this.contactEquations.push(R),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(R)),1}return 0},d.prototype[q.CIRCLE]=d.prototype.circleCircle=function(a,b,c,d,e,f,j,k,l,m,n){var o=t,m=m||b.radius,n=n||f.radius;h(o,c,j);var p=m+n;if(g.squaredLength(o)>Math.pow(p,2))return 0;if(l)return!0;var q=this.createContactEquation(a,e,b,f);return h(q.normalA,j,c),g.normalize(q.normalA,q.normalA),g.scale(q.contactPointA,q.normalA,m),g.scale(q.contactPointB,q.normalA,-n),i(q.contactPointA,q.contactPointA,c),h(q.contactPointA,q.contactPointA,a.position),i(q.contactPointB,q.contactPointB,j),h(q.contactPointB,q.contactPointB,e.position),this.contactEquations.push(q),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(q)),1},d.prototype[q.PLANE|q.CONVEX]=d.prototype[q.PLANE|q.BOX]=d.prototype.planeConvex=function(a,b,c,d,e,f,k,l,m){var n=t,o=u,p=v,q=0;g.rotate(o,s,d);for(var r=0;r!==f.vertices.length;r++){var w=f.vertices[r];if(g.rotate(n,w,l),i(n,n,k),h(p,n,c),j(p,o)<=0){if(m)return!0;q++;var x=this.createContactEquation(a,e,b,f);h(p,n,c),g.copy(x.normalA,o);var y=j(p,x.normalA);g.scale(p,x.normalA,y),h(x.contactPointB,n,e.position),h(x.contactPointA,n,p),h(x.contactPointA,x.contactPointA,a.position),this.contactEquations.push(x),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(x))}}return this.enableFrictionReduction&&this.enableFriction&&q&&this.frictionEquations.push(this.createFrictionFromAverage(q)),q},d.prototype[q.PARTICLE|q.PLANE]=d.prototype.particlePlane=function(a,b,c,d,e,f,i,k,l){var m=t,n=u;k=k||0,h(m,c,i),g.rotate(n,s,k);var o=j(m,n);if(o>0)return 0;if(l)return!0;var p=this.createContactEquation(e,a,f,b);return g.copy(p.normalA,n),g.scale(m,p.normalA,o),h(p.contactPointA,c,m),h(p.contactPointA,p.contactPointA,e.position),h(p.contactPointB,c,a.position),this.contactEquations.push(p),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(p)),1},d.prototype[q.CIRCLE|q.PARTICLE]=d.prototype.circleParticle=function(a,b,c,d,e,f,j,k,l){var m=t;if(h(m,j,c),g.squaredLength(m)>Math.pow(b.radius,2))return 0;if(l)return!0;var n=this.createContactEquation(a,e,b,f);return g.copy(n.normalA,m),g.normalize(n.normalA,n.normalA),g.scale(n.contactPointA,n.normalA,b.radius),i(n.contactPointA,n.contactPointA,c),h(n.contactPointA,n.contactPointA,a.position),h(n.contactPointB,j,e.position),this.contactEquations.push(n),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(n)),1};var X=new o({radius:1}),Y=g.create(),Z=g.create();g.create();d.prototype[q.PLANE|q.CAPSULE]=d.prototype.planeCapsule=function(a,b,c,d,e,f,h,j,k){var l=Y,m=Z,n=X;g.set(l,-f.length/2,0),g.rotate(l,l,j),i(l,l,h),g.set(m,f.length/2,0),g.rotate(m,m,j),i(m,m,h),n.radius=f.radius;var o;this.enableFrictionReduction&&(o=this.enableFriction,this.enableFriction=!1);var p=this.circlePlane(e,n,l,0,a,b,c,d,k),q=this.circlePlane(e,n,m,0,a,b,c,d,k);if(this.enableFrictionReduction&&(this.enableFriction=o),k)return p||q;var r=p+q;return this.enableFrictionReduction&&r&&this.frictionEquations.push(this.createFrictionFromAverage(r)),r},d.prototype[q.CIRCLE|q.PLANE]=d.prototype.circlePlane=function(a,b,c,d,e,f,k,l,m){var n=a,o=b,p=c,q=e,r=k,w=l;w=w||0;var x=t,y=u,z=v;h(x,p,r),g.rotate(y,s,w);var A=j(y,x);if(A>o.radius)return 0;if(m)return!0;var B=this.createContactEquation(q,n,f,b);return g.copy(B.normalA,y),g.scale(B.contactPointB,B.normalA,-o.radius),i(B.contactPointB,B.contactPointB,p),h(B.contactPointB,B.contactPointB,n.position),g.scale(z,B.normalA,A),h(B.contactPointA,x,z),i(B.contactPointA,B.contactPointA,r),h(B.contactPointA,B.contactPointA,q.position),this.contactEquations.push(B),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(B)),1},d.prototype[q.CONVEX]=d.prototype[q.CONVEX|q.BOX]=d.prototype[q.BOX]=d.prototype.convexConvex=function(a,b,c,e,f,k,l,m,n,o){var p=t,q=u,r=v,s=w,y=x,C=z,D=A,E=B,F=0,o="number"==typeof o?o:0,G=d.findSeparatingAxis(b,c,e,k,l,m,p);if(!G)return 0;h(D,l,c),j(p,D)>0&&g.scale(p,p,-1);var H=d.getClosestEdge(b,e,p,!0),I=d.getClosestEdge(k,m,p);if(-1===H||-1===I)return 0;for(var J=0;2>J;J++){var K=H,L=I,M=b,N=k,O=c,P=l,Q=e,R=m,S=a,T=f;if(0===J){var U;U=K,K=L,L=U,U=M,M=N,N=U,U=O,O=P,P=U,U=Q,Q=R,R=U,U=S,S=T,T=U}for(var V=L;L+2>V;V++){var W=N.vertices[(V+N.vertices.length)%N.vertices.length];g.rotate(q,W,R),i(q,q,P);for(var X=0,Y=K-1;K+2>Y;Y++){var Z=M.vertices[(Y+M.vertices.length)%M.vertices.length],$=M.vertices[(Y+1+M.vertices.length)%M.vertices.length];g.rotate(r,Z,Q),g.rotate(s,$,Q),i(r,r,O),i(s,s,O),h(y,s,r),g.rotate90cw(E,y),g.normalize(E,E),h(D,q,r);var _=j(E,D);(Y===K&&o>=_||Y!==K&&0>=_)&&X++}if(X>=3){if(n)return!0;var aa=this.createContactEquation(S,T,M,N);F++;var Z=M.vertices[K%M.vertices.length],$=M.vertices[(K+1)%M.vertices.length];g.rotate(r,Z,Q),g.rotate(s,$,Q),i(r,r,O),i(s,s,O),h(y,s,r),g.rotate90cw(aa.normalA,y),g.normalize(aa.normalA,aa.normalA),h(D,q,r);var _=j(aa.normalA,D);g.scale(C,aa.normalA,_),h(aa.contactPointA,q,O),h(aa.contactPointA,aa.contactPointA,C),i(aa.contactPointA,aa.contactPointA,O),h(aa.contactPointA,aa.contactPointA,S.position),h(aa.contactPointB,q,P),i(aa.contactPointB,aa.contactPointB,P),h(aa.contactPointB,aa.contactPointB,T.position),this.contactEquations.push(aa),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(aa))}}}return this.enableFrictionReduction&&this.enableFriction&&F&&this.frictionEquations.push(this.createFrictionFromAverage(F)),F};var $=g.fromValues(0,0);d.projectConvexOntoAxis=function(a,b,c,d,e){var f,h,i=null,k=null,l=$;g.rotate(l,d,-c);for(var m=0;mi)&&(i=h),(null===k||k>h)&&(k=h);if(k>i){var n=k;k=i,i=n}var o=j(b,d);g.set(e,k+o,i+o)};var _=g.fromValues(0,0),aa=g.fromValues(0,0),ba=g.fromValues(0,0),ca=g.fromValues(0,0),da=g.fromValues(0,0),ea=g.fromValues(0,0);d.findSeparatingAxis=function(a,b,c,e,f,i,j){var k=null,l=!1,m=!1,n=_,o=aa,p=ba,q=ca,s=da,t=ea;if(a instanceof r&&e instanceof r)for(var u=0;2!==u;u++){var v=a,w=c;1===u&&(v=e,w=i);for(var x=0;2!==x;x++){0===x?g.set(q,0,1):1===x&&g.set(q,1,0),0!==w&&g.rotate(q,q,w),d.projectConvexOntoAxis(a,b,c,q,s),d.projectConvexOntoAxis(e,f,i,q,t);var y=s,z=t,A=!1;s[0]>t[0]&&(z=s,y=t,A=!0);var B=z[0]-y[1];l=0>=B,(null===k||B>k)&&(g.copy(j,q),k=B,m=l)}}else for(var u=0;2!==u;u++){var v=a,w=c;1===u&&(v=e,w=i);for(var x=0;x!==v.vertices.length;x++){g.rotate(o,v.vertices[x],w),g.rotate(p,v.vertices[(x+1)%v.vertices.length],w),h(n,p,o),g.rotate90cw(q,n),g.normalize(q,q),d.projectConvexOntoAxis(a,b,c,q,s),d.projectConvexOntoAxis(e,f,i,q,t);var y=s,z=t,A=!1;s[0]>t[0]&&(z=s,y=t,A=!0);var B=z[0]-y[1];l=0>=B,(null===k||B>k)&&(g.copy(j,q),k=B,m=l)}}return m};var fa=g.fromValues(0,0),ga=g.fromValues(0,0),ha=g.fromValues(0,0);d.getClosestEdge=function(a,b,c,d){var e=fa,f=ga,i=ha;g.rotate(e,c,-b),d&&g.scale(e,e,-1);for(var k=-1,l=a.vertices.length,m=-1,n=0;n!==l;n++){h(f,a.vertices[(n+1)%l],a.vertices[n%l]),g.rotate90cw(i,f),g.normalize(i,i);var o=j(i,e);(-1===k||o>m)&&(k=n%l,m=o)}return k};var ia=g.create(),ja=g.create(),ka=g.create(),la=g.create(),ma=g.create(),na=g.create(),oa=g.create();d.prototype[q.CIRCLE|q.HEIGHTFIELD]=d.prototype.circleHeightfield=function(a,b,c,d,e,f,j,k,l,m){var n=f.heights,m=m||b.radius,o=f.elementWidth,p=ja,q=ia,r=ma,s=oa,t=na,u=ka,v=la,w=Math.floor((c[0]-m-j[0])/o),x=Math.ceil((c[0]+m-j[0])/o);0>w&&(w=0),x>=n.length&&(x=n.length-1);for(var y=n[w],z=n[x],A=w;x>A;A++)n[A]y&&(y=n[A]);if(c[1]-m>y)return l?!1:0;for(var B=!1,A=w;x>A;A++){g.set(u,A*o,n[A]),g.set(v,(A+1)*o,n[A+1]),g.add(u,u,j),g.add(v,v,j),g.sub(t,v,u),g.rotate(t,t,Math.PI/2),g.normalize(t,t),g.scale(q,t,-m),g.add(q,q,c),g.sub(p,q,u);var C=g.dot(p,t);if(q[0]>=u[0]&&q[0]=C){if(l)return!0;B=!0,g.scale(p,t,-C),g.add(r,q,p),g.copy(s,t);var D=this.createContactEquation(e,a,f,b);g.copy(D.normalA,s),g.scale(D.contactPointB,D.normalA,-m),i(D.contactPointB,D.contactPointB,c),h(D.contactPointB,D.contactPointB,a.position),g.copy(D.contactPointA,r),g.sub(D.contactPointA,D.contactPointA,e.position),this.contactEquations.push(D),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(D))}}if(B=!1,m>0)for(var A=w;x>=A;A++)if(g.set(u,A*o,n[A]),g.add(u,u,j),g.sub(p,c,u),g.squaredLength(p)q&&(q=0),r>=k.length&&(r=k.length-1);for(var s=k[q],t=k[r],u=q;r>u;u++)k[u]s&&(s=k[u]);if(a.aabb.lowerBound[1]>s)return j?!1:0;for(var v=0,u=q;r>u;u++){g.set(m,u*l,k[u]),g.set(n,(u+1)*l,k[u+1]),g.add(m,m,h),g.add(n,n,h);var w=100;g.set(o,.5*(n[0]+m[0]),.5*(n[1]+m[1]-w)),g.sub(p.vertices[0],n,o),g.sub(p.vertices[1],m,o),g.copy(p.vertices[2],p.vertices[1]),g.copy(p.vertices[3],p.vertices[0]),p.vertices[2][1]-=w,p.vertices[3][1]-=w,v+=this.convexConvex(a,b,c,d,e,p,o,0,j)}return v}},{"../equations/ContactEquation":21,"../equations/Equation":22,"../equations/FrictionEquation":23,"../math/vec2":30,"../objects/Body":31,"../shapes/Box":37,"../shapes/Circle":39,"../shapes/Convex":40,"../shapes/Shape":45,"../utils/ContactEquationPool":48,"../utils/FrictionEquationPool":49,"../utils/TupleDictionary":56,"../utils/Utils":57}],11:[function(a,b,c){function d(a){a=a||{},this.from=a.from?f.fromValues(a.from[0],a.from[1]):f.create(),this.to=a.to?f.fromValues(a.to[0],a.to[1]):f.create(),this.checkCollisionResponse=void 0!==a.checkCollisionResponse?a.checkCollisionResponse:!0,this.skipBackfaces=!!a.skipBackfaces,this.collisionMask=void 0!==a.collisionMask?a.collisionMask:-1,this.collisionGroup=void 0!==a.collisionGroup?a.collisionGroup:-1,this.mode=void 0!==a.mode?a.mode:d.ANY,this.callback=a.callback||function(a){},this.direction=f.create(),this.length=1,this.update()}function e(a,b,c){f.sub(h,c,a);var d=f.dot(h,b);return f.scale(i,b,d),f.add(i,i,a),f.squaredDistance(c,i)}b.exports=d;var f=a("../math/vec2");a("../collision/RaycastResult"),a("../shapes/Shape"),a("../collision/AABB");d.prototype.constructor=d,d.CLOSEST=1,d.ANY=2,d.ALL=4,d.prototype.update=function(){var a=this.direction;f.sub(a,this.to,this.from),this.length=f.length(a),f.normalize(a,a)},d.prototype.intersectBodies=function(a,b){for(var c=0,d=b.length;!a.shouldStop(this)&&d>c;c++){var e=b[c],f=e.getAABB();(f.overlapsRay(this)>=0||f.containsPoint(this.from))&&this.intersectBody(a,e)}};var g=f.create();d.prototype.intersectBody=function(a,b){var c=this.checkCollisionResponse;if(!c||b.collisionResponse)for(var d=g,e=0,h=b.shapes.length;h>e;e++){var i=b.shapes[e];if((!c||i.collisionResponse)&&0!==(this.collisionGroup&i.collisionMask)&&0!==(i.collisionGroup&this.collisionMask)){f.rotate(d,i.position,b.angle),f.add(d,d,b.position);var j=i.angle+b.angle;if(this.intersectShape(a,i,j,d,b),a.shouldStop(this))break}}},d.prototype.intersectShape=function(a,b,c,d,f){var g=this.from,h=e(g,this.direction,d);h>b.boundingRadius*b.boundingRadius||(this._currentBody=f,this._currentShape=b,b.raycast(a,this,d,c),this._currentBody=this._currentShape=null)},d.prototype.getAABB=function(a){var b=this.to,c=this.from;f.set(a.lowerBound,Math.min(b[0],c[0]),Math.min(b[1],c[1])),f.set(a.upperBound,Math.max(b[0],c[0]),Math.max(b[1],c[1]))};f.create();d.prototype.reportIntersection=function(a,b,c,e){var g=(this.from,this.to,this._currentShape),h=this._currentBody;if(!(this.skipBackfaces&&f.dot(c,this.direction)>0))switch(this.mode){case d.ALL:a.set(c,g,h,b,e),this.callback(a);break;case d.CLOSEST:(bc;c++){for(var e=a[c],f=c-1;f>=0&&!(a[f].aabb.lowerBound[b]<=e.aabb.lowerBound[b]);f--)a[f+1]=a[f];a[f+1]=e}return a},d.prototype.sortList=function(){var a=this.axisList,b=this.axisIndex;d.sortAxisList(a,b)},d.prototype.getCollisionPairs=function(a){var b=this.axisList,c=this.result,d=this.axisIndex;c.length=0;for(var e=b.length;e--;){var g=b[e];g.aabbNeedsUpdate&&g.updateAABB()}this.sortList();for(var h=0,i=0|b.length;h!==i;h++)for(var j=b[h],k=h+1;i>k;k++){var l=b[k],m=l.aabb.lowerBound[d]<=j.aabb.upperBound[d];if(!m)break;f.canCollide(j,l)&&this.boundingVolumeCheck(j,l)&&c.push(j,l)}return c},d.prototype.aabbQuery=function(a,b,c){c=c||[],this.sortList();var d=this.axisIndex,e="x";1===d&&(e="y"),2===d&&(e="z");for(var f=this.axisList,g=(b.lowerBound[e],b.upperBound[e],0);gthis.upperLimit&&(f.maxForce=0,f.minForce=-this.maxForce,this.distance=this.upperLimit,l=!0),this.lowerLimitEnabled&&this.positionc)h.scale(e.normalA,j,-1),h.sub(e.contactPointA,k,g.position),h.sub(e.contactPointB,l,i.position),h.scale(o,j,c),h.add(e.contactPointA,e.contactPointA,o),-1===a.indexOf(e)&&a.push(e);else{var u=a.indexOf(e);-1!==u&&a.splice(u,1)}if(this.lowerLimitEnabled&&d>s)h.scale(f.normalA,j,1),h.sub(f.contactPointA,k,g.position),h.sub(f.contactPointB,l,i.position),h.scale(o,j,d),h.sub(f.contactPointB,f.contactPointB,o),-1===a.indexOf(f)&&a.push(f);else{var u=a.indexOf(f);-1!==u&&a.splice(u,1)}},d.prototype.enableMotor=function(){this.motorEnabled||(this.equations.push(this.motorEquation),this.motorEnabled=!0)},d.prototype.disableMotor=function(){if(this.motorEnabled){var a=this.equations.indexOf(this.motorEquation);this.equations.splice(a,1),this.motorEnabled=!1}},d.prototype.setLimits=function(a,b){"number"==typeof a?(this.lowerLimit=a,this.lowerLimitEnabled=!0):(this.lowerLimit=a,this.lowerLimitEnabled=!1),"number"==typeof b?(this.upperLimit=b,this.upperLimitEnabled=!0):(this.upperLimit=b,this.upperLimitEnabled=!1)}},{"../equations/ContactEquation":21,"../equations/Equation":22,"../equations/RotationalLockEquation":24,"../math/vec2":30,"./Constraint":14}],19:[function(a,b,c){function d(a,b,c){c=c||{},e.call(this,a,b,e.REVOLUTE,c);var d=this.maxForce="undefined"!=typeof c.maxForce?c.maxForce:Number.MAX_VALUE;this.pivotA=i.create(),this.pivotB=i.create(),c.worldPivot?(i.sub(this.pivotA,c.worldPivot,a.position),i.sub(this.pivotB,c.worldPivot,b.position),i.rotate(this.pivotA,this.pivotA,-a.angle),i.rotate(this.pivotB,this.pivotB,-b.angle)):(i.copy(this.pivotA,c.localPivotA),i.copy(this.pivotB,c.localPivotB));var o=this.equations=[new f(a,b,-d,d),new f(a,b,-d,d)],p=o[0],q=o[1],r=this;p.computeGq=function(){return i.rotate(j,r.pivotA,a.angle),i.rotate(k,r.pivotB,b.angle),i.add(n,b.position,k),i.sub(n,n,a.position),i.sub(n,n,j),i.dot(n,l)},q.computeGq=function(){return i.rotate(j,r.pivotA,a.angle),i.rotate(k,r.pivotB,b.angle),i.add(n,b.position,k),i.sub(n,n,a.position),i.sub(n,n,j),i.dot(n,m)},q.minForce=p.minForce=-d,q.maxForce=p.maxForce=d,this.motorEquation=new g(a,b),this.motorEnabled=!1,this.angle=0,this.lowerLimitEnabled=!1,this.upperLimitEnabled=!1,this.lowerLimit=0,this.upperLimit=0,this.upperLimitEquation=new h(a,b),this.lowerLimitEquation=new h(a,b),this.upperLimitEquation.minForce=0,this.lowerLimitEquation.maxForce=0}var e=a("./Constraint"),f=a("../equations/Equation"),g=a("../equations/RotationalVelocityEquation"),h=a("../equations/RotationalLockEquation"),i=a("../math/vec2");b.exports=d;var j=i.create(),k=i.create(),l=i.fromValues(1,0),m=i.fromValues(0,1),n=i.create();d.prototype=new e,d.prototype.constructor=d,d.prototype.setLimits=function(a,b){"number"==typeof a?(this.lowerLimit=a,this.lowerLimitEnabled=!0):(this.lowerLimit=a,this.lowerLimitEnabled=!1),"number"==typeof b?(this.upperLimit=b,this.upperLimitEnabled=!0):(this.upperLimit=b,this.upperLimitEnabled=!1)},d.prototype.update=function(){var a=this.bodyA,b=this.bodyB,c=this.pivotA,d=this.pivotB,e=this.equations,f=(e[0],e[1],e[0]),g=e[1],h=this.upperLimit,n=this.lowerLimit,o=this.upperLimitEquation,p=this.lowerLimitEquation,q=this.angle=b.angle-a.angle;if(this.upperLimitEnabled&&q>h)o.angle=h,-1===e.indexOf(o)&&e.push(o);else{var r=e.indexOf(o);-1!==r&&e.splice(r,1)}if(this.lowerLimitEnabled&&n>q)p.angle=n,-1===e.indexOf(p)&&e.push(p);else{var r=e.indexOf(p);-1!==r&&e.splice(r,1)}i.rotate(j,c,a.angle),i.rotate(k,d,b.angle),f.G[0]=-1,f.G[1]=0,f.G[2]=-i.crossLength(j,l),f.G[3]=1,f.G[4]=0,f.G[5]=i.crossLength(k,l),g.G[0]=0,g.G[1]=-1,g.G[2]=-i.crossLength(j,m),g.G[3]=0,g.G[4]=1,g.G[5]=i.crossLength(k,m)},d.prototype.enableMotor=function(){this.motorEnabled||(this.equations.push(this.motorEquation),this.motorEnabled=!0)},d.prototype.disableMotor=function(){if(this.motorEnabled){var a=this.equations.indexOf(this.motorEquation);this.equations.splice(a,1),this.motorEnabled=!1}},d.prototype.motorIsEnabled=function(){return!!this.motorEnabled},d.prototype.setMotorSpeed=function(a){if(this.motorEnabled){var b=this.equations.indexOf(this.motorEquation);this.equations[b].relativeVelocity=a}},d.prototype.getMotorSpeed=function(){return this.motorEnabled?this.motorEquation.relativeVelocity:!1}},{"../equations/Equation":22,"../equations/RotationalLockEquation":24,"../equations/RotationalVelocityEquation":25,"../math/vec2":30,"./Constraint":14}],20:[function(a,b,c){function d(a,b,c){c=c||{},e.call(this,a,b,-Number.MAX_VALUE,Number.MAX_VALUE),this.angle=c.angle||0,this.ratio="number"==typeof c.ratio?c.ratio:1,this.setRatio(this.ratio)}var e=a("./Equation");a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeGq=function(){return this.ratio*this.bodyA.angle-this.bodyB.angle+this.angle},d.prototype.setRatio=function(a){var b=this.G;b[2]=a,b[5]=-1,this.ratio=a},d.prototype.setMaxTorque=function(a){this.maxForce=a,this.minForce=-a}},{"../math/vec2":30,"./Equation":22}],21:[function(a,b,c){function d(a,b){e.call(this,a,b,0,Number.MAX_VALUE),this.contactPointA=f.create(),this.penetrationVec=f.create(),this.contactPointB=f.create(),this.normalA=f.create(),this.restitution=0,this.firstImpact=!1,this.shapeA=null,this.shapeB=null}var e=a("./Equation"),f=a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeB=function(a,b,c){var d=this.bodyA,e=this.bodyB,g=this.contactPointA,h=this.contactPointB,i=d.position,j=e.position,k=this.penetrationVec,l=this.normalA,m=this.G,n=f.crossLength(g,l),o=f.crossLength(h,l);m[0]=-l[0],m[1]=-l[1],m[2]=-n,m[3]=l[0],m[4]=l[1],m[5]=o,f.add(k,j,h),f.sub(k,k,i),f.sub(k,k,g);var p,q;this.firstImpact&&0!==this.restitution?(q=0,p=1/b*(1+this.restitution)*this.computeGW()):(q=f.dot(l,k)+this.offset,p=this.computeGW());var r=this.computeGiMf(),s=-q*a-p*b-c*r;return s}},{"../math/vec2":30,"./Equation":22}],22:[function(a,b,c){function d(a,b,c,e){this.minForce="undefined"==typeof c?-Number.MAX_VALUE:c,this.maxForce="undefined"==typeof e?Number.MAX_VALUE:e,this.bodyA=a,this.bodyB=b,this.stiffness=d.DEFAULT_STIFFNESS,this.relaxation=d.DEFAULT_RELAXATION,this.G=new f.ARRAY_TYPE(6);for(var g=0;6>g;g++)this.G[g]=0;this.offset=0,this.a=0,this.b=0,this.epsilon=0,this.timeStep=1/60,this.needsUpdate=!0,this.multiplier=0,this.relativeVelocity=0,this.enabled=!0}b.exports=d;var e=a("../math/vec2"),f=a("../utils/Utils");a("../objects/Body");d.prototype.constructor=d,d.DEFAULT_STIFFNESS=1e6,d.DEFAULT_RELAXATION=4,d.prototype.update=function(){var a=this.stiffness,b=this.relaxation,c=this.timeStep;this.a=4/(c*(1+4*b)),this.b=4*b/(1+4*b),this.epsilon=4/(c*c*a*(1+4*b)),this.needsUpdate=!1},d.prototype.gmult=function(a,b,c,d,e){return a[0]*b[0]+a[1]*b[1]+a[2]*c+a[3]*d[0]+a[4]*d[1]+a[5]*e},d.prototype.computeB=function(a,b,c){var d=this.computeGW(),e=this.computeGq(),f=this.computeGiMf();return-e*a-d*b-f*c};var g=e.create(),h=e.create();d.prototype.computeGq=function(){var a=this.G,b=this.bodyA,c=this.bodyB,d=(b.position,c.position,b.angle),e=c.angle;return this.gmult(a,g,d,h,e)+this.offset},d.prototype.computeGW=function(){var a=this.G,b=this.bodyA,c=this.bodyB,d=b.velocity,e=c.velocity,f=b.angularVelocity,g=c.angularVelocity;return this.gmult(a,d,f,e,g)+this.relativeVelocity},d.prototype.computeGWlambda=function(){var a=this.G,b=this.bodyA,c=this.bodyB,d=b.vlambda,e=c.vlambda,f=b.wlambda,g=c.wlambda;return this.gmult(a,d,f,e,g)};var i=e.create(),j=e.create();d.prototype.computeGiMf=function(){var a=this.bodyA,b=this.bodyB,c=a.force,d=a.angularForce,f=b.force,g=b.angularForce,h=a.invMassSolve,k=b.invMassSolve,l=a.invInertiaSolve,m=b.invInertiaSolve,n=this.G;return e.scale(i,c,h),e.multiply(i,a.massMultiplier,i),e.scale(j,f,k),e.multiply(j,b.massMultiplier,j),this.gmult(n,i,d*l,j,g*m)},d.prototype.computeGiMGt=function(){var a=this.bodyA,b=this.bodyB,c=a.invMassSolve,d=b.invMassSolve,e=a.invInertiaSolve,f=b.invInertiaSolve,g=this.G;return g[0]*g[0]*c*a.massMultiplier[0]+g[1]*g[1]*c*a.massMultiplier[1]+g[2]*g[2]*e+g[3]*g[3]*d*b.massMultiplier[0]+g[4]*g[4]*d*b.massMultiplier[1]+g[5]*g[5]*f};var k=e.create(),l=e.create(),m=e.create();e.create(),e.create(),e.create();d.prototype.addToWlambda=function(a){var b=this.bodyA,c=this.bodyB,d=k,f=l,g=m,h=b.invMassSolve,i=c.invMassSolve,j=b.invInertiaSolve,n=c.invInertiaSolve,o=this.G;f[0]=o[0],f[1]=o[1],g[0]=o[3],g[1]=o[4],e.scale(d,f,h*a),e.multiply(d,d,b.massMultiplier),e.add(b.vlambda,b.vlambda,d),b.wlambda+=j*o[2]*a,e.scale(d,g,i*a),e.multiply(d,d,c.massMultiplier),e.add(c.vlambda,c.vlambda,d),c.wlambda+=n*o[5]*a},d.prototype.computeInvC=function(a){return 1/(this.computeGiMGt()+a)}},{"../math/vec2":30,"../objects/Body":31,"../utils/Utils":57}],23:[function(a,b,c){function d(a,b,c){f.call(this,a,b,-c,c),this.contactPointA=e.create(),this.contactPointB=e.create(),this.t=e.create(),this.contactEquations=[],this.shapeA=null,this.shapeB=null,this.frictionCoefficient=.3}var e=a("../math/vec2"),f=a("./Equation");a("../utils/Utils");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.setSlipForce=function(a){this.maxForce=a,this.minForce=-a},d.prototype.getSlipForce=function(){return this.maxForce},d.prototype.computeB=function(a,b,c){var d=(this.bodyA,this.bodyB,this.contactPointA),f=this.contactPointB,g=this.t,h=this.G;h[0]=-g[0],h[1]=-g[1],h[2]=-e.crossLength(d,g),h[3]=g[0],h[4]=g[1],h[5]=e.crossLength(f,g);var i=this.computeGW(),j=this.computeGiMf(),k=-i*b-c*j;return k}},{"../math/vec2":30,"../utils/Utils":57,"./Equation":22}],24:[function(a,b,c){function d(a,b,c){c=c||{},e.call(this,a,b,-Number.MAX_VALUE,Number.MAX_VALUE),this.angle=c.angle||0;var d=this.G;d[2]=1,d[5]=-1}var e=a("./Equation"),f=a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d;var g=f.create(),h=f.create(),i=f.fromValues(1,0),j=f.fromValues(0,1);d.prototype.computeGq=function(){return f.rotate(g,i,this.bodyA.angle+this.angle),f.rotate(h,j,this.bodyB.angle),f.dot(g,h)}},{"../math/vec2":30,"./Equation":22}],25:[function(a,b,c){function d(a,b){e.call(this,a,b,-Number.MAX_VALUE,Number.MAX_VALUE),this.relativeVelocity=1,this.ratio=1}var e=a("./Equation");a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeB=function(a,b,c){var d=this.G;d[2]=-1,d[5]=this.ratio;var e=this.computeGiMf(),f=this.computeGW(),g=-f*b-c*e;return g}},{"../math/vec2":30,"./Equation":22}],26:[function(a,b,c){var d=function(){};b.exports=d,d.prototype={constructor:d,on:function(a,b,c){b.context=c||this,void 0===this._listeners&&(this._listeners={});var d=this._listeners;return void 0===d[a]&&(d[a]=[]),-1===d[a].indexOf(b)&&d[a].push(b),this},has:function(a,b){if(void 0===this._listeners)return!1;var c=this._listeners;if(b){if(void 0!==c[a]&&-1!==c[a].indexOf(b))return!0}else if(void 0!==c[a])return!0;return!1},off:function(a,b){if(void 0===this._listeners)return this;var c=this._listeners,d=c[a].indexOf(b);return-1!==d&&c[a].splice(d,1),this},emit:function(a){if(void 0===this._listeners)return this;var b=this._listeners,c=b[a.type];if(void 0!==c){a.target=this;for(var d=0,e=c.length;e>d;d++){var f=c[d];f.call(f.context,a)}}return this}}},{}],27:[function(a,b,c){function d(a,b,c){if(c=c||{},!(a instanceof e&&b instanceof e))throw new Error("First two arguments must be Material instances.");this.id=d.idCounter++,this.materialA=a,this.materialB=b,this.friction="undefined"!=typeof c.friction?Number(c.friction):.3,this.restitution="undefined"!=typeof c.restitution?Number(c.restitution):0,this.stiffness="undefined"!=typeof c.stiffness?Number(c.stiffness):f.DEFAULT_STIFFNESS,this.relaxation="undefined"!=typeof c.relaxation?Number(c.relaxation):f.DEFAULT_RELAXATION,this.frictionStiffness="undefined"!=typeof c.frictionStiffness?Number(c.frictionStiffness):f.DEFAULT_STIFFNESS,this.frictionRelaxation="undefined"!=typeof c.frictionRelaxation?Number(c.frictionRelaxation):f.DEFAULT_RELAXATION,this.surfaceVelocity="undefined"!=typeof c.surfaceVelocity?Number(c.surfaceVelocity):0,this.contactSkinSize=.005}var e=a("./Material"),f=a("../equations/Equation");b.exports=d,d.idCounter=0},{"../equations/Equation":22,"./Material":28}],28:[function(a,b,c){function d(a){this.id=a||d.idCounter++}b.exports=d,d.idCounter=0},{}],29:[function(a,b,c){var d={};d.GetArea=function(a){if(a.length<6)return 0;for(var b=a.length-2,c=0,d=0;b>d;d+=2)c+=(a[d+2]-a[d])*(a[d+1]+a[d+3]);return c+=(a[0]-a[b])*(a[b+1]+a[1]),.5*-c},d.Triangulate=function(a){var b=a.length>>1;if(3>b)return[];for(var c=[],e=[],f=0;b>f;f++)e.push(f);for(var f=0,g=b;g>3;){var h=e[(f+0)%g],i=e[(f+1)%g],j=e[(f+2)%g],k=a[2*h],l=a[2*h+1],m=a[2*i],n=a[2*i+1],o=a[2*j],p=a[2*j+1],q=!1;if(d._convex(k,l,m,n,o,p)){q=!0;for(var r=0;g>r;r++){var s=e[r];if(s!=h&&s!=i&&s!=j&&d._PointInTriangle(a[2*s],a[2*s+1],k,l,m,n,o,p)){q=!1;break}}}if(q)c.push(h,i,j),e.splice((f+1)%g,1),g--,f=0;else if(f++>3*g)break}return c.push(e[0],e[1],e[2]),c},d._PointInTriangle=function(a,b,c,d,e,f,g,h){var i=g-c,j=h-d,k=e-c,l=f-d,m=a-c,n=b-d,o=i*i+j*j,p=i*k+j*l,q=i*m+j*n,r=k*k+l*l,s=k*m+l*n,t=1/(o*r-p*p),u=(r*q-p*s)*t,v=(o*s-p*q)*t;return u>=0&&v>=0&&1>u+v},d._convex=function(a,b,c,d,e,f){return(b-d)*(e-c)+(c-a)*(f-d)>=0},b.exports=d},{}],30:[function(a,b,c){var d=b.exports={},e=a("../utils/Utils");d.crossLength=function(a,b){return a[0]*b[1]-a[1]*b[0]},d.crossVZ=function(a,b,c){return d.rotate(a,b,-Math.PI/2),d.scale(a,a,c),a},d.crossZV=function(a,b,c){return d.rotate(a,c,Math.PI/2),d.scale(a,a,b),a},d.rotate=function(a,b,c){if(0!==c){var d=Math.cos(c),e=Math.sin(c),f=b[0],g=b[1];a[0]=d*f-e*g,a[1]=e*f+d*g}else a[0]=b[0],a[1]=b[1]},d.rotate90cw=function(a,b){var c=b[0],d=b[1];a[0]=d,a[1]=-c},d.toLocalFrame=function(a,b,c,e){d.copy(a,b),d.sub(a,a,c),d.rotate(a,a,-e)},d.toGlobalFrame=function(a,b,c,e){d.copy(a,b),d.rotate(a,a,e),d.add(a,a,c)},d.vectorToLocalFrame=function(a,b,c){d.rotate(a,b,-c)},d.vectorToGlobalFrame=function(a,b,c){d.rotate(a,b,c)},d.centroid=function(a,b,c,e){return d.add(a,b,c),d.add(a,a,e),d.scale(a,a,1/3),a},d.create=function(){var a=new e.ARRAY_TYPE(2);return a[0]=0,a[1]=0,a},d.clone=function(a){var b=new e.ARRAY_TYPE(2);return b[0]=a[0],b[1]=a[1],b},d.fromValues=function(a,b){var c=new e.ARRAY_TYPE(2);return c[0]=a,c[1]=b,c},d.copy=function(a,b){return a[0]=b[0],a[1]=b[1],a},d.set=function(a,b,c){return a[0]=b,a[1]=c,a},d.add=function(a,b,c){return a[0]=b[0]+c[0],a[1]=b[1]+c[1],a},d.subtract=function(a,b,c){return a[0]=b[0]-c[0],a[1]=b[1]-c[1],a},d.sub=d.subtract,d.multiply=function(a,b,c){return a[0]=b[0]*c[0],a[1]=b[1]*c[1],a},d.mul=d.multiply,d.divide=function(a,b,c){return a[0]=b[0]/c[0],a[1]=b[1]/c[1],a},d.div=d.divide,d.scale=function(a,b,c){return a[0]=b[0]*c,a[1]=b[1]*c,a},d.distance=function(a,b){var c=b[0]-a[0],d=b[1]-a[1];return Math.sqrt(c*c+d*d)},d.dist=d.distance,d.squaredDistance=function(a,b){var c=b[0]-a[0],d=b[1]-a[1];return c*c+d*d},d.sqrDist=d.squaredDistance,d.length=function(a){var b=a[0],c=a[1];return Math.sqrt(b*b+c*c)},d.len=d.length,d.squaredLength=function(a){var b=a[0],c=a[1];return b*b+c*c},d.sqrLen=d.squaredLength,d.negate=function(a,b){return a[0]=-b[0],a[1]=-b[1],a},d.normalize=function(a,b){var c=b[0],d=b[1],e=c*c+d*d;return e>0&&(e=1/Math.sqrt(e),a[0]=b[0]*e,a[1]=b[1]*e),a},d.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]},d.str=function(a){return"vec2("+a[0]+", "+a[1]+")"},d.lerp=function(a,b,c,d){var e=b[0],f=b[1];return a[0]=e+d*(c[0]-e),a[1]=f+d*(c[1]-f),a},d.reflect=function(a,b,c){var d=b[0]*c[0]+b[1]*c[1];a[0]=b[0]-2*c[0]*d,a[1]=b[1]-2*c[1]*d},d.getLineSegmentsIntersection=function(a,b,c,e,f){var g=d.getLineSegmentsIntersectionFraction(b,c,e,f);return 0>g?!1:(a[0]=b[0]+g*(c[0]-b[0]),a[1]=b[1]+g*(c[1]-b[1]),!0)},d.getLineSegmentsIntersectionFraction=function(a,b,c,d){var e,f,g=b[0]-a[0],h=b[1]-a[1],i=d[0]-c[0],j=d[1]-c[1];return e=(-h*(a[0]-c[0])+g*(a[1]-c[1]))/(-i*h+g*j),f=(i*(a[1]-c[1])-j*(a[0]-c[0]))/(-i*h+g*j),e>=0&&1>=e&&f>=0&&1>=f?f:-1}},{"../utils/Utils":57}],31:[function(a,b,c){function d(a){a=a||{},k.call(this),this.id=a.id||++d._idCounter,this.world=null,this.shapes=[],this.mass=a.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!a.fixedRotation,this.fixedX=!!a.fixedX,this.fixedY=!!a.fixedY,this.massMultiplier=e.create(),this.position=e.fromValues(0,0),a.position&&e.copy(this.position,a.position),this.interpolatedPosition=e.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=e.fromValues(0,0),this.previousAngle=0,this.velocity=e.fromValues(0,0),a.velocity&&e.copy(this.velocity,a.velocity),this.vlambda=e.fromValues(0,0),this.wlambda=0,this.angle=a.angle||0,this.angularVelocity=a.angularVelocity||0,this.force=e.create(),a.force&&e.copy(this.force,a.force),this.angularForce=a.angularForce||0,this.damping="number"==typeof a.damping?a.damping:.1,this.angularDamping="number"==typeof a.angularDamping?a.angularDamping:.1,this.type=d.STATIC,"undefined"!=typeof a.type?this.type=a.type:a.mass?this.type=d.DYNAMIC:this.type=d.STATIC,this.boundingRadius=0,this.aabb=new j,this.aabbNeedsUpdate=!0, this.allowSleep=void 0!==a.allowSleep?a.allowSleep:!0,this.wantsToSleep=!1,this.sleepState=d.AWAKE,this.sleepSpeedLimit=void 0!==a.sleepSpeedLimit?a.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==a.sleepTimeLimit?a.sleepTimeLimit:1,this.gravityScale=void 0!==a.gravityScale?a.gravityScale:1,this.collisionResponse=void 0!==a.collisionResponse?a.collisionResponse:!0,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==a.ccdSpeedThreshold?a.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==a.ccdIterations?a.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var e=a("../math/vec2"),f=a("poly-decomp"),g=a("../shapes/Convex"),h=a("../collision/RaycastResult"),i=a("../collision/Ray"),j=a("../collision/AABB"),k=a("../events/EventEmitter");b.exports=d,d.prototype=new k,d.prototype.constructor=d,d._idCounter=0,d.prototype.updateSolveMassProperties=function(){this.sleepState===d.SLEEPING||this.type===d.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},d.prototype.setDensity=function(a){var b=this.getArea();this.mass=b*a,this.updateMassProperties()},d.prototype.getArea=function(){for(var a=0,b=0;bc&&(c=g+h)}this.boundingRadius=c},d.prototype.addShape=function(a,b,c){if(a.body)throw new Error("A shape can only be added to one body.");a.body=this,b?e.copy(a.position,b):e.set(a.position,0,0),a.angle=c||0,this.shapes.push(a),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},d.prototype.removeShape=function(a){var b=this.shapes.indexOf(a);return-1!==b?(this.shapes.splice(b,1),this.aabbNeedsUpdate=!0,a.body=null,!0):!1},d.prototype.updateMassProperties=function(){if(this.type===d.STATIC||this.type===d.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var a=this.shapes,b=a.length,c=this.mass/b,f=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var g=0;b>g;g++){var h=a[g],i=e.squaredLength(h.position),j=h.computeMomentOfInertia(c);f+=j+c*i}this.inertia=f,this.invInertia=f>0?1/f:0}this.invMass=1/this.mass,e.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};e.create();d.prototype.applyForce=function(a,b){if(e.add(this.force,this.force,a),b){var c=e.crossLength(b,a);this.angularForce+=c}};var n=e.create(),o=e.create(),p=e.create();d.prototype.applyForceLocal=function(a,b){b=b||p;var c=n,d=o;this.vectorToWorldFrame(c,a),this.vectorToWorldFrame(d,b),this.applyForce(c,d)};var q=e.create();d.prototype.applyImpulse=function(a,b){if(this.type===d.DYNAMIC){var c=q;if(e.scale(c,a,this.invMass),e.multiply(c,this.massMultiplier,c),e.add(this.velocity,c,this.velocity),b){var f=e.crossLength(b,a);f*=this.invInertia,this.angularVelocity+=f}}};var r=e.create(),s=e.create(),t=e.create();d.prototype.applyImpulseLocal=function(a,b){b=b||t;var c=r,d=s;this.vectorToWorldFrame(c,a),this.vectorToWorldFrame(d,b),this.applyImpulse(c,d)},d.prototype.toLocalFrame=function(a,b){e.toLocalFrame(a,b,this.position,this.angle)},d.prototype.toWorldFrame=function(a,b){e.toGlobalFrame(a,b,this.position,this.angle)},d.prototype.vectorToLocalFrame=function(a,b){e.vectorToLocalFrame(a,b,this.angle)},d.prototype.vectorToWorldFrame=function(a,b){e.vectorToGlobalFrame(a,b,this.angle)},d.prototype.fromPolygon=function(a,b){b=b||{};for(var c=this.shapes.length;c>=0;--c)this.removeShape(this.shapes[c]);var d=new f.Polygon;if(d.vertices=a,d.makeCCW(),"number"==typeof b.removeCollinearPoints&&d.removeCollinearPoints(b.removeCollinearPoints),"undefined"==typeof b.skipSimpleCheck&&!d.isSimple())return!1;this.concavePath=d.vertices.slice(0);for(var c=0;c=g?(this.idleTime=0,this.sleepState=d.AWAKE):(this.idleTime+=c,this.sleepState=d.SLEEPY),this.idleTime>this.sleepTimeLimit&&(b?this.wantsToSleep=!0:this.sleep())}},d.prototype.overlaps=function(a){return this.world.overlapKeeper.bodiesAreOverlapping(this,a)};var x=e.create(),y=e.create();d.prototype.integrate=function(a){var b=this.invMass,c=this.force,d=this.position,f=this.velocity;e.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*a),e.scale(x,c,a*b),e.multiply(x,this.massMultiplier,x),e.add(f,x,f),this.integrateToTimeOfImpact(a)||(e.scale(y,f,a),e.add(d,d,y),this.fixedRotation||(this.angle+=this.angularVelocity*a)),this.aabbNeedsUpdate=!0};var z=new h,A=new i({mode:i.ALL}),B=e.create(),C=e.create(),D=e.create(),E=e.create();d.prototype.integrateToTimeOfImpact=function(a){if(this.ccdSpeedThreshold<0||e.squaredLength(this.velocity)=j&&ir;r++){var s=this.radius*(2*r-1);f.set(o,-q,s),f.set(p,q,s),f.toGlobalFrame(o,o,c,d),f.toGlobalFrame(p,p,c,d);var t=f.getLineSegmentsIntersectionFraction(e,g,o,p);if(t>=0&&(f.rotate(n,l,d),f.scale(n,n,2*r-1),b.reportIntersection(a,t,n,-1),a.shouldStop(b)))return}for(var u=Math.pow(this.radius,2)+Math.pow(q,2),r=0;2>r;r++){f.set(o,q*(2*r-1),0),f.toGlobalFrame(o,o,c,d);var v=Math.pow(g[0]-e[0],2)+Math.pow(g[1]-e[1],2),w=2*((g[0]-e[0])*(e[0]-o[0])+(g[1]-e[1])*(e[1]-o[1])),x=Math.pow(e[0]-o[0],2)+Math.pow(e[1]-o[1],2)-Math.pow(this.radius,2),t=Math.pow(w,2)-4*v*x;if(!(0>t))if(0===t){if(f.lerp(m,e,g,t),f.squaredDistance(m,c)>u&&(f.sub(n,m,o),f.normalize(n,n),b.reportIntersection(a,t,n,-1),a.shouldStop(b)))return}else{var y=Math.sqrt(t),z=1/(2*v),A=(-w-y)*z,B=(-w+y)*z;if(A>=0&&1>=A&&(f.lerp(m,e,g,A),f.squaredDistance(m,c)>u&&(f.sub(n,m,o),f.normalize(n,n),b.reportIntersection(a,A,n,-1),a.shouldStop(b))))return;if(B>=0&&1>=B&&(f.lerp(m,e,g,B),f.squaredDistance(m,c)>u&&(f.sub(n,m,o),f.normalize(n,n),b.reportIntersection(a,B,n,-1),a.shouldStop(b))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(a,b,c){function d(a){"number"==typeof arguments[0]&&(a={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),a=a||{},this.radius=a.radius||1,a.type=e.CIRCLE,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeMomentOfInertia=function(a){var b=this.radius;return a*b*b/2},d.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},d.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},d.prototype.computeAABB=function(a,b,c){var d=this.radius;f.set(a.upperBound,d,d),f.set(a.lowerBound,-d,-d),b&&(f.add(a.lowerBound,a.lowerBound,b),f.add(a.upperBound,a.upperBound,b))};var g=f.create(),h=f.create();d.prototype.raycast=function(a,b,c,d){var e=b.from,i=b.to,j=this.radius,k=Math.pow(i[0]-e[0],2)+Math.pow(i[1]-e[1],2),l=2*((i[0]-e[0])*(e[0]-c[0])+(i[1]-e[1])*(e[1]-c[1])),m=Math.pow(e[0]-c[0],2)+Math.pow(e[1]-c[1],2)-Math.pow(j,2),n=Math.pow(l,2)-4*k*m,o=g,p=h;if(!(0>n))if(0===n)f.lerp(o,e,i,n),f.sub(p,o,c),f.normalize(p,p),b.reportIntersection(a,n,p,-1);else{var q=Math.sqrt(n),r=1/(2*k),s=(-l-q)*r,t=(-l+q)*r;if(s>=0&&1>=s&&(f.lerp(o,e,i,s),f.sub(p,o,c),f.normalize(p,p),b.reportIntersection(a,s,p,-1),a.shouldStop(b)))return;t>=0&&1>=t&&(f.lerp(o,e,i,t),f.sub(p,o,c),f.normalize(p,p),b.reportIntersection(a,t,p,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(a,b,c){function d(a){Array.isArray(arguments[0])&&(a={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),a=a||{},this.vertices=[];for(var b=void 0!==a.vertices?a.vertices:[],c=0;ce)&&(e=d),(null===g||g>d)&&(g=d);if(g>e){var j=g;g=e,e=j}f.set(b,g,e)},d.prototype.projectOntoWorldAxis=function(a,b,c,d){var e=i;this.projectOntoLocalAxis(a,d),0!==c?f.rotate(e,a,c):e=a;var g=f.dot(b,e);f.set(d,d[0]+g,d[1]+g)},d.prototype.updateTriangles=function(){this.triangles.length=0;for(var a=[],b=0;bg;e=g,g++){var h=this.vertices[e],i=this.vertices[g],j=Math.abs(f.crossLength(h,i)),k=f.dot(i,i)+f.dot(i,h)+f.dot(h,h);b+=j*k,c+=j}return a/6*(b/c)},d.prototype.updateBoundingRadius=function(){for(var a=this.vertices,b=0,c=0;c!==a.length;c++){var d=f.squaredLength(a[c]);d>b&&(b=d)}this.boundingRadius=Math.sqrt(b)},d.triangleArea=function(a,b,c){return.5*((b[0]-a[0])*(c[1]-a[1])-(c[0]-a[0])*(b[1]-a[1]))},d.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var a=this.triangles,b=this.vertices,c=0;c!==a.length;c++){var e=a[c],f=b[e[0]],g=b[e[1]],h=b[e[2]],i=d.triangleArea(f,g,h);this.area+=i}},d.prototype.computeAABB=function(a,b,c){a.setFromPoints(this.vertices,b,c,0)};var o=f.create(),p=f.create(),q=f.create();d.prototype.raycast=function(a,b,c,d){var e=o,g=p,h=q,i=this.vertices;f.toLocalFrame(e,b.from,c,d),f.toLocalFrame(g,b.to,c,d);for(var j=i.length,k=0;j>k&&!a.shouldStop(b);k++){var l=i[k],m=i[(k+1)%j],n=f.getLineSegmentsIntersectionFraction(e,g,l,m);n>=0&&(f.sub(h,m,l),f.rotate(h,h,-Math.PI/2+d),f.normalize(h,h),b.reportIntersection(a,n,h,k))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(a,b,c){function d(a){if(Array.isArray(arguments[0])){if(a={heights:arguments[0]},"object"==typeof arguments[1])for(var b in arguments[1])a[b]=arguments[1][b];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}a=a||{},this.heights=a.heights?a.heights.slice(0):[],this.maxValue=a.maxValue||null,this.minValue=a.minValue||null,this.elementWidth=a.elementWidth||.1,(void 0===a.maxValue||void 0===a.minValue)&&this.updateMaxMinValues(),a.type=e.HEIGHTFIELD,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");a("../utils/Utils");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.updateMaxMinValues=function(){for(var a=this.heights,b=a[0],c=a[0],d=0;d!==a.length;d++){var e=a[d];e>b&&(b=e),c>e&&(c=e)}this.maxValue=b,this.minValue=c},d.prototype.computeMomentOfInertia=function(a){return Number.MAX_VALUE},d.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},d.prototype.updateArea=function(){for(var a=this.heights,b=0,c=0;cs){var t=r;r=s,s=t}for(var u=0;u=0&&(f.sub(m,o,n),f.rotate(m,m,d+Math.PI/2),f.normalize(m,m),b.reportIntersection(a,v,m,-1),a.shouldStop(b)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(a,b,c){function d(a){"number"==typeof arguments[0]&&(a={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),a=a||{},this.length=a.length||1,a.type=e.LINE,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeMomentOfInertia=function(a){return a*Math.pow(this.length,2)/12},d.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var g=[f.create(),f.create()];d.prototype.computeAABB=function(a,b,c){var d=this.length/2;f.set(g[0],-d,0),f.set(g[1],d,0),a.setFromPoints(g,b,c,0)};var h=(f.create(),f.create()),i=f.create(),j=f.create(),k=f.fromValues(0,1);d.prototype.raycast=function(a,b,c,d){var e=b.from,g=b.to,l=i,m=j,n=this.length/2;f.set(l,-n,0),f.set(m,n,0),f.toGlobalFrame(l,l,c,d),f.toGlobalFrame(m,m,c,d);var o=f.getLineSegmentsIntersectionFraction(l,m,e,g);if(o>=0){var p=h;f.rotate(p,k,d),b.reportIntersection(a,o,p,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(a,b,c){function d(a){a=a||{},a.type=e.PARTICLE,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeMomentOfInertia=function(a){return 0},d.prototype.updateBoundingRadius=function(){this.boundingRadius=0},d.prototype.computeAABB=function(a,b,c){f.copy(a.lowerBound,b),f.copy(a.upperBound,b)}},{"../math/vec2":30,"./Shape":45}],44:[function(a,b,c){function d(a){a=a||{},a.type=e.PLANE,e.call(this,a)}var e=a("./Shape"),f=a("../math/vec2");a("../utils/Utils");b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.computeMomentOfInertia=function(a){return 0},d.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},d.prototype.computeAABB=function(a,b,c){var d=c%(2*Math.PI),e=f.set,g=Number.MAX_VALUE,h=a.lowerBound,i=a.upperBound;0===d?(e(h,-g,-g),e(i,g,0)):d===Math.PI/2?(e(h,0,-g),e(i,g,g)):d===Math.PI?(e(h,-g,0),e(i,g,g)):d===3*Math.PI/2?(e(h,-g,-g),e(i,0,g)):(e(h,-g,-g),e(i,g,g)),f.add(h,h,b),f.add(i,i,b)},d.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var g=f.create(),h=(f.create(),f.create(),f.create()),i=f.create();d.prototype.raycast=function(a,b,c,d){var e=b.from,j=b.to,k=b.direction,l=g,m=h,n=i;f.set(m,0,1),f.rotate(m,m,d),f.sub(n,e,c);var o=f.dot(n,m);f.sub(n,j,c);var p=f.dot(n,m);if(!(o*p>0||f.squaredDistance(e,j)=w*w)break}for(d.updateMultipliers(k,q,1/a),x=0;x!==l;x++){var z=k[x];if(z instanceof i){for(var A=0,B=0;B!==z.contactEquations.length;B++)A+=z.contactEquations[B].multiplier;A*=z.frictionCoefficient/z.contactEquations.length,z.maxForce=A,z.minForce=-A}}}for(c=0;c!==g;c++){for(w=0,x=0;x!==l;x++){v=k[x];var y=d.iterateEquation(x,v,v.epsilon,u,t,q,p,a,c);w+=Math.abs(y)}if(this.usedIterations++,m>=w*w)break}for(r=0;r!==o;r++)n[r].addConstraintVelocity();d.updateMultipliers(k,q,1/a)}},d.updateMultipliers=function(a,b,c){for(var d=a.length;d--;)a[d].multiplier=b[d]*c},d.iterateEquation=function(a,b,c,d,e,f,g,h,i){var j=d[a],k=e[a],l=f[a],m=b.computeGWlambda(),n=b.maxForce,o=b.minForce;g&&(j=0);var p=k*(j-m-c*l),q=l+p;return o*h>q?p=o*h-l:q>n*h&&(p=n*h-l),f[a]+=p,b.addToWlambda(p),p}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(a,b,c){function d(a,b){a=a||{},e.call(this),this.type=b,this.equations=[],this.equationSortFunction=a.equationSortFunction||!1}var e=(a("../utils/Utils"),a("../events/EventEmitter"));b.exports=d,d.prototype=new e,d.prototype.constructor=d,d.prototype.solve=function(a,b){throw new Error("Solver.solve should be implemented by subclasses!")};var f={bodies:[]};d.prototype.solveIsland=function(a,b){this.removeAllEquations(),b.equations.length&&(this.addEquations(b.equations),f.bodies.length=0,b.getBodies(f.bodies),f.bodies.length&&this.solve(a,f))},d.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},d.prototype.addEquation=function(a){a.enabled&&this.equations.push(a)},d.prototype.addEquations=function(a){for(var b=0,c=a.length;b!==c;b++){var d=a[b];d.enabled&&this.equations.push(d)}},d.prototype.removeEquation=function(a){var b=this.equations.indexOf(a);-1!==b&&this.equations.splice(b,1)},d.prototype.removeAllEquations=function(){this.equations.length=0},d.GS=1,d.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("../equations/ContactEquation"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.bodyA=a.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("../equations/FrictionEquation"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.bodyA=a.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("../world/IslandNode"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("../world/Island"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(a,b,c){function d(){this.overlappingShapesLastState=new e,this.overlappingShapesCurrentState=new e,this.recordPool=new f({size:16}),this.tmpDict=new e,this.tmpArray1=[]}var e=a("./TupleDictionary"),f=(a("./OverlapKeeperRecord"),a("./OverlapKeeperRecordPool"));a("./Utils");b.exports=d,d.prototype.tick=function(){for(var a=this.overlappingShapesLastState,b=this.overlappingShapesCurrentState,c=a.keys.length;c--;){var d=a.keys[c],e=a.getByKey(d);b.getByKey(d);e&&this.recordPool.release(e)}a.reset(),a.copy(b),b.reset()},d.prototype.setOverlapping=function(a,b,c,d){var e=(this.overlappingShapesLastState,this.overlappingShapesCurrentState);if(!e.get(b.id,d.id)){var f=this.recordPool.get();f.set(a,b,c,d),e.set(b.id,d.id,f)}},d.prototype.getNewOverlaps=function(a){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,a)},d.prototype.getEndOverlaps=function(a){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,a)},d.prototype.bodiesAreOverlapping=function(a,b){for(var c=this.overlappingShapesCurrentState,d=c.keys.length;d--;){var e=c.keys[d],f=c.data[e];if(f.bodyA===a&&f.bodyB===b||f.bodyA===b&&f.bodyB===a)return!0}return!1},d.prototype.getDiff=function(a,b,c){var c=c||[],d=a,e=b;c.length=0;for(var f=e.keys.length;f--;){var g=e.keys[f],h=e.data[g];if(!h)throw new Error("Key "+g+" had no data!");var i=d.data[g];i||c.push(h)}return c},d.prototype.isNewOverlap=function(a,b){var c=0|a.id,d=0|b.id,e=this.overlappingShapesLastState,f=this.overlappingShapesCurrentState;return!e.get(c,d)&&!!f.get(c,d)},d.prototype.getNewBodyOverlaps=function(a){this.tmpArray1.length=0;var b=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(b,a)},d.prototype.getEndBodyOverlaps=function(a){this.tmpArray1.length=0;var b=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(b,a)},d.prototype.getBodyDiff=function(a,b){b=b||[];for(var c=this.tmpDict,d=a.length;d--;){var e=a[d];c.set(0|e.bodyA.id,0|e.bodyB.id,e)}for(d=c.keys.length;d--;){var e=c.getByKey(c.keys[d]);e&&b.push(e.bodyA,e.bodyB)}return c.reset(),b}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(a,b,c){function d(a,b,c,d){this.shapeA=b,this.shapeB=d,this.bodyA=a,this.bodyB=c}b.exports=d,d.prototype.set=function(a,b,c,e){d.call(this,a,b,c,e)}},{}],54:[function(a,b,c){function d(){f.apply(this,arguments)}var e=a("./OverlapKeeperRecord"),f=a("./Pool");b.exports=d,d.prototype=new f,d.prototype.constructor=d,d.prototype.create=function(){return new e},d.prototype.destroy=function(a){return a.bodyA=a.bodyB=a.shapeA=a.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(a,b,c){function d(a){a=a||{},this.objects=[],void 0!==a.size&&this.resize(a.size)}b.exports=d,d.prototype.resize=function(a){for(var b=this.objects;b.length>a;)b.pop();for(;b.length(0|b)?a<<16|65535&b:b<<16|65535&a)},d.prototype.getByKey=function(a){return a=0|a,this.data[a]},d.prototype.get=function(a,b){return this.data[this.getKey(a,b)]},d.prototype.set=function(a,b,c){if(!c)throw new Error("No data!");var d=this.getKey(a,b);return this.data[d]||this.keys.push(d),this.data[d]=c,d},d.prototype.reset=function(){for(var a=this.data,b=this.keys,c=b.length;c--;)delete a[b[c]];b.length=0},d.prototype.copy=function(a){this.reset(),e.appendArray(this.keys,a.keys);for(var b=a.keys.length;b--;){var c=a.keys[b];this.data[c]=a.data[c]}}},{"./Utils":57}],57:[function(a,b,c){function d(){}b.exports=d,d.appendArray=function(a,b){if(b.length<15e4)a.push.apply(a,b);else for(var c=0,d=b.length;c!==d;++c)a.push(b[c])},d.splice=function(a,b,c){c=c||1;for(var d=b,e=a.length-c;e>d;d++)a[d]=a[d+c];a.length=e},"undefined"!=typeof P2_ARRAY_TYPE?d.ARRAY_TYPE=P2_ARRAY_TYPE:"undefined"!=typeof Float32Array?d.ARRAY_TYPE=Float32Array:d.ARRAY_TYPE=Array,d.extend=function(a,b){for(var c in b)a[c]=b[c]},d.defaults=function(a,b){a=a||{};for(var c in b)c in a||(a[c]=b[c]);return a}},{}],58:[function(a,b,c){function d(){this.equations=[],this.bodies=[]}var e=a("../objects/Body");b.exports=d,d.prototype.reset=function(){this.equations.length=this.bodies.length=0};var f=[];d.prototype.getBodies=function(a){var b=a||[],c=this.equations;f.length=0;for(var d=0;d!==c.length;d++){var e=c[d];-1===f.indexOf(e.bodyA.id)&&(b.push(e.bodyA),f.push(e.bodyA.id)),-1===f.indexOf(e.bodyB.id)&&(b.push(e.bodyB),f.push(e.bodyB.id))}return b},d.prototype.wantsToSleep=function(){for(var a=0;a=a&&c>d;)this.internalStep(a),this.time+=a,this.accumulator-=a,d++;for(var e=this.accumulator%a/a,g=0;g!==this.bodies.length;g++){var h=this.bodies[g];f.lerp(h.interpolatedPosition,h.previousPosition,h.position,e),h.interpolatedAngle=h.previousAngle+e*(h.angle-h.previousAngle)}}};var y=[];d.prototype.internalStep=function(a){this.stepping=!0;var b=this.springs.length,c=this.springs,e=this.bodies,g=this.gravity,h=this.solver,i=this.bodies.length,j=this.broadphase,k=this.narrowphase,l=this.constraints,n=v,o=(f.scale,f.add),p=(f.rotate,this.islandManager);if(this.overlapKeeper.tick(),this.lastTimeStep=a,this.useWorldGravityAsFrictionGravity){var q=f.length(this.gravity);0===q&&this.useFrictionGravityOnZeroGravity||(this.frictionGravity=q)}if(this.applyGravity)for(var r=0;r!==i;r++){var t=e[r],u=t.force;t.type===m.DYNAMIC&&t.sleepState!==m.SLEEPING&&(f.scale(n,g,t.mass*t.gravityScale),o(u,u,n))}if(this.applySpringForces)for(var r=0;r!==b;r++){var w=c[r];w.applyForce()}if(this.applyDamping)for(var r=0;r!==i;r++){var t=e[r];t.type===m.DYNAMIC&&t.applyDamping(a)}for(var x=j.getCollisionPairs(this),z=this.disabledBodyCollisionPairs,r=z.length-2;r>=0;r-=2)for(var A=x.length-2;A>=0;A-=2)(z[r]===x[A]&&z[r+1]===x[A+1]||z[r+1]===x[A]&&z[r]===x[A+1])&&x.splice(A,2);var B=l.length;for(r=0;r!==B;r++){var C=l[r];if(!C.collideConnected)for(var A=x.length-2;A>=0;A-=2)(C.bodyA===x[A]&&C.bodyB===x[A+1]||C.bodyB===x[A]&&C.bodyA===x[A+1])&&x.splice(A,2)}this.postBroadphaseEvent.pairs=x,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,k.reset(this);for(var r=0,D=x.length;r!==D;r+=2)for(var E=x[r],F=x[r+1],G=0,H=E.shapes.length;G!==H;G++)for(var I=E.shapes[G],J=I.position,K=I.angle,L=0,M=F.shapes.length;L!==M;L++){var N=F.shapes[L],O=N.position,P=N.angle,Q=this.defaultContactMaterial;if(I.material&&N.material){var R=this.getContactMaterial(I.material,N.material);R&&(Q=R)}this.runNarrowphase(k,E,I,J,K,F,N,O,P,Q,this.frictionGravity)}for(var r=0;r!==i;r++){var S=e[r];S._wakeUpAfterNarrowphase&&(S.wakeUp(),S._wakeUpAfterNarrowphase=!1)}if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(y);for(var T=this.endContactEvent,L=y.length;L--;){var U=y[L];T.shapeA=U.shapeA,T.shapeB=U.shapeB,T.bodyA=U.bodyA,T.bodyB=U.bodyB,this.emit(T)}y.length=0}var V=this.preSolveEvent;V.contactEquations=k.contactEquations,V.frictionEquations=k.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var B=l.length;for(r=0;r!==B;r++)l[r].update();if(k.contactEquations.length||k.frictionEquations.length||B)if(this.islandSplit){for(p.equations.length=0,s.appendArray(p.equations,k.contactEquations),s.appendArray(p.equations,k.frictionEquations),r=0;r!==B;r++)s.appendArray(p.equations,l[r].equations);p.split(this);for(var r=0;r!==p.islands.length;r++){var W=p.islands[r];W.equations.length&&h.solveIsland(a,W)}}else{for(h.addEquations(k.contactEquations),h.addEquations(k.frictionEquations),r=0;r!==B;r++)h.addEquations(l[r].equations);this.solveConstraints&&h.solve(a,this),h.removeAllEquations()}for(var r=0;r!==i;r++){var S=e[r];S.integrate(a)}for(var r=0;r!==i;r++)e[r].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var X=this.impactEvent,r=0;r!==k.contactEquations.length;r++){var Y=k.contactEquations[r];Y.firstImpact&&(X.bodyA=Y.bodyA,X.bodyB=Y.bodyB,X.shapeA=Y.shapeA,X.shapeB=Y.shapeB,X.contactEquation=Y,this.emit(X))}if(this.sleepMode===d.BODY_SLEEPING)for(r=0;r!==i;r++)e[r].sleepTick(this.time,!1,a);else if(this.sleepMode===d.ISLAND_SLEEPING&&this.islandSplit){for(r=0;r!==i;r++)e[r].sleepTick(this.time,!0,a);for(var r=0;r0,a.frictionCoefficient=k.friction;var p;p=b.type===m.STATIC||b.type===m.KINEMATIC?g.mass:g.type===m.STATIC||g.type===m.KINEMATIC?b.mass:b.mass*g.mass/(b.mass+g.mass),a.slipForce=k.friction*l*p,a.restitution=k.restitution,a.surfaceVelocity=k.surfaceVelocity,a.frictionStiffness=k.frictionStiffness,a.frictionRelaxation=k.frictionRelaxation,a.stiffness=k.stiffness,a.relaxation=k.relaxation,a.contactSkinSize=k.contactSkinSize,a.enabledEquations=b.collisionResponse&&g.collisionResponse&&c.collisionResponse&&h.collisionResponse;var q=a[c.type|h.type],r=0;if(q){var s=c.sensor||h.sensor,t=a.frictionEquations.length;r=c.type=2*y&&(b._wakeUpAfterNarrowphase=!0)}if(g.allowSleep&&g.type===m.DYNAMIC&&g.sleepState===m.SLEEPING&&b.sleepState===m.AWAKE&&b.type!==m.STATIC){var z=f.squaredLength(b.velocity)+Math.pow(b.angularVelocity,2),A=Math.pow(b.sleepSpeedLimit,2);z>=2*A&&(g._wakeUpAfterNarrowphase=!0)}if(this.overlapKeeper.setOverlapping(b,c,g,h),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(c,h)){var B=this.beginContactEvent;if(B.shapeA=c,B.shapeB=h,B.bodyA=b,B.bodyB=g,B.contactEquations.length=0,"number"==typeof r)for(var C=a.contactEquations.length-r;C1)for(var C=a.frictionEquations.length-u;C=0;b--)this.removeConstraint(a[b]);for(var c=this.bodies,b=c.length-1;b>=0;b--)this.removeBody(c[b]);for(var e=this.springs,b=e.length-1;b>=0;b--)this.removeSpring(e[b]);for(var f=this.contactMaterials,b=f.length-1;b>=0;b--)this.removeContactMaterial(f[b]);d.apply(this)};var z=f.create(),A=(f.fromValues(0,0),f.fromValues(0,0));d.prototype.hitTest=function(a,b,c){c=c||0;var d=new m({position:a}),e=new k,l=a,n=0,o=z,p=A;d.addShape(e);for(var q=this.narrowphase,r=[],s=0,t=b.length;s!==t;s++)for(var u=b[s],v=0,w=u.shapes.length;v!==w;v++){var x=u.shapes[v];f.rotate(o,x.position,u.angle),f.add(o,o,u.position);var y=x.angle+u.angle;(x instanceof g&&q.circleParticle(u,x,o,y,d,e,l,n,!0)||x instanceof h&&q.particleConvex(d,e,l,n,u,x,o,y,!0)||x instanceof i&&q.particlePlane(d,e,l,n,u,x,o,y,!0)||x instanceof j&&q.particleCapsule(d,e,l,n,u,x,o,y,!0)||x instanceof k&&f.squaredLength(f.sub(p,o,a))=0&&b<=this.children.length)return a.parent&&a.parent.removeChild(a),a.parent=this,this.children.splice(b,0,a),this.stage&&a.setStageReference(this.stage),a;throw new Error(a+"addChildAt: The index "+b+" supplied is out of bounds "+this.children.length)},b.DisplayObjectContainer.prototype.swapChildren=function(a,b){if(a!==b){var c=this.getChildIndex(a),d=this.getChildIndex(b);if(0>c||0>d)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[c]=b,this.children[d]=a}},b.DisplayObjectContainer.prototype.getChildIndex=function(a){var b=this.children.indexOf(a);if(-1===b)throw new Error("The supplied DisplayObject must be a child of the caller"); -return b},b.DisplayObjectContainer.prototype.setChildIndex=function(a,b){if(0>b||b>=this.children.length)throw new Error("The supplied index is out of bounds");var c=this.getChildIndex(a);this.children.splice(c,1),this.children.splice(b,0,a)},b.DisplayObjectContainer.prototype.getChildAt=function(a){if(0>a||a>=this.children.length)throw new Error("getChildAt: Supplied index "+a+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[a]},b.DisplayObjectContainer.prototype.removeChild=function(a){var b=this.children.indexOf(a);if(-1!==b)return this.removeChildAt(b)},b.DisplayObjectContainer.prototype.removeChildAt=function(a){var b=this.getChildAt(a);return this.stage&&b.removeStageReference(),b.parent=void 0,this.children.splice(a,1),b},b.DisplayObjectContainer.prototype.removeChildren=function(a,b){var c=a||0,d="number"==typeof b?b:this.children.length,e=d-c;if(e>0&&d>=e){for(var f=this.children.splice(c,e),g=0;gj;j++){var l=this.children[j];l.visible&&(i=!0,a=this.children[j].getBounds(),e=ec?g:c,h=h>d?h:d)}if(!i)return b.EmptyRectangle;var m=this._bounds;return m.x=e,m.y=f,m.width=g-e,m.height=h-f,m},b.DisplayObjectContainer.prototype.getLocalBounds=function(){var a=this.worldTransform;this.worldTransform=b.identityMatrix;for(var c=0,d=this.children.length;d>c;c++)this.children[c].updateTransform();var e=this.getBounds();return this.worldTransform=a,e},b.DisplayObjectContainer.prototype.setStageReference=function(a){this.stage=a;for(var b=0;bi){i*=-1;var s=d;d=-e,e=-s}if(0>l){l*=-1;var s=f;f=-g,g=-s}q=i*e+m,o=i*d+m,r=l*g+n,p=l*f+n}else{var t=i*e+k*g+m,u=l*g+j*e+n,v=i*d+k*g+m,w=l*g+j*d+n,x=i*d+k*f+m,y=l*f+j*d+n,z=i*e+k*f+m,A=l*f+j*e+n;q=q>t?t:q,q=q>v?v:q,q=q>x?x:q,q=q>z?z:q,r=r>u?u:r,r=r>w?w:r,r=r>y?y:r,r=r>A?A:r,o=t>o?t:o,o=v>o?v:o,o=x>o?x:o,o=z>o?z:o,p=u>p?u:p,p=w>p?w:p,p=y>p?y:p,p=A>p?A:p}var B=this._bounds;return B.x=q,B.width=o-q,B.y=r,B.height=p-r,this._currentBounds=B,B},b.Sprite.prototype._renderWebGL=function(a,b){if(this.visible&&!(this.alpha<=0)&&this.renderable){var c=this.worldTransform;if(b&&(c=b),this._mask||this._filters){var d=a.spriteBatch;this._filters&&(d.flush(),a.filterManager.pushFilter(this._filterBlock)),this._mask&&(d.stop(),a.maskManager.pushMask(this.mask,a),d.start()),d.render(this);for(var e=0;e>16&255)/255,(a>>8&255)/255,(255&a)/255]},b.rgb2hex=function(a){return(255*a[0]<<16)+(255*a[1]<<8)+255*a[2]},b.canUseNewCanvasBlendModes=function(){if(void 0===document)return!1;var a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/",c="AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",d=new Image;d.src=a+"AP804Oa6"+c;var e=new Image;e.src=a+"/wCKxvRF"+c;var f=b.CanvasPool.create(this,6,1),g=f.getContext("2d");if(g.globalCompositeOperation="multiply",g.drawImage(d,0,0),g.drawImage(e,2,0),!g.getImageData(2,0,1,1))return!1;var h=g.getImageData(2,0,1,1).data;return b.CanvasPool.remove(this),255===h[0]&&0===h[1]&&0===h[2]},b.getNextPowerOfTwo=function(a){if(a>0&&0===(a&a-1))return a;for(var b=1;a>b;)b<<=1;return b},b.isPowerOfTwo=function(a,b){return a>0&&0===(a&a-1)&&b>0&&0===(b&b-1)},b.CanvasPool={create:function(a,c,d){var e,f=b.CanvasPool.getFirst();if(-1===f){var g={parent:a,canvas:document.createElement("canvas")};b.CanvasPool.pool.push(g),e=g.canvas}else b.CanvasPool.pool[f].parent=a,e=b.CanvasPool.pool[f].canvas;return void 0!==c&&(e.width=c,e.height=d),e},getFirst:function(){for(var a=b.CanvasPool.pool,c=0;cd;d+=6,e+=4)this.indices[d+0]=e+0,this.indices[d+1]=e+1,this.indices[d+2]=e+2,this.indices[d+3]=e+0,this.indices[d+4]=e+2,this.indices[d+5]=e+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.dirty=!0,this.textures=[],this.blendModes=[],this.shaders=[],this.sprites=[],this.defaultShader=new b.AbstractFilter(["precision lowp float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;","}"])},b.WebGLSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW),this.currentBlendMode=99999;var c=new b.PixiShader(a);c.fragmentSrc=this.defaultShader.fragmentSrc,c.uniforms={},c.init(),this.defaultShader.shaders[a.id]=c},b.WebGLSpriteBatch.prototype.begin=function(a){this.renderSession=a,this.shader=this.renderSession.shaderManager.defaultShader,this.start()},b.WebGLSpriteBatch.prototype.end=function(){this.flush()},b.WebGLSpriteBatch.prototype.render=function(a,b){var c=a.texture,d=a.worldTransform;b&&(d=b),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture);var e=c._uvs;if(e){var f,g,h,i,j=a.anchor.x,k=a.anchor.y;if(c.trim){var l=c.trim;g=l.x-j*l.width,f=g+c.crop.width,i=l.y-k*l.height,h=i+c.crop.height}else f=c.frame.width*(1-j),g=c.frame.width*-j,h=c.frame.height*(1-k),i=c.frame.height*-k;var m=4*this.currentBatchSize*this.vertSize,n=c.baseTexture.resolution,o=d.a/n,p=d.b/n,q=d.c/n,r=d.d/n,s=d.tx,t=d.ty,u=this.colors,v=this.positions;this.renderSession.roundPixels?(v[m]=o*g+q*i+s|0,v[m+1]=r*i+p*g+t|0,v[m+5]=o*f+q*i+s|0,v[m+6]=r*i+p*f+t|0,v[m+10]=o*f+q*h+s|0,v[m+11]=r*h+p*f+t|0,v[m+15]=o*g+q*h+s|0,v[m+16]=r*h+p*g+t|0):(v[m]=o*g+q*i+s,v[m+1]=r*i+p*g+t,v[m+5]=o*f+q*i+s,v[m+6]=r*i+p*f+t,v[m+10]=o*f+q*h+s,v[m+11]=r*h+p*f+t,v[m+15]=o*g+q*h+s,v[m+16]=r*h+p*g+t),v[m+2]=e.x0,v[m+3]=e.y0,v[m+7]=e.x1,v[m+8]=e.y1,v[m+12]=e.x2,v[m+13]=e.y2,v[m+17]=e.x3,v[m+18]=e.y3;var w=a.tint;u[m+4]=u[m+9]=u[m+14]=u[m+19]=(w>>16)+(65280&w)+((255&w)<<16)+(255*a.worldAlpha<<24),this.sprites[this.currentBatchSize++]=a}},b.WebGLSpriteBatch.prototype.renderTilingSprite=function(a){var c=a.tilingTexture;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture),a._uvs||(a._uvs=new b.TextureUvs);var d=a._uvs,e=c.baseTexture.width,f=c.baseTexture.height;a.tilePosition.x%=e*a.tileScaleOffset.x,a.tilePosition.y%=f*a.tileScaleOffset.y;var g=a.tilePosition.x/(e*a.tileScaleOffset.x),h=a.tilePosition.y/(f*a.tileScaleOffset.y),i=a.width/e/(a.tileScale.x*a.tileScaleOffset.x),j=a.height/f/(a.tileScale.y*a.tileScaleOffset.y);d.x0=0-g,d.y0=0-h,d.x1=1*i-g,d.y1=0-h,d.x2=1*i-g,d.y2=1*j-h,d.x3=0-g,d.y3=1*j-h;var k=a.tint,l=(k>>16)+(65280&k)+((255&k)<<16)+(255*a.worldAlpha<<24),m=this.positions,n=this.colors,o=a.width,p=a.height,q=a.anchor.x,r=a.anchor.y,s=o*(1-q),t=o*-q,u=p*(1-r),v=p*-r,w=4*this.currentBatchSize*this.vertSize,x=c.baseTexture.resolution,y=a.worldTransform,z=y.a/x,A=y.b/x,B=y.c/x,C=y.d/x,D=y.tx,E=y.ty;m[w++]=z*t+B*v+D,m[w++]=C*v+A*t+E,m[w++]=d.x0,m[w++]=d.y0,n[w++]=l,m[w++]=z*s+B*v+D,m[w++]=C*v+A*s+E,m[w++]=d.x1,m[w++]=d.y1,n[w++]=l,m[w++]=z*s+B*u+D,m[w++]=C*u+A*s+E,m[w++]=d.x2,m[w++]=d.y2,n[w++]=l,m[w++]=z*t+B*u+D,m[w++]=C*u+A*t+E,m[w++]=d.x3,m[w++]=d.y3,n[w++]=l,this.sprites[this.currentBatchSize++]=a},b.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a,c=this.gl;if(this.dirty){this.dirty=!1,c.activeTexture(c.TEXTURE0),c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a=this.defaultShader.shaders[c.id];var d=4*this.vertSize;c.vertexAttribPointer(a.aVertexPosition,2,c.FLOAT,!1,d,0),c.vertexAttribPointer(a.aTextureCoord,2,c.FLOAT,!1,d,8),c.vertexAttribPointer(a.colorAttribute,4,c.UNSIGNED_BYTE,!0,d,16)}if(this.currentBatchSize>.5*this.size)c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices);else{var e=this.positions.subarray(0,4*this.currentBatchSize*this.vertSize);c.bufferSubData(c.ARRAY_BUFFER,0,e)}for(var f,g,h,i,j=0,k=0,l=null,m=this.renderSession.blendModeManager.currentBlendMode,n=null,o=!1,p=!1,q=0,r=this.currentBatchSize;r>q;q++){if(i=this.sprites[q],f=i.tilingTexture?i.tilingTexture.baseTexture:i.texture.baseTexture,g=i.blendMode,h=i.shader||this.defaultShader,o=m!==g,p=n!==h,(l!==f&&!f.skipRender||o||p)&&(this.renderBatch(l,j,k),k=q,j=0,l=f,o&&(m=g,this.renderSession.blendModeManager.setBlendMode(m)),p)){n=h,a=n.shaders[c.id],a||(a=new b.PixiShader(c),a.fragmentSrc=n.fragmentSrc,a.uniforms=n.uniforms,a.init(),n.shaders[c.id]=a),this.renderSession.shaderManager.setShader(a),a.dirty&&a.syncUniforms();var s=this.renderSession.projection;c.uniform2f(a.projectionVector,s.x,s.y);var t=this.renderSession.offset;c.uniform2f(a.offsetVector,t.x,t.y)}j++}this.renderBatch(l,j,k),this.currentBatchSize=0}},b.WebGLSpriteBatch.prototype.renderBatch=function(a,b,c){if(0!==b){var d=this.gl;if(a._dirty[d.id]){if(!this.renderSession.renderer.updateTexture(a))return}else d.bindTexture(d.TEXTURE_2D,a._glTextures[d.id]);d.drawElements(d.TRIANGLES,6*b,d.UNSIGNED_SHORT,6*c*2),this.renderSession.drawCount++}},b.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},b.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},b.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},b.WebGLFastSpriteBatch=function(a){this.vertSize=10,this.maxSize=6e3,this.size=this.maxSize;var c=4*this.size*this.vertSize,d=6*this.maxSize;this.vertices=new b.Float32Array(c),this.indices=new b.Uint16Array(d),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var e=0,f=0;d>e;e+=6,f+=4)this.indices[e+0]=f+0,this.indices[e+1]=f+1,this.indices[e+2]=f+2,this.indices[e+3]=f+0,this.indices[e+4]=f+2,this.indices[e+5]=f+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.currentBlendMode=0,this.renderSession=null,this.shader=null,this.matrix=null,this.setContext(a)},b.WebGLFastSpriteBatch.prototype.constructor=b.WebGLFastSpriteBatch,b.WebGLFastSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW)},b.WebGLFastSpriteBatch.prototype.begin=function(a,b){this.renderSession=b,this.shader=this.renderSession.shaderManager.fastShader,this.matrix=a.worldTransform.toArray(!0),this.start()},b.WebGLFastSpriteBatch.prototype.end=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.render=function(a){var b=a.children,c=b[0];if(c.texture._uvs){this.currentBaseTexture=c.texture.baseTexture,c.blendMode!==this.renderSession.blendModeManager.currentBlendMode&&(this.flush(),this.renderSession.blendModeManager.setBlendMode(c.blendMode));for(var d=0,e=b.length;e>d;d++)this.renderSprite(b[d]);this.flush()}},b.WebGLFastSpriteBatch.prototype.renderSprite=function(a){if(a.visible&&(a.texture.baseTexture===this.currentBaseTexture||a.texture.baseTexture.skipRender||(this.flush(),this.currentBaseTexture=a.texture.baseTexture,a.texture._uvs))){var b,c,d,e,f,g,h,i,j=this.vertices;if(b=a.texture._uvs,c=a.texture.frame.width,d=a.texture.frame.height,a.texture.trim){var k=a.texture.trim;f=k.x-a.anchor.x*k.width,e=f+a.texture.crop.width,h=k.y-a.anchor.y*k.height,g=h+a.texture.crop.height}else e=a.texture.frame.width*(1-a.anchor.x),f=a.texture.frame.width*-a.anchor.x,g=a.texture.frame.height*(1-a.anchor.y),h=a.texture.frame.height*-a.anchor.y;i=4*this.currentBatchSize*this.vertSize,j[i++]=f,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x0,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x1,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x2,j[i++]=b.y2,j[i++]=a.alpha,j[i++]=f,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x3,j[i++]=b.y3,j[i++]=a.alpha,this.currentBatchSize++,this.currentBatchSize>=this.size&&this.flush()}},b.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a=this.gl;if(this.currentBaseTexture._glTextures[a.id]||this.renderSession.renderer.updateTexture(this.currentBaseTexture,a),a.bindTexture(a.TEXTURE_2D,this.currentBaseTexture._glTextures[a.id]),this.currentBatchSize>.5*this.size)a.bufferSubData(a.ARRAY_BUFFER,0,this.vertices);else{var b=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);a.bufferSubData(a.ARRAY_BUFFER,0,b)}a.drawElements(a.TRIANGLES,6*this.currentBatchSize,a.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}},b.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.start=function(){var a=this.gl;a.activeTexture(a.TEXTURE0),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var b=this.renderSession.projection;a.uniform2f(this.shader.projectionVector,b.x,b.y),a.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var c=4*this.vertSize;a.vertexAttribPointer(this.shader.aVertexPosition,2,a.FLOAT,!1,c,0),a.vertexAttribPointer(this.shader.aPositionCoord,2,a.FLOAT,!1,c,8),a.vertexAttribPointer(this.shader.aScale,2,a.FLOAT,!1,c,16),a.vertexAttribPointer(this.shader.aRotation,1,a.FLOAT,!1,c,24),a.vertexAttribPointer(this.shader.aTextureCoord,2,a.FLOAT,!1,c,28),a.vertexAttribPointer(this.shader.colorAttribute,1,a.FLOAT,!1,c,36)},b.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},b.WebGLFilterManager.prototype.constructor=b.WebGLFilterManager,b.WebGLFilterManager.prototype.setContext=function(a){this.gl=a,this.texturePool=[],this.initShaderBuffers()},b.WebGLFilterManager.prototype.begin=function(a,b){this.renderSession=a,this.defaultShader=a.shaderManager.defaultShader;var c=this.renderSession.projection;this.width=2*c.x,this.height=2*-c.y,this.buffer=b},b.WebGLFilterManager.prototype.pushFilter=function(a){var c=this.gl,d=this.renderSession.projection,e=this.renderSession.offset;a._filterArea=a.target.filterArea||a.target.getBounds(),this.filterStack.push(a);var f=a.filterPasses[0];this.offsetX+=a._filterArea.x,this.offsetY+=a._filterArea.y;var g=this.texturePool.pop();g?g.resize(this.width,this.height):g=new b.FilterTexture(this.gl,this.width,this.height),c.bindTexture(c.TEXTURE_2D,g.texture);var h=a._filterArea,i=f.padding;h.x-=i,h.y-=i,h.width+=2*i,h.height+=2*i,h.x<0&&(h.x=0),h.width>this.width&&(h.width=this.width),h.y<0&&(h.y=0),h.height>this.height&&(h.height=this.height),c.bindFramebuffer(c.FRAMEBUFFER,g.frameBuffer),c.viewport(0,0,h.width,h.height),d.x=h.width/2,d.y=-h.height/2,e.x=-h.x,e.y=-h.y,c.colorMask(!0,!0,!0,!0),c.clearColor(0,0,0,0),c.clear(c.COLOR_BUFFER_BIT),a._glFilterTexture=g},b.WebGLFilterManager.prototype.popFilter=function(){var a=this.gl,c=this.filterStack.pop(),d=c._filterArea,e=c._glFilterTexture,f=this.renderSession.projection,g=this.renderSession.offset;if(c.filterPasses.length>1){a.viewport(0,0,d.width,d.height),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=d.height,this.vertexArray[2]=d.width,this.vertexArray[3]=d.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=d.width,this.vertexArray[7]=0,a.bufferSubData(a.ARRAY_BUFFER,0,this.vertexArray),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=d.width/this.width,this.uvArray[5]=d.height/this.height,this.uvArray[6]=d.width/this.width,this.uvArray[7]=d.height/this.height,a.bufferSubData(a.ARRAY_BUFFER,0,this.uvArray);var h=e,i=this.texturePool.pop();i||(i=new b.FilterTexture(this.gl,this.width,this.height)),i.resize(this.width,this.height),a.bindFramebuffer(a.FRAMEBUFFER,i.frameBuffer),a.clear(a.COLOR_BUFFER_BIT),a.disable(a.BLEND);for(var j=0;j=0;a--){var c=this._glTextures[a],d=b.glContexts[a];d&&c&&d.deleteTexture(c)}this._glTextures.length=0,this.dirty()},b.BaseTexture.fromImage=function(a,c,d){var e=b.BaseTextureCache[a];if(void 0===c&&-1===a.indexOf("data:")&&(c=!0),!e){var f=new Image;c&&(f.crossOrigin=""),f.src=a,e=new b.BaseTexture(f,d),e.imageUrl=a,b.BaseTextureCache[a]=e,-1!==a.indexOf(b.RETINA_PREFIX+".")&&(e.resolution=2)}return e},b.BaseTexture.fromCanvas=function(a,c){a._pixiId||(a._pixiId="canvas_"+b.TextureCacheIdGenerator++),0===a.width&&(a.width=1),0===a.height&&(a.height=1);var d=b.BaseTextureCache[a._pixiId];return d||(d=new b.BaseTexture(a,c),b.BaseTextureCache[a._pixiId]=d),d},b.TextureCache={},b.FrameCache={},b.TextureSilentFail=!1,b.TextureCacheIdGenerator=0,b.Texture=function(a,c,d,e){this.noFrame=!1,c||(this.noFrame=!0,c=new b.Rectangle(0,0,1,1)),a instanceof b.Texture&&(a=a.baseTexture),this.baseTexture=a,this.frame=c,this.trim=e,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=d||new b.Rectangle(0,0,1,1),a.hasLoaded&&(this.noFrame&&(c=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(c))},b.Texture.prototype.constructor=b.Texture,b.Texture.prototype.onBaseTextureLoaded=function(){var a=this.baseTexture;this.noFrame&&(this.frame=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(this.frame)},b.Texture.prototype.destroy=function(a){a&&this.baseTexture.destroy(),this.valid=!1},b.Texture.prototype.setFrame=function(a){if(this.noFrame=!1,this.frame=a,this.width=a.width,this.height=a.height,this.crop.x=a.x,this.crop.y=a.y,this.crop.width=a.width,this.crop.height=a.height,!this.trim&&(a.x+a.width>this.baseTexture.width||a.y+a.height>this.baseTexture.height)){if(!b.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);return void(this.valid=!1)}this.valid=a&&a.width&&a.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()},b.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new b.TextureUvs);var a=this.crop,c=this.baseTexture.width,d=this.baseTexture.height;this._uvs.x0=a.x/c,this._uvs.y0=a.y/d,this._uvs.x1=(a.x+a.width)/c,this._uvs.y1=a.y/d,this._uvs.x2=(a.x+a.width)/c,this._uvs.y2=(a.y+a.height)/d,this._uvs.x3=a.x/c,this._uvs.y3=(a.y+a.height)/d},b.Texture.fromImage=function(a,c,d){var e=b.TextureCache[a];return e||(e=new b.Texture(b.BaseTexture.fromImage(a,c,d)),b.TextureCache[a]=e),e},b.Texture.fromFrame=function(a){var c=b.TextureCache[a];if(!c)throw new Error('The frameId "'+a+'" does not exist in the texture cache ');return c},b.Texture.fromCanvas=function(a,c){var d=b.BaseTexture.fromCanvas(a,c);return new b.Texture(d)},b.Texture.addTextureToCache=function(a,c){b.TextureCache[c]=a},b.Texture.removeTextureFromCache=function(a){var c=b.TextureCache[a];return delete b.TextureCache[a],delete b.BaseTextureCache[a],c},b.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},b.RenderTexture=function(a,c,d,e,f){if(this.width=a||100,this.height=c||100,this.resolution=f||1,this.frame=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.baseTexture=new b.BaseTexture,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=e||b.scaleModes.DEFAULT,this.baseTexture.hasLoaded=!0, -b.Texture.call(this,this.baseTexture,new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution)),this.renderer=d||b.defaultRenderer,this.renderer.type===b.WEBGL_RENDERER){var g=this.renderer.gl;this.baseTexture._dirty[g.id]=!1,this.textureBuffer=new b.FilterTexture(g,this.width,this.height,this.baseTexture.scaleMode),this.baseTexture._glTextures[g.id]=this.textureBuffer.texture,this.render=this.renderWebGL,this.projection=new b.Point(.5*this.width,.5*-this.height)}else this.render=this.renderCanvas,this.textureBuffer=new b.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new Phaser.Matrix,this._updateUvs()},b.RenderTexture.prototype=Object.create(b.Texture.prototype),b.RenderTexture.prototype.constructor=b.RenderTexture,b.RenderTexture.prototype.resize=function(a,c,d){(a!==this.width||c!==this.height)&&(this.valid=a>0&&c>0,this.width=a,this.height=c,this.frame.width=this.crop.width=a*this.resolution,this.frame.height=this.crop.height=c*this.resolution,d&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===b.WEBGL_RENDERER&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},b.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===b.WEBGL_RENDERER&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},b.RenderTexture.prototype.renderWebGL=function(a,b,c){if(this.valid&&0!==a.alpha){var d=a.worldTransform;d.identity(),d.translate(0,2*this.projection.y),b&&d.append(b),d.scale(1,-1);for(var e=0;ea;a++)this.shaders[a].dirty=!0},b.Strip=function(a){b.DisplayObjectContainer.call(this),this.texture=a,this.uvs=new b.Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new b.Float32Array([0,0,100,0,100,100,0,100]),this.colors=new b.Float32Array([1,1,1,1]),this.indices=new b.Uint16Array([0,1,2,3]),this.dirty=!0,this.blendMode=b.blendModes.NORMAL,this.canvasPadding=0,this.drawMode=b.Strip.DrawModes.TRIANGLE_STRIP},b.Strip.prototype=Object.create(b.DisplayObjectContainer.prototype),b.Strip.prototype.constructor=b.Strip,b.Strip.prototype._renderWebGL=function(a){!this.visible||this.alpha<=0||(a.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(a),a.shaderManager.setShader(a.shaderManager.stripShader),this._renderStrip(a),a.spriteBatch.start())},b.Strip.prototype._initWebGL=function(a){var b=a.gl;this._vertexBuffer=b.createBuffer(),this._indexBuffer=b.createBuffer(),this._uvBuffer=b.createBuffer(),this._colorBuffer=b.createBuffer(),b.bindBuffer(b.ARRAY_BUFFER,this._vertexBuffer),b.bufferData(b.ARRAY_BUFFER,this.vertices,b.DYNAMIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._uvBuffer),b.bufferData(b.ARRAY_BUFFER,this.uvs,b.STATIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._colorBuffer),b.bufferData(b.ARRAY_BUFFER,this.colors,b.STATIC_DRAW),b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,this._indexBuffer),b.bufferData(b.ELEMENT_ARRAY_BUFFER,this.indices,b.STATIC_DRAW)},b.Strip.prototype._renderStrip=function(a){var c=a.gl,d=a.projection,e=a.offset,f=a.shaderManager.stripShader,g=this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?c.TRIANGLE_STRIP:c.TRIANGLES;a.blendModeManager.setBlendMode(this.blendMode),c.uniformMatrix3fv(f.translationMatrix,!1,this.worldTransform.toArray(!0)),c.uniform2f(f.projectionVector,d.x,-d.y),c.uniform2f(f.offsetVector,-e.x,-e.y),c.uniform1f(f.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferData(c.ARRAY_BUFFER,this.vertices,c.STATIC_DRAW),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.bufferData(c.ARRAY_BUFFER,this.uvs,c.STATIC_DRAW),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer),c.bufferData(c.ELEMENT_ARRAY_BUFFER,this.indices,c.STATIC_DRAW)):(c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),c.drawElements(g,this.indices.length,c.UNSIGNED_SHORT,0)},b.Strip.prototype._renderCanvas=function(a){var c=a.context,d=this.worldTransform;a.roundPixels?c.setTransform(d.a,d.b,d.c,d.d,0|d.tx,0|d.ty):c.setTransform(d.a,d.b,d.c,d.d,d.tx,d.ty),this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(c):this._renderCanvasTriangles(c)},b.Strip.prototype._renderCanvasTriangleStrip=function(a){var b=this.vertices,c=this.uvs,d=b.length/2;this.count++;for(var e=0;d-2>e;e++){var f=2*e;this._renderCanvasDrawTriangle(a,b,c,f,f+2,f+4)}},b.Strip.prototype._renderCanvasTriangles=function(a){var b=this.vertices,c=this.uvs,d=this.indices,e=d.length;this.count++;for(var f=0;e>f;f+=3){var g=2*d[f],h=2*d[f+1],i=2*d[f+2];this._renderCanvasDrawTriangle(a,b,c,g,h,i)}},b.Strip.prototype._renderCanvasDrawTriangle=function(a,b,c,d,e,f){var g=this.texture.baseTexture.source,h=this.texture.width,i=this.texture.height,j=b[d],k=b[e],l=b[f],m=b[d+1],n=b[e+1],o=b[f+1],p=c[d]*h,q=c[e]*h,r=c[f]*h,s=c[d+1]*i,t=c[e+1]*i,u=c[f+1]*i;if(this.canvasPadding>0){var v=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,x=(j+k+l)/3,y=(m+n+o)/3,z=j-x,A=m-y,B=Math.sqrt(z*z+A*A);j=x+z/B*(B+v),m=y+A/B*(B+w),z=k-x,A=n-y,B=Math.sqrt(z*z+A*A),k=x+z/B*(B+v),n=y+A/B*(B+w),z=l-x,A=o-y,B=Math.sqrt(z*z+A*A),l=x+z/B*(B+v),o=y+A/B*(B+w)}a.save(),a.beginPath(),a.moveTo(j,m),a.lineTo(k,n),a.lineTo(l,o),a.closePath(),a.clip();var C=p*t+s*r+q*u-t*r-s*q-p*u,D=j*t+s*l+k*u-t*l-s*k-j*u,E=p*k+j*r+q*l-k*r-j*q-p*l,F=p*t*l+s*k*r+j*q*u-j*t*r-s*q*l-p*k*u,G=m*t+s*o+n*u-t*o-s*n-m*u,H=p*n+m*r+q*o-n*r-m*q-p*o,I=p*t*o+s*n*r+m*q*u-m*t*r-s*q*o-p*n*u;a.transform(D/C,G/C,E/C,H/C,F/C,I/C),a.drawImage(g,0,0),a.restore()},b.Strip.prototype.renderStripFlat=function(a){var b=this.context,c=a.vertices,d=c.length/2;this.count++,b.beginPath();for(var e=1;d-2>e;e++){var f=2*e,g=c[f],h=c[f+2],i=c[f+4],j=c[f+1],k=c[f+3],l=c[f+5];b.moveTo(g,j),b.lineTo(h,k),b.lineTo(i,l)}b.fillStyle="#FF0000",b.fill(),b.closePath()},b.Strip.prototype.onTextureUpdate=function(){this.updateFrame=!0},b.Strip.prototype.getBounds=function(a){for(var c=a||this.worldTransform,d=c.a,e=c.b,f=c.c,g=c.d,h=c.tx,i=c.ty,j=-(1/0),k=-(1/0),l=1/0,m=1/0,n=this.vertices,o=0,p=n.length;p>o;o+=2){var q=n[o],r=n[o+1],s=d*q+f*r+h,t=g*r+e*q+i;l=l>s?s:l,m=m>t?t:m,j=s>j?s:j,k=t>k?t:k}if(l===-(1/0)||k===1/0)return b.EmptyRectangle;var u=this._bounds;return u.x=l,u.width=j-l,u.y=m,u.height=k-m,this._currentBounds=u,u},b.Strip.DrawModes={TRIANGLE_STRIP:0,TRIANGLES:1},b.Rope=function(a,c){b.Strip.call(this,a),this.points=c,this.vertices=new b.Float32Array(4*c.length),this.uvs=new b.Float32Array(4*c.length),this.colors=new b.Float32Array(2*c.length),this.indices=new b.Uint16Array(2*c.length),this.refresh()},b.Rope.prototype=Object.create(b.Strip.prototype),b.Rope.prototype.constructor=b.Rope,b.Rope.prototype.refresh=function(){var a=this.points;if(!(a.length<1)){var b=this.uvs,c=a[0],d=this.indices,e=this.colors;this.count-=.2,b[0]=0,b[1]=0,b[2]=0,b[3]=1,e[0]=1,e[1]=1,d[0]=0,d[1]=1;for(var f,g,h,i=a.length,j=1;i>j;j++)f=a[j],g=4*j,h=j/(i-1),j%2?(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1):(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1),g=2*j,e[g]=1,e[g+1]=1,g=2*j,d[g]=g,d[g+1]=g+1,c=f}},b.Rope.prototype.updateTransform=function(){var a=this.points;if(!(a.length<1)){var c,d=a[0],e={x:0,y:0};this.count-=.2;for(var f,g,h,i,j,k=this.vertices,l=a.length,m=0;l>m;m++)f=a[m],g=4*m,c=m1&&(h=1),i=Math.sqrt(e.x*e.x+e.y*e.y),j=this.texture.height/2,e.x/=i,e.y/=i,e.x*=j,e.y*=j,k[g]=f.x+e.x,k[g+1]=f.y+e.y,k[g+2]=f.x-e.x,k[g+3]=f.y-e.y,d=f;b.DisplayObjectContainer.prototype.updateTransform.call(this)}},b.Rope.prototype.setTexture=function(a){this.texture=a},b.TilingSprite=function(a,c,d){b.Sprite.call(this,a),this._width=c||128,this._height=d||128,this.tileScale=new b.Point(1,1),this.tileScaleOffset=new b.Point(1,1),this.tilePosition=new b.Point,this.renderable=!0,this.tint=16777215,this.textureDebug=!1,this.blendMode=b.blendModes.NORMAL,this.canvasBuffer=null,this.tilingTexture=null,this.tilePattern=null,this.refreshTexture=!0,this.frameWidth=0,this.frameHeight=0},b.TilingSprite.prototype=Object.create(b.Sprite.prototype),b.TilingSprite.prototype.constructor=b.TilingSprite,b.TilingSprite.prototype.setTexture=function(a){this.texture!==a&&(this.texture=a,this.refreshTexture=!0,this.cachedTint=16777215)},b.TilingSprite.prototype._renderWebGL=function(a){if(this.visible!==!1&&0!==this.alpha){if(this._mask&&(a.spriteBatch.stop(),a.maskManager.pushMask(this.mask,a),a.spriteBatch.start()),this._filters&&(a.spriteBatch.flush(),a.filterManager.pushFilter(this._filterBlock)),this.refreshTexture){if(this.generateTilingTexture(!0,a),!this.tilingTexture)return;this.tilingTexture.needsUpdate&&(a.renderer.updateTexture(this.tilingTexture.baseTexture),this.tilingTexture.needsUpdate=!1)}a.spriteBatch.renderTilingSprite(this);for(var b=0;bn?n:x,x=x>p?p:x,x=x>r?r:x,x=x>t?t:x,y=y>o?o:y,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=n>v?n:v,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=o>w?o:w,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w;var z=this._bounds;return z.x=x,z.width=v-x,z.y=y,z.height=w-y,this._currentBounds=z,z},b.TilingSprite.prototype.destroy=function(){b.Sprite.prototype.destroy.call(this),this.canvasBuffer&&(this.canvasBuffer.destroy(),this.canvasBuffer=null),this.tileScale=null,this.tileScaleOffset=null,this.tilePosition=null,this.tilingTexture&&(this.tilingTexture.destroy(!0),this.tilingTexture=null)},Object.defineProperty(b.TilingSprite.prototype,"width",{get:function(){return this._width},set:function(a){this._width=a}}),Object.defineProperty(b.TilingSprite.prototype,"height",{get:function(){return this._height},set:function(a){this._height=a}}),"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=b),exports.PIXI=b):"undefined"!=typeof define&&define.amd?define("PIXI",function(){return a.PIXI=b}()):a.PIXI=b,b}.call(this),function(){function a(a,b){this._scaleFactor=a,this._deltaMode=b,this.originalEvent=null}var b=this,c=c||{VERSION:"2.4.4",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,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},PIXI:PIXI||{}};if(Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)}),Function.prototype.bind||(Function.prototype.bind=function(){var a=Array.prototype.slice;return function(b){function c(){var f=e.concat(a.call(arguments));d.apply(this instanceof c?this:b,f)}var d=this,e=a.call(arguments,1);if("function"!=typeof d)throw new TypeError;return c.prototype=function f(a){return a&&(f.prototype=a),this instanceof f?void 0:new f}(d.prototype),c}}()),Array.isArray||(Array.isArray=function(a){return"[object Array]"==Object.prototype.toString.call(a)}),Array.prototype.forEach||(Array.prototype.forEach=function(a){"use strict";if(void 0===this||null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!=typeof a)throw new TypeError;for(var d=arguments.length>=2?arguments[1]:void 0,e=0;c>e;e++)e in b&&a.call(d,b[e],e,b)}),"function"!=typeof window.Uint32Array&&"object"!=typeof window.Uint32Array){var d=function(a){var b=new Array;window[a]=function(a){if("number"==typeof a){Array.call(this,a),this.length=a;for(var b=0;bf&&(a=a[g]);)g=c[f],f++;return a?a[d]:null},setProperty:function(a,b,c){for(var d=b.split("."),e=d.pop(),f=d.length,g=1,h=d[0];f>g&&(a=a[h]);)h=d[g],g++;return a&&(a[e]=c),a},chanceRoll:function(a){return void 0===a&&(a=50),a>0&&100*Math.random()<=a},randomChoice:function(a,b){return Math.random()<.5?a:b},parseDimension:function(a,b){var c=0,d=0;return"string"==typeof a?"%"===a.substr(-1)?(c=parseInt(a,10)/100,d=0===b?window.innerWidth*c:window.innerHeight*c):d=parseInt(a,10):d=a,d},pad:function(a,b,c,d){if(void 0===b)var b=0;if(void 0===c)var c=" ";if(void 0===d)var d=3;var e=0;if(b+1>=a.length)switch(d){case 1:a=new Array(b+1-a.length).join(c)+a;break;case 3:var f=Math.ceil((e=b-a.length)/2),g=e-f;a=new Array(g+1).join(c)+a+new Array(f+1).join(c);break;default:a+=new Array(b+1-a.length).join(c)}return a},isPlainObject:function(a){if("object"!=typeof a||a.nodeType||a===a.window)return!1;try{if(a.constructor&&!{}.hasOwnProperty.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(b){return!1}return!0},extend:function(){var a,b,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(b in a)d=h[b],e=a[b],h!==e&&(k&&e&&(c.Utils.isPlainObject(e)||(f=Array.isArray(e)))?(f?(f=!1,g=d&&Array.isArray(d)?d:[]):g=d&&c.Utils.isPlainObject(d)?d:{},h[b]=c.Utils.extend(k,g,e)):void 0!==e&&(h[b]=e));return h},mixinPrototype:function(a,b,c){void 0===c&&(c=!1);for(var d=Object.keys(b),e=0;e0&&(this._radius=.5*d),this.type=c.CIRCLE},c.Circle.prototype={circumference:function(){return 2*(Math.PI*this._radius)},random:function(a){void 0===a&&(a=new c.Point);var b=2*Math.PI*Math.random(),d=Math.random()+Math.random(),e=d>1?2-d:d,f=e*Math.cos(b),g=e*Math.sin(b);return a.x=this.x+f*this.radius,a.y=this.y+g*this.radius,a},getBounds:function(){return new c.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(a,b,c){return this.x=a,this.y=b,this._diameter=c,this._radius=.5*c,this},copyFrom:function(a){return this.setTo(a.x,a.y,a.diameter)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.diameter=this._diameter,a},distance:function(a,b){var d=c.Math.distance(this.x,this.y,a.x,a.y);return b?Math.round(d):d},clone:function(a){return void 0===a||null===a?a=new c.Circle(this.x,this.y,this.diameter):a.setTo(this.x,this.y,this.diameter),a},contains:function(a,b){return c.Circle.contains(this,a,b)},circumferencePoint:function(a,b,d){return c.Circle.circumferencePoint(this,a,b,d)},offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},c.Circle.prototype.constructor=c.Circle,Object.defineProperty(c.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(a){a>0&&(this._diameter=a,this._radius=.5*a)}}),Object.defineProperty(c.Circle.prototype,"radius",{get:function(){return this._radius},set:function(a){a>0&&(this._radius=a,this._diameter=2*a)}}),Object.defineProperty(c.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(a){a>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-a}}),Object.defineProperty(c.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(a){athis.y?(this._radius=0,this._diameter=0):this.radius=this.y-a}}),Object.defineProperty(c.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(a){a0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(c.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(a){a===!0&&this.setTo(0,0,0)}}),c.Circle.contains=function(a,b,c){if(a.radius>0&&b>=a.left&&b<=a.right&&c>=a.top&&c<=a.bottom){var d=(a.x-b)*(a.x-b),e=(a.y-c)*(a.y-c);return d+e<=a.radius*a.radius}return!1},c.Circle.equals=function(a,b){return a.x==b.x&&a.y==b.y&&a.diameter==b.diameter},c.Circle.intersects=function(a,b){return c.Math.distance(a.x,a.y,b.x,b.y)<=a.radius+b.radius},c.Circle.circumferencePoint=function(a,b,d,e){return void 0===d&&(d=!1),void 0===e&&(e=new c.Point),d===!0&&(b=c.Math.degToRad(b)),e.x=a.x+a.radius*Math.cos(b),e.y=a.y+a.radius*Math.sin(b),e},c.Circle.intersectsRectangle=function(a,b){var c=Math.abs(a.x-b.x-b.halfWidth),d=b.halfWidth+a.radius;if(c>d)return!1;var e=Math.abs(a.y-b.y-b.halfHeight),f=b.halfHeight+a.radius;if(e>f)return!1;if(c<=b.halfWidth||e<=b.halfHeight)return!0;var g=c-b.halfWidth,h=e-b.halfHeight,i=g*g,j=h*h,k=a.radius*a.radius;return k>=i+j},PIXI.Circle=c.Circle,c.Ellipse=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.ELLIPSE},c.Ellipse.prototype={setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},getBounds:function(){return new c.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},clone:function(a){return void 0===a||null===a?a=new c.Ellipse(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a},contains:function(a,b){return c.Ellipse.contains(this,a,b)},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random()*Math.PI*2,d=Math.random();return a.x=Math.sqrt(d)*Math.cos(b),a.y=Math.sqrt(d)*Math.sin(b),a.x=this.x+a.x*this.width/2,a.y=this.y+a.y*this.height/2,a},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},c.Ellipse.prototype.constructor=c.Ellipse,Object.defineProperty(c.Ellipse.prototype,"left",{get:function(){return this.x},set:function(a){this.x=a}}),Object.defineProperty(c.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(a){ad+e},PIXI.Ellipse=c.Ellipse,c.Line=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.start=new c.Point(a,b),this.end=new c.Point(d,e),this.type=c.LINE},c.Line.prototype={setTo:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(c,d),this},fromSprite:function(a,b,c){return void 0===c&&(c=!1),c?this.setTo(a.center.x,a.center.y,b.center.x,b.center.y):this.setTo(a.x,a.y,b.x,b.y)},fromAngle:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(a+Math.cos(c)*d,b+Math.sin(c)*d),this},rotate:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2;return this.start.rotate(c,d,a,b),this.end.rotate(c,d,a,b),this},rotateAround:function(a,b,c,d){return this.start.rotate(a,b,c,d),this.end.rotate(a,b,c,d),this},intersects:function(a,b,d){return c.Line.intersectsPoints(this.start,this.end,a.start,a.end,b,d)},reflect:function(a){return c.Line.reflect(this,a)},midPoint:function(a){return void 0===a&&(a=new c.Point),a.x=(this.start.x+this.end.x)/2,a.y=(this.start.y+this.end.y)/2,a},centerOn:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2,e=a-c,f=b-d;this.start.add(e,f),this.end.add(e,f)},pointOnLine:function(a,b){return(a-this.start.x)*(this.end.y-this.start.y)===(this.end.x-this.start.x)*(b-this.start.y)},pointOnSegment:function(a,b){var c=Math.min(this.start.x,this.end.x),d=Math.max(this.start.x,this.end.x),e=Math.min(this.start.y,this.end.y),f=Math.max(this.start.y,this.end.y);return this.pointOnLine(a,b)&&a>=c&&d>=a&&b>=e&&f>=b},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random();return a.x=this.start.x+b*(this.end.x-this.start.x),a.y=this.start.y+b*(this.end.y-this.start.y),a},coordinatesOnLine:function(a,b){void 0===a&&(a=1),void 0===b&&(b=[]);var c=Math.round(this.start.x),d=Math.round(this.start.y),e=Math.round(this.end.x),f=Math.round(this.end.y),g=Math.abs(e-c),h=Math.abs(f-d),i=e>c?1:-1,j=f>d?1:-1,k=g-h;b.push([c,d]);for(var l=1;c!=e||d!=f;){var m=k<<1;m>-h&&(k-=h,c+=i),g>m&&(k+=g,d+=j),l%a===0&&b.push([c,d]),l++}return b},clone:function(a){return void 0===a||null===a?a=new c.Line(this.start.x,this.start.y,this.end.x,this.end.y):a.setTo(this.start.x,this.start.y,this.end.x,this.end.y),a}},Object.defineProperty(c.Line.prototype,"length",{get:function(){return Math.sqrt((this.end.x-this.start.x)*(this.end.x-this.start.x)+(this.end.y-this.start.y)*(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"angle",{get:function(){return Math.atan2(this.end.y-this.start.y,this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"slope",{get:function(){return(this.end.y-this.start.y)/(this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"perpSlope",{get:function(){return-((this.end.x-this.start.x)/(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"x",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"y",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"left",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"right",{get:function(){return Math.max(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"top",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"bottom",{get:function(){return Math.max(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"width",{get:function(){return Math.abs(this.start.x-this.end.x)}}),Object.defineProperty(c.Line.prototype,"height",{get:function(){return Math.abs(this.start.y-this.end.y)}}),Object.defineProperty(c.Line.prototype,"normalX",{get:function(){return Math.cos(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalY",{get:function(){return Math.sin(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalAngle",{get:function(){return c.Math.wrap(this.angle-1.5707963267948966,-Math.PI,Math.PI)}}),c.Line.intersectsPoints=function(a,b,d,e,f,g){void 0===f&&(f=!0),void 0===g&&(g=new c.Point);var h=b.y-a.y,i=e.y-d.y,j=a.x-b.x,k=d.x-e.x,l=b.x*a.y-a.x*b.y,m=e.x*d.y-d.x*e.y,n=h*k-i*j;if(0===n)return null;if(g.x=(j*m-k*l)/n,g.y=(i*l-h*m)/n,f){var o=(e.y-d.y)*(b.x-a.x)-(e.x-d.x)*(b.y-a.y),p=((e.x-d.x)*(a.y-d.y)-(e.y-d.y)*(a.x-d.x))/o,q=((b.x-a.x)*(a.y-d.y)-(b.y-a.y)*(a.x-d.x))/o;return p>=0&&1>=p&&q>=0&&1>=q?g:null}return g},c.Line.intersects=function(a,b,d,e){return c.Line.intersectsPoints(a.start,a.end,b.start,b.end,d,e)},c.Line.reflect=function(a,b){return 2*b.normalAngle-3.141592653589793-a.angle},c.Matrix=function(a,b,d,e,f,g){a=a||1,b=b||0,d=d||0,e=e||1,f=f||0,g=g||0,this.a=a,this.b=b,this.c=d,this.d=e,this.tx=f,this.ty=g,this.type=c.MATRIX},c.Matrix.prototype={fromArray:function(a){return this.setTo(a[0],a[1],a[3],a[4],a[2],a[5])},setTo:function(a,b,c,d,e,f){return this.a=a,this.b=b,this.c=c,this.d=d,this.tx=e,this.ty=f,this},clone:function(a){return void 0===a||null===a?a=new c.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(a.a=this.a,a.b=this.b,a.c=this.c,a.d=this.d,a.tx=this.tx,a.ty=this.ty),a},copyTo:function(a){return a.copyFrom(this),a},copyFrom:function(a){return this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.tx=a.tx,this.ty=a.ty,this},toArray:function(a,b){return void 0===b&&(b=new PIXI.Float32Array(9)),a?(b[0]=this.a,b[1]=this.b,b[2]=0,b[3]=this.c,b[4]=this.d,b[5]=0,b[6]=this.tx,b[7]=this.ty,b[8]=1):(b[0]=this.a,b[1]=this.c,b[2]=this.tx,b[3]=this.b,b[4]=this.d,b[5]=this.ty,b[6]=0,b[7]=0,b[8]=1),b},apply:function(a,b){return void 0===b&&(b=new c.Point),b.x=this.a*a.x+this.c*a.y+this.tx,b.y=this.b*a.x+this.d*a.y+this.ty,b},applyInverse:function(a,b){void 0===b&&(b=new c.Point);var d=1/(this.a*this.d+this.c*-this.b),e=a.x,f=a.y;return b.x=this.d*d*e+-this.c*d*f+(this.ty*this.c-this.tx*this.d)*d,b.y=this.a*d*f+-this.b*d*e+(-this.ty*this.a+this.tx*this.b)*d,b},translate:function(a,b){return this.tx+=a,this.ty+=b,this},scale:function(a,b){return this.a*=a,this.d*=b,this.c*=a,this.b*=b,this.tx*=a,this.ty*=b,this},rotate:function(a){var b=Math.cos(a),c=Math.sin(a),d=this.a,e=this.c,f=this.tx;return this.a=d*b-this.b*c,this.b=d*c+this.b*b,this.c=e*b-this.d*c,this.d=e*c+this.d*b,this.tx=f*b-this.ty*c,this.ty=f*c+this.ty*b,this},append:function(a){var b=this.a,c=this.b,d=this.c,e=this.d;return this.a=a.a*b+a.b*d,this.b=a.a*c+a.b*e,this.c=a.c*b+a.d*d,this.d=a.c*c+a.d*e,this.tx=a.tx*b+a.ty*d+this.tx,this.ty=a.tx*c+a.ty*e+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},c.identityMatrix=new c.Matrix,PIXI.Matrix=c.Matrix,PIXI.identityMatrix=c.identityMatrix,c.Point=function(a,b){a=a||0,b=b||0,this.x=a,this.y=b,this.type=c.POINT},c.Point.prototype={copyFrom:function(a){return this.setTo(a.x,a.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0), -this},set:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},add:function(a,b){return this.x+=a,this.y+=b,this},subtract:function(a,b){return this.x-=a,this.y-=b,this},multiply:function(a,b){return this.x*=a,this.y*=b,this},divide:function(a,b){return this.x/=a,this.y/=b,this},clampX:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this},clampY:function(a,b){return this.y=c.Math.clamp(this.y,a,b),this},clamp:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this.y=c.Math.clamp(this.y,a,b),this},clone:function(a){return void 0===a||null===a?a=new c.Point(this.x,this.y):a.setTo(this.x,this.y),a},copyTo:function(a){return a.x=this.x,a.y=this.y,a},distance:function(a,b){return c.Point.distance(this,a,b)},equals:function(a){return a.x===this.x&&a.y===this.y},angle:function(a,b){return void 0===b&&(b=!1),b?c.Math.radToDeg(Math.atan2(a.y-this.y,a.x-this.x)):Math.atan2(a.y-this.y,a.x-this.x)},rotate:function(a,b,d,e,f){return c.Point.rotate(this,a,b,d,e,f)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(a){return this.normalize().multiply(a,a)},normalize:function(){if(!this.isZero()){var a=this.getMagnitude();this.x/=a,this.y/=a}return this},isZero:function(){return 0===this.x&&0===this.y},dot:function(a){return this.x*a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},c.Point.prototype.constructor=c.Point,c.Point.add=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x+b.x,d.y=a.y+b.y,d},c.Point.subtract=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x-b.x,d.y=a.y-b.y,d},c.Point.multiply=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x*b.x,d.y=a.y*b.y,d},c.Point.divide=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x/b.x,d.y=a.y/b.y,d},c.Point.equals=function(a,b){return a.x===b.x&&a.y===b.y},c.Point.angle=function(a,b){return Math.atan2(a.y-b.y,a.x-b.x)},c.Point.negative=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.x,-a.y)},c.Point.multiplyAdd=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+b.x*d,a.y+b.y*d)},c.Point.interpolate=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+(b.x-a.x)*d,a.y+(b.y-a.y)*d)},c.Point.perp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.y,a.x)},c.Point.rperp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(a.y,-a.x)},c.Point.distance=function(a,b,d){var e=c.Math.distance(a.x,a.y,b.x,b.y);return d?Math.round(e):e},c.Point.project=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b)/b.getMagnitudeSq();return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.projectUnit=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b);return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.normalRightHand=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-1*a.y,a.x)},c.Point.normalize=function(a,b){void 0===b&&(b=new c.Point);var d=a.getMagnitude();return 0!==d&&b.setTo(a.x/d,a.y/d),b},c.Point.rotate=function(a,b,d,e,f,g){if(f&&(e=c.Math.degToRad(e)),void 0===g){a.subtract(b,d);var h=Math.sin(e),i=Math.cos(e),j=i*a.x-h*a.y,k=h*a.x+i*a.y;a.x=j+b,a.y=k+d}else{var l=e+Math.atan2(a.y-d,a.x-b);a.x=b+g*Math.cos(l),a.y=d+g*Math.sin(l)}return a},c.Point.centroid=function(a,b){if(void 0===b&&(b=new c.Point),"[object Array]"!==Object.prototype.toString.call(a))throw new Error("Phaser.Point. Parameter 'points' must be an array");var d=a.length;if(1>d)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===d)return b.copyFrom(a[0]),b;for(var e=0;d>e;e++)c.Point.add(b,a[e],b);return b.divide(d,d),b},c.Point.parse=function(a,b,d){b=b||"x",d=d||"y";var e=new c.Point;return a[b]&&(e.x=parseInt(a[b],10)),a[d]&&(e.y=parseInt(a[d],10)),e},PIXI.Point=c.Point,c.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.type=c.POLYGON},c.Polygon.prototype={toNumberArray:function(a){void 0===a&&(a=[]);for(var b=0;b=h&&j>b||b>=j&&h>b)&&(i-g)*(b-h)/(j-h)+g>a&&(d=!d)}return d},setTo:function(a){if(this.area=0,this._points=[],arguments.length>0){Array.isArray(a)||(a=Array.prototype.slice.call(arguments));for(var b=Number.MAX_VALUE,c=0,d=a.length;d>c;c++){if("number"==typeof a[c]){var e=new PIXI.Point(a[c],a[c+1]);c++}else var e=new PIXI.Point(a[c].x,a[c].y);this._points.push(e),e.yf;f++)b=this._points[f],c=f===g-1?this._points[0]:this._points[f+1],d=(b.y-a+(c.y-a))/2,e=b.x-c.x,this.area+=d*e;return this.area}},c.Polygon.prototype.constructor=c.Polygon,Object.defineProperty(c.Polygon.prototype,"points",{get:function(){return this._points},set:function(a){null!=a?this.setTo(a):this.setTo()}}),PIXI.Polygon=c.Polygon,c.Rectangle=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.RECTANGLE},c.Rectangle.prototype={offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},scale:function(a,b){return void 0===b&&(b=a),this.width*=a,this.height*=b,this},centerOn:function(a,b){return this.centerX=a,this.centerY=b,this},floor:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y)},floorAll:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.width=Math.floor(this.width),this.height=Math.floor(this.height)},ceil:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y)},ceilAll:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.width=Math.ceil(this.width),this.height=Math.ceil(this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},inflate:function(a,b){return c.Rectangle.inflate(this,a,b)},size:function(a){return c.Rectangle.size(this,a)},resize:function(a,b){return this.width=a,this.height=b,this},clone:function(a){return c.Rectangle.clone(this,a)},contains:function(a,b){return c.Rectangle.contains(this,a,b)},containsRect:function(a){return c.Rectangle.containsRect(a,this)},equals:function(a){return c.Rectangle.equals(this,a)},intersection:function(a,b){return c.Rectangle.intersection(this,a,b)},intersects:function(a){return c.Rectangle.intersects(this,a)},intersectsRaw:function(a,b,d,e,f){return c.Rectangle.intersectsRaw(this,a,b,d,e,f)},union:function(a,b){return c.Rectangle.union(this,a,b)},random:function(a){return void 0===a&&(a=new c.Point),a.x=this.randomX,a.y=this.randomY,a},toString:function(){return"[{Rectangle (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+" empty="+this.empty+")}]"}},Object.defineProperty(c.Rectangle.prototype,"halfWidth",{get:function(){return Math.round(this.width/2)}}),Object.defineProperty(c.Rectangle.prototype,"halfHeight",{get:function(){return Math.round(this.height/2)}}),Object.defineProperty(c.Rectangle.prototype,"bottom",{get:function(){return this.y+this.height},set:function(a){a<=this.y?this.height=0:this.height=a-this.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomLeft",{get:function(){return new c.Point(this.x,this.bottom)},set:function(a){this.x=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomRight",{get:function(){return new c.Point(this.right,this.bottom)},set:function(a){this.right=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"left",{get:function(){return this.x},set:function(a){a>=this.right?this.width=0:this.width=this.right-a,this.x=a}}),Object.defineProperty(c.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(a){a<=this.x?this.width=0:this.width=a-this.x}}),Object.defineProperty(c.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(c.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(c.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(a){this.x=a-this.halfWidth}}),Object.defineProperty(c.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(a){this.y=a-this.halfHeight}}),Object.defineProperty(c.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(c.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(c.Rectangle.prototype,"top",{get:function(){return this.y},set:function(a){a>=this.bottom?(this.height=0,this.y=a):this.height=this.bottom-a}}),Object.defineProperty(c.Rectangle.prototype,"topLeft",{get:function(){return new c.Point(this.x,this.y)},set:function(a){this.x=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"topRight",{get:function(){return new c.Point(this.x+this.width,this.y)},set:function(a){this.right=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(a){a===!0&&this.setTo(0,0,0,0)}}),c.Rectangle.prototype.constructor=c.Rectangle,c.Rectangle.inflate=function(a,b,c){return a.x-=b,a.width+=2*b,a.y-=c,a.height+=2*c,a},c.Rectangle.inflatePoint=function(a,b){return c.Rectangle.inflate(a,b.x,b.y)},c.Rectangle.size=function(a,b){return void 0===b||null===b?b=new c.Point(a.width,a.height):b.setTo(a.width,a.height),b},c.Rectangle.clone=function(a,b){return void 0===b||null===b?b=new c.Rectangle(a.x,a.y,a.width,a.height):b.setTo(a.x,a.y,a.width,a.height),b},c.Rectangle.contains=function(a,b,c){return a.width<=0||a.height<=0?!1:b>=a.x&&b=a.y&&c=a&&a+c>e&&f>=b&&b+d>f},c.Rectangle.containsPoint=function(a,b){return c.Rectangle.contains(a,b.x,b.y)},c.Rectangle.containsRect=function(a,b){return a.volume>b.volume?!1:a.x>=b.x&&a.y>=b.y&&a.rightb.right||a.y>b.bottom)},c.Rectangle.intersectsRaw=function(a,b,c,d,e,f){return void 0===f&&(f=0),!(b>a.right+f||ca.bottom+f||ed&&(d=a.x),a.xf&&(f=a.y),a.y=c&&a<=c+this.width){var d=this.y;if(b>=d&&b<=d+this.height)return!0}return!1}},c.RoundedRectangle.prototype.constructor=c.RoundedRectangle,PIXI.RoundedRectangle=c.RoundedRectangle,c.Camera=function(a,b,d,e,f,g){this.game=a,this.world=a.world,this.id=0,this.view=new c.Rectangle(d,e,f,g),this.bounds=new c.Rectangle(d,e,f,g),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this._targetPosition=new c.Point,this._edge=0,this._position=new c.Point},c.Camera.FOLLOW_LOCKON=0,c.Camera.FOLLOW_PLATFORMER=1,c.Camera.FOLLOW_TOPDOWN=2,c.Camera.FOLLOW_TOPDOWN_TIGHT=3,c.Camera.prototype={preUpdate:function(){this.totalInView=0},follow:function(a,b){void 0===b&&(b=c.Camera.FOLLOW_LOCKON),this.target=a;var d;switch(b){case c.Camera.FOLLOW_PLATFORMER:var e=this.width/8,f=this.height/3;this.deadzone=new c.Rectangle((this.width-e)/2,(this.height-f)/2-.25*f,e,f);break;case c.Camera.FOLLOW_TOPDOWN:d=Math.max(this.width,this.height)/4,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_TOPDOWN_TIGHT:d=Math.max(this.width,this.height)/8,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_LOCKON:this.deadzone=null;break;default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(a){this.setPosition(Math.round(a.x-this.view.halfWidth),Math.round(a.y-this.view.halfHeight))},focusOnXY:function(a,b){this.setPosition(Math.round(a-this.view.halfWidth),Math.round(b-this.view.halfHeight))},update:function(){this.target&&this.updateTarget(),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateTarget:function(){this._targetPosition.copyFrom(this.target),this.target.parent&&this._targetPosition.multiply(this.target.parent.worldTransform.a,this.target.parent.worldTransform.d),this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this._targetPosition.x-this.deadzone.right),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this._targetPosition.y-this.deadzone.bottom)):(this.view.x=this._targetPosition.x-this.view.halfWidth,this.view.y=this._targetPosition.y-this.view.halfHeight)},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1,this.view.x<=this.bounds.x&&(this.atLimit.x=!0,this.view.x=this.bounds.x),this.view.right>=this.bounds.right&&(this.atLimit.x=!0,this.view.x=this.bounds.right-this.width),this.view.y<=this.bounds.top&&(this.atLimit.y=!0,this.view.y=this.bounds.top),this.view.bottom>=this.bounds.bottom&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom-this.height)},setPosition:function(a,b){this.view.x=a,this.view.y=b,this.bounds&&this.checkBounds()},setSize:function(a,b){this.view.width=a,this.view.height=b},reset:function(){this.target=null,this.view.x=0,this.view.y=0}},c.Camera.prototype.constructor=c.Camera,Object.defineProperty(c.Camera.prototype,"x",{get:function(){return this.view.x},set:function(a){this.view.x=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"y",{get:function(){return this.view.y},set:function(a){this.view.y=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"position",{get:function(){return this._position.set(this.view.centerX,this.view.centerY),this._position},set:function(a){"undefined"!=typeof a.x&&(this.view.x=a.x),"undefined"!=typeof a.y&&(this.view.y=a.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"width",{get:function(){return this.view.width},set:function(a){this.view.width=a}}),Object.defineProperty(c.Camera.prototype,"height",{get:function(){return this.view.height},set:function(a){this.view.height=a}}),c.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},c.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},c.State.prototype.constructor=c.State,c.StateManager=function(a,b){this.game=a,this.states={},this._pendingState=null,"undefined"!=typeof b&&null!==b&&(this._pendingState=b),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new c.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},c.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(a,b,d){void 0===d&&(d=!1);var e;return b instanceof c.State?e=b:"object"==typeof b?(e=b,e.game=this.game):"function"==typeof b&&(e=new b(this.game)),this.states[a]=e,d&&(this.game.isBooted?this.start(a):this._pendingState=a),e},remove:function(a){this.current===a&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[a]},start:function(a,b,c){void 0===b&&(b=!0),void 0===c&&(c=!1),this.checkState(a)&&(this._pendingState=a,this._clearWorld=b,this._clearCache=c,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!1),this._pendingState=this.current,this._clearWorld=a,this._clearCache=b,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var a=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,a),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache===!0&&this.game.cache.destroy()))},checkState:function(a){if(this.states[a]){var b=!1;return(this.states[a].preload||this.states[a].create||this.states[a].update||this.states[a].render)&&(b=!0),b===!1?(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):!0}return console.warn("Phaser.StateManager - No state found with the key: "+a),!1},link:function(a){this.states[a].game=this.game,this.states[a].add=this.game.add,this.states[a].make=this.game.make,this.states[a].camera=this.game.camera,this.states[a].cache=this.game.cache,this.states[a].input=this.game.input,this.states[a].load=this.game.load,this.states[a].math=this.game.math,this.states[a].sound=this.game.sound,this.states[a].scale=this.game.scale,this.states[a].state=this,this.states[a].stage=this.game.stage,this.states[a].time=this.game.time,this.states[a].tweens=this.game.tweens,this.states[a].world=this.game.world,this.states[a].particles=this.game.particles,this.states[a].rnd=this.game.rnd,this.states[a].physics=this.game.physics,this.states[a].key=a},unlink:function(a){this.states[a]&&(this.states[a].game=null,this.states[a].add=null,this.states[a].make=null,this.states[a].camera=null,this.states[a].cache=null,this.states[a].input=null,this.states[a].load=null,this.states[a].math=null,this.states[a].sound=null,this.states[a].scale=null,this.states[a].state=null,this.states[a].stage=null,this.states[a].time=null,this.states[a].tweens=null,this.states[a].world=null,this.states[a].particles=null,this.states[a].rnd=null,this.states[a].physics=null)},setCurrentState:function(a){this.callbackContext=this.states[a],this.link(a),this.onInitCallback=this.states[a].init||this.dummy,this.onPreloadCallback=this.states[a].preload||null,this.onLoadRenderCallback=this.states[a].loadRender||null,this.onLoadUpdateCallback=this.states[a].loadUpdate||null,this.onCreateCallback=this.states[a].create||null,this.onUpdateCallback=this.states[a].update||null,this.onPreRenderCallback=this.states[a].preRender||null,this.onRenderCallback=this.states[a].render||null,this.onResizeCallback=this.states[a].resize||null,this.onPausedCallback=this.states[a].paused||null,this.onResumedCallback=this.states[a].resumed||null,this.onPauseUpdateCallback=this.states[a].pauseUpdate||null,this.onShutDownCallback=this.states[a].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=a,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),a===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){this._created===!1&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(a){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,a)},resize:function(a,b){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,a,b)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===c.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},c.StateManager.prototype.constructor=c.StateManager,Object.defineProperty(c.StateManager.prototype,"created",{get:function(){return this._created}}),c.Signal=function(){},c.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!0,validateListener:function(a,b){if("function"!=typeof a)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",b))},_registerListener:function(a,b,d,e,f){var g,h=this._indexOfListener(a,d);if(-1!==h){if(g=this._bindings[h],g.isOnce()!==b)throw new Error("You cannot add"+(b?"":"Once")+"() then add"+(b?"Once":"")+"() the same listener without removing the relationship first.")}else g=new c.SignalBinding(this,a,b,d,e,f),this._addBinding(g);return this.memorize&&this._prevParams&&g.execute(this._prevParams),g},_addBinding:function(a){this._bindings||(this._bindings=[]);var b=this._bindings.length;do b--;while(this._bindings[b]&&a._priority<=this._bindings[b]._priority);this._bindings.splice(b+1,0,a)},_indexOfListener:function(a,b){if(!this._bindings)return-1;void 0===b&&(b=null);for(var c,d=this._bindings.length;d--;)if(c=this._bindings[d],c._listener===a&&c.context===b)return d;return-1},has:function(a,b){return-1!==this._indexOfListener(a,b)},add:function(a,b,c){this.validateListener(a,"add");var d=[];if(arguments.length>3)for(var e=3;e3)for(var e=3;ea||a>=this.children.length?-1:this.getChildAt(a)},c.Group.prototype.create=function(a,b,c,d,e){void 0===e&&(e=!0);var f=new this.classType(this.game,a,b,c,d);return f.exists=e,f.visible=e,f.alive=e,this.addChild(f),f.z=this.children.length,this.enableBody&&this.game.physics.enable(f,this.physicsBodyType,this.enableBodyDebug),f.events&&f.events.onAddedToGroup$dispatch(f,this),null===this.cursor&&(this.cursor=f),f},c.Group.prototype.createMultiple=function(a,b,c,d){void 0===d&&(d=!1);for(var e=0;a>e;e++)this.create(0,0,b,c,d)},c.Group.prototype.updateZ=function(){for(var a=this.children.length;a--;)this.children[a].z=a},c.Group.prototype.resetCursor=function(a){return void 0===a&&(a=0),a>this.children.length-1&&(a=0),this.cursor?(this.cursorIndex=a,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.next=function(){return this.cursor?(this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.previous=function(){return this.cursor?(0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.swap=function(a,b){this.swapChildren(a,b),this.updateZ()},c.Group.prototype.bringToTop=function(a){return a.parent===this&&this.getIndex(a)0&&(this.remove(a,!1,!0),this.addAt(a,0,!0)),a},c.Group.prototype.moveUp=function(a){if(a.parent===this&&this.getIndex(a)0){var b=this.getIndex(a),c=this.getAt(b-1);c&&this.swap(a,c)}return a},c.Group.prototype.xy=function(a,b,c){return 0>a||a>this.children.length?-1:(this.getChildAt(a).x=b,void(this.getChildAt(a).y=c))},c.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},c.Group.prototype.getIndex=function(a){return this.children.indexOf(a)},c.Group.prototype.replace=function(a,b){var d=this.getIndex(a);return-1!==d?(b.parent&&(b.parent instanceof c.Group?b.parent.remove(b):b.parent.removeChild(b)),this.remove(a),this.addAt(b,d),a):void 0},c.Group.prototype.hasProperty=function(a,b){var c=b.length;return 1===c&&b[0]in a?!0:2===c&&b[0]in a&&b[1]in a[b[0]]?!0:3===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]?!0:4===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]&&b[3]in a[b[0]][b[1]][b[2]]?!0:!1},c.Group.prototype.setProperty=function(a,b,c,d,e){if(void 0===e&&(e=!1),d=d||0,!this.hasProperty(a,b)&&(!e||d>0))return!1;var f=b.length;return 1===f?0===d?a[b[0]]=c:1==d?a[b[0]]+=c:2==d?a[b[0]]-=c:3==d?a[b[0]]*=c:4==d&&(a[b[0]]/=c):2===f?0===d?a[b[0]][b[1]]=c:1==d?a[b[0]][b[1]]+=c:2==d?a[b[0]][b[1]]-=c:3==d?a[b[0]][b[1]]*=c:4==d&&(a[b[0]][b[1]]/=c):3===f?0===d?a[b[0]][b[1]][b[2]]=c:1==d?a[b[0]][b[1]][b[2]]+=c:2==d?a[b[0]][b[1]][b[2]]-=c:3==d?a[b[0]][b[1]][b[2]]*=c:4==d&&(a[b[0]][b[1]][b[2]]/=c):4===f&&(0===d?a[b[0]][b[1]][b[2]][b[3]]=c:1==d?a[b[0]][b[1]][b[2]][b[3]]+=c:2==d?a[b[0]][b[1]][b[2]][b[3]]-=c:3==d?a[b[0]][b[1]][b[2]][b[3]]*=c:4==d&&(a[b[0]][b[1]][b[2]][b[3]]/=c)),!0},c.Group.prototype.checkProperty=function(a,b,d,e){return void 0===e&&(e=!1),!c.Utils.getProperty(a,b)&&e?!1:c.Utils.getProperty(a,b)!==d?!1:!0},c.Group.prototype.set=function(a,b,c,d,e,f,g){return void 0===g&&(g=!1),b=b.split("."),void 0===d&&(d=!1),void 0===e&&(e=!1),(d===!1||d&&a.alive)&&(e===!1||e&&a.visible)?this.setProperty(a,b,c,f,g):void 0},c.Group.prototype.setAll=function(a,b,c,d,e,f){void 0===c&&(c=!1),void 0===d&&(d=!1),void 0===f&&(f=!1),a=a.split("."),e=e||0;for(var g=0;g2){c=[];for(var d=2;d2){e=[];for(var f=2;f2){d=[null];for(var e=2;e2){d=[null];for(var e=2;e2){d=[null];for(var e=2;eb[this._sortProperty]?1:a.zb[this._sortProperty]?-1:0},c.Group.prototype.iterate=function(a,b,d,e,f,g){if(d===c.Group.RETURN_TOTAL&&0===this.children.length)return 0;for(var h=0,i=0;i0?this.children[this.children.length-1]:void 0},c.Group.prototype.getBottom=function(){return this.children.length>0?this.children[0]:void 0},c.Group.prototype.countLiving=function(){return this.iterate("alive",!0,c.Group.RETURN_TOTAL)},c.Group.prototype.countDead=function(){return this.iterate("alive",!1,c.Group.RETURN_TOTAL)},c.Group.prototype.getRandom=function(a,b){return 0===this.children.length?null:(a=a||0,b=b||this.children.length,c.ArrayUtils.getRandomItem(this.children,a,b))},c.Group.prototype.remove=function(a,b,c){if(void 0===b&&(b=!1),void 0===c&&(c=!1),0===this.children.length||-1===this.children.indexOf(a))return!1;c||!a.events||a.destroyPhase||a.events.onRemovedFromGroup$dispatch(a,this);var d=this.removeChild(a);return this.removeFromHash(a),this.updateZ(),this.cursor===a&&this.next(),b&&d&&d.destroy(!0),!0},c.Group.prototype.moveAll=function(a,b){if(void 0===b&&(b=!1),this.children.length>0&&a instanceof c.Group){do a.add(this.children[0],b);while(this.children.length>0);this.hash=[],this.cursor=null}return a},c.Group.prototype.removeAll=function(a,b){if(void 0===a&&(a=!1),void 0===b&&(b=!1),0!==this.children.length){do{!b&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var c=this.removeChild(this.children[0]);this.removeFromHash(c),a&&c&&c.destroy(!0)}while(this.children.length>0);this.hash=[],this.cursor=null}},c.Group.prototype.removeBetween=function(a,b,c,d){if(void 0===b&&(b=this.children.length-1),void 0===c&&(c=!1),void 0===d&&(d=!1),0!==this.children.length){if(a>b||0>a||b>this.children.length)return!1;for(var e=b;e>=a;){!d&&this.children[e].events&&this.children[e].events.onRemovedFromGroup$dispatch(this.children[e],this);var f=this.removeChild(this.children[e]);this.removeFromHash(f),c&&f&&f.destroy(!0),this.cursor===this.children[e]&&(this.cursor=null),e--}this.updateZ()}},c.Group.prototype.destroy=function(a,b){null===this.game||this.ignoreDestroy||(void 0===a&&(a=!0),void 0===b&&(b=!1),this.onDestroy.dispatch(this,a,b),this.removeAll(a),this.cursor=null,this.filters=null,this.pendingDestroy=!1,b||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(c.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,c.Group.RETURN_TOTAL)}}),Object.defineProperty(c.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(c.Group.prototype,"angle",{get:function(){return c.Math.radToDeg(this.rotation)},set:function(a){this.rotation=c.Math.degToRad(a)}}),c.World=function(a){c.Group.call(this,a,null,"__world",!1),this.bounds=new c.Rectangle(0,0,a.width,a.height),this.camera=null,this._definedSize=!1,this._width=a.width,this._height=a.height,this.game.state.onStateChange.add(this.stateChange,this)},c.World.prototype=Object.create(c.Group.prototype),c.World.prototype.constructor=c.World,c.World.prototype.boot=function(){this.camera=new c.Camera(this.game,0,0,0,this.game.width,this.game.height),this.camera.displayObject=this,this.camera.scale=this.scale,this.game.camera=this.camera,this.game.stage.addChild(this)},c.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},c.World.prototype.setBounds=function(a,b,c,d){this._definedSize=!0,this._width=c,this._height=d,this.bounds.setTo(a,b,c,d),this.x=a,this.y=b,this.camera.bounds&&this.camera.bounds.setTo(a,b,Math.max(c,this.game.width),Math.max(d,this.game.height)),this.game.physics.setBoundsToWorld()},c.World.prototype.resize=function(a,b){this._definedSize&&(athis.bounds.right&&(a.x=this.bounds.left)),e&&(a.y+a._currentBounds.heightthis.bounds.bottom&&(a.y=this.bounds.top))):(d&&a.x+bthis.bounds.right&&(a.x=this.bounds.left-b),e&&a.y+bthis.bounds.bottom&&(a.y=this.bounds.top-b))},Object.defineProperty(c.World.prototype,"width",{get:function(){return this.bounds.width},set:function(a){ag;g++)e>g?f.push("color: #ff2424; background: #fff"):f.push("color: #959595; background: #fff");console.log.apply(console,f)}else window.console&&console.log("Phaser v"+a+" | Pixi.js "+PIXI.VERSION+" | "+b+" | "+d+" | http://phaser.io")}},setUpRenderer:function(){if(this.canvas=c.Canvas.create(this,this.width,this.height,this.config.canvasID,!0),this.config.canvasStyle?this.canvas.style=this.config.canvasStyle:this.canvas.style["-webkit-full-screen"]="width: 100%; height: 100%",this.renderType===c.HEADLESS||this.renderType===c.CANVAS||this.renderType===c.AUTO&&!this.device.webGL){if(!this.device.canvas)throw new Error("Phaser.Game - Cannot create Canvas or WebGL context, aborting.");this.renderType=c.CANVAS,this.renderer=new PIXI.CanvasRenderer(this),this.context=this.renderer.context}else this.renderType=c.WEBGL,this.renderer=new PIXI.WebGLRenderer(this),this.context=null,this.canvas.addEventListener("webglcontextlost",this.contextLost.bind(this),!1),this.canvas.addEventListener("webglcontextrestored",this.contextRestored.bind(this),!1);this.device.cocoonJS&&(this.canvas.screencanvas=this.renderType===c.CANVAS?!0:!1),this.renderType!==c.HEADLESS&&(this.stage.smoothed=this.antialias,c.Canvas.addToDOM(this.canvas,this.parent,!1),c.Canvas.setTouchAction(this.canvas))},contextLost:function(a){a.preventDefault(),this.renderer.contextLost=!0},contextRestored:function(){this.renderer.initContext(),this.cache.clearGLTextures(),this.renderer.contextLost=!1},update:function(a){if(this.time.update(a),this._kickstart)return this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),this.updateRender(this.time.slowMotion*this.time.desiredFps),void(this._kickstart=!1);if(this._spiraling>1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var b=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*b,this.time.elapsed),0);var c=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/b),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=b&&(this._deltaTime-=b,this.currentUpdateID=c,this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),c++,!this.forceSingleUpdate||1!==c);)this.time.refresh();c>this._lastCount?this._spiraling++:c=c.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+c.Input.MAX_POINTERS+" pointers reached."),null;var a=this.pointers.length+1,b=new c.Pointer(this.game,a,c.PointerMode.TOUCH);return this.pointers.push(b),this["pointer"+a]=b,b},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(a);if(!this.pointer2.active)return this.pointer2.start(a);for(var b=2;b0;c++){var d=this.pointers[c];d.active&&b--}return a-b},getPointer:function(a){void 0===a&&(a=!1);for(var b=0;b=g&&this._localPoint.x=h&&this._localPoint.y=g&&this._localPoint.x=h&&this._localPoint.yi;i++)if(this.hitTest(a.children[i],b,d))return!0;return!1},onClickTrampoline:function(){this.activePointer.processClickTrampolines()}},c.Input.prototype.constructor=c.Input,Object.defineProperty(c.Input.prototype,"x",{get:function(){return this._x},set:function(a){this._x=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"y",{get:function(){return this._y},set:function(a){this._y=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"pollLocked",{get:function(){return this.pollRate>0&&this._pollCounterthis.game.time.time},justReleased:function(a){return a=a||250,this.isUp&&this.timeUp+a>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},c.DeviceButton.prototype.constructor=c.DeviceButton,Object.defineProperty(c.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),c.Pointer=function(a,b,d){this.game=a,this.id=b,this.type=c.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=d||c.PointerMode.CURSOR|c.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new c.DeviceButton(this,c.Pointer.LEFT_BUTTON),this.middleButton=new c.DeviceButton(this,c.Pointer.MIDDLE_BUTTON),this.rightButton=new c.DeviceButton(this,c.Pointer.RIGHT_BUTTON),this.backButton=new c.DeviceButton(this,c.Pointer.BACK_BUTTON),this.forwardButton=new c.DeviceButton(this,c.Pointer.FORWARD_BUTTON),this.eraserButton=new c.DeviceButton(this,c.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===b,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.active=!1,this.dirty=!1,this.position=new c.Point,this.positionDown=new c.Point,this.positionUp=new c.Point,this.circle=new c.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},c.Pointer.NO_BUTTON=0,c.Pointer.LEFT_BUTTON=1,c.Pointer.RIGHT_BUTTON=2,c.Pointer.MIDDLE_BUTTON=4,c.Pointer.BACK_BUTTON=8,c.Pointer.FORWARD_BUTTON=16,c.Pointer.ERASER_BUTTON=32,c.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(a,b){c.Pointer.LEFT_BUTTON&a&&this.leftButton.start(b),c.Pointer.RIGHT_BUTTON&a&&this.rightButton.start(b),c.Pointer.MIDDLE_BUTTON&a&&this.middleButton.start(b),c.Pointer.BACK_BUTTON&a&&this.backButton.start(b),c.Pointer.FORWARD_BUTTON&a&&this.forwardButton.start(b),c.Pointer.ERASER_BUTTON&a&&this.eraserButton.start(b)},processButtonsUp:function(a,b){a===c.Mouse.LEFT_BUTTON&&this.leftButton.stop(b),a===c.Mouse.RIGHT_BUTTON&&this.rightButton.stop(b),a===c.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(b),a===c.Mouse.BACK_BUTTON&&this.backButton.stop(b),a===c.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(b),5===a&&this.eraserButton.stop(b)},updateButtons:function(a){this.button=a.button;var b="down"===a.type.toLowerCase().substr(-4);void 0!==a.buttons?b?this.processButtonsDown(a.buttons,a):this.processButtonsUp(a.button,a):b?this.leftButton.start(a):(this.leftButton.stop(a),this.rightButton.stop(a)),a.ctrlKey&&this.leftButton.isDown&&this.rightButton.start(a),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(a){var b=this.game.input;return a.pointerId&&(this.pointerId=a.pointerId),this.identifier=a.identifier,this.target=a.target,this.isMouse?this.updateButtons(a):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(a,!0),this.positionDown.setTo(this.x,this.y),(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.x=this.x,b.y=this.y,b.position.setTo(this.x,this.y),b.onDown.dispatch(this,a),b.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var a=this.game.input;this.active&&(this.dirty&&(a.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),this._holdSent===!1&&this.duration>=a.holdRate&&((a.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||a.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||a.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===a.totalActivePointers)&&a.onHold.dispatch(this),this._holdSent=!0),a.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+a.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>a.recordLimit&&this._history.shift()))},move:function(a,b){var d=this.game.input;if(!d.pollLocked){if(void 0===b&&(b=!1),void 0!==a.button&&(this.button=a.button),b&&this.isMouse&&this.updateButtons(a),this.clientX=a.clientX,this.clientY=a.clientY,this.pageX=a.pageX,this.pageY=a.pageY,this.screenX=a.screenX,this.screenY=a.screenY,this.isMouse&&d.mouse.locked&&!b&&(this.rawMovementX=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.rawMovementY=a.movementY||a.mozMovementY||a.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*d.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*d.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(d.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||d.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||d.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===d.totalActivePointers)&&(d.activePointer=this,d.x=this.x,d.y=this.y,d.position.setTo(d.x,d.y),d.circle.x=d.x,d.circle.y=d.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY),this.game.paused)return this;for(var e=d.moveCallbacks.length;e--;)d.moveCallbacks[e].callback.call(d.moveCallbacks[e].context,this,this.x,this.y,b);return null!==this.targetObject&&this.targetObject.isDragged===!0?this.targetObject.update(this)===!1&&(this.targetObject=null):d.interactiveItems.total>0&&this.processInteractiveObjects(b),this}},processInteractiveObjects:function(a){for(var b=Number.MAX_VALUE,c=-1,d=null,e=this.game.input.interactiveItems.first;e;)e.checked=!1,e.validForInput(c,b,!1)&&(e.checked=!0,(a&&e.checkPointerDown(this,!0)||!a&&e.checkPointerOver(this,!0))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e)),e=this.game.input.interactiveItems.next;for(var e=this.game.input.interactiveItems.first;e;)!e.checked&&e.validForInput(c,b,!0)&&(a&&e.checkPointerDown(this,!1)||!a&&e.checkPointerOver(this,!1))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e),e=this.game.input.interactiveItems.next;return null===d?this.targetObject&&(this.targetObject._pointerOutHandler(this),this.targetObject=null):null===this.targetObject?(this.targetObject=d,d._pointerOverHandler(this)):this.targetObject===d?d.update(this)===!1&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this),this.targetObject=d,this.targetObject._pointerOverHandler(this)),null!==this.targetObject},leave:function(a){this.withinGame=!1,this.move(a,!1)},stop:function(a){var b=this.game.input;return this._stateReset&&this.withinGame?void a.preventDefault():(this.timeUp=this.game.time.time,(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.onUp.dispatch(this,a),this.duration>=0&&this.duration<=b.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(a.pageX,a.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),this.isMouse===!1&&b.currentPointers--,b.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this)},justPressed:function(a){return a=a||this.game.input.justPressedRate,this.isDown===!0&&this.timeDown+a>this.game.time.time},justReleased:function(a){return a=a||this.game.input.justReleasedRate,this.isUp&&this.timeUp+a>this.game.time.time},addClickTrampoline:function(a,b,c,d){if(this.isDown){for(var e=this._clickTrampolines=this._clickTrampolines||[],f=0;fd;d++)this._pointerData[d]={id:d,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1};this.snapOffset=new c.Point,this.enabled=!0,this._wasEnabled=!0}return this.sprite.events.onAddedToGroup.add(this.addedToGroup,this),this.sprite.events.onRemovedFromGroup.add(this.removedFromGroup,this),this.flagged=!1,this.sprite},addedToGroup:function(){this._dragPhase||this._wasEnabled&&!this.enabled&&this.start()},removedFromGroup:function(){this._dragPhase||(this.enabled?(this._wasEnabled=!0,this.stop()):this._wasEnabled=!1)},reset:function(){this.enabled=!1,this.flagged=!1;for(var a=0;10>a;a++)this._pointerData[a]={id:a,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1}},stop:function(){this.enabled!==!1&&(this.enabled=!1,this.game.input.interactiveItems.remove(this))},destroy:function(){this.sprite&&(this._setHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.enabled=!1,this.game.input.interactiveItems.remove(this),this._pointerData.length=0,this.boundsRect=null,this.boundsSprite=null,this.sprite=null)},validForInput:function(a,b,c){return void 0===c&&(c=!0),!this.enabled||0===this.sprite.scale.x||0===this.sprite.scale.y||this.priorityIDa||this.priorityID===a&&this.sprite.renderOrderIDb;b++)if(this._pointerData[b].isOver)return!0},pointerOut:function(a){if(!this.enabled)return!1;if(void 0!==a)return this._pointerData[a].isOut;for(var b=0;10>b;b++)if(this._pointerData[b].isOut)return!0},pointerTimeOver:function(a){return a=a||0,this._pointerData[a].timeOver},pointerTimeOut:function(a){return a=a||0,this._pointerData[a].timeOut},pointerDragged:function(a){return a=a||0,this._pointerData[a].isDragged},checkPointerDown:function(a,b){return a.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectClick?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPointerOver:function(a,b){return this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectOver?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPixel:function(a,b,c){if(this.sprite.texture.baseTexture.source){if(null===a&&null===b){this.game.input.getLocalPosition(this.sprite,c,this._tempPoint);var a=this._tempPoint.x,b=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(a-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(b-=-this.sprite.texture.frame.height*this.sprite.anchor.y),a+=this.sprite.texture.frame.x,b+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(a-=this.sprite.texture.trim.x,b-=this.sprite.texture.trim.y,athis.sprite.texture.crop.right||bthis.sprite.texture.crop.bottom))return this._dx=a,this._dy=b,!1;this._dx=a,this._dy=b,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,a,b,1,1,0,0,1,1);var d=this.game.input.hitContext.getImageData(0,0,1,1);if(d.data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(a){return null!==this.sprite&&void 0!==this.sprite.parent?this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this.draggable&&this._draggedPointerID===a.id?this.updateDrag(a):this._pointerData[a.id].isOver?this.checkPointerOver(a)?(this._pointerData[a.id].x=a.x-this.sprite.x,this._pointerData[a.id].y=a.y-this.sprite.y,!0):(this._pointerOutHandler(a),!1):void 0:(this._pointerOutHandler(a),!1):void 0},_pointerOverHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];(b.isOver===!1||a.dirty)&&(b.isOver=!0,b.isOut=!1,b.timeOver=this.game.time.time,b.x=a.x-this.sprite.x,b.y=a.y-this.sprite.y,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,a))}},_pointerOutHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];b.isOver=!1,b.isOut=!0,b.timeOut=this.game.time.time,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.sprite&&this.sprite.events&&this.sprite.events.onInputOut$dispatch(this.sprite,a)}},_touchedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(!b.isDown&&b.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,a))return;b.isDown=!0,b.isUp=!1,b.timeDown=this.game.time.time,this.sprite&&this.sprite.events&&this.sprite.events.onInputDown$dispatch(this.sprite,a),a.dirty=!0,this.draggable&&this.isDragged===!1&&this.startDrag(a),this.bringToTop&&this.sprite.bringToTop()}return this.consumePointerEvent}},_releasedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(b.isDown&&a.isUp){b.isDown=!1,b.isUp=!0,b.timeUp=this.game.time.time,b.downDuration=b.timeUp-b.timeDown;var c=this.checkPointerOver(a);this.sprite&&this.sprite.events&&(this.sprite.events.onInputUp$dispatch(this.sprite,a,c),c&&(c=this.checkPointerOver(a))),b.isOver=c,!c&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),a.dirty=!0,this.draggable&&this.isDragged&&this._draggedPointerID===a.id&&this.stopDrag(a)}}},updateDrag:function(a){if(a.isUp)return this.stopDrag(a),!1;var b=this.globalToLocalX(a.x)+this._dragPoint.x+this.dragOffset.x,c=this.globalToLocalY(a.y)+this._dragPoint.y+this.dragOffset.y;return this.sprite.fixedToCamera?(this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=b),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=c),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y))):(this.allowHorizontalDrag&&(this.sprite.x=b),this.allowVerticalDrag&&(this.sprite.y=c),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))),this.sprite.events.onDragUpdate.dispatch(this.sprite,a,b,c,this.snapPoint),!0},justOver:function(a,b){return a=a||0,b=b||500,this._pointerData[a].isOver&&this.overDuration(a)a;a++)this._pointerData[a].isDragged=!1;this.draggable=!1,this.isDragged=!1,this._draggedPointerID=-1},startDrag:function(a){var b=this.sprite.x,c=this.sprite.y;if(this.isDragged=!0,this._draggedPointerID=a.id,this._pointerData[a.id].isDragged=!0,this.sprite.fixedToCamera)this.dragFromCenter?(this.sprite.centerOn(a.x,a.y),this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y)):this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y);else{if(this.dragFromCenter){var d=this.sprite.getBounds();this.sprite.x=this.globalToLocalX(a.x)+(this.sprite.x-d.centerX),this.sprite.y=this.globalToLocalY(a.y)+(this.sprite.y-d.centerY)}this._dragPoint.setTo(this.sprite.x-this.globalToLocalX(a.x),this.sprite.y-this.globalToLocalY(a.y))}this.updateDrag(a),this.bringToTop&&(this._dragPhase=!0,this.sprite.bringToTop()),this.dragStartPoint.set(b,c),this.sprite.events.onDragStart$dispatch(this.sprite,a,b,c)},globalToLocalX:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.x,a*=this.game.scale.grid.scaleFluidInversed.x),a},globalToLocalY:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.y,a*=this.game.scale.grid.scaleFluidInversed.y),a},stopDrag:function(a){this.isDragged=!1,this._draggedPointerID=-1,this._pointerData[a.id].isDragged=!1,this._dragPhase=!1,this.snapOnRelease&&(this.sprite.fixedToCamera?(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY):(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY)),this.sprite.events.onDragStop$dispatch(this.sprite,a),this.checkPointerOver(a)===!1&&this._pointerOutHandler(a)},setDragLock:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!0),this.allowHorizontalDrag=a,this.allowVerticalDrag=b},enableSnap:function(a,b,c,d,e,f){void 0===c&&(c=!0),void 0===d&&(d=!1),void 0===e&&(e=0),void 0===f&&(f=0),this.snapX=a,this.snapY=b,this.snapOffsetX=e,this.snapOffsetY=f,this.snapOnDrag=c,this.snapOnRelease=d},disableSnap:function(){this.snapOnDrag=!1,this.snapOnRelease=!1},checkBoundsRect:function(){this.sprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},c.InputHandler.prototype.constructor=c.InputHandler,c.Gamepad=function(a){this.game=a,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!=navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this)]},c.Gamepad.prototype={addCallbacks:function(a,b){"undefined"!=typeof b&&(this.onConnectCallback="function"==typeof b.onConnect?b.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof b.onDisconnect?b.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof b.onDown?b.onDown:this.onDownCallback,this.onUpCallback="function"==typeof b.onUp?b.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof b.onAxis?b.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof b.onFloat?b.onFloat:this.onFloatCallback,this.callbackContext=a)},start:function(){if(!this._active){this._active=!0;var a=this;this._onGamepadConnected=function(b){return a.onGamepadConnected(b)},this._onGamepadDisconnected=function(b){return a.onGamepadDisconnected(b)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(a){var b=a.gamepad;this._rawPads.push(b),this._gamepads[b.index].connect(b)},onGamepadDisconnected:function(a){var b=a.gamepad;for(var c in this._rawPads)this._rawPads[c].index===b.index&&this._rawPads.splice(c,1);this._gamepads[b.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(navigator.getGamepads)var a=navigator.getGamepads();else if(navigator.webkitGetGamepads)var a=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var a=navigator.webkitGamepads();if(a){this._rawPads=[];for(var b=!1,c=0;c0&&d>this.deadZone||0>d&&d<-this.deadZone?this.processAxisChange(c,d):this.processAxisChange(c,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(a){var b=!this.connected;this.connected=!0,this.index=a.index,this._rawPad=a,this._buttons=[],this._buttonsLen=a.buttons.length,this._axes=[],this._axesLen=a.axes.length;for(var d=0;dthis.maxHealth&&(this.health=this.maxHealth)),this}},c.Component.InCamera=function(){},c.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},c.Component.InputEnabled=function(){},c.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(a){a?null===this.input?(this.input=new c.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},c.Component.InWorld=function(){},c.Component.InWorld.preUpdate=function(){if((this.autoCull||this.checkWorldBounds)&&(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull&&(this.game.world.camera.view.intersects(this._bounds)?(this.renderable=!0,this.game.world.camera.totalInView++):this.renderable=!1),this.checkWorldBounds))if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1;return!0},c.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},c.Component.LifeSpan=function(){},c.Component.LifeSpan.preUpdate=function(){return this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0)?(this.kill(),!1):!0},c.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(a){return void 0===a&&(a=1),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.heal&&this.heal(a),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},c.Component.LoadTexture=function(){},c.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(a,b,d){b=b||0,(d||void 0===d)&&this.animations&&this.animations.stop(),this.key=a,this.customRender=!1;var e=this.game.cache,f=!0,g=!this.texture.baseTexture.scaleMode;if(c.RenderTexture&&a instanceof c.RenderTexture)this.key=a.key,this.setTexture(a);else if(c.BitmapData&&a instanceof c.BitmapData)this.customRender=!0,this.setTexture(a.texture),e.hasFrameData(a.key,c.Cache.BITMAPDATA)&&(f=!this.animations.loadFrameData(e.getFrameData(a.key,c.Cache.BITMAPDATA),b));else if(c.Video&&a instanceof c.Video){this.customRender=!0;var h=a.texture.valid;this.setTexture(a.texture),this.setFrame(a.texture.frame.clone()),a.onChangeSource.add(this.resizeFrame,this),this.texture.valid=h}else if(a instanceof PIXI.Texture)this.setTexture(a);else{var i=e.getImage(a,!0);this.key=i.key,this.setTexture(new PIXI.Texture(i.base)),f=!this.animations.loadFrameData(i.frameData,b)}f&&(this._frame=c.Rectangle.clone(this.texture.frame)),g||(this.texture.baseTexture.scaleMode=1)},setFrame:function(a){this._frame=a,this.texture.frame.x=a.x,this.texture.frame.y=a.y,this.texture.frame.width=a.width,this.texture.frame.height=a.height,this.texture.crop.x=a.x,this.texture.crop.y=a.y,this.texture.crop.width=a.width,this.texture.crop.height=a.height,a.trimmed?(this.texture.trim?(this.texture.trim.x=a.spriteSourceSizeX,this.texture.trim.y=a.spriteSourceSizeY,this.texture.trim.width=a.sourceSizeW,this.texture.trim.height=a.sourceSizeH):this.texture.trim={x:a.spriteSourceSizeX,y:a.spriteSourceSizeY,width:a.sourceSizeW,height:a.sourceSizeH},this.texture.width=a.sourceSizeW,this.texture.height=a.sourceSizeH,this.texture.frame.width=a.sourceSizeW,this.texture.frame.height=a.sourceSizeH):!a.trimmed&&this.texture.trim&&(this.texture.trim=null),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(a,b,c){this.texture.frame.resize(b,c),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(a){this.animations.frame=a}},frameName:{get:function(){return this.animations.frameName},set:function(a){this.animations.frameName=a}}},c.Component.Overlap=function(){},c.Component.Overlap.prototype={overlap:function(a){return c.Rectangle.intersects(this.getBounds(),a.getBounds())}},c.Component.PhysicsBody=function(){},c.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this._exists&&this.parent.exists?!0:(this.renderOrderID=-1,!1))},c.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},c.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(a){this.position.x=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(a){this.position.y=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},c.Component.Reset=function(){},c.Component.Reset.prototype.reset=function(a,b,c){return void 0===c&&(c=1),this.world.set(a,b),this.position.set(a,b),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=c),this.components.PhysicsBody&&this.body&&this.body.reset(a,b,!1,!1),this},c.Component.ScaleMinMax=function(){},c.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(a){this.scaleMin&&(a.athis.scaleMax.x&&(a.a=this.scaleMax.x),a.d>this.scaleMax.y&&(a.d=this.scaleMax.y))},setScaleMinMax:function(a,b,d,e){void 0===b?b=d=e=a:void 0===d&&(d=e=b,b=a),null===a?this.scaleMin=null:this.scaleMin?this.scaleMin.set(a,b):this.scaleMin=new c.Point(a,b),null===d?this.scaleMax=null:this.scaleMax?this.scaleMax.set(d,e):this.scaleMax=new c.Point(d,e),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},c.Component.Smoothed=function(){},c.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(a){a?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},c.GameObjectFactory=function(a){this.game=a,this.world=this.game.world},c.GameObjectFactory.prototype={existing:function(a){return this.world.add(a)},image:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Image(this.game,a,b,d,e))},sprite:function(a,b,c,d,e){return void 0===e&&(e=this.world),e.create(a,b,c,d)},creature:function(a,b,d,e,f){void 0===f&&(f=this.world);var g=new c.Creature(this.game,a,b,d,e);return f.add(g),g},tween:function(a){return this.game.tweens.create(a)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},physicsGroup:function(a,b,d,e){return new c.Group(this.game,b,d,e,!0,a)},spriteBatch:function(a,b,d){return void 0===a&&(a=null),void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},tileSprite:function(a,b,d,e,f,g,h){return void 0===h&&(h=this.world),h.add(new c.TileSprite(this.game,a,b,d,e,f,g))},rope:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.Rope(this.game,a,b,d,e,f))},text:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Text(this.game,a,b,d,e))},button:function(a,b,d,e,f,g,h,i,j,k){return void 0===k&&(k=this.world),k.add(new c.Button(this.game,a,b,d,e,f,g,h,i,j))},graphics:function(a,b,d){return void 0===d&&(d=this.world),d.add(new c.Graphics(this.game,a,b))},emitter:function(a,b,d){return this.game.particles.add(new c.Particles.Arcade.Emitter(this.game,a,b,d))},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.BitmapText(this.game,a,b,d,e,f))},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},video:function(a,b){return new c.Video(this.game,a,b)},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a},plugin:function(a){return this.game.plugins.add(a)}},c.GameObjectFactory.prototype.constructor=c.GameObjectFactory,c.GameObjectCreator=function(a){this.game=a,this.world=this.game.world},c.GameObjectCreator.prototype={image:function(a,b,d,e){return new c.Image(this.game,a,b,d,e)},sprite:function(a,b,d,e){return new c.Sprite(this.game,a,b,d,e)},tween:function(a){return new c.Tween(a,this.game,this.game.tweens)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},spriteBatch:function(a,b,d){return void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},tileSprite:function(a,b,d,e,f,g){return new c.TileSprite(this.game,a,b,d,e,f,g)},rope:function(a,b,d,e,f){return new c.Rope(this.game,a,b,d,e,f)},text:function(a,b,d,e){return new c.Text(this.game,a,b,d,e)},button:function(a,b,d,e,f,g,h,i,j){return new c.Button(this.game,a,b,d,e,f,g,h,i,j)},graphics:function(a,b){return new c.Graphics(this.game,a,b)},emitter:function(a,b,d){return new c.Particles.Arcade.Emitter(this.game,a,b,d)},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return new c.BitmapText(this.game,a,b,d,e,f,g)},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a}},c.GameObjectCreator.prototype.constructor=c.GameObjectCreator,c.Sprite=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.SPRITE,this.physicsType=c.SPRITE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Sprite.prototype=Object.create(PIXI.Sprite.prototype),c.Sprite.prototype.constructor=c.Sprite,c.Component.Core.install.call(c.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Sprite.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Sprite.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Sprite.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Sprite.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Sprite.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Image=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.IMAGE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Image.prototype=Object.create(PIXI.Sprite.prototype),c.Image.prototype.constructor=c.Image,c.Component.Core.install.call(c.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","Smoothed"]),c.Image.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Image.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Image.prototype.preUpdate=function(){return this.preUpdateInWorld()?this.preUpdateCore():!1},c.Button=function(a,b,d,e,f,g,h,i,j,k){b=b||0,d=d||0,e=e||null,f=f||null,g=g||this,c.Image.call(this,a,b,d,e,i),this.type=c.BUTTON,this.physicsType=c.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new c.Signal,this.onInputOut=new c.Signal,this.onInputDown=new c.Signal,this.onInputUp=new c.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=c.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(h,i,j,k),null!==f&&this.onInputUp.add(f,g),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},c.Button.prototype=Object.create(c.Image.prototype),c.Button.prototype.constructor=c.Button;var g="Over",h="Out",i="Down",j="Up";c.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},c.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},c.Button.prototype.setStateFrame=function(a,b,c){var d="_on"+a+"Frame";null!==b?(this[d]=b,c&&this.changeStateFrame(a)):this[d]=null},c.Button.prototype.changeStateFrame=function(a){if(this.freezeFrames)return!1;var b="_on"+a+"Frame",c=this[b];return"string"==typeof c?(this.frameName=c,!0):"number"==typeof c?(this.frame=c,!0):!1},c.Button.prototype.setFrames=function(a,b,c,d){this.setStateFrame(g,a,this.input.pointerOver()),this.setStateFrame(h,b,!this.input.pointerOver()),this.setStateFrame(i,c,this.input.pointerDown()),this.setStateFrame(j,d,this.input.pointerUp())},c.Button.prototype.setStateSound=function(a,b,d){var e="on"+a+"Sound",f="on"+a+"SoundMarker";b instanceof c.Sound||b instanceof c.AudioSprite?(this[e]=b,this[f]="string"==typeof d?d:""):(this[e]=null,this[f]="")},c.Button.prototype.playStateSound=function(a){var b="on"+a+"Sound",c=this[b];if(c){var d="on"+a+"SoundMarker",e=this[d];return c.play(e),!0}return!1},c.Button.prototype.setSounds=function(a,b,c,d,e,f,k,l){this.setStateSound(g,a,b),this.setStateSound(h,e,f),this.setStateSound(i,c,d),this.setStateSound(j,k,l)},c.Button.prototype.setOverSound=function(a,b){this.setStateSound(g,a,b)},c.Button.prototype.setOutSound=function(a,b){this.setStateSound(h,a,b)},c.Button.prototype.setDownSound=function(a,b){this.setStateSound(i,a,b)},c.Button.prototype.setUpSound=function(a,b){this.setStateSound(j,a,b)},c.Button.prototype.onInputOverHandler=function(a,b){b.justReleased()&&(this.justReleasedPreventsOver&b.pointerMode)===b.pointerMode||(this.changeStateFrame(g),(!this.onOverMouseOnly||b.isMouse)&&(this.playStateSound(g),this.onInputOver&&this.onInputOver.dispatch(this,b)))},c.Button.prototype.onInputOutHandler=function(a,b){this.changeStateFrame(h),this.playStateSound(h),this.onInputOut&&this.onInputOut.dispatch(this,b)},c.Button.prototype.onInputDownHandler=function(a,b){this.changeStateFrame(i),this.playStateSound(i),this.onInputDown&&this.onInputDown.dispatch(this,b)},c.Button.prototype.onInputUpHandler=function(a,b,c){if(this.playStateSound(j),this.onInputUp&&this.onInputUp.dispatch(this,b,c),!this.freezeFrames)if(this.forceOut===!0||(this.forceOut&b.pointerMode)===b.pointerMode)this.changeStateFrame(h);else{var d=this.changeStateFrame(j);d||(c?this.changeStateFrame(g):this.changeStateFrame(h))}},c.SpriteBatch=function(a,b,d,e){(void 0===b||null===b)&&(b=a.world),PIXI.SpriteBatch.call(this),c.Group.call(this,a,b,d,e),this.type=c.SPRITEBATCH},c.SpriteBatch.prototype=c.Utils.extend(!0,c.SpriteBatch.prototype,c.Group.prototype,PIXI.SpriteBatch.prototype),c.SpriteBatch.prototype.constructor=c.SpriteBatch,c.BitmapData=function(a,b,d,e){(void 0===d||0===d)&&(d=256),(void 0===e||0===e)&&(e=256),this.game=a,this.key=b,this.width=d,this.height=e,this.canvas=PIXI.CanvasPool.create(this,d,e),this.context=this.canvas.getContext("2d",{alpha:!0}),this.ctx=this.context,this.imageData=this.context.getImageData(0,0,d,e),this.data=null,this.imageData&&(this.data=this.imageData.data),this.pixels=null,this.data&&(this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data),this.baseTexture=new PIXI.BaseTexture(this.canvas),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,d,e,"bitmapData"),this.texture.frame=this.textureFrame,this.type=c.BITMAPDATA,this.disableTextureUpload=!1,this.dirty=!1,this.cls=this.clear,this._image=null,this._pos=new c.Point,this._size=new c.Point,this._scale=new c.Point,this._rotate=0,this._alpha={prev:1,current:1},this._anchor=new c.Point,this._tempR=0,this._tempG=0,this._tempB=0,this._circle=new c.Circle,this._swapCanvas=PIXI.CanvasPool.create(this,d,e)},c.BitmapData.prototype={move:function(a,b,c){return 0!==a&&this.moveH(a,c),0!==b&&this.moveV(b,c),this},moveH:function(a,b){void 0===b&&(b=!0);var c=this._swapCanvas,d=c.getContext("2d"),e=this.height,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),0>a){a=Math.abs(a);var g=this.width-a;b&&d.drawImage(f,0,0,a,e,g,0,a,e),d.drawImage(f,a,0,g,e,0,0,g,e)}else{var g=this.width-a;b&&d.drawImage(f,g,0,a,e,0,0,a,e),d.drawImage(f,0,0,g,e,a,0,g,e)}return this.clear(),this.copy(this._swapCanvas)},moveV:function(a,b){void 0===b&&(b=!0);var c=this._swapCanvas,d=c.getContext("2d"),e=this.width,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),0>a){a=Math.abs(a);var g=this.height-a;b&&d.drawImage(f,0,0,e,a,0,g,e,a),d.drawImage(f,0,a,e,g,0,0,e,g)}else{var g=this.height-a;b&&d.drawImage(f,0,g,e,a,0,0,e,a),d.drawImage(f,0,0,e,g,0,a,e,g)}return this.clear(),this.copy(this._swapCanvas)},add:function(a){if(Array.isArray(a))for(var b=0;bm;m++)for(var n=d;h>n;n++)c.Color.unpackPixel(this.getPixel32(n,m),j),k=a.call(b,j,n,m),k!==!1&&null!==k&&void 0!==k&&(this.setPixel32(n,m,k.r,k.g,k.b,k.a,!1),l=!0);return l&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},processPixel:function(a,b,c,d,e,f){void 0===c&&(c=0),void 0===d&&(d=0),void 0===e&&(e=this.width),void 0===f&&(f=this.height);for(var g=c+e,h=d+f,i=0,j=0,k=!1,l=d;h>l;l++)for(var m=c;g>m;m++)i=this.getPixel32(m,l),j=a.call(b,i,m,l),j!==i&&(this.pixels[l*this.width+m]=j,k=!0);return k&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},replaceRGB:function(a,b,d,e,f,g,h,i,j){var k=0,l=0,m=this.width,n=this.height,o=c.Color.packPixel(a,b,d,e);void 0!==j&&j instanceof c.Rectangle&&(k=j.x,l=j.y,m=j.width,n=j.height);for(var p=0;n>p;p++)for(var q=0;m>q;q++)this.getPixel32(k+q,l+p)===o&&this.setPixel32(k+q,l+p,f,g,h,i,!1);return this.context.putImageData(this.imageData,0,0),this.dirty=!0,this},setHSL:function(a,b,d,e){if((void 0===a||null===a)&&(a=!1),(void 0===b||null===b)&&(b=!1),(void 0===d||null===d)&&(d=!1),a||b||d){void 0===e&&(e=new c.Rectangle(0,0,this.width,this.height));for(var f=c.Color.createColor(),g=e.y;g=0&&a<=this.width&&b>=0&&b<=this.height&&(c.Device.LITTLE_ENDIAN?this.pixels[b*this.width+a]=g<<24|f<<16|e<<8|d:this.pixels[b*this.width+a]=d<<24|e<<16|f<<8|g,h&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(a,b,c,d,e,f){return this.setPixel32(a,b,c,d,e,255,f)},getPixel:function(a,b,d){d||(d=c.Color.createColor());var e=~~(a+b*this.width);return e*=4,d.r=this.data[e],d.g=this.data[++e],d.b=this.data[++e],d.a=this.data[++e],d},getPixel32:function(a,b){return a>=0&&a<=this.width&&b>=0&&b<=this.height?this.pixels[b*this.width+a]:void 0},getPixelRGB:function(a,b,d,e,f){return c.Color.unpackPixel(this.getPixel32(a,b),d,e,f)},getPixels:function(a){return this.context.getImageData(a.x,a.y,a.width,a.height)},getFirstPixel:function(a){void 0===a&&(a=0);var b=c.Color.createColor(),d=0,e=0,f=1,g=!1;1===a?(f=-1,e=this.height):3===a&&(f=-1,d=this.width);do c.Color.unpackPixel(this.getPixel32(d,e),b),0===a||1===a?(d++,d===this.width&&(d=0,e+=f,(e>=this.height||0>=e)&&(g=!0))):(2===a||3===a)&&(e++,e===this.height&&(e=0,d+=f,(d>=this.width||0>=d)&&(g=!0)));while(0===b.a&&!g);return b.x=d,b.y=e,b},getBounds:function(a){return void 0===a&&(a=new c.Rectangle),a.x=this.getFirstPixel(2).x,a.x===this.width?a.setTo(0,0,0,0):(a.y=this.getFirstPixel(0).y,a.width=this.getFirstPixel(3).x-a.x+1,a.height=this.getFirstPixel(1).y-a.y+1,a)},addToWorld:function(a,b,c,d,e,f){e=e||1,f=f||1;var g=this.game.add.image(a,b,this);return g.anchor.set(c,d),g.scale.set(e,f),g},copy:function(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){if((void 0===a||null===a)&&(a=this),this._image=a,a instanceof c.Sprite||a instanceof c.Image||a instanceof c.Text||a instanceof PIXI.Sprite)this._pos.set(a.texture.crop.x,a.texture.crop.y),this._size.set(a.texture.crop.width,a.texture.crop.height),this._scale.set(a.scale.x,a.scale.y),this._anchor.set(a.anchor.x,a.anchor.y),this._rotate=a.rotation,this._alpha.current=a.alpha,this._image=a.texture.baseTexture.source,(void 0===g||null===g)&&(g=a.x),(void 0===h||null===h)&&(h=a.y),a.texture.trim&&(g+=a.texture.trim.x-a.anchor.x*a.texture.trim.width,h+=a.texture.trim.y-a.anchor.y*a.texture.trim.height),16777215!==a.tint&&(a.cachedTint!==a.tint&&(a.cachedTint=a.tint,a.tintedTexture=PIXI.CanvasTinter.getTintedTexture(a,a.tint)),this._image=a.tintedTexture);else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,a instanceof c.BitmapData)this._image=a.canvas;else if("string"==typeof a){if(a=this.game.cache.getImage(a),null===a)return;this._image=a}this._size.set(this._image.width,this._image.height)}if((void 0===b||null===b)&&(b=0),(void 0===d||null===d)&&(d=0),e&&(this._size.x=e),f&&(this._size.y=f),(void 0===g||null===g)&&(g=b),(void 0===h||null===h)&&(h=d),(void 0===i||null===i)&&(i=this._size.x),(void 0===j||null===j)&&(j=this._size.y),"number"==typeof k&&(this._rotate=k),"number"==typeof l&&(this._anchor.x=l),"number"==typeof m&&(this._anchor.y=m),"number"==typeof n&&(this._scale.x=n),"number"==typeof o&&(this._scale.y=o),"number"==typeof p&&(this._alpha.current=p),void 0===q&&(q=null),void 0===r&&(r=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var s=this.context;return this._alpha.prev=s.globalAlpha,s.save(),s.globalAlpha=this._alpha.current,q&&(this.op=q),r&&(g|=0,h|=0),s.translate(g,h),s.scale(this._scale.x,this._scale.y),s.rotate(this._rotate),s.drawImage(this._image,this._pos.x+b,this._pos.y+d,this._size.x,this._size.y,-i*this._anchor.x,-j*this._anchor.y,i,j),s.restore(),s.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyRect:function(a,b,c,d,e,f,g){return this.copy(a,b.x,b.y,b.width,b.height,c,d,b.width,b.height,0,0,0,1,1,e,f,g)},draw:function(a,b,c,d,e,f,g){return this.copy(a,null,null,null,null,b,c,d,e,null,null,null,null,null,null,f,g)},drawGroup:function(a,b,c){return a.total>0&&a.forEachExists(this.copy,this,null,null,null,null,null,null,null,null,null,null,null,null,null,null,b,c),this},drawFull:function(a,b,d){if(a.worldVisible===!1||0===a.worldAlpha||a.hasOwnProperty("exists")&&a.exists===!1)return this;if(a.type!==c.GROUP&&a.type!==c.EMITTER&&a.type!==c.BITMAPTEXT)if(a.type===c.GRAPHICS){var e=a.getBounds();this.ctx.save(),this.ctx.translate(e.x,e.y),PIXI.CanvasGraphics.renderGraphics(a,this.ctx),this.ctx.restore()}else this.copy(a,null,null,null,null,a.worldPosition.x,a.worldPosition.y,null,null,a.worldRotation,null,null,a.worldScale.x,a.worldScale.y,a.worldAlpha,b,d);if(a.children)for(var f=0;fb.width&&(e=b.width);var f=this.context;return f.fillStyle=f.createPattern(b,d),this._circle=new c.Circle(a.start.x,a.start.y,b.height),this._circle.circumferencePoint(a.angle-1.5707963267948966,!1,this._pos),f.save(),f.translate(this._pos.x,this._pos.y),f.rotate(a.angle),f.fillRect(0,0,e,b.height),f.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){PIXI.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this}},Object.defineProperty(c.BitmapData.prototype,"smoothed",{get:function(){c.Canvas.getSmoothingEnabled(this.context)},set:function(a){c.Canvas.setSmoothingEnabled(this.context,a)}}),Object.defineProperty(c.BitmapData.prototype,"op",{get:function(){return this.context.globalCompositeOperation},set:function(a){this.context.globalCompositeOperation=a}}),c.BitmapData.getTransform=function(a,b,c,d,e,f){return"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),"number"!=typeof c&&(c=1),"number"!=typeof d&&(d=1),"number"!=typeof e&&(e=0),"number"!=typeof f&&(f=0),{sx:c,sy:d,scaleX:c,scaleY:d,skewX:e,skewY:f,translateX:a,translateY:b,tx:a,ty:b}},c.BitmapData.prototype.constructor=c.BitmapData,PIXI.Graphics=function(){PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new PIXI.Rectangle(0,0,1,1),this.dirty=!0,this.webGLDirty=!1,this.cachedSpriteDirty=!1},PIXI.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),PIXI.Graphics.prototype.constructor=PIXI.Graphics,PIXI.Graphics.prototype.lineStyle=function(a,b,c){return this.lineWidth=a||0,this.lineColor=b||0,this.lineAlpha=void 0===c?1:c,this.currentPath&&(this.currentPath.shape.points.length?this.drawShape(new PIXI.Polygon(this.currentPath.shape.points.slice(-2))):(this.currentPath.lineWidth=this.lineWidth,this.currentPath.lineColor=this.lineColor,this.currentPath.lineAlpha=this.lineAlpha)),this},PIXI.Graphics.prototype.moveTo=function(a,b){return this.drawShape(new PIXI.Polygon([a,b])),this},PIXI.Graphics.prototype.lineTo=function(a,b){return this.currentPath||this.moveTo(0,0),this.currentPath.shape.points.push(a,b),this.dirty=!0,this},PIXI.Graphics.prototype.quadraticCurveTo=function(a,b,c,d){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);var e,f,g=20,h=this.currentPath.shape.points;0===h.length&&this.moveTo(0,0);for(var i=h[h.length-2],j=h[h.length-1],k=0,l=1;g>=l;++l)k=l/g,e=i+(a-i)*k,f=j+(b-j)*k,h.push(e+(a+(c-a)*k-e)*k,f+(b+(d-b)*k-f)*k);return this.dirty=!0,this},PIXI.Graphics.prototype.bezierCurveTo=function(a,b,c,d,e,f){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);for(var g,h,i,j,k,l=20,m=this.currentPath.shape.points,n=m[m.length-2],o=m[m.length-1],p=0,q=1;l>=q;++q)p=q/l,g=1-p,h=g*g,i=h*g,j=p*p,k=j*p,m.push(i*n+3*h*p*a+3*g*j*c+k*e,i*o+3*h*p*b+3*g*j*d+k*f);return this.dirty=!0,this},PIXI.Graphics.prototype.arcTo=function(a,b,c,d,e){this.currentPath?0===this.currentPath.shape.points.length&&this.currentPath.shape.points.push(a,b):this.moveTo(a,b);var f=this.currentPath.shape.points,g=f[f.length-2],h=f[f.length-1],i=h-b,j=g-a,k=d-b,l=c-a,m=Math.abs(i*l-j*k);if(1e-8>m||0===e)(f[f.length-2]!==a||f[f.length-1]!==b)&&f.push(a,b);else{var n=i*i+j*j,o=k*k+l*l,p=i*k+j*l,q=e*Math.sqrt(n)/m,r=e*Math.sqrt(o)/m,s=q*p/n,t=r*p/o,u=q*l+r*j,v=q*k+r*i,w=j*(r+s),x=i*(r+s),y=l*(q+t),z=k*(q+t),A=Math.atan2(x-v,w-u),B=Math.atan2(z-v,y-u);this.arc(u+a,v+b,e,A,B,j*k>l*i)}return this.dirty=!0,this},PIXI.Graphics.prototype.arc=function(a,b,c,d,e,f){if(d===e)return this;void 0===f&&(f=!1),!f&&d>=e?e+=2*Math.PI:f&&e>=d&&(d+=2*Math.PI);var g=f?-1*(d-e):e-d,h=40*Math.ceil(Math.abs(g)/(2*Math.PI));if(0===g)return this;var i=a+Math.cos(d)*c,j=b+Math.sin(d)*c;f&&this.filling?this.moveTo(a,b):this.moveTo(i,j);for(var k=this.currentPath.shape.points,l=g/(2*h),m=2*l,n=Math.cos(l),o=Math.sin(l),p=h-1,q=p%1/p,r=0;p>=r;r++){var s=r+q*r,t=l+d+m*s,u=Math.cos(t),v=-Math.sin(t);k.push((n*u+o*v)*c+a,(n*-v+o*u)*c+b)}return this.dirty=!0,this},PIXI.Graphics.prototype.beginFill=function(a,b){return this.filling=!0,this.fillColor=a||0,this.fillAlpha=void 0===b?1:b,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},PIXI.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},PIXI.Graphics.prototype.drawRect=function(a,b,c,d){return this.drawShape(new PIXI.Rectangle(a,b,c,d)),this},PIXI.Graphics.prototype.drawRoundedRect=function(a,b,c,d,e){return this.drawShape(new PIXI.RoundedRectangle(a,b,c,d,e)),this},PIXI.Graphics.prototype.drawCircle=function(a,b,c){return this.drawShape(new PIXI.Circle(a,b,c)),this},PIXI.Graphics.prototype.drawEllipse=function(a,b,c,d){return this.drawShape(new PIXI.Ellipse(a,b,c,d)),this},PIXI.Graphics.prototype.drawPolygon=function(a){(a instanceof c.Polygon||a instanceof PIXI.Polygon)&&(a=a.points);var b=a;if(!Array.isArray(b)){b=new Array(arguments.length);for(var d=0;dp?p:x,x=x>r?r:x,x=x>t?t:x,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w,this._bounds.x=x,this._bounds.width=v-x,this._bounds.y=y,this._bounds.height=w-y,this._currentBounds=this._bounds}return this._currentBounds},PIXI.Graphics.prototype.containsPoint=function(a){this.worldTransform.applyInverse(a,tempPoint);for(var b=this.graphicsData,c=0;ch?h:a,b=h+j>b?h+j:b,d=d>i?i:d,e=i+k>e?i+k:e;else if(n===PIXI.Graphics.CIRC)h=f.x,i=f.y,j=f.radius+o/2,k=f.radius+o/2,a=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?i+k:e;else if(n===PIXI.Graphics.ELIP)h=f.x,i=f.y,j=f.width+o/2,k=f.height+o/2,a=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?i+k:e;else{g=f.points;for(var p=0;ph-o?h-o:a,b=h+o>b?h+o:b,d=d>i-o?i-o:d,e=i+o>e?i+o:e}}else a=0,b=0,d=0,e=0;var q=this.boundsPadding;this._localBounds.x=a-q,this._localBounds.width=b-a+2*q,this._localBounds.y=d-q,this._localBounds.height=e-d+2*q},PIXI.Graphics.prototype._generateCachedSprite=function(){var a=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(a.width,a.height);else{var b=new PIXI.CanvasBuffer(a.width,a.height),c=PIXI.Texture.fromCanvas(b.canvas);this._cachedSprite=new PIXI.Sprite(c),this._cachedSprite.buffer=b,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-(a.x/a.width),this._cachedSprite.anchor.y=-(a.y/a.height),this._cachedSprite.buffer.context.translate(-a.x,-a.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},PIXI.Graphics.prototype.updateCachedSpriteTexture=function(){var a=this._cachedSprite,b=a.texture,c=a.buffer.canvas;b.baseTexture.width=c.width,b.baseTexture.height=c.height,b.crop.width=b.frame.width=c.width,b.crop.height=b.frame.height=c.height,a._width=c.width,a._height=c.height,b.baseTexture.dirty()},PIXI.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},PIXI.Graphics.prototype.drawShape=function(a){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,a instanceof c.Polygon&&(a=a.clone(),a.flatten());var b=new PIXI.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,a);return this.graphicsData.push(b),b.type===PIXI.Graphics.POLY&&(b.shape.closed=this.filling,this.currentPath=b),this.dirty=!0,b},Object.defineProperty(PIXI.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(a){this._cacheAsBitmap=a,this._cacheAsBitmap?this._generateCachedSprite():(this.destroyCachedSprite(),this.dirty=!0)}}),PIXI.GraphicsData=function(a,b,c,d,e,f,g){this.lineWidth=a,this.lineColor=b,this.lineAlpha=c,this._lineTint=b,this.fillColor=d,this.fillAlpha=e,this._fillTint=d,this.fill=f,this.shape=g,this.type=g.type},PIXI.GraphicsData.prototype.constructor=PIXI.GraphicsData,PIXI.GraphicsData.prototype.clone=function(){return new GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},PIXI.PolyK={},PIXI.PolyK.Triangulate=function(a){var b=!0,c=a.length>>1;if(3>c)return[];for(var d=[],e=[],f=0;c>f;f++)e.push(f);f=0;for(var g=c;g>3;){var h=e[(f+0)%g],i=e[(f+1)%g],j=e[(f+2)%g],k=a[2*h],l=a[2*h+1],m=a[2*i],n=a[2*i+1],o=a[2*j],p=a[2*j+1],q=!1;if(PIXI.PolyK._convex(k,l,m,n,o,p,b)){q=!0;for(var r=0;g>r;r++){var s=e[r];if(s!==h&&s!==i&&s!==j&&PIXI.PolyK._PointInTriangle(a[2*s],a[2*s+1],k,l,m,n,o,p)){q=!1;break}}}if(q)d.push(h,i,j),e.splice((f+1)%g,1),g--,f=0;else if(f++>3*g){if(!b)return null;for(d=[],e=[],f=0;c>f;f++)e.push(f);f=0,g=c,b=!1}}return d.push(e[0],e[1],e[2]),d},PIXI.PolyK._PointInTriangle=function(a,b,c,d,e,f,g,h){var i=g-c,j=h-d,k=e-c,l=f-d,m=a-c,n=b-d,o=i*i+j*j,p=i*k+j*l,q=i*m+j*n,r=k*k+l*l,s=k*m+l*n,t=1/(o*r-p*p),u=(r*q-p*s)*t,v=(o*s-p*q)*t;return u>=0&&v>=0&&1>u+v},PIXI.PolyK._convex=function(a,b,c,d,e,f,g){return(b-d)*(e-c)+(c-a)*(f-d)>=0===g},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.renderGraphics=function(a,b){var c,d=b.gl,e=b.projection,f=b.offset,g=b.shaderManager.primitiveShader;a.dirty&&PIXI.WebGLGraphics.updateGraphics(a,d);for(var h=a._webGL[d.id],i=0;i=6)if(g.points.length<12){f=PIXI.WebGLGraphics.switchMode(c,0);var h=PIXI.WebGLGraphics.buildPoly(g,f);h||(f=PIXI.WebGLGraphics.switchMode(c,1),PIXI.WebGLGraphics.buildComplexPoly(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,1),PIXI.WebGLGraphics.buildComplexPoly(g,f);g.lineWidth>0&&(f=PIXI.WebGLGraphics.switchMode(c,0),PIXI.WebGLGraphics.buildLine(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,0),g.type===PIXI.Graphics.RECT?PIXI.WebGLGraphics.buildRectangle(g,f):g.type===PIXI.Graphics.CIRC||g.type===PIXI.Graphics.ELIP?PIXI.WebGLGraphics.buildCircle(g,f):g.type===PIXI.Graphics.RREC&&PIXI.WebGLGraphics.buildRoundedRectangle(g,f);c.lastIndex++}for(d=0;d=q;q++)p=q/n,h=g(a,c,p),i=g(b,d,p),j=g(c,e,p),k=g(d,f,p),l=g(h,j,p),m=g(i,k,p),o.push(l,m);return o},PIXI.WebGLGraphics.buildCircle=function(a,b){var c,d,e=a.shape,f=e.x,g=e.y;a.type===PIXI.Graphics.CIRC?(c=e.radius,d=e.radius):(c=e.width,d=e.height);var h=40,i=2*Math.PI/h,j=0;if(a.fill){var k=PIXI.hex2rgb(a.fillColor),l=a.fillAlpha,m=k[0]*l,n=k[1]*l,o=k[2]*l,p=b.points,q=b.indices,r=p.length/6;for(q.push(r),j=0;h+1>j;j++)p.push(f,g,m,n,o,l),p.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d,m,n,o,l),q.push(r++,r++);q.push(r-1)}if(a.lineWidth){var s=a.points;for(a.points=[],j=0;h+1>j;j++)a.points.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d);PIXI.WebGLGraphics.buildLine(a,b),a.points=s}},PIXI.WebGLGraphics.buildLine=function(a,b){var c=0,d=a.points;if(0!==d.length){if(a.lineWidth%2)for(c=0;cc;c++)k=d[2*(c-1)],l=d[2*(c-1)+1],m=d[2*c],n=d[2*c+1],o=d[2*(c+1)],p=d[2*(c+1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,s=-(n-p),t=m-o,E=Math.sqrt(s*s+t*t),s/=E,t/=E,s*=K,t*=K,w=-r+l-(-r+n),x=-q+m-(-q+k),y=(-q+k)*(-r+n)-(-q+m)*(-r+l),z=-t+p-(-t+n),A=-s+m-(-s+o),B=(-s+o)*(-t+n)-(-s+m)*(-t+p),C=w*A-z*x,Math.abs(C)<.1?(C+=10.1,F.push(m-q,n-r,N,O,P,M),F.push(m+q,n+r,N,O,P,M)):(i=(x*B-A*y)/C,j=(z*y-w*B)/C,D=(i-m)*(i-m)+(j-n)+(j-n),D>19600?(u=q-s,v=r-t,E=Math.sqrt(u*u+v*v),u/=E,v/=E,u*=K,v*=K,F.push(m-u,n-v),F.push(N,O,P,M),F.push(m+u,n+v),F.push(N,O,P,M),F.push(m-u,n-v),F.push(N,O,P,M),I++):(F.push(i,j),F.push(N,O,P,M),F.push(m-(i-m),n-(j-n)),F.push(N,O,P,M)));for(k=d[2*(H-2)],l=d[2*(H-2)+1],m=d[2*(H-1)],n=d[2*(H-1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,F.push(m-q,n-r),F.push(N,O,P,M),F.push(m+q,n+r),F.push(N,O,P,M),G.push(J),c=0;I>c;c++)G.push(J++);G.push(J-1)}},PIXI.WebGLGraphics.buildComplexPoly=function(a,b){var c=a.points.slice();if(!(c.length<6)){var d=b.indices;b.points=c,b.alpha=a.fillAlpha,b.color=PIXI.hex2rgb(a.fillColor);for(var e,f,g=1/0,h=-(1/0),i=1/0,j=-(1/0),k=0;ke?e:g,h=e>h?e:h,i=i>f?f:i,j=f>j?f:j;c.push(g,i,h,i,h,j,g,j);var l=c.length/2;for(k=0;l>k;k++)d.push(k)}},PIXI.WebGLGraphics.buildPoly=function(a,b){var c=a.points;if(!(c.length<6)){var d=b.points,e=b.indices,f=c.length/2,g=PIXI.hex2rgb(a.fillColor),h=a.fillAlpha,i=g[0]*h,j=g[1]*h,k=g[2]*h,l=PIXI.PolyK.Triangulate(c);if(!l)return!1;var m=d.length/6,n=0;for(n=0;nn;n++)d.push(c[2*n],c[2*n+1],i,j,k,h);return!0}},PIXI.WebGLGraphics.graphicsDataPool=[],PIXI.WebGLGraphicsData=function(a){this.gl=a,this.color=[0,0,0],this.points=[],this.indices=[],this.buffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),this.mode=1,this.alpha=1,this.dirty=!0},PIXI.WebGLGraphicsData.prototype.reset=function(){this.points=[],this.indices=[]},PIXI.WebGLGraphicsData.prototype.upload=function(){var a=this.gl;this.glPoints=new PIXI.Float32Array(this.points),a.bindBuffer(a.ARRAY_BUFFER,this.buffer),a.bufferData(a.ARRAY_BUFFER,this.glPoints,a.STATIC_DRAW),this.glIndicies=new PIXI.Uint16Array(this.indices),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.glIndicies,a.STATIC_DRAW),this.dirty=!1},PIXI.CanvasGraphics=function(){},PIXI.CanvasGraphics.renderGraphics=function(a,b){var c=a.worldAlpha;a.dirty&&(this.updateGraphicsTint(a),a.dirty=!1);for(var d=0;dA?A:z,b.beginPath(),b.moveTo(v,w+z),b.lineTo(v,w+y-z),b.quadraticCurveTo(v,w+y,v+z,w+y),b.lineTo(v+x-z,w+y),b.quadraticCurveTo(v+x,w+y,v+x,w+y-z),b.lineTo(v+x,w+z),b.quadraticCurveTo(v+x,w,v+x-z,w),b.lineTo(v+z,w),b.quadraticCurveTo(v,w,v,w+z),b.closePath(),(e.fillColor||0===e.fillColor)&&(b.globalAlpha=e.fillAlpha*c,b.fillStyle="#"+("00000"+(0|g).toString(16)).substr(-6),b.fill()),e.lineWidth&&(b.globalAlpha=e.lineAlpha*c,b.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),b.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(a,b){var c=a.graphicsData.length;if(0!==c){b.beginPath();for(var d=0;c>d;d++){var e=a.graphicsData[d],f=e.shape;if(e.type===PIXI.Graphics.POLY){var g=f.points;b.moveTo(g[0],g[1]);for(var h=1;hy?y:x,b.moveTo(t,u+x),b.lineTo(t,u+w-x),b.quadraticCurveTo(t,u+w,t+x,u+w),b.lineTo(t+v-x,u+w),b.quadraticCurveTo(t+v,u+w,t+v,u+w-x),b.lineTo(t+v,u+x),b.quadraticCurveTo(t+v,u,t+v-x,u),b.lineTo(t+x,u),b.quadraticCurveTo(t,u,t,u+x),b.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(a){if(16777215!==a.tint)for(var b=(a.tint>>16&255)/255,c=(a.tint>>8&255)/255,d=(255&a.tint)/255,e=0;e>16&255)/255*b*255<<16)+((g>>8&255)/255*c*255<<8)+(255&g)/255*d*255,f._lineTint=((h>>16&255)/255*b*255<<16)+((h>>8&255)/255*c*255<<8)+(255&h)/255*d*255}},c.Graphics=function(a,b,d){void 0===b&&(b=0),void 0===d&&(d=0),this.type=c.GRAPHICS,this.physicsType=c.SPRITE,PIXI.Graphics.call(this),c.Component.Core.init.call(this,a,b,d,"",null)},c.Graphics.prototype=Object.create(PIXI.Graphics.prototype),c.Graphics.prototype.constructor=c.Graphics,c.Component.Core.install.call(c.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),c.Graphics.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Graphics.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Graphics.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Graphics.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Graphics.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Graphics.prototype.destroy=function(a){this.clear(),c.Component.Destroy.prototype.destroy.call(this,a)},c.Graphics.prototype.drawTriangle=function(a,b){void 0===b&&(b=!1);var d=new c.Polygon(a);if(b){var e=new c.Point(this.game.camera.x-a[0].x,this.game.camera.y-a[0].y),f=new c.Point(a[1].x-a[0].x,a[1].y-a[0].y),g=new c.Point(a[1].x-a[2].x,a[1].y-a[2].y),h=g.cross(f);e.dot(h)>0&&this.drawPolygon(d)}else this.drawPolygon(d)},c.Graphics.prototype.drawTriangles=function(a,b,d){void 0===d&&(d=!1);var e,f=new c.Point,g=new c.Point,h=new c.Point,i=[];if(b)if(a[0]instanceof c.Point)for(e=0;e0&&(j+=c[k-1]),h=j+l}else for(var k=0;kp&&Math.abs(p)>n&&(p=-n),0!==p){var m=p*(b.length-1);o+=m}this.canvas.height=o*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var q,r;for(this._charCount=0,g=0;g0&&(r+=p*g),"right"===this.style.align?q+=e-d[g]:"center"===this.style.align&&(q+=(e-d[g])/2),this.autoRound&&(q=Math.round(q),r=Math.round(r)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(b[g],q,r):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===c?this.context.strokeText(b[g],q,r):this.renderTabLine(b[g],q,r,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===c?this.context.fillText(b[g],q,r):this.renderTabLine(b[g],q,r,!0)));this.updateTexture()},c.Text.prototype.renderTabLine=function(a,b,c,d){var e=a.split(/(?:\t)/),f=this.style.tabs,g=0;if(Array.isArray(f))for(var h=0,i=0;i0&&(h+=f[i-1]),g=b+h,d?this.context.fillText(e[i],g,c):this.context.strokeText(e[i],g,c);else for(var i=0;i0||this.fontStyles.length>0){var f=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(f.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(f.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(f)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(e,b,c)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(e,b,c)),b+=this.context.measureText(e).width,this._charCount++}},c.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},c.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},c.Text.prototype.addColor=function(a,b){return this.colors[b]=a,this.dirty=!0,this},c.Text.prototype.addStrokeColor=function(a,b){return this.strokeColors[b]=a,this.dirty=!0,this},c.Text.prototype.addFontStyle=function(a,b){return this.fontStyles[b]=a,this.dirty=!0,this},c.Text.prototype.addFontWeight=function(a,b){return this.fontWeights[b]=a,this.dirty=!0,this},c.Text.prototype.runWordWrap=function(a){for(var b="",c=a.split("\n"),d=0;de?(g>0&&(b+="\n"),b+=f[g]+" ",e=this.style.wordWrapWidth-h):(e-=i,b+=f[g]+" ")}dd&&(this.style.wordWrapWidth=d)),this.updateTexture(),this},c.Text.prototype.updateTexture=function(){var a=this.texture.baseTexture,b=this.texture.crop,c=this.texture.frame,d=this.canvas.width,e=this.canvas.height;if(a.width=d,a.height=e,b.width=d,b.height=e,c.width=d,c.height=e,this.texture.width=d,this.texture.height=e,this._width=d,this._height=e,this.textBounds){var f=this.textBounds.x,g=this.textBounds.y;"right"===this.style.boundsAlignH?f+=this.textBounds.width-this.canvas.width:"center"===this.style.boundsAlignH&&(f+=this.textBounds.halfWidth-this.canvas.width/2),"bottom"===this.style.boundsAlignV?g+=this.textBounds.height-this.canvas.height:"middle"===this.style.boundsAlignV&&(g+=this.textBounds.halfHeight-this.canvas.height/2),this.pivot.x=-f,this.pivot.y=-g}this.renderable=0!==d&&0!==e,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},c.Text.prototype._renderWebGL=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,a)},c.Text.prototype._renderCanvas=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,a)},c.Text.prototype.determineFontProperties=function(a){var b=c.Text.fontPropertiesCache[a];if(!b){b={};var d=c.Text.fontPropertiesCanvas,e=c.Text.fontPropertiesContext;e.font=a;var f=Math.ceil(e.measureText("|MÉq").width),g=Math.ceil(e.measureText("|MÉq").width),h=2*g;if(g=1.4*g|0,d.width=f,d.height=h,e.fillStyle="#f00",e.fillRect(0,0,f,h),e.font=a,e.textBaseline="alphabetic",e.fillStyle="#000",e.fillText("|MÉq",0,g),!e.getImageData(0,0,f,h))return b.ascent=g,b.descent=g+6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b,b;var i,j,k=e.getImageData(0,0,f,h).data,l=k.length,m=4*f,n=0,o=!1;for(i=0;g>i;i++){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n+=m}for(b.ascent=g-i,n=l-m,o=!1,i=h;i>g;i--){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n-=m}b.descent=i-g,b.descent+=6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b}return b},c.Text.prototype.getBounds=function(a){return this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype.getBounds.call(this,a)},Object.defineProperty(c.Text.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"cssFont",{get:function(){return this.componentsToFont(this._fontComponents)},set:function(a){a=a||"bold 20pt Arial",this._fontComponents=this.fontToComponents(a),this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"font",{get:function(){return this._fontComponents.fontFamily},set:function(a){a=a||"Arial",a=a.trim(),/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(a)||/['",]/.exec(a)||(a="'"+a+"'"),this._fontComponents.fontFamily=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontSize",{get:function(){var a=this._fontComponents.fontSize;return a&&/(?:^0$|px$)/.exec(a)?parseInt(a,10):a},set:function(a){a=a||"0","number"==typeof a&&(a+="px"),this._fontComponents.fontSize=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontWeight",{get:function(){return this._fontComponents.fontWeight||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontWeight=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontStyle",{get:function(){return this._fontComponents.fontStyle||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontStyle=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontVariant",{get:function(){return this._fontComponents.fontVariant||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontVariant=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fill",{get:function(){return this.style.fill},set:function(a){a!==this.style.fill&&(this.style.fill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"align",{get:function(){return this.style.align},set:function(a){a!==this.style.align&&(this.style.align=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"resolution",{get:function(){return this._res},set:function(a){a!==this._res&&(this._res=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"tabs",{get:function(){return this.style.tabs},set:function(a){a!==this.style.tabs&&(this.style.tabs=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignH",{get:function(){return this.style.boundsAlignH},set:function(a){a!==this.style.boundsAlignH&&(this.style.boundsAlignH=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignV",{get:function(){return this.style.boundsAlignV},set:function(a){a!==this.style.boundsAlignV&&(this.style.boundsAlignV=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"stroke",{get:function(){return this.style.stroke},set:function(a){a!==this.style.stroke&&(this.style.stroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"strokeThickness",{get:function(){return this.style.strokeThickness},set:function(a){a!==this.style.strokeThickness&&(this.style.strokeThickness=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrap",{get:function(){return this.style.wordWrap},set:function(a){a!==this.style.wordWrap&&(this.style.wordWrap=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrapWidth",{get:function(){return this.style.wordWrapWidth},set:function(a){a!==this.style.wordWrapWidth&&(this.style.wordWrapWidth=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"lineSpacing",{get:function(){return this._lineSpacing},set:function(a){a!==this._lineSpacing&&(this._lineSpacing=parseFloat(a),this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"shadowOffsetX",{get:function(){return this.style.shadowOffsetX},set:function(a){a!==this.style.shadowOffsetX&&(this.style.shadowOffsetX=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowOffsetY",{get:function(){return this.style.shadowOffsetY},set:function(a){a!==this.style.shadowOffsetY&&(this.style.shadowOffsetY=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowColor",{get:function(){return this.style.shadowColor},set:function(a){a!==this.style.shadowColor&&(this.style.shadowColor=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowBlur",{get:function(){return this.style.shadowBlur},set:function(a){a!==this.style.shadowBlur&&(this.style.shadowBlur=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowStroke",{get:function(){return this.style.shadowStroke},set:function(a){a!==this.style.shadowStroke&&(this.style.shadowStroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowFill",{get:function(){return this.style.shadowFill},set:function(a){a!==this.style.shadowFill&&(this.style.shadowFill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"width",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*this.texture.frame.width},set:function(a){this.scale.x=a/this.texture.frame.width,this._width=a}}),Object.defineProperty(c.Text.prototype,"height",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*this.texture.frame.height},set:function(a){this.scale.y=a/this.texture.frame.height,this._height=a}}),c.Text.fontPropertiesCache={},c.Text.fontPropertiesCanvas=PIXI.CanvasPool.create(c.Text.fontPropertiesCanvas),c.Text.fontPropertiesContext=c.Text.fontPropertiesCanvas.getContext("2d"),c.BitmapText=function(a,b,d,e,f,g,h){b=b||0,d=d||0,e=e||"",f=f||"",g=g||32,h=h||"left",PIXI.DisplayObjectContainer.call(this),this.type=c.BITMAPTEXT,this.physicsType=c.SPRITE,this.textWidth=0,this.textHeight=0,this.anchor=new c.Point,this._prevAnchor=new c.Point,this._glyphs=[],this._maxWidth=0,this._text=f,this._data=a.cache.getBitmapFont(e),this._font=e,this._fontSize=g,this._align=h,this._tint=16777215,this.updateText(),this.dirty=!1,c.Component.Core.init.call(this,a,b,d,"",null)},c.BitmapText.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),c.BitmapText.prototype.constructor=c.BitmapText,c.Component.Core.install.call(c.BitmapText.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),c.BitmapText.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.BitmapText.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.BitmapText.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.BitmapText.prototype.preUpdateCore=c.Component.Core.preUpdate,c.BitmapText.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.BitmapText.prototype.postUpdate=function(){c.Component.PhysicsBody.postUpdate.call(this),c.Component.FixedToCamera.postUpdate.call(this),this.body&&this.body.type===c.Physics.ARCADE&&(this.textWidth!==this.body.sourceWidth||this.textHeight!==this.body.sourceHeight)&&this.body.setSize(this.textWidth,this.textHeight)},c.BitmapText.prototype.setText=function(a){this.text=a},c.BitmapText.prototype.scanLine=function(a,b,c){for(var d=0,e=0,f=-1,g=null,h=this._maxWidth>0?this._maxWidth:null,i=[],j=0;j=h&&f>-1)return{width:e,text:c.substr(0,j-(j-f)),end:k,chars:i};e+=m.xAdvance*b,i.push(d+m.xOffset*b),d+=m.xAdvance*b,g=l}}return{width:e,text:c,end:k,chars:i}},c.BitmapText.prototype.updateText=function(){var a=this._data.font;if(a){var b=this.text,c=this._fontSize/a.size,d=[],e=0;this.textWidth=0;do{var f=this.scanLine(a,c,b);f.y=e,d.push(f),f.width>this.textWidth&&(this.textWidth=f.width),e+=a.lineHeight*c,b=b.substr(f.text.length+1)}while(f.end===!1);this.textHeight=e;for(var g=0,h=0,i=this.textWidth*this.anchor.x,j=this.textHeight*this.anchor.y,k=0;k0&&(this._fontSize=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(a){a!==this._maxWidth&&(this._maxWidth=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(a){a?this._data.base.scaleMode=0:this._data.base.scaleMode=1}}),c.RetroFont=function(a,b,d,e,f,g,h,i,j,k){if(!a.cache.checkImageKey(b))return!1;(void 0===g||null===g)&&(g=a.cache.getImage(b).width/d),this.characterWidth=d,this.characterHeight=e,this.characterSpacingX=h||0,this.characterSpacingY=i||0,this.characterPerRow=g,this.offsetX=j||0,this.offsetY=k||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=a.cache.getImage(b),this._text="",this.grabData=[],this.frameData=new c.FrameData;for(var l=this.offsetX,m=this.offsetY,n=0,o=0;o?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",c.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",c.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",c.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",c.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",c.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",c.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",c.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",c.RetroFont.prototype.setFixedWidth=function(a,b){void 0===b&&(b="left"),this.fixedWidth=a,this.align=b},c.RetroFont.prototype.setText=function(a,b,c,d,e,f){this.multiLine=b||!1,this.customSpacingX=c||0,this.customSpacingY=d||0,this.align=e||"left",f?this.autoUpperCase=!1:this.autoUpperCase=!0,a.length>0&&(this.text=a)},c.RetroFont.prototype.buildRetroFontText=function(){var a=0,b=0;if(this.clear(),this.multiLine){var d=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var e=0;ea&&(a=0),this.pasteLine(d[e],a,b,this.customSpacingX),b+=this.characterHeight+this.customSpacingY}else this.fixedWidth>0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),a=0,this.align===c.RetroFont.ALIGN_RIGHT?a=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===c.RetroFont.ALIGN_CENTER&&(a=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,a+=this.customSpacingX/2),0>a&&(a=0),this.pasteLine(this._text,a,0,this.customSpacingX);this.requiresReTint=!0},c.RetroFont.prototype.pasteLine=function(a,b,c,d){for(var e=0;e=0&&(this.stamp.frame=this.grabData[a.charCodeAt(e)],this.renderXY(this.stamp,b,c,!1),b+=this.characterWidth+d,b>this.width))break},c.RetroFont.prototype.getLongestLine=function(){var a=0;if(this._text.length>0)for(var b=this._text.split("\n"),c=0;ca&&(a=b[c].length);return a},c.RetroFont.prototype.removeUnsupportedCharacters=function(a){for(var b="",c=0;c=0||!a&&"\n"===d)&&(b=b.concat(d))}return b},c.RetroFont.prototype.updateOffset=function(a,b){if(this.offsetX!==a||this.offsetY!==b){for(var c=a-this.offsetX,d=b-this.offsetY,e=this.game.cache.getFrameData(this.stamp.key).getFrames(),f=e.length;f--;)e[f].x+=c,e[f].y+=d;this.buildRetroFontText()}},Object.defineProperty(c.RetroFont.prototype,"text",{get:function(){return this._text},set:function(a){var b;b=this.autoUpperCase?a.toUpperCase():a,b!==this._text&&(this._text=b,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(c.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(a){this.stamp.smoothed=a,this.buildRetroFontText()}}),c.Rope=function(a,b,d,e,f,g){this.points=[],this.points=g,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.ROPE,PIXI.Rope.call(this,PIXI.TextureCache.__default,this.points),c.Component.Core.init.call(this,a,b,d,e,f)},c.Rope.prototype=Object.create(PIXI.Rope.prototype),c.Rope.prototype.constructor=c.Rope,c.Component.Core.install.call(c.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Rope.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Rope.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Rope.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Rope.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Rope.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},c.Rope.prototype.reset=function(a,b){return c.Component.Reset.prototype.reset.call(this,a,b),this},Object.defineProperty(c.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(a){a&&"function"==typeof a?(this._hasUpdateAnimation=!0,this._updateAnimation=a):(this._hasUpdateAnimation=!1,this._updateAnimation=null); -}}),Object.defineProperty(c.Rope.prototype,"segments",{get:function(){for(var a,b,d,e,f,g,h,i,j=[],k=0;k=1)&&(l.touch=!0),(window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(l.mspointer=!0),l.cocoonJS||("onwheel"in window||l.ie&&"WheelEvent"in window?l.wheelEvent="wheel":"onmousewheel"in window?l.wheelEvent="mousewheel":l.firefox&&"MouseScrollEvent"in window&&(l.wheelEvent="DOMMouseScroll"))}function d(){for(var a=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],b=document.createElement("div"),c=0;c0&&"none"!==a}var l=this;a(),g(),f(),e(),k(),h(),b(),d(),c()},c.Device.canPlayAudio=function(a){return"mp3"===a&&this.mp3?!0:"ogg"===a&&(this.ogg||this.opus)?!0:"m4a"===a&&this.m4a?!0:"opus"===a&&this.opus?!0:"wav"===a&&this.wav?!0:"webm"===a&&this.webm?!0:!1},c.Device.canPlayVideo=function(a){return"webm"===a&&(this.webmVideo||this.vp9Video)?!0:"mp4"===a&&(this.mp4Video||this.h264Video)?!0:"ogg"!==a&&"ogv"!==a||!this.oggVideo?"mpeg"===a&&this.hlsVideo?!0:!1:!0},c.Device.isConsoleOpen=function(){return window.console&&window.console.firebug?!0:window.console&&(console.profile(),console.profileEnd(),console.clear&&console.clear(),console.profiles)?console.profiles.length>0:!1},c.Device.isAndroidStockBrowser=function(){var a=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return a&&a[1]<537},c.Canvas={create:function(a,b,c,d,e){if(b=b||256,c=c||256,void 0===e)var f=PIXI.CanvasPool.create(a,b,c);else var f=document.createElement("canvas");return"string"==typeof d&&""!==d&&(f.id=d),f.width=b,f.height=c,f.style.display="block",f},setBackgroundColor:function(a,b){return b=b||"rgb(0,0,0)",a.style.backgroundColor=b,a},setTouchAction:function(a,b){return b=b||"none",a.style.msTouchAction=b,a.style["ms-touch-action"]=b,a.style["touch-action"]=b,a},setUserSelect:function(a,b){return b=b||"none",a.style["-webkit-touch-callout"]=b,a.style["-webkit-user-select"]=b,a.style["-khtml-user-select"]=b,a.style["-moz-user-select"]=b,a.style["-ms-user-select"]=b,a.style["user-select"]=b,a.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",a},addToDOM:function(a,b,c){var d;return void 0===c&&(c=!0),b&&("string"==typeof b?d=document.getElementById(b):"object"==typeof b&&1===b.nodeType&&(d=b)),d||(d=document.body),c&&d.style&&(d.style.overflow="hidden"),d.appendChild(a),a},removeFromDOM:function(a){a.parentNode&&a.parentNode.removeChild(a)},setTransform:function(a,b,c,d,e,f,g){return a.setTransform(d,f,g,e,b,c),a},setSmoothingEnabled:function(a,b){var d=c.Canvas.getSmoothingPrefix(a);return d&&(a[d]=b),a},getSmoothingPrefix:function(a){var b=["i","webkitI","msI","mozI","oI"];for(var c in b){var d=b[c]+"mageSmoothingEnabled";if(d in a)return d}return null},getSmoothingEnabled:function(a){var b=c.Canvas.getSmoothingPrefix(a);return b?a[b]:void 0},setImageRenderingCrisp:function(a){for(var b=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],c=0;ca},fuzzyGreaterThan:function(a,b,c){return void 0===c&&(c=1e-4),a>b-c},fuzzyCeil:function(a,b){return void 0===b&&(b=1e-4),Math.ceil(a-b)},fuzzyFloor:function(a,b){return void 0===b&&(b=1e-4),Math.floor(a+b)},average:function(){for(var a=0,b=arguments.length,c=0;b>c;c++)a+=+arguments[c];return a/b},shear:function(a){return a%1},snapTo:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.round(a/b),c+a)},snapToFloor:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.floor(a/b),c+a)},snapToCeil:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.ceil(a/b),c+a)},roundTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.round(a*d)/d},floorTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.floor(a*d)/d},ceilTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.ceil(a*d)/d},angleBetween:function(a,b,c,d){return Math.atan2(d-b,c-a)},angleBetweenY:function(a,b,c,d){return Math.atan2(c-a,d-b)},angleBetweenPoints:function(a,b){return Math.atan2(b.y-a.y,b.x-a.x)},angleBetweenPointsY:function(a,b){return Math.atan2(b.x-a.x,b.y-a.y)},reverseAngle:function(a){return this.normalizeAngle(a+Math.PI,!0)},normalizeAngle:function(a){return a%=2*Math.PI,a>=0?a:a+2*Math.PI},maxAdd:function(a,b,c){return Math.min(a+b,c)},minSub:function(a,b,c){return Math.max(a-b,c)},wrap:function(a,b,c){var d=c-b;if(0>=d)return 0;var e=(a-b)%d;return 0>e&&(e+=d),e+b},wrapValue:function(a,b,c){var d;return a=Math.abs(a),b=Math.abs(b),c=Math.abs(c),d=(a+b)%c},isOdd:function(a){return!!(1&a)},isEven:function(a){return!(1&a)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])var a=arguments[0];else var a=arguments;for(var b=1,c=0,d=a.length;d>b;b++)a[b]b;b++)a[b]>a[c]&&(c=b);return a[c]},minProperty:function(a){if(2===arguments.length&&"object"==typeof arguments[1])var b=arguments[1];else var b=arguments.slice(1);for(var c=1,d=0,e=b.length;e>c;c++)b[c][a]c;c++)b[c][a]>b[d][a]&&(d=c);return b[d][a]},wrapAngle:function(a,b){return b?this.wrap(a,-Math.PI,Math.PI):this.wrap(a,-180,180)},linearInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return 0>b?this.linear(a[0],a[1],d):b>1?this.linear(a[c],a[c-1],c-d):this.linear(a[e],a[e+1>c?c:e+1],d-e)},bezierInterpolation:function(a,b){for(var c=0,d=a.length-1,e=0;d>=e;e++)c+=Math.pow(1-b,d-e)*Math.pow(b,e)*a[e]*this.bernstein(d,e);return c},catmullRomInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return a[0]===a[c]?(0>b&&(e=Math.floor(d=c*(1+b))),this.catmullRom(a[(e-1+c)%c],a[e],a[(e+1)%c],a[(e+2)%c],d-e)):0>b?a[0]-(this.catmullRom(a[0],a[0],a[1],a[1],-d)-a[0]):b>1?a[c]-(this.catmullRom(a[c],a[c],a[c-1],a[c-1],d-c)-a[c]):this.catmullRom(a[e?e-1:0],a[e],a[e+1>c?c:e+1],a[e+2>c?c:e+2],d-e)},linear:function(a,b,c){return(b-a)*c+a},bernstein:function(a,b){return this.factorial(a)/this.factorial(b)/this.factorial(a-b)},factorial:function(a){if(0===a)return 1;for(var b=a;--a;)b*=a;return b},catmullRom:function(a,b,c,d,e){var f=.5*(c-a),g=.5*(d-b),h=e*e,i=e*h;return(2*b-2*c+f+g)*i+(-3*b+3*c-2*f-g)*h+f*e+b},difference:function(a,b){return Math.abs(a-b)},roundAwayFromZero:function(a){return a>0?Math.ceil(a):Math.floor(a)},sinCosGenerator:function(a,b,c,d){void 0===b&&(b=1),void 0===c&&(c=1),void 0===d&&(d=1);for(var e=b,f=c,g=d*Math.PI/a,h=[],i=[],j=0;a>j;j++)f-=e*g,e+=f*g,h[j]=f,i[j]=e;return{sin:i,cos:h,length:a}},distance:function(a,b,c,d){var e=a-c,f=b-d;return Math.sqrt(e*e+f*f)},distanceSq:function(a,b,c,d){var e=a-c,f=b-d;return e*e+f*f},distancePow:function(a,b,c,d,e){return void 0===e&&(e=2),Math.sqrt(Math.pow(c-a,e)+Math.pow(d-b,e))},clamp:function(a,b,c){return b>a?b:a>c?c:a},clampBottom:function(a,b){return b>a?b:a},within:function(a,b,c){return Math.abs(a-b)<=c},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},smoothstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*(3-2*a)},smootherstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*a*(a*(6*a-15)+10)},sign:function(a){return 0>a?-1:a>0?1:0},percent:function(a,b,c){return void 0===c&&(c=0),a>b||c>b?1:c>a||c>a?0:(a-c)/b}};var k=Math.PI/180,l=180/Math.PI;return c.Math.degToRad=function(a){return a*k},c.Math.radToDeg=function(a){return a*l},c.RandomDataGenerator=function(a){void 0===a&&(a=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof a?this.state(a):this.sow(a)},c.RandomDataGenerator.prototype={rnd:function(){var a=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|a,this.s0=this.s1,this.s1=this.s2,this.s2=a-this.c,this.s2},sow:function(a){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,a)for(var b=0;b>>0,b-=d,b*=d,d=b>>>0,b-=d,d+=4294967296*b;return 2.3283064365386963e-10*(d>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(a,b){return Math.floor(this.realInRange(0,b-a+1)+a)},between:function(a,b){return this.integerInRange(a,b)},realInRange:function(a,b){return this.frac()*(b-a)+a},normal:function(){return 1-2*this.frac()},uuid:function(){var a="",b="";for(b=a="";a++<36;b+=~a%5|3*a&4?(15^a?8^this.frac()*(20^a?16:4):4).toString(16):"-");return b},pick:function(a){return a[this.integerInRange(0,a.length-1)]},weightedPick:function(a){return a[~~(Math.pow(this.frac(),2)*(a.length-1)+.5)]},timestamp:function(a,b){return this.realInRange(a||9466848e5,b||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(a){return"string"==typeof a&&a.match(/^!rnd/)&&(a=a.split(","),this.c=parseFloat(a[1]),this.s0=parseFloat(a[2]),this.s1=parseFloat(a[3]),this.s2=parseFloat(a[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},c.RandomDataGenerator.prototype.constructor=c.RandomDataGenerator,c.QuadTree=function(a,b,c,d,e,f,g){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(a,b,c,d,e,f,g)},c.QuadTree.prototype={reset:function(a,b,c,d,e,f,g){this.maxObjects=e||10,this.maxLevels=f||4,this.level=g||0,this.bounds={x:Math.round(a),y:Math.round(b),width:c,height:d,subWidth:Math.floor(c/2),subHeight:Math.floor(d/2),right:Math.round(a)+Math.floor(c/2),bottom:Math.round(b)+Math.floor(d/2)},this.objects.length=0,this.nodes.length=0},populate:function(a){a.forEach(this.populateHandler,this,!0)},populateHandler:function(a){a.body&&a.exists&&this.insert(a.body)},split:function(){this.nodes[0]=new c.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new c.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new c.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new c.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(a){var b,c=0;if(null!=this.nodes[0]&&(b=this.getIndex(a),-1!==b))return void this.nodes[b].insert(a);if(this.objects.push(a),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(b=2):a.x>this.bounds.right&&(a.ythis.bounds.bottom&&(b=3)),b},retrieve:function(a){if(a instanceof c.Rectangle)var b=this.objects,d=this.getIndex(a);else{if(!a.body)return this._empty;var b=this.objects,d=this.getIndex(a.body)}return this.nodes[0]&&(-1!==d?b=b.concat(this.nodes[d].retrieve(a)):(b=b.concat(this.nodes[0].retrieve(a)),b=b.concat(this.nodes[1].retrieve(a)),b=b.concat(this.nodes[2].retrieve(a)),b=b.concat(this.nodes[3].retrieve(a)))),b},clear:function(){this.objects.length=0;for(var a=this.nodes.length;a--;)this.nodes[a].clear(),this.nodes.splice(a,1);this.nodes.length=0}},c.QuadTree.prototype.constructor=c.QuadTree,c.Net=function(a){this.game=a},c.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(a){return-1!==window.location.hostname.indexOf(a)},updateQueryString:function(a,b,c,d){void 0===c&&(c=!1),(void 0===d||""===d)&&(d=window.location.href);var e="",f=new RegExp("([?|&])"+a+"=.*?(&|#|$)(.*)","gi");if(f.test(d))e="undefined"!=typeof b&&null!==b?d.replace(f,"$1"+a+"="+b+"$2$3"):d.replace(f,"$1$3").replace(/(&|\?)$/,"");else if("undefined"!=typeof b&&null!==b){var g=-1!==d.indexOf("?")?"&":"?",h=d.split("#");d=h[0]+g+a+"="+b,h[1]&&(d+="#"+h[1]),e=d}else e=d;return c?void(window.location.href=e):e},getQueryString:function(a){void 0===a&&(a="");var b={},c=location.search.substring(1).split("&");for(var d in c){var e=c[d].split("=");if(e.length>1){if(a&&a==this.decodeURI(e[0]))return this.decodeURI(e[1]);b[this.decodeURI(e[0])]=this.decodeURI(e[1])}}return b},decodeURI:function(a){return decodeURIComponent(a.replace(/\+/g," "))}},c.Net.prototype.constructor=c.Net,c.TweenManager=function(a){this.game=a,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:c.Easing.Power0,Power1:c.Easing.Power1,Power2:c.Easing.Power2,Power3:c.Easing.Power3,Power4:c.Easing.Power4,Linear:c.Easing.Linear.None,Quad:c.Easing.Quadratic.Out,Cubic:c.Easing.Cubic.Out,Quart:c.Easing.Quartic.Out,Quint:c.Easing.Quintic.Out,Sine:c.Easing.Sinusoidal.Out,Expo:c.Easing.Exponential.Out,Circ:c.Easing.Circular.Out,Elastic:c.Easing.Elastic.Out,Back:c.Easing.Back.Out,Bounce:c.Easing.Bounce.Out,"Quad.easeIn":c.Easing.Quadratic.In,"Cubic.easeIn":c.Easing.Cubic.In,"Quart.easeIn":c.Easing.Quartic.In,"Quint.easeIn":c.Easing.Quintic.In,"Sine.easeIn":c.Easing.Sinusoidal.In,"Expo.easeIn":c.Easing.Exponential.In,"Circ.easeIn":c.Easing.Circular.In,"Elastic.easeIn":c.Easing.Elastic.In,"Back.easeIn":c.Easing.Back.In,"Bounce.easeIn":c.Easing.Bounce.In,"Quad.easeOut":c.Easing.Quadratic.Out,"Cubic.easeOut":c.Easing.Cubic.Out,"Quart.easeOut":c.Easing.Quartic.Out,"Quint.easeOut":c.Easing.Quintic.Out,"Sine.easeOut":c.Easing.Sinusoidal.Out,"Expo.easeOut":c.Easing.Exponential.Out,"Circ.easeOut":c.Easing.Circular.Out,"Elastic.easeOut":c.Easing.Elastic.Out,"Back.easeOut":c.Easing.Back.Out,"Bounce.easeOut":c.Easing.Bounce.Out,"Quad.easeInOut":c.Easing.Quadratic.InOut,"Cubic.easeInOut":c.Easing.Cubic.InOut,"Quart.easeInOut":c.Easing.Quartic.InOut,"Quint.easeInOut":c.Easing.Quintic.InOut,"Sine.easeInOut":c.Easing.Sinusoidal.InOut,"Expo.easeInOut":c.Easing.Exponential.InOut,"Circ.easeInOut":c.Easing.Circular.InOut,"Elastic.easeInOut":c.Easing.Elastic.InOut,"Back.easeInOut":c.Easing.Back.InOut,"Bounce.easeInOut":c.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},c.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var a=0;ad;d++)this.removeFrom(a[d]);else if(a.type===c.GROUP&&b)for(var d=0,e=a.children.length;e>d;d++)this.removeFrom(a.children[d]);else{for(d=0,e=this._tweens.length;e>d;d++)a===this._tweens[d].target&&this.remove(this._tweens[d]);for(d=0,e=this._add.length;e>d;d++)a===this._add[d].target&&this.remove(this._add[d])}},add:function(a){a._manager=this,this._add.push(a)},create:function(a){return new c.Tween(a,this.game,this)},remove:function(a){var b=this._tweens.indexOf(a);-1!==b?this._tweens[b].pendingDelete=!0:(b=this._add.indexOf(a),-1!==b&&(this._add[b].pendingDelete=!0))},update:function(){var a=this._add.length,b=this._tweens.length;if(0===b&&0===a)return!1;for(var c=0;b>c;)this._tweens[c].update(this.game.time.time)?c++:(this._tweens.splice(c,1),b--);return a>0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(a){return this._tweens.some(function(b){return b.target===a})},_pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._pause()},_resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._resume()},pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].pause()},resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].resume(!0)}},c.TweenManager.prototype.constructor=c.TweenManager,c.Tween=function(a,b,d){this.game=b,this.target=a,this.manager=d,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new c.Signal,this.onLoop=new c.Signal,this.onRepeat=new c.Signal,this.onChildComplete=new c.Signal,this.onComplete=new c.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=d.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},c.Tween.prototype={to:function(a,b,d,e,f,g,h){return(void 0===b||0>=b)&&(b=1e3),(void 0===d||null===d)&&(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).to(a,b,d,f,g,h)),e&&this.start(),this)},from:function(a,b,d,e,f,g,h){return void 0===b&&(b=1e3),(void 0===d||null===d)&&(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).from(a,b,d,f,g,h)),e&&this.start(),this)},start:function(a){if(void 0===a&&(a=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(var b=0;ba||a>this.timeline.length-1)&&(a=0),this.current=a,this.timeline[this.current].start(),this},stop:function(a){return void 0===a&&(a=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,a&&(this.onComplete.dispatch(this.target,this),this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(a,b,c){if(0===this.timeline.length)return this;if(void 0===c&&(c=0),-1===c)for(var d=0;d0?arguments[a-1].chainedTween=arguments[a]:this.chainedTween=arguments[a];return this},loop:function(a){return void 0===a&&(a=!0),a?this.repeatAll(-1):this.repeatCounter=0,this},onUpdateCallback:function(a,b){return this._onUpdateCallback=a,this._onUpdateCallbackContext=b,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var a=0;a0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(a,b){if(null===this.game||null===this.target)return null;void 0===a&&(a=60),void 0===b&&(b=[]);for(var c=0;c0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a],this.parent.target[a]=this.vStart[a];return this.value=0,this.yoyoCounter=0,this},loadValues:function(){for(var a in this.parent.properties){if(this.vStart[a]=this.parent.properties[a],Array.isArray(this.vEnd[a])){if(0===this.vEnd[a].length)continue;0===this.percent&&(this.vEnd[a]=[this.vStart[a]].concat(this.vEnd[a]))}"undefined"!=typeof this.vEnd[a]?("string"==typeof this.vEnd[a]&&(this.vEnd[a]=this.vStart[a]+parseFloat(this.vEnd[a],10)),this.parent.properties[a]=this.vEnd[a]):this.vEnd[a]=this.vStart[a],this.vStartCache[a]=this.vStart[a],this.vEndCache[a]=this.vEnd[a]}return this},update:function(a){if(this.isRunning){if(a=this.startTime))return c.TweenData.PENDING;this.isRunning=!0}var b=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=b*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=b*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var d in this.vEnd){var e=this.vStart[d],f=this.vEnd[d];Array.isArray(f)?this.parent.target[d]=this.interpolationFunction.call(this.interpolationContext,f,this.value):this.parent.target[d]=e+(f-e)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():c.TweenData.RUNNING},generateData:function(a){this.parent.reverse?this.dt=this.duration:this.dt=0;var b=[],c=!1,d=1/a*1e3;do{this.parent.reverse?(this.dt-=d,this.dt=Math.max(this.dt,0)):(this.dt+=d,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var e={};for(var f in this.vEnd){var g=this.vStart[f],h=this.vEnd[f];Array.isArray(h)?e[f]=this.interpolationFunction(h,this.value):e[f]=g+(h-g)*this.value}b.push(e),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(c=!0)}while(!c);if(this.yoyo){var i=b.slice();i.reverse(),b=b.concat(i)}return b},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter)return c.TweenData.COMPLETE;this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return c.TweenData.COMPLETE;if(this.inReverse)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a];else{for(var a in this.vStartCache)this.vStart[a]=this.vStartCache[a],this.vEnd[a]=this.vEndCache[a];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,c.TweenData.LOOPED}},c.TweenData.prototype.constructor=c.TweenData,c.Easing={Linear:{None:function(a){return a}},Quadratic:{In:function(a){return a*a},Out:function(a){return a*(2-a)},InOut:function(a){return(a*=2)<1?.5*a*a:-.5*(--a*(a-2)-1)}},Cubic:{In:function(a){return a*a*a},Out:function(a){return--a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a:.5*((a-=2)*a*a+2)}},Quartic:{In:function(a){return a*a*a*a},Out:function(a){return 1- --a*a*a*a},InOut:function(a){return(a*=2)<1?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2)}},Quintic:{In:function(a){return a*a*a*a*a},Out:function(a){return--a*a*a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)}},Sinusoidal:{In:function(a){return 0===a?0:1===a?1:1-Math.cos(a*Math.PI/2)},Out:function(a){return 0===a?0:1===a?1:Math.sin(a*Math.PI/2)},InOut:function(a){return 0===a?0:1===a?1:.5*(1-Math.cos(Math.PI*a))}},Exponential:{In:function(a){return 0===a?0:Math.pow(1024,a-1)},Out:function(a){return 1===a?1:1-Math.pow(2,-10*a)},InOut:function(a){return 0===a?0:1===a?1:(a*=2)<1?.5*Math.pow(1024,a-1):.5*(-Math.pow(2,-10*(a-1))+2)}},Circular:{In:function(a){return 1-Math.sqrt(1-a*a)},Out:function(a){return Math.sqrt(1- --a*a)},InOut:function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)}},Elastic:{In:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),-(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)))},Out:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),c*Math.pow(2,-10*a)*Math.sin((a-b)*(2*Math.PI)/d)+1)},InOut:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),(a*=2)<1?-.5*(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)):c*Math.pow(2,-10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)*.5+1)}},Back:{In:function(a){var b=1.70158;return a*a*((b+1)*a-b)},Out:function(a){var b=1.70158;return--a*a*((b+1)*a+b)+1},InOut:function(a){var b=2.5949095;return(a*=2)<1?.5*(a*a*((b+1)*a-b)):.5*((a-=2)*a*((b+1)*a+b)+2)}},Bounce:{In:function(a){return 1-c.Easing.Bounce.Out(1-a)},Out:function(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},InOut:function(a){return.5>a?.5*c.Easing.Bounce.In(2*a):.5*c.Easing.Bounce.Out(2*a-1)+.5}}},c.Easing.Default=c.Easing.Linear.None,c.Easing.Power0=c.Easing.Linear.None,c.Easing.Power1=c.Easing.Quadratic.Out,c.Easing.Power2=c.Easing.Cubic.Out,c.Easing.Power3=c.Easing.Quartic.Out,c.Easing.Power4=c.Easing.Quintic.Out,c.Time=function(a){this.game=a,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new c.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},c.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(a){return this._timers.push(a),a},create:function(a){void 0===a&&(a=!0);var b=new c.Timer(this.game,a);return this._timers.push(b),b},removeAll:function(){for(var a=0;aa;)this._timers[a].update(this.time)?a++:(this._timers.splice(a,1),b--)},updateAdvancedTiming:function(){this._frameCount++,this._elapsedAccumulator+=this.elapsed,this._frameCount>=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var a=this._timers.length;a--;)this._timers[a]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var a=this._timers.length;a--;)this._timers[a]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(a){return this.time-a},elapsedSecondsSince:function(a){return.001*(this.time-a)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(c.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(a){this._desiredFps=a,this.physicsElapsed=1/a,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/a}}),c.Time.prototype.constructor=c.Time,c.Timer=function(a,b){void 0===b&&(b=!0),this.game=a,this.running=!1,this.autoDestroy=b,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new c.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},c.Timer.MINUTE=6e4,c.Timer.SECOND=1e3,c.Timer.HALF=500,c.Timer.QUARTER=250,c.Timer.prototype={create:function(a,b,d,e,f,g){a=Math.round(a);var h=a;h+=0===this._now?this.game.time.time:this._now;var i=new c.TimerEvent(this,a,h,d,b,e,f,g);return this.events.push(i),this.order(),this.expired=!1,i},add:function(a,b,c){return this.create(a,!1,0,b,c,Array.prototype.slice.call(arguments,3))},repeat:function(a,b,c,d){return this.create(a,!1,b,c,d,Array.prototype.slice.call(arguments,4))},loop:function(a,b,c){return this.create(a,!0,0,b,c,Array.prototype.slice.call(arguments,3))},start:function(a){if(!this.running){this._started=this.game.time.time+(a||0),this.running=!0;for(var b=0;b0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(a,b){return a.tickb.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(a){if(this.paused)return!0;if(this.elapsed=a-this._now,this._now=a,this.elapsed>this.timeCap&&this.adjustEvents(a-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=this.events[this._i].tick&&!this.events[this._i].pendingDelete;)this._newTick=this._now+this.events[this._i].delay-(this._now-this.events[this._i].tick),this._newTick<0&&(this._newTick=this._now+this.events[this._i].delay),this.events[this._i].loop===!0?(this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):this.events[this._i].repeatCount>0?(this.events[this._i].repeatCount--,this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):(this._marked++,this.events[this._i].pendingDelete=!0,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)),this._i++;this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return this.expired&&this.autoDestroy?!1:!0},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(a){for(var b=0;bc&&(c=0),this.events[b].tick=this._now+c}var d=this.nextTick-a;0>d?this.nextTick=this._now:this.nextTick=this._now+d},resume:function(){if(this.paused){var a=this.game.time.time;this._pauseTotal+=a-this._now,this._now=a,this.adjustEvents(this._pauseStarted),this.paused=!1,this._codePaused=!1}},_resume:function(){this._codePaused||this.resume()},removeAll:function(){this.onComplete.removeAll(),this.events.length=0,this._len=0,this._i=0},destroy:function(){this.onComplete.removeAll(),this.running=!1,this.events=[],this._len=0,this._i=0}},Object.defineProperty(c.Timer.prototype,"next",{get:function(){return this.nextTick}}),Object.defineProperty(c.Timer.prototype,"duration",{get:function(){return this.running&&this.nextTick>this._now?this.nextTick-this._now:0}}),Object.defineProperty(c.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(c.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(c.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),c.Timer.prototype.constructor=c.Timer,c.TimerEvent=function(a,b,c,d,e,f,g,h){this.timer=a,this.delay=b,this.tick=c,this.repeatCount=d-1,this.loop=e,this.callback=f,this.callbackContext=g,this.args=h,this.pendingDelete=!1},c.TimerEvent.prototype.constructor=c.TimerEvent,c.AnimationManager=function(a){this.sprite=a,this.game=a.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},c.AnimationManager.prototype={loadFrameData:function(a,b){if(void 0===a)return!1;if(this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(a);return this._frameData=a,void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},copyFrameData:function(a,b){if(this._frameData=a.clone(),this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(this._frameData);return void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},add:function(a,b,d,e,f){return b=b||[],d=d||60,void 0===e&&(e=!1),void 0===f&&(f=b&&"number"==typeof b[0]?!0:!1),this._outputFrames=[],this._frameData.getFrameIndexes(b,f,this._outputFrames),this._anims[a]=new c.Animation(this.game,this.sprite,a,this._frameData,this._outputFrames,d,e),this.currentAnim=this._anims[a],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[a]},validateFrames:function(a,b){void 0===b&&(b=!0);for(var c=0;cthis._frameData.total)return!1}else if(this._frameData.checkFrameName(a[c])===!1)return!1;return!0},play:function(a,b,c,d){return this._anims[a]?this.currentAnim===this._anims[a]?this.currentAnim.isPlaying===!1?(this.currentAnim.paused=!1,this.currentAnim.play(b,c,d)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[a],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(b,c,d)):void 0},stop:function(a,b){void 0===b&&(b=!1),"string"==typeof a?this._anims[a]&&(this.currentAnim=this._anims[a],this.currentAnim.stop(b)):this.currentAnim&&this.currentAnim.stop(b)},update:function(){return this.updateIfVisible&&!this.sprite.visible?!1:this.currentAnim&&this.currentAnim.update()?(this.currentFrame=this.currentAnim.currentFrame,!0):!1},next:function(a){this.currentAnim&&(this.currentAnim.next(a),this.currentFrame=this.currentAnim.currentFrame)},previous:function(a){this.currentAnim&&(this.currentAnim.previous(a),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(a){return"string"==typeof a&&this._anims[a]?this._anims[a]:null},refreshFrame:function(){this.sprite.setTexture(PIXI.TextureCache[this.currentFrame.uuid])},destroy:function(){var a=null;for(var a in this._anims)this._anims.hasOwnProperty(a)&&this._anims[a].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},c.AnimationManager.prototype.constructor=c.AnimationManager,Object.defineProperty(c.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(c.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(c.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(a){this.currentAnim.paused=a}}),Object.defineProperty(c.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(c.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(a){"number"==typeof a&&this._frameData&&null!==this._frameData.getFrame(a)&&(this.currentFrame=this._frameData.getFrame(a),this.currentFrame&&this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(c.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(a){"string"==typeof a&&this._frameData&&null!==this._frameData.getFrameByName(a)?(this.currentFrame=this._frameData.getFrameByName(a),this.currentFrame&&(this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame))):console.warn("Cannot set frameName: "+a)}}),c.Animation=function(a,b,d,e,f,g,h){void 0===h&&(h=!1),this.game=a,this._parent=b,this._frameData=e,this.name=d,this._frames=[],this._frames=this._frames.concat(f),this.delay=1e3/g,this.loop=h,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new c.Signal,this.onUpdate=null,this.onComplete=new c.Signal,this.onLoop=new c.Signal,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},c.Animation.prototype={play:function(a,b,c){return"number"==typeof a&&(this.delay=1e3/a),"boolean"==typeof b&&(this.loop=b),"undefined"!=typeof c&&(this.killOnComplete=c),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},setFrame:function(a,b){var c;if(void 0===b&&(b=!1),"string"==typeof a)for(var d=0;d=this._timeNextFrame?(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this._frameIndex+=this._frameSkip,this._frameIndex>=this._frames.length?this.loop?(this._frameIndex%=this._frames.length,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),this.onUpdate?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0):(this.complete(),!1):this.updateCurrentFrame(!0)):!1},updateCurrentFrame:function(a,b){if(void 0===b&&(b=!1),!this._frameData)return!1;var c=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(b||!b&&c!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),this.onUpdate&&a?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0},next:function(a){void 0===a&&(a=1);var b=this._frameIndex+a;b>=this._frames.length&&(this.loop?b%=this._frames.length:b=this._frames.length-1),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},previous:function(a){void 0===a&&(a=1);var b=this._frameIndex-a;0>b&&(this.loop?b=this._frames.length+b:b++),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},updateFrameData:function(a){this._frameData=a,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},c.Animation.prototype.constructor=c.Animation,Object.defineProperty(c.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(a){this.isPaused=a,a?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(c.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(c.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(a){this.currentFrame=this._frameData.getFrame(this._frames[a]),null!==this.currentFrame&&(this._frameIndex=a,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(c.Animation.prototype,"speed",{get:function(){return Math.round(1e3/this.delay)},set:function(a){a>=1&&(this.delay=1e3/a)}}),Object.defineProperty(c.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(a){a&&null===this.onUpdate?this.onUpdate=new c.Signal:a||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),c.Animation.generateFrameNames=function(a,b,d,e,f){void 0===e&&(e="");var g=[],h="";if(d>b)for(var i=b;d>=i;i++)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);else for(var i=b;i>=d;i--)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);return g},c.Frame=function(a,b,d,e,f,g){this.index=a,this.x=b,this.y=d,this.width=e,this.height=f,this.name=g,this.centerX=Math.floor(e/2),this.centerY=Math.floor(f/2),this.distance=c.Math.distance(0,0,e,f),this.rotated=!1,this.rotationDirection="cw",this.trimmed=!1,this.sourceSizeW=e,this.sourceSizeH=f,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},c.Frame.prototype={resize:function(a,b){this.width=a,this.height=b,this.centerX=Math.floor(a/2),this.centerY=Math.floor(b/2),this.distance=c.Math.distance(0,0,a,b),this.sourceSizeW=a,this.sourceSizeH=b,this.right=this.x+a,this.bottom=this.y+b},setTrim:function(a,b,c,d,e,f,g){this.trimmed=a,a&&(this.sourceSizeW=b,this.sourceSizeH=c,this.centerX=Math.floor(b/2),this.centerY=Math.floor(c/2),this.spriteSourceSizeX=d,this.spriteSourceSizeY=e,this.spriteSourceSizeW=f,this.spriteSourceSizeH=g)},clone:function(){var a=new c.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var b in this)this.hasOwnProperty(b)&&(a[b]=this[b]);return a},getRect:function(a){return void 0===a?a=new c.Rectangle(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a}},c.Frame.prototype.constructor=c.Frame,c.FrameData=function(){this._frames=[],this._frameNames=[]},c.FrameData.prototype={addFrame:function(a){return a.index=this._frames.length,this._frames.push(a),""!==a.name&&(this._frameNames[a.name]=a.index),a},getFrame:function(a){return a>=this._frames.length&&(a=0),this._frames[a]},getFrameByName:function(a){return"number"==typeof this._frameNames[a]?this._frames[this._frameNames[a]]:null},checkFrameName:function(a){return null==this._frameNames[a]?!1:!0},clone:function(){for(var a=new c.FrameData,b=0;b=d;d++)c.push(this._frames[d]);return c},getFrames:function(a,b,c){if(void 0===b&&(b=!0),void 0===c&&(c=[]),void 0===a||0===a.length)for(var d=0;d=d&&(d=Math.floor(-j/Math.min(-1,d))),0>=e&&(e=Math.floor(-k/Math.min(-1,e)));var l=Math.floor((j-g)/(d+h)),m=Math.floor((k-g)/(e+h)),n=l*m;if(-1!==f&&(n=f),0===j||0===k||d>j||e>k||0===n)return console.warn("Phaser.AnimationParser.spriteSheet: '"+b+"'s width/height zero or width/height < given frameWidth/frameHeight"),null;for(var o=new c.FrameData,p=g,q=g,r=0;n>r;r++)o.addFrame(new c.Frame(r,p,q,d,e,"")),p+=d+h,p+d>j&&(p=g,q+=e+h);return o},JSONData:function(a,b){if(!b.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(b);for(var d,e=new c.FrameData,f=b.frames,g=0;g tag");for(var d,e,f,g,h,i,j,k,l,m,n,o=new c.FrameData,p=b.getElementsByTagName("SubTexture"),q=0;q-1},getAssetIndex:function(a,b){for(var c=-1,d=0;d-1?{index:c,file:this._fileList[c]}:!1},reset:function(a,b){void 0===b&&(b=!1),this.resetLocked||(a&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,b&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(a,b,c,d,e,f){if(void 0===e&&(e=!1),void 0===b||""===b)return console.warn("Phaser.Loader: Invalid or no key given of type "+a),this;if(void 0===c||null===c){if(!f)return console.warn("Phaser.Loader: No URL given for file type: "+a+" key: "+b),this;c=b+f}var g={type:a,key:b,path:this.path,url:c,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(d)for(var h in d)g[h]=d[h];var i=this.getAssetIndex(a,b);if(e&&i>-1){var j=this._fileList[i];j.loading||j.loaded?(this._fileList.push(g),this._totalFileCount++):this._fileList[i]=g}else-1===i&&(this._fileList.push(g),this._totalFileCount++);return this},replaceInFileList:function(a,b,c,d){return this.addToFileList(a,b,c,d,!0)},pack:function(a,b,c,d){if(void 0===b&&(b=null),void 0===c&&(c=null),void 0===d&&(d=null),!b&&!c)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var e={type:"packfile",key:a,url:b,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:d};c&&("string"==typeof c&&(c=JSON.parse(c)),e.data=c||{},e.loaded=!0);for(var f=0;f=e||d&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var f=this;setTimeout(function(){f.finishedLoading(!0)},2e3)}},finishedLoading:function(a){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,a||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.onLoadComplete.dispatch(),this.reset(),this.game.state.loadComplete())},asyncComplete:function(a,b){void 0===b&&(b=""),a.loaded=!0,a.error=!!b,b&&(a.errorMessage=b,console.warn("Phaser.Loader - "+a.type+"["+a.key+"]: "+b)),this.processLoadQueue()},processPack:function(a){var b=a.data[a.key];if(!b)return void console.warn("Phaser.Loader - "+a.key+": pack has data, but not for pack key");for(var d=0;d=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var f=new window.XDomainRequest;f.open("GET",b,!0),f.responseType=c,f.timeout=3e3,e=e||this.fileError;var g=this;f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.ontimeout=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.onprogress=function(){},f.onload=function(){try{return d.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,setTimeout(function(){f.send()},0)},getVideoURL:function(a){for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayVideo(c))return a[b]}return null},getAudioURL:function(a){if(this.game.sound.noAudio)return null;for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayAudio(c))return a[b]}return null},fileError:function(a,b,c){var d=a.requestUrl||this.transformUrl(a.url,a),e="error loading asset from URL "+d;!c&&b&&(c=b.status),c&&(e=e+" ("+c+")"),this.asyncComplete(a,e)},fileComplete:function(a,b){var d=!0;switch(a.type){case"packfile":var e=JSON.parse(b.responseText);a.data=e||{};break;case"image":this.cache.addImage(a.key,a.url,a.data);break;case"spritesheet":this.cache.addSpriteSheet(a.key,a.url,a.data,a.frameWidth,a.frameHeight,a.frameMax,a.margin,a.spacing);break;case"textureatlas":if(null==a.atlasURL)this.cache.addTextureAtlas(a.key,a.url,a.data,a.atlasData,a.format);else if(d=!1,a.format==c.Loader.TEXTURE_ATLAS_JSON_ARRAY||a.format==c.Loader.TEXTURE_ATLAS_JSON_HASH||a.format==c.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.jsonLoadComplete);else{if(a.format!=c.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+a.format);this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.xmlLoadComplete)}break;case"bitmapfont":a.atlasURL?(d=!1,this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",function(a,b){var c;try{c=JSON.parse(b.responseText)}catch(d){}c?(a.atlasType="json",this.jsonLoadComplete(a,b)):(a.atlasType="xml",this.xmlLoadComplete(a,b))})):this.cache.addBitmapFont(a.key,a.url,a.data,a.atlasData,a.atlasType,a.xSpacing,a.ySpacing);break;case"video":if(a.asBlob)try{a.data=new Blob([new Uint8Array(b.response)])}catch(f){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+a.key)}this.cache.addVideo(a.key,a.url,a.data,a.asBlob);break;case"audio":this.game.sound.usingWebAudio?(a.data=b.response,this.cache.addSound(a.key,a.url,a.data,!0,!1),a.autoDecode&&this.game.sound.decode(a.key)):this.cache.addSound(a.key,a.url,a.data,!1,!0);break;case"text":a.data=b.responseText,this.cache.addText(a.key,a.url,a.data);break;case"shader":a.data=b.responseText,this.cache.addShader(a.key,a.url,a.data);break;case"physics": -var e=JSON.parse(b.responseText);this.cache.addPhysicsData(a.key,a.url,e,a.format);break;case"script":a.data=document.createElement("script"),a.data.language="javascript",a.data.type="text/javascript",a.data.defer=!1,a.data.text=b.responseText,document.head.appendChild(a.data),a.callback&&(a.data=a.callback.call(a.callbackContext,a.key,b.responseText));break;case"binary":a.callback?a.data=a.callback.call(a.callbackContext,a.key,b.response):a.data=b.response,this.cache.addBinary(a.key,a.data)}d&&this.asyncComplete(a)},jsonLoadComplete:function(a,b){var c=JSON.parse(b.responseText);"tilemap"===a.type?this.cache.addTilemap(a.key,a.url,c,a.format):"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,c,a.atlasType,a.xSpacing,a.ySpacing):"json"===a.type?this.cache.addJSON(a.key,a.url,c):this.cache.addTextureAtlas(a.key,a.url,a.data,c,a.format),this.asyncComplete(a)},csvLoadComplete:function(a,b){var c=b.responseText;this.cache.addTilemap(a.key,a.url,c,a.format),this.asyncComplete(a)},xmlLoadComplete:function(a,b){var c=b.responseText,d=this.parseXml(c);if(!d){var e=b.responseType||b.contentType;return console.warn("Phaser.Loader - "+a.key+": invalid XML ("+e+")"),void this.asyncComplete(a,"invalid XML")}"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,d,a.atlasType,a.xSpacing,a.ySpacing):"textureatlas"===a.type?this.cache.addTextureAtlas(a.key,a.url,a.data,d,a.format):"xml"===a.type&&this.cache.addXML(a.key,a.url,d),this.asyncComplete(a)},parseXml:function(a){var b;try{if(window.DOMParser){var c=new DOMParser;b=c.parseFromString(a,"text/xml")}else b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)}catch(d){b=null}return b&&b.documentElement&&!b.getElementsByTagName("parsererror").length?b:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(c.Loader.prototype,"progressFloat",{get:function(){var a=this._loadedFileCount/this._totalFileCount*100;return c.Math.clamp(a||0,0,100)}}),Object.defineProperty(c.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),c.Loader.prototype.constructor=c.Loader,c.LoaderParser={bitmapFont:function(a,b,c,d){return this.xmlBitmapFont(a,b,c,d)},xmlBitmapFont:function(a,b,c,d){var e={},f=a.getElementsByTagName("info")[0],g=a.getElementsByTagName("common")[0];e.font=f.getAttribute("face"),e.size=parseInt(f.getAttribute("size"),10),e.lineHeight=parseInt(g.getAttribute("lineHeight"),10)+d,e.chars={};for(var h=a.getElementsByTagName("char"),i=0;i=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop())))):void this.destroy()},loopFull:function(a){this.play(null,0,a,!0)},play:function(a,b,c,d,e){if((void 0===a||a===!1||null===a)&&(a=""),void 0===e&&(e=!0),this.isPlaying&&!this.allowMultiple&&!e&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||e))if(this.usingWebAudio)if(this.externalNode?this._sound.disconnect(this.externalNode):this._sound.disconnect(this.gainNode),void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(f){}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(""===a&&Object.keys(this.markers).length>0)return this;if(""!==a){if(this.currentMarker=a,!this.markers[a])return this;this.position=this.markers[a].start,this.volume=this.markers[a].volume,this.loop=this.markers[a].loop,this.duration=this.markers[a].duration,this.durationMS=this.markers[a].durationMS,"undefined"!=typeof c&&(this.volume=c),"undefined"!=typeof d&&(this.loop=d),this._tempMarker=a,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else b=b||0,void 0===c&&(c=this._volume),void 0===d&&(d=this.loop),this.position=b,this.volume=c,this.loop=d,this.duration=0,this.durationMS=0,this._tempMarker=a,this._tempPosition=b,this._tempVolume=c,this._tempLoop=d;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===a&&(this._sound.loop=!0),this.loop||""!==a||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===a?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).isDecoding===!1&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(a,b,c,d){a=a||"",b=b||0,c=c||1,void 0===d&&(d=!1),this.play(a,b,c,d,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var a=this.position+this.pausedPosition/1e3;this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var b=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,a,b):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,a):this._sound.start(0,a,b)}else this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio)if(this.externalNode?this._sound.disconnect(this.externalNode):this._sound.disconnect(this.gainNode),void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(a){}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);this.pendingPlayback=!1,this.isPlaying=!1;var b=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.paused||this.onStop.dispatch(this,b)},fadeIn:function(a,b,c){void 0===b&&(b=!1),void 0===c&&(c=this.currentMarker),this.paused||(this.play(c,0,0,b),this.fadeTo(a,1))},fadeOut:function(a){this.fadeTo(a,0)},fadeTo:function(a,b){if(this.isPlaying&&!this.paused&&b!==this.volume){if(void 0===a&&(a=1e3),void 0===b)return void console.warn("Phaser.Sound.fadeTo: No Volume Specified.");this.fadeTween=this.game.add.tween(this).to({volume:b},a,c.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)}},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},destroy:function(a){void 0===a&&(a=!0),this.stop(),a?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},c.Sound.prototype.constructor=c.Sound,Object.defineProperty(c.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(c.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(c.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(a){a=a||!1,a!==this._muted&&(a?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(c.Sound.prototype,"volume",{get:function(){return this._volume},set:function(a){return this.game.device.firefox&&this.usingAudioTag&&(a=this.game.math.clamp(a,0,1)),this._muted?void(this._muteVolume=a):(this._tempVolume=a,this._volume=a,void(this.usingWebAudio?this.gainNode.gain.value=a:this.usingAudioTag&&this._sound&&(this._sound.volume=a)))}}),c.SoundManager=function(a){this.game=a,this.onSoundDecode=new c.Signal,this.onVolumeChange=new c.Signal,this.onMute=new c.Signal,this.onUnMute=new c.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new c.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},c.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&this.game.device.webAudio===!1&&(this.channels=1),window.PhaserGlobal){if(window.PhaserGlobal.disableAudio===!0)return this.noAudio=!0,void(this.touchLocked=!1);if(window.PhaserGlobal.disableWebAudio===!0)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||(!this.game.device.cocoonJS&&this.game.device.iOS||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)&&this.setTouchLock()},setTouchLock:function(){this.game.device.iOSVersion>8?this.game.input.touch.addTouchLockCallback(this.unlock,this,!0):this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var a=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=a,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0)}return!0},stopAll:function(){if(!this.noAudio)for(var a=0;aa?a=0:a>1&&(a=1),this._volume!==a){if(this._volume=a,this.usingWebAudio)this.masterGain.gain.value=a;else for(var b=0;b=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var b=this._parentBounds.width,d=this._parentBounds.height,e=this.getParentBounds(this._parentBounds),f=e.width!==b||e.height!==d,g=this.updateOrientationState();(f||g)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,e),this.updateLayout(),this.signalSizeChange());var h=2*this._updateThrottle;this._updateThrottle=b||0>=c)return a;var e=b,f=a.height*b/a.width,g=a.width*c/a.height,h=c,i=g>b;return i=i?d:!d,i?(a.width=Math.floor(e),a.height=Math.floor(f)):(a.width=Math.floor(g),a.height=Math.floor(h)),a},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},c.ScaleManager.prototype.constructor=c.ScaleManager,Object.defineProperty(c.ScaleManager.prototype,"boundingParent",{get:function(){if(this.parentIsWindow||this.isFullScreen&&!this._createdFullScreenTarget)return null;var a=this.game.canvas&&this.game.canvas.parentNode;return a||null}}),Object.defineProperty(c.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(a){return a!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=a),this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(a){return a!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=a,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=a),this._fullScreenScaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(a){a!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(a){a!==this._pageAlignVertically&&(this._pageAlignVertically=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(c.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(c.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),c.Utils.Debug=function(a){this.game=a,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1},c.Utils.Debug.prototype={boot:function(){this.game.renderType===c.CANVAS?this.context=this.game.context:(this.bmd=this.game.make.bitmapData(this.game.width,this.game.height),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.canvas=PIXI.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d"))},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(a,b,c,d){"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),c=c||"rgb(255,255,255)",void 0===d&&(d=0),this.currentX=a,this.currentY=b,this.currentColor=c,this.columnWidth=d,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=c,this.context.fillStyle=c,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var a=this.currentX,b=0;b=0&&c.right>=0&&c.top<=this.layoutBounds.width&&c.left<=this.layoutBounds.height},getScreenOrientation:function(a){var b=window.screen,c=b.orientation||b.mozOrientation||b.msOrientation;if(c&&"string"==typeof c.type)return c.type;if("string"==typeof c)return c;var d="portrait-primary",e="landscape-primary";if("screen"===a)return b.height>b.width?d:e;if("viewport"===a)return this.visualBounds.height>this.visualBounds.width?d:e;if("window.orientation"===a&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?d:e;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return d;if(window.matchMedia("(orientation: landscape)").matches)return e}return this.visualBounds.height>this.visualBounds.width?d:e},visualBounds:new c.Rectangle,layoutBounds:new c.Rectangle,documentBounds:new c.Rectangle},c.Device.whenReady(function(a){var b=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},d=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};Object.defineProperty(c.DOM,"scrollX",{get:b}),Object.defineProperty(c.DOM,"scrollY",{get:d}),Object.defineProperty(c.DOM.visualBounds,"x",{get:b}),Object.defineProperty(c.DOM.visualBounds,"y",{get:d}),Object.defineProperty(c.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(c.DOM.layoutBounds,"y",{value:0});var e=a.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight;if(e){var f=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},g=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(c.DOM.visualBounds,"width",{get:f}),Object.defineProperty(c.DOM.visualBounds,"height",{get:g}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:f}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:g})}else Object.defineProperty(c.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(c.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:function(){var a=document.documentElement.clientWidth,b=window.innerWidth;return b>a?b:a}}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:function(){var a=document.documentElement.clientHeight,b=window.innerHeight;return b>a?b:a}});Object.defineProperty(c.DOM.documentBounds,"x",{value:0}),Object.defineProperty(c.DOM.documentBounds,"y",{value:0}),Object.defineProperty(c.DOM.documentBounds,"width",{get:function(){var a=document.documentElement;return Math.max(a.clientWidth,a.offsetWidth,a.scrollWidth)}}),Object.defineProperty(c.DOM.documentBounds,"height",{get:function(){var a=document.documentElement;return Math.max(a.clientHeight,a.offsetHeight,a.scrollHeight)}})},null,!0),c.ArraySet=function(a){this.position=0,this.list=a||[]},c.ArraySet.prototype={add:function(a){return this.exists(a)||this.list.push(a),a},getIndex:function(a){return this.list.indexOf(a)},getByKey:function(a,b){for(var c=this.list.length;c--;)if(this.list[c][a]===b)return this.list[c];return null},exists:function(a){return this.list.indexOf(a)>-1},reset:function(){this.list.length=0},remove:function(a){var b=this.list.indexOf(a);return b>-1?(this.list.splice(b,1),a):void 0},setAll:function(a,b){for(var c=this.list.length;c--;)this.list[c]&&(this.list[c][a]=b)},callAll:function(a){for(var b=Array.prototype.slice.call(arguments,1),c=this.list.length;c--;)this.list[c]&&this.list[c][a]&&this.list[c][a].apply(this.list[c],b)},removeAll:function(a){void 0===a&&(a=!1);for(var b=this.list.length;b--;)if(this.list[b]){var c=this.remove(this.list[b]);a&&c.destroy()}this.position=0,this.list=[]}},Object.defineProperty(c.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(c.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(c.ArraySet.prototype,"next",{get:function(){return this.position0;b--){var c=Math.floor(Math.random()*(b+1)),d=a[b];a[b]=a[c],a[c]=d}return a},transposeMatrix:function(a){for(var b=a.length,c=a[0].length,d=new Array(c),e=0;c>e;e++){d[e]=new Array(b);for(var f=b-1;f>-1;f--)d[e][f]=a[f][e]}return d},rotateMatrix:function(a,b){if("string"!=typeof b&&(b=(b%360+360)%360),90===b||-270===b||"rotateLeft"===b)a=c.ArrayUtils.transposeMatrix(a),a=a.reverse();else if(-90===b||270===b||"rotateRight"===b)a=a.reverse(),a=c.ArrayUtils.transposeMatrix(a);else if(180===Math.abs(b)||"rotate180"===b){for(var d=0;d=e-a?e:d},rotate:function(a){var b=a.shift();return a.push(b),b},numberArray:function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},numberArrayStep:function(a,b,d){(void 0===a||null===a)&&(a=0),(void 0===b||null===b)&&(b=a,a=0),void 0===d&&(d=1);for(var e=[],f=Math.max(c.Math.roundAwayFromZero((b-a)/(d||1)),0),g=0;f>g;g++)e.push(a),a+=d;return e}},c.LinkedList=function(){this.next=null,this.prev=null,this.first=null,this.last=null,this.total=0},c.LinkedList.prototype={add:function(a){return 0===this.total&&null===this.first&&null===this.last?(this.first=a,this.last=a,this.next=a,a.prev=this,this.total++,a):(this.last.next=a,a.prev=this.last,this.last=a,this.total++,a)},reset:function(){this.first=null,this.last=null,this.next=null,this.prev=null,this.total=0},remove:function(a){return 1===this.total?(this.reset(),void(a.next=a.prev=null)):(a===this.first?this.first=this.first.next:a===this.last&&(this.last=this.last.prev),a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),a.next=a.prev=null,null===this.first&&(this.last=null),void this.total--)},callAll:function(a){if(this.first&&this.last){var b=this.first;do b&&b[a]&&b[a].call(b),b=b.next;while(b!=this.last.next)}}},c.LinkedList.prototype.constructor=c.LinkedList,c.Create=function(a){this.game=a,this.bmd=null,this.canvas=null,this.ctx=null,this.palettes=[{0:"#000",1:"#9D9D9D",2:"#FFF",3:"#BE2633",4:"#E06F8B",5:"#493C2B",6:"#A46422",7:"#EB8931",8:"#F7E26B",9:"#2F484E",A:"#44891A",B:"#A3CE27",C:"#1B2632",D:"#005784",E:"#31A2F2",F:"#B2DCEF"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#f5f4eb"},{0:"#000",1:"#2234d1",2:"#0c7e45",3:"#44aacc",4:"#8a3622",5:"#5c2e78",6:"#aa5c3d",7:"#b5b5b5",8:"#5e606e",9:"#4c81fb",A:"#6cd947",B:"#7be2f9",C:"#eb8a60",D:"#e23d69",E:"#ffd93f",F:"#fff"},{0:"#000",1:"#fff",2:"#8b4131",3:"#7bbdc5",4:"#8b41ac",5:"#6aac41",6:"#3931a4",7:"#d5de73",8:"#945a20",9:"#5a4100",A:"#bd736a",B:"#525252",C:"#838383",D:"#acee8b",E:"#7b73de",F:"#acacac"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#fff"}]},c.Create.PALETTE_ARNE=0,c.Create.PALETTE_JMP=1,c.Create.PALETTE_CGA=2,c.Create.PALETTE_C64=3,c.Create.PALETTE_JAPANESE_MACHINE=4,c.Create.prototype={texture:function(a,b,c,d,e){void 0===c&&(c=8),void 0===d&&(d=c),void 0===e&&(e=0);var f=b[0].length*c,g=b.length*d;null===this.bmd&&(this.bmd=this.game.make.bitmapData(),this.canvas=this.bmd.canvas,this.ctx=this.bmd.context),this.bmd.resize(f,g),this.bmd.clear();for(var h=0;hg;g+=e)this.ctx.fillRect(0,g,b,1);for(var h=0;b>h;h+=d)this.ctx.fillRect(h,0,1,c);return this.bmd.generateTexture(a)}},c.Create.prototype.constructor=c.Create,c.FlexGrid=function(a,b,d){this.game=a.game,this.manager=a,this.width=b,this.height=d,this.boundsCustom=new c.Rectangle(0,0,b,d),this.boundsFluid=new c.Rectangle(0,0,b,d),this.boundsFull=new c.Rectangle(0,0,b,d),this.boundsNone=new c.Rectangle(0,0,b,d),this.positionCustom=new c.Point(0,0),this.positionFluid=new c.Point(0,0),this.positionFull=new c.Point(0,0),this.positionNone=new c.Point(0,0),this.scaleCustom=new c.Point(1,1),this.scaleFluid=new c.Point(1,1),this.scaleFluidInversed=new c.Point(1,1),this.scaleFull=new c.Point(1,1),this.scaleNone=new c.Point(1,1),this.customWidth=0,this.customHeight=0,this.customOffsetX=0,this.customOffsetY=0,this.ratioH=b/d,this.ratioV=d/b,this.multiplier=0,this.layers=[]},c.FlexGrid.prototype={setSize:function(a,b){this.width=a,this.height=b,this.ratioH=a/b,this.ratioV=b/a,this.scaleNone=new c.Point(1,1),this.boundsNone.width=this.width,this.boundsNone.height=this.height,this.refresh()},createCustomLayer:function(a,b,d,e){void 0===e&&(e=!0),this.customWidth=a,this.customHeight=b,this.boundsCustom.width=a,this.boundsCustom.height=b;var f=new c.FlexLayer(this,this.positionCustom,this.boundsCustom,this.scaleCustom);return e&&this.game.world.add(f),this.layers.push(f),"undefined"!=typeof d&&null!==typeof d&&f.addMultiple(d),f},createFluidLayer:function(a,b){void 0===b&&(b=!0);var d=new c.FlexLayer(this,this.positionFluid,this.boundsFluid,this.scaleFluid);return b&&this.game.world.add(d),this.layers.push(d),"undefined"!=typeof a&&null!==typeof a&&d.addMultiple(a),d},createFullLayer:function(a){var b=new c.FlexLayer(this,this.positionFull,this.boundsFull,this.scaleFluid);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},createFixedLayer:function(a){var b=new c.FlexLayer(this,this.positionNone,this.boundsNone,this.scaleNone);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},reset:function(){for(var a=this.layers.length;a--;)this.layers[a].persist||(this.layers[a].position=null,this.layers[a].scale=null,this.layers.slice(a,1))},onResize:function(a,b){this.ratioH=a/b,this.ratioV=b/a,this.refresh(a,b)},refresh:function(){this.multiplier=Math.min(this.manager.height/this.height,this.manager.width/this.width),this.boundsFluid.width=Math.round(this.width*this.multiplier),this.boundsFluid.height=Math.round(this.height*this.multiplier),this.scaleFluid.set(this.boundsFluid.width/this.width,this.boundsFluid.height/this.height),this.scaleFluidInversed.set(this.width/this.boundsFluid.width,this.height/this.boundsFluid.height),this.scaleFull.set(this.boundsFull.width/this.width,this.boundsFull.height/this.height),this.boundsFull.width=Math.round(this.manager.width*this.scaleFluidInversed.x),this.boundsFull.height=Math.round(this.manager.height*this.scaleFluidInversed.y),this.boundsFluid.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.boundsNone.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.positionFluid.set(this.boundsFluid.x,this.boundsFluid.y),this.positionNone.set(this.boundsNone.x,this.boundsNone.y)},fitSprite:function(a){this.manager.scaleSprite(a),a.x=this.manager.bounds.centerX,a.y=this.manager.bounds.centerY},debug:function(){this.game.debug.text(this.boundsFluid.width+" x "+this.boundsFluid.height,this.boundsFluid.x+4,this.boundsFluid.y+16),this.game.debug.geom(this.boundsFluid,"rgba(255,0,0,0.9",!1)}},c.FlexGrid.prototype.constructor=c.FlexGrid,c.FlexLayer=function(a,b,d,e){c.Group.call(this,a.game,null,"__flexLayer"+a.game.rnd.uuid(),!1),this.manager=a.manager,this.grid=a,this.persist=!1,this.position=b,this.bounds=d,this.scale=e,this.topLeft=d.topLeft,this.topMiddle=new c.Point(d.halfWidth,0),this.topRight=d.topRight,this.bottomLeft=d.bottomLeft,this.bottomMiddle=new c.Point(d.halfWidth,d.bottom),this.bottomRight=d.bottomRight},c.FlexLayer.prototype=Object.create(c.Group.prototype),c.FlexLayer.prototype.constructor=c.FlexLayer,c.FlexLayer.prototype.resize=function(){},c.FlexLayer.prototype.debug=function(){this.game.debug.text(this.bounds.width+" x "+this.bounds.height,this.bounds.x+4,this.bounds.y+16),this.game.debug.geom(this.bounds,"rgba(0,0,255,0.9",!1),this.game.debug.geom(this.topLeft,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topMiddle,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topRight,"rgba(255,255,255,0.9")},c.Color={packPixel:function(a,b,d,e){return c.Device.LITTLE_ENDIAN?(e<<24|d<<16|b<<8|a)>>>0:(a<<24|b<<16|d<<8|e)>>>0},unpackPixel:function(a,b,d,e){return(void 0===b||null===b)&&(b=c.Color.createColor()),(void 0===d||null===d)&&(d=!1),(void 0===e||null===e)&&(e=!1),c.Device.LITTLE_ENDIAN?(b.a=(4278190080&a)>>>24,b.b=(16711680&a)>>>16,b.g=(65280&a)>>>8,b.r=255&a):(b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a),b.color=a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a/255+")",d&&c.Color.RGBtoHSL(b.r,b.g,b.b,b),e&&c.Color.RGBtoHSV(b.r,b.g,b.b,b),b},fromRGBA:function(a,b){return b||(b=c.Color.createColor()),b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a+")", -b},toRGBA:function(a,b,c,d){return a<<24|b<<16|c<<8|d},RGBtoHSL:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,1)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d);if(e.h=0,e.s=0,e.l=(g+f)/2,g!==f){var h=g-f;e.s=e.l>.5?h/(2-g-f):h/(g+f),g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6}return e},HSLtoRGB:function(a,b,d,e){if(e?(e.r=d,e.g=d,e.b=d):e=c.Color.createColor(d,d,d),0!==b){var f=.5>d?d*(1+b):d+b-d*b,g=2*d-f;e.r=c.Color.hueToColor(g,f,a+1/3),e.g=c.Color.hueToColor(g,f,a),e.b=c.Color.hueToColor(g,f,a-1/3)}return e.r=Math.floor(255*e.r|0),e.g=Math.floor(255*e.g|0),e.b=Math.floor(255*e.b|0),c.Color.updateColor(e),e},RGBtoHSV:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,255)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d),h=g-f;return e.h=0,e.s=0===g?0:h/g,e.v=g,g!==f&&(g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6),e},HSVtoRGB:function(a,b,d,e){void 0===e&&(e=c.Color.createColor(0,0,0,1,a,b,0,d));var f,g,h,i=Math.floor(6*a),j=6*a-i,k=d*(1-b),l=d*(1-j*b),m=d*(1-(1-j)*b);switch(i%6){case 0:f=d,g=m,h=k;break;case 1:f=l,g=d,h=k;break;case 2:f=k,g=d,h=m;break;case 3:f=k,g=l,h=d;break;case 4:f=m,g=k,h=d;break;case 5:f=d,g=k,h=l}return e.r=Math.floor(255*f),e.g=Math.floor(255*g),e.b=Math.floor(255*h),c.Color.updateColor(e),e},hueToColor:function(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a},createColor:function(a,b,d,e,f,g,h,i){var j={r:a||0,g:b||0,b:d||0,a:e||1,h:f||0,s:g||0,l:h||0,v:i||0,color:0,color32:0,rgba:""};return c.Color.updateColor(j)},updateColor:function(a){return a.rgba="rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+a.a.toString()+")",a.color=c.Color.getColor(a.r,a.g,a.b),a.color32=c.Color.getColor32(a.a,a.r,a.g,a.b),a},getColor32:function(a,b,c,d){return a<<24|b<<16|c<<8|d},getColor:function(a,b,c){return a<<16|b<<8|c},RGBtoString:function(a,b,d,e,f){return void 0===e&&(e=255),void 0===f&&(f="#"),"#"===f?"#"+((1<<24)+(a<<16)+(b<<8)+d).toString(16).slice(1):"0x"+c.Color.componentToHex(e)+c.Color.componentToHex(a)+c.Color.componentToHex(b)+c.Color.componentToHex(d)},hexToRGB:function(a){var b=c.Color.hexToColor(a);return b?c.Color.getColor32(b.a,b.r,b.g,b.b):void 0},hexToColor:function(a,b){a=a.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,b,c,d){return b+b+c+c+d+d});var d=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);if(d){var e=parseInt(d[1],16),f=parseInt(d[2],16),g=parseInt(d[3],16);b?(b.r=e,b.g=f,b.b=g):b=c.Color.createColor(e,f,g)}return b},webToColor:function(a,b){b||(b=c.Color.createColor());var d=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(a);return d&&(b.r=parseInt(d[1],10),b.g=parseInt(d[2],10),b.b=parseInt(d[3],10),b.a=void 0!==d[4]?parseFloat(d[4]):1,c.Color.updateColor(b)),b},valueToColor:function(a,b){if(b||(b=c.Color.createColor()),"string"==typeof a)return 0===a.indexOf("rgb")?c.Color.webToColor(a,b):(b.a=1,c.Color.hexToColor(a,b));if("number"==typeof a){var d=c.Color.getRGB(a);return b.r=d.r,b.g=d.g,b.b=d.b,b.a=d.a/255,b}return b},componentToHex:function(a){var b=a.toString(16);return 1==b.length?"0"+b:b},HSVColorWheel:function(a,b){void 0===a&&(a=1),void 0===b&&(b=1);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSVtoRGB(e/359,a,b));return d},HSLColorWheel:function(a,b){void 0===a&&(a=.5),void 0===b&&(b=.5);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSLtoRGB(e/359,a,b));return d},interpolateColor:function(a,b,d,e,f){void 0===f&&(f=255);var g=c.Color.getRGB(a),h=c.Color.getRGB(b),i=(h.red-g.red)*e/d+g.red,j=(h.green-g.green)*e/d+g.green,k=(h.blue-g.blue)*e/d+g.blue;return c.Color.getColor32(f,i,j,k)},interpolateColorWithRGB:function(a,b,d,e,f,g){var h=c.Color.getRGB(a),i=(b-h.red)*g/f+h.red,j=(d-h.green)*g/f+h.green,k=(e-h.blue)*g/f+h.blue;return c.Color.getColor(i,j,k)},interpolateRGB:function(a,b,d,e,f,g,h,i){var j=(e-a)*i/h+a,k=(f-b)*i/h+b,l=(g-d)*i/h+d;return c.Color.getColor(j,k,l)},getRandomColor:function(a,b,d){if(void 0===a&&(a=0),void 0===b&&(b=255),void 0===d&&(d=255),b>255||a>b)return c.Color.getColor(255,255,255);var e=a+Math.round(Math.random()*(b-a)),f=a+Math.round(Math.random()*(b-a)),g=a+Math.round(Math.random()*(b-a));return c.Color.getColor32(d,e,f,g)},getRGB:function(a){return a>16777215?{alpha:a>>>24,red:a>>16&255,green:a>>8&255,blue:255&a,a:a>>>24,r:a>>16&255,g:a>>8&255,b:255&a}:{alpha:255,red:a>>16&255,green:a>>8&255,blue:255&a,a:255,r:a>>16&255,g:a>>8&255,b:255&a}},getWebRGB:function(a){if("object"==typeof a)return"rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+(a.a/255).toString()+")";var b=c.Color.getRGB(a);return"rgba("+b.r.toString()+","+b.g.toString()+","+b.b.toString()+","+(b.a/255).toString()+")"},getAlpha:function(a){return a>>>24},getAlphaFloat:function(a){return(a>>>24)/255},getRed:function(a){return a>>16&255},getGreen:function(a){return a>>8&255},getBlue:function(a){return 255&a},blendNormal:function(a){return a},blendLighten:function(a,b){return b>a?b:a},blendDarken:function(a,b){return b>a?a:b},blendMultiply:function(a,b){return a*b/255},blendAverage:function(a,b){return(a+b)/2},blendAdd:function(a,b){return Math.min(255,a+b)},blendSubtract:function(a,b){return Math.max(0,a+b-255)},blendDifference:function(a,b){return Math.abs(a-b)},blendNegation:function(a,b){return 255-Math.abs(255-a-b)},blendScreen:function(a,b){return 255-((255-a)*(255-b)>>8)},blendExclusion:function(a,b){return a+b-2*a*b/255},blendOverlay:function(a,b){return 128>b?2*a*b/255:255-2*(255-a)*(255-b)/255},blendSoftLight:function(a,b){return 128>b?2*((a>>1)+64)*(b/255):255-2*(255-((a>>1)+64))*(255-b)/255},blendHardLight:function(a,b){return c.Color.blendOverlay(b,a)},blendColorDodge:function(a,b){return 255===b?b:Math.min(255,(a<<8)/(255-b))},blendColorBurn:function(a,b){return 0===b?b:Math.max(0,255-(255-a<<8)/b)},blendLinearDodge:function(a,b){return c.Color.blendAdd(a,b)},blendLinearBurn:function(a,b){return c.Color.blendSubtract(a,b)},blendLinearLight:function(a,b){return 128>b?c.Color.blendLinearBurn(a,2*b):c.Color.blendLinearDodge(a,2*(b-128))},blendVividLight:function(a,b){return 128>b?c.Color.blendColorBurn(a,2*b):c.Color.blendColorDodge(a,2*(b-128))},blendPinLight:function(a,b){return 128>b?c.Color.blendDarken(a,2*b):c.Color.blendLighten(a,2*(b-128))},blendHardMix:function(a,b){return c.Color.blendVividLight(a,b)<128?0:255},blendReflect:function(a,b){return 255===b?b:Math.min(255,a*a/(255-b))},blendGlow:function(a,b){return c.Color.blendReflect(b,a)},blendPhoenix:function(a,b){return Math.min(a,b)-Math.max(a,b)+255}},c.Physics=function(a,b){b=b||{},this.game=a,this.config=b,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},c.Physics.ARCADE=0,c.Physics.P2JS=1,c.Physics.NINJA=2,c.Physics.BOX2D=3,c.Physics.CHIPMUNK=4,c.Physics.MATTERJS=5,c.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&this.config.arcade!==!0||!c.Physics.hasOwnProperty("Arcade")||(this.arcade=new c.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&this.config.ninja===!0&&c.Physics.hasOwnProperty("Ninja")&&(this.ninja=new c.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&this.config.p2===!0&&c.Physics.hasOwnProperty("P2")&&(this.p2=new c.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&this.config.box2d===!0&&c.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new c.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&this.config.matter===!0&&c.Physics.hasOwnProperty("Matter")&&(this.matter=new c.Physics.Matter(this.game,this.config))},startSystem:function(a){a===c.Physics.ARCADE?this.arcade=new c.Physics.Arcade(this.game):a===c.Physics.P2JS?null===this.p2?this.p2=new c.Physics.P2(this.game,this.config):this.p2.reset():a===c.Physics.NINJA?this.ninja=new c.Physics.Ninja(this.game):a===c.Physics.BOX2D?null===this.box2d?this.box2d=new c.Physics.Box2D(this.game,this.config):this.box2d.reset():a===c.Physics.MATTERJS&&(null===this.matter?this.matter=new c.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(a,b,d){void 0===b&&(b=c.Physics.ARCADE),void 0===d&&(d=!1),b===c.Physics.ARCADE?this.arcade.enable(a):b===c.Physics.P2JS&&this.p2?this.p2.enable(a,d):b===c.Physics.NINJA&&this.ninja?this.ninja.enableAABB(a):b===c.Physics.BOX2D&&this.box2d?this.box2d.enable(a):b===c.Physics.MATTERJS&&this.matter&&this.matter.enable(a)},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},c.Physics.prototype.constructor=c.Physics,c.Physics.Arcade=function(a){this.game=a,this.gravity=new c.Point,this.bounds=new c.Rectangle(0,0,a.world.width,a.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=c.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new c.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},c.Physics.Arcade.prototype.constructor=c.Physics.Arcade,c.Physics.Arcade.SORT_NONE=0,c.Physics.Arcade.LEFT_RIGHT=1,c.Physics.Arcade.RIGHT_LEFT=2,c.Physics.Arcade.TOP_BOTTOM=3,c.Physics.Arcade.BOTTOM_TOP=4,c.Physics.Arcade.prototype={setBounds:function(a,b,c,d){this.bounds.setTo(a,b,c,d)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(a,b){void 0===b&&(b=!0);var d=1;if(Array.isArray(a))for(d=a.length;d--;)a[d]instanceof c.Group?this.enable(a[d].children,b):(this.enableBody(a[d]),b&&a[d].hasOwnProperty("children")&&a[d].children.length>0&&this.enable(a[d],!0));else a instanceof c.Group?this.enable(a.children,b):(this.enableBody(a),b&&a.hasOwnProperty("children")&&a.children.length>0&&this.enable(a.children,!0))},enableBody:function(a){a.hasOwnProperty("body")&&null===a.body&&(a.body=new c.Physics.Arcade.Body(a),a.parent&&a.parent instanceof c.Group&&a.parent.addToHash(a))},updateMotion:function(a){var b=this.computeVelocity(0,a,a.angularVelocity,a.angularAcceleration,a.angularDrag,a.maxAngular)-a.angularVelocity;a.angularVelocity+=b,a.rotation+=a.angularVelocity*this.game.time.physicsElapsed,a.velocity.x=this.computeVelocity(1,a,a.velocity.x,a.acceleration.x,a.drag.x,a.maxVelocity.x),a.velocity.y=this.computeVelocity(2,a,a.velocity.y,a.acceleration.y,a.drag.y,a.maxVelocity.y)},computeVelocity:function(a,b,c,d,e,f){return void 0===f&&(f=1e4),1===a&&b.allowGravity?c+=(this.gravity.x+b.gravity.x)*this.game.time.physicsElapsed:2===a&&b.allowGravity&&(c+=(this.gravity.y+b.gravity.y)*this.game.time.physicsElapsed),d?c+=d*this.game.time.physicsElapsed:e&&(e*=this.game.time.physicsElapsed,c-e>0?c-=e:0>c+e?c+=e:c=0),c>f?c=f:-f>c&&(c=-f),c},overlap:function(a,b,c,d,e){if(c=c||null,d=d||null,e=e||c,this._total=0,!Array.isArray(a)&&Array.isArray(b))for(var f=0;f0},collide:function(a,b,c,d,e){if(c=c||null,d=d||null,e=e||c,this._total=0,!Array.isArray(a)&&Array.isArray(b))for(var f=0;f0},sortLeftRight:function(a,b){return a.body&&b.body?a.body.x-b.body.x:0},sortRightLeft:function(a,b){return a.body&&b.body?b.body.x-a.body.x:0},sortTopBottom:function(a,b){return a.body&&b.body?a.body.y-b.body.y:0},sortBottomTop:function(a,b){return a.body&&b.body?b.body.y-a.body.y:0},sort:function(a,b){null!==a.physicsSortDirection?b=a.physicsSortDirection:void 0===b&&(b=this.sortDirection),b===c.Physics.Arcade.LEFT_RIGHT?a.hash.sort(this.sortLeftRight):b===c.Physics.Arcade.RIGHT_LEFT?a.hash.sort(this.sortRightLeft):b===c.Physics.Arcade.TOP_BOTTOM?a.hash.sort(this.sortTopBottom):b===c.Physics.Arcade.BOTTOM_TOP&&a.hash.sort(this.sortBottomTop)},collideHandler:function(a,b,d,e,f,g){return void 0===b&&a.physicsType===c.GROUP?(this.sort(a),void this.collideGroupVsSelf(a,d,e,f,g)):void(a&&b&&a.exists&&b.exists&&(this.sortDirection!==c.Physics.Arcade.SORT_NONE&&(a.physicsType===c.GROUP&&this.sort(a),b.physicsType===c.GROUP&&this.sort(b)),a.physicsType===c.SPRITE?b.physicsType===c.SPRITE?this.collideSpriteVsSprite(a,b,d,e,f,g):b.physicsType===c.GROUP?this.collideSpriteVsGroup(a,b,d,e,f,g):b.physicsType===c.TILEMAPLAYER&&this.collideSpriteVsTilemapLayer(a,b,d,e,f,g):a.physicsType===c.GROUP?b.physicsType===c.SPRITE?this.collideSpriteVsGroup(b,a,d,e,f,g):b.physicsType===c.GROUP?this.collideGroupVsGroup(a,b,d,e,f,g):b.physicsType===c.TILEMAPLAYER&&this.collideGroupVsTilemapLayer(a,b,d,e,f,g):a.physicsType===c.TILEMAPLAYER&&(b.physicsType===c.SPRITE?this.collideSpriteVsTilemapLayer(b,a,d,e,f,g):b.physicsType===c.GROUP&&this.collideGroupVsTilemapLayer(b,a,d,e,f,g))))},collideSpriteVsSprite:function(a,b,c,d,e,f){return a.body&&b.body?(this.separate(a.body,b.body,d,e,f)&&(c&&c.call(e,a,b),this._total++),!0):!1},collideSpriteVsGroup:function(a,b,d,e,f,g){if(0!==b.length&&a.body){var h;if(this.skipQuadTree||a.body.skipQuadTree){for(var i=0;ih.right)break;if(h.x>a.body.right)continue}else if(this.sortDirection===c.Physics.Arcade.TOP_BOTTOM){if(a.body.bottomh.bottom)break;if(h.y>a.body.bottom)continue}this.collideSpriteVsSprite(a,b.hash[i],d,e,f,g)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(b);for(var j=this.quadTree.retrieve(a),i=0;ij.body.right)continue;if(j.body.x>h.body.right)break}else if(this.sortDirection===c.Physics.Arcade.TOP_BOTTOM){if(h.body.bottomj.body.bottom)continue;if(j.body.y>h.body.bottom)break}this.collideSpriteVsSprite(h,j,b,d,e,f)}},collideGroupVsGroup:function(a,b,d,e,f,g){if(0!==a.length&&0!==b.length)for(var h=0;h=b.right?!1:a.position.y>=b.bottom?!1:!0},separateX:function(a,b,c){if(a.immovable&&b.immovable)return!1;var d=0;if(this.intersects(a,b)){var e=a.deltaAbsX()+b.deltaAbsX()+this.OVERLAP_BIAS;if(0===a.deltaX()&&0===b.deltaX()?(a.embedded=!0,b.embedded=!0):a.deltaX()>b.deltaX()?(d=a.right-b.x,d>e||a.checkCollision.right===!1||b.checkCollision.left===!1?d=0:(a.touching.none=!1,a.touching.right=!0,b.touching.none=!1,b.touching.left=!0)):a.deltaX()e||a.checkCollision.left===!1||b.checkCollision.right===!1?d=0:(a.touching.none=!1,a.touching.left=!0,b.touching.none=!1,b.touching.right=!0)),a.overlapX=d,b.overlapX=d,0!==d){if(c||a.customSeparateX||b.customSeparateX)return!0;var f=a.velocity.x,g=b.velocity.x;if(a.immovable||b.immovable)a.immovable?b.immovable||(b.x+=d,b.velocity.x=f-g*b.bounce.x,a.moves&&(b.y+=(a.y-a.prev.y)*a.friction.y)):(a.x=a.x-d,a.velocity.x=g-f*a.bounce.x,b.moves&&(a.y+=(b.y-b.prev.y)*b.friction.y));else{d*=.5,a.x=a.x-d,b.x+=d;var h=Math.sqrt(g*g*b.mass/a.mass)*(g>0?1:-1),i=Math.sqrt(f*f*a.mass/b.mass)*(f>0?1:-1),j=.5*(h+i);h-=j,i-=j,a.velocity.x=j+h*a.bounce.x,b.velocity.x=j+i*b.bounce.x}return!0}}return!1},separateY:function(a,b,c){if(a.immovable&&b.immovable)return!1;var d=0;if(this.intersects(a,b)){var e=a.deltaAbsY()+b.deltaAbsY()+this.OVERLAP_BIAS;if(0===a.deltaY()&&0===b.deltaY()?(a.embedded=!0,b.embedded=!0):a.deltaY()>b.deltaY()?(d=a.bottom-b.y,d>e||a.checkCollision.down===!1||b.checkCollision.up===!1?d=0:(a.touching.none=!1,a.touching.down=!0,b.touching.none=!1,b.touching.up=!0)):a.deltaY()e||a.checkCollision.up===!1||b.checkCollision.down===!1?d=0:(a.touching.none=!1,a.touching.up=!0,b.touching.none=!1,b.touching.down=!0)),a.overlapY=d,b.overlapY=d,0!==d){if(c||a.customSeparateY||b.customSeparateY)return!0;var f=a.velocity.y,g=b.velocity.y;if(a.immovable||b.immovable)a.immovable?b.immovable||(b.y+=d,b.velocity.y=f-g*b.bounce.y,a.moves&&(b.x+=(a.x-a.prev.x)*a.friction.x)):(a.y=a.y-d,a.velocity.y=g-f*a.bounce.y,b.moves&&(a.x+=(b.x-b.prev.x)*b.friction.x));else{d*=.5,a.y=a.y-d,b.y+=d;var h=Math.sqrt(g*g*b.mass/a.mass)*(g>0?1:-1),i=Math.sqrt(f*f*a.mass/b.mass)*(f>0?1:-1),j=.5*(h+i);h-=j,i-=j,a.velocity.y=j+h*a.bounce.y,b.velocity.y=j+i*b.bounce.y}return!0}}return!1},getObjectsUnderPointer:function(a,b,c,d){return 0!==b.length&&a.exists?this.getObjectsAtLocation(a.x,a.y,b,c,d,a):void 0},getObjectsAtLocation:function(a,b,d,e,f,g){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(d);for(var h=new c.Rectangle(a,b,1,1),i=[],j=this.quadTree.retrieve(h),k=0;k0&&(c=this.distanceBetween(a,b)/(d/1e3)),a.body.velocity.x=Math.cos(e)*c,a.body.velocity.y=Math.sin(e)*c,e},moveToPointer:function(a,b,c,d){void 0===b&&(b=60),c=c||this.game.input.activePointer,void 0===d&&(d=0);var e=this.angleToPointer(a,c);return d>0&&(b=this.distanceToPointer(a,c)/(d/1e3)),a.body.velocity.x=Math.cos(e)*b,a.body.velocity.y=Math.sin(e)*b,e},moveToXY:function(a,b,c,d,e){void 0===d&&(d=60),void 0===e&&(e=0);var f=Math.atan2(c-a.y,b-a.x);return e>0&&(d=this.distanceToXY(a,b,c)/(e/1e3)),a.body.velocity.x=Math.cos(f)*d,a.body.velocity.y=Math.sin(f)*d,f},velocityFromAngle:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(this.game.math.degToRad(a))*b,Math.sin(this.game.math.degToRad(a))*b)},velocityFromRotation:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(a)*b,Math.sin(a)*b)},accelerationFromRotation:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(a)*b,Math.sin(a)*b)},accelerateToObject:function(a,b,c,d,e){void 0===c&&(c=60),void 0===d&&(d=1e3),void 0===e&&(e=1e3);var f=this.angleBetween(a,b);return a.body.acceleration.setTo(Math.cos(f)*c,Math.sin(f)*c),a.body.maxVelocity.setTo(d,e),f},accelerateToPointer:function(a,b,c,d,e){void 0===c&&(c=60),void 0===b&&(b=this.game.input.activePointer),void 0===d&&(d=1e3),void 0===e&&(e=1e3);var f=this.angleToPointer(a,b);return a.body.acceleration.setTo(Math.cos(f)*c,Math.sin(f)*c),a.body.maxVelocity.setTo(d,e),f},accelerateToXY:function(a,b,c,d,e,f){void 0===d&&(d=60),void 0===e&&(e=1e3),void 0===f&&(f=1e3);var g=this.angleToXY(a,b,c);return a.body.acceleration.setTo(Math.cos(g)*d,Math.sin(g)*d),a.body.maxVelocity.setTo(e,f),g},distanceBetween:function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)},distanceToXY:function(a,b,c){var d=a.x-b,e=a.y-c;return Math.sqrt(d*d+e*e)},distanceToPointer:function(a,b){b=b||this.game.input.activePointer;var c=a.x-b.worldX,d=a.y-b.worldY;return Math.sqrt(c*c+d*d)},angleBetween:function(a,b){var c=b.x-a.x,d=b.y-a.y;return Math.atan2(d,c)},angleToXY:function(a,b,c){var d=b-a.x,e=c-a.y;return Math.atan2(e,d)},angleToPointer:function(a,b){b=b||this.game.input.activePointer;var c=b.worldX-a.x,d=b.worldY-a.y;return Math.atan2(d,c)}},c.Physics.Arcade.Body=function(a){this.sprite=a,this.game=a.game,this.type=c.Physics.ARCADE,this.enable=!0,this.offset=new c.Point,this.position=new c.Point(a.x,a.y),this.prev=new c.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=a.rotation,this.preRotation=a.rotation,this.width=a.width,this.height=a.height,this.sourceWidth=a.width,this.sourceHeight=a.height,a.texture&&(this.sourceWidth=a.texture.frame.width,this.sourceHeight=a.texture.frame.height),this.halfWidth=Math.abs(a.width/2),this.halfHeight=Math.abs(a.height/2),this.center=new c.Point(a.x+this.halfWidth,a.y+this.halfHeight),this.velocity=new c.Point,this.newVelocity=new c.Point(0,0),this.deltaMax=new c.Point(0,0),this.acceleration=new c.Point,this.drag=new c.Point,this.allowGravity=!0,this.gravity=new c.Point(0,0),this.bounce=new c.Point,this.maxVelocity=new c.Point(1e4,1e4),this.friction=new c.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=c.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,any:!0,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={up:!1,down:!1,left:!1,right:!1},this.tilePadding=new c.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this._reset=!0,this._sx=a.scale.x,this._sy=a.scale.y,this._dx=0,this._dy=0},c.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var a=this.sprite.getBounds();a.ceilAll(),(a.width!==this.width||a.height!==this.height)&&(this.width=a.width,this.height=a.height,this._reset=!0)}else{var b=Math.abs(this.sprite.scale.x),c=Math.abs(this.sprite.scale.y);(b!==this._sx||c!==this._sy)&&(this.width=this.sourceWidth*b,this.height=this.sourceHeight*c,this._sx=b,this._sy=c,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight))},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.width+this.offset.x,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.height+this.offset.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,(this.position.x!==this.prev.x||this.position.y!==this.prev.y)&&(this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.collideWorldBounds&&this.checkWorldBounds()),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},postUpdate:function(){this.enable&&this.dirty&&(this.dirty=!1,this.deltaX()<0?this.facing=c.LEFT:this.deltaX()>0&&(this.facing=c.RIGHT),this.deltaY()<0?this.facing=c.UP:this.deltaY()>0&&(this.facing=c.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof c.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null},checkWorldBounds:function(){var a=this.position,b=this.game.physics.arcade.bounds,c=this.game.physics.arcade.checkCollision;a.xb.right&&c.right&&(a.x=b.right-this.width,this.velocity.x*=-this.bounce.x,this.blocked.right=!0),a.yb.bottom&&c.down&&(a.y=b.bottom-this.height,this.velocity.y*=-this.bounce.y,this.blocked.down=!0)},setSize:function(a,b,c,d){void 0===c&&(c=this.offset.x),void 0===d&&(d=this.offset.y),this.sourceWidth=a,this.sourceHeight=b,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(c,d),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},reset:function(a,b){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0,this.position.x=a-this.sprite.anchor.x*this.width+this.offset.x,this.position.y=b-this.sprite.anchor.y*this.height+this.offset.y,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this._sx=this.sprite.scale.x,this._sy=this.sprite.scale.y,this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},hitTest:function(a,b){return c.Rectangle.contains(this,a,b)},onFloor:function(){return this.blocked.down},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation}},Object.defineProperty(c.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(a){this.position.x=a}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(a){this.position.y=a}}),c.Physics.Arcade.Body.render=function(a,b,c,d){void 0===d&&(d=!0),c=c||"rgba(0,255,0,0.4)",d?(a.fillStyle=c,a.fillRect(b.position.x-b.game.camera.x,b.position.y-b.game.camera.y,b.width,b.height)):(a.strokeStyle=c,a.strokeRect(b.position.x-b.game.camera.x,b.position.y-b.game.camera.y,b.width,b.height))},c.Physics.Arcade.Body.renderBodyInfo=function(a,b){a.line("x: "+b.x.toFixed(2),"y: "+b.y.toFixed(2),"width: "+b.width,"height: "+b.height),a.line("velocity x: "+b.velocity.x.toFixed(2),"y: "+b.velocity.y.toFixed(2),"deltaX: "+b._dx.toFixed(2),"deltaY: "+b._dy.toFixed(2)),a.line("acceleration x: "+b.acceleration.x.toFixed(2),"y: "+b.acceleration.y.toFixed(2),"speed: "+b.speed.toFixed(2),"angle: "+b.angle.toFixed(2)),a.line("gravity x: "+b.gravity.x,"y: "+b.gravity.y,"bounce x: "+b.bounce.x.toFixed(2),"y: "+b.bounce.y.toFixed(2)),a.line("touching left: "+b.touching.left,"right: "+b.touching.right,"up: "+b.touching.up,"down: "+b.touching.down),a.line("blocked left: "+b.blocked.left,"right: "+b.blocked.right,"up: "+b.blocked.up,"down: "+b.blocked.down)},c.Physics.Arcade.Body.prototype.constructor=c.Physics.Arcade.Body,c.Physics.Arcade.TilemapCollision=function(){},c.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(a,b,c,d,e,f){if(a.body){var g=b.getTiles(a.body.position.x-a.body.tilePadding.x,a.body.position.y-a.body.tilePadding.y,a.body.width+a.body.tilePadding.x,a.body.height+a.body.tilePadding.y,!1,!1);if(0!==g.length)for(var h=0;hb.deltaAbsY()?g=-1:b.deltaAbsX()g){if((c.faceLeft||c.faceRight)&&(e=this.tileCheckX(b,c),0!==e&&!c.intersects(b.position.x,b.position.y,b.right,b.bottom)))return!0;(c.faceTop||c.faceBottom)&&(f=this.tileCheckY(b,c))}else{if((c.faceTop||c.faceBottom)&&(f=this.tileCheckY(b,c),0!==f&&!c.intersects(b.position.x,b.position.y,b.right,b.bottom)))return!0; -(c.faceLeft||c.faceRight)&&(e=this.tileCheckX(b,c))}return 0!==e||0!==f},tileCheckX:function(a,b){var c=0;return a.deltaX()<0&&!a.blocked.left&&b.collideRight&&a.checkCollision.left?b.faceRight&&a.x0&&!a.blocked.right&&b.collideLeft&&a.checkCollision.right&&b.faceLeft&&a.right>b.left&&(c=a.right-b.left,c>this.TILE_BIAS&&(c=0)),0!==c&&(a.customSeparateX?a.overlapX=c:this.processTileSeparationX(a,c)),c},tileCheckY:function(a,b){var c=0;return a.deltaY()<0&&!a.blocked.up&&b.collideDown&&a.checkCollision.up?b.faceBottom&&a.y0&&!a.blocked.down&&b.collideUp&&a.checkCollision.down&&b.faceTop&&a.bottom>b.top&&(c=a.bottom-b.top,c>this.TILE_BIAS&&(c=0)),0!==c&&(a.customSeparateY?a.overlapY=c:this.processTileSeparationY(a,c)),c},processTileSeparationX:function(a,b){0>b?a.blocked.left=!0:b>0&&(a.blocked.right=!0),a.position.x-=b,0===a.bounce.x?a.velocity.x=0:a.velocity.x=-a.velocity.x*a.bounce.x},processTileSeparationY:function(a,b){0>b?a.blocked.up=!0:b>0&&(a.blocked.down=!0),a.position.y-=b,0===a.bounce.y?a.velocity.y=0:a.velocity.y=-a.velocity.y*a.bounce.y}},c.Utils.mixinPrototype(c.Physics.Arcade.prototype,c.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,c.Physics.P2=function(a,b){this.game=a,void 0===b?b={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(b.hasOwnProperty("gravity")||(b.gravity=[0,0]),b.hasOwnProperty("broadphase")||(b.broadphase=new p2.SAPBroadphase)),this.config=b,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new c.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new c.Signal,this.onBodyRemoved=new c.Signal,this.onSpringAdded=new c.Signal,this.onSpringRemoved=new c.Signal,this.onConstraintAdded=new c.Signal,this.onConstraintRemoved=new c.Signal,this.onContactMaterialAdded=new c.Signal,this.onContactMaterialRemoved=new c.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new c.Signal,this.onEndContact=new c.Signal,b.hasOwnProperty("mpx")&&b.hasOwnProperty("pxm")&&b.hasOwnProperty("mpxi")&&b.hasOwnProperty("pxmi")&&(this.mpx=b.mpx,this.mpxi=b.mpxi,this.pxm=b.pxm,this.pxmi=b.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new c.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new c.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new c.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},c.Physics.P2.prototype={removeBodyNextStep:function(a){this._toRemove.push(a)},preUpdate:function(){for(var a=this._toRemove.length;a--;)this.removeBody(this._toRemove[a]);this._toRemove.length=0},enable:function(a,b,d){void 0===b&&(b=!1),void 0===d&&(d=!0);var e=1;if(Array.isArray(a))for(e=a.length;e--;)a[e]instanceof c.Group?this.enable(a[e].children,b,d):(this.enableBody(a[e],b),d&&a[e].hasOwnProperty("children")&&a[e].children.length>0&&this.enable(a[e],b,!0));else a instanceof c.Group?this.enable(a.children,b,d):(this.enableBody(a,b),d&&a.hasOwnProperty("children")&&a.children.length>0&&this.enable(a.children,b,!0))},enableBody:function(a,b){a.hasOwnProperty("body")&&null===a.body&&(a.body=new c.Physics.P2.Body(this.game,a,a.x,a.y,1),a.body.debug=b,"undefined"!=typeof a.anchor&&a.anchor.set(.5))},setImpactEvents:function(a){a?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(a,b){this.postBroadphaseCallback=a,this.callbackContext=b,null!==a?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(a){if(this.postBroadphaseCallback&&0!==a.pairs.length)for(var b=a.pairs.length-2;b>=0;b-=2)a.pairs[b].parent&&a.pairs[b+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,a.pairs[b].parent,a.pairs[b+1].parent)&&a.pairs.splice(b,2)},impactHandler:function(a){if(a.bodyA.parent&&a.bodyB.parent){var b=a.bodyA.parent,c=a.bodyB.parent;b._bodyCallbacks[a.bodyB.id]&&b._bodyCallbacks[a.bodyB.id].call(b._bodyCallbackContext[a.bodyB.id],b,c,a.shapeA,a.shapeB),c._bodyCallbacks[a.bodyA.id]&&c._bodyCallbacks[a.bodyA.id].call(c._bodyCallbackContext[a.bodyA.id],c,b,a.shapeB,a.shapeA),b._groupCallbacks[a.shapeB.collisionGroup]&&b._groupCallbacks[a.shapeB.collisionGroup].call(b._groupCallbackContext[a.shapeB.collisionGroup],b,c,a.shapeA,a.shapeB),c._groupCallbacks[a.shapeA.collisionGroup]&&c._groupCallbacks[a.shapeA.collisionGroup].call(c._groupCallbackContext[a.shapeA.collisionGroup],c,b,a.shapeB,a.shapeA)}},beginContactHandler:function(a){a.bodyA&&a.bodyB&&(this.onBeginContact.dispatch(a.bodyA,a.bodyB,a.shapeA,a.shapeB,a.contactEquations),a.bodyA.parent&&a.bodyA.parent.onBeginContact.dispatch(a.bodyB.parent,a.bodyB,a.shapeA,a.shapeB,a.contactEquations),a.bodyB.parent&&a.bodyB.parent.onBeginContact.dispatch(a.bodyA.parent,a.bodyA,a.shapeB,a.shapeA,a.contactEquations))},endContactHandler:function(a){a.bodyA&&a.bodyB&&(this.onEndContact.dispatch(a.bodyA,a.bodyB,a.shapeA,a.shapeB),a.bodyA.parent&&a.bodyA.parent.onEndContact.dispatch(a.bodyB.parent,a.bodyB,a.shapeA,a.shapeB),a.bodyB.parent&&a.bodyB.parent.onEndContact.dispatch(a.bodyA.parent,a.bodyA,a.shapeB,a.shapeA))},setBoundsToWorld:function(a,b,c,d,e){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,a,b,c,d,e)},setWorldMaterial:function(a,b,c,d,e){void 0===b&&(b=!0),void 0===c&&(c=!0),void 0===d&&(d=!0),void 0===e&&(e=!0),b&&this.walls.left&&(this.walls.left.shapes[0].material=a),c&&this.walls.right&&(this.walls.right.shapes[0].material=a),d&&this.walls.top&&(this.walls.top.shapes[0].material=a),e&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=a)},updateBoundsCollisionGroup:function(a){var b=this.everythingCollisionGroup.mask;void 0===a&&(b=this.boundsCollisionGroup.mask),this.walls.left&&(this.walls.left.shapes[0].collisionGroup=b),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=b),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=b),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=b)},setBounds:function(a,b,c,d,e,f,g,h,i){void 0===e&&(e=this._boundsLeft),void 0===f&&(f=this._boundsRight),void 0===g&&(g=this._boundsTop),void 0===h&&(h=this._boundsBottom),void 0===i&&(i=this._boundsOwnGroup),this.walls.left&&this.world.removeBody(this.walls.left),this.walls.right&&this.world.removeBody(this.walls.right),this.walls.top&&this.world.removeBody(this.walls.top),this.walls.bottom&&this.world.removeBody(this.walls.bottom),e&&(this.walls.left=new p2.Body({mass:0,position:[this.pxmi(a),this.pxmi(b)],angle:1.5707963267948966}),this.walls.left.addShape(new p2.Plane),i&&(this.walls.left.shapes[0].collisionGroup=this.boundsCollisionGroup.mask),this.world.addBody(this.walls.left)),f&&(this.walls.right=new p2.Body({mass:0,position:[this.pxmi(a+c),this.pxmi(b)],angle:-1.5707963267948966}),this.walls.right.addShape(new p2.Plane),i&&(this.walls.right.shapes[0].collisionGroup=this.boundsCollisionGroup.mask),this.world.addBody(this.walls.right)),g&&(this.walls.top=new p2.Body({mass:0,position:[this.pxmi(a),this.pxmi(b)],angle:-3.141592653589793}),this.walls.top.addShape(new p2.Plane),i&&(this.walls.top.shapes[0].collisionGroup=this.boundsCollisionGroup.mask),this.world.addBody(this.walls.top)),h&&(this.walls.bottom=new p2.Body({mass:0,position:[this.pxmi(a),this.pxmi(b+d)]}),this.walls.bottom.addShape(new p2.Plane),i&&(this.walls.bottom.shapes[0].collisionGroup=this.boundsCollisionGroup.mask),this.world.addBody(this.walls.bottom)),this._boundsLeft=e,this._boundsRight=f,this._boundsTop=g,this._boundsBottom=h,this._boundsOwnGroup=i},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new c.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new c.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new c.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var a=this.world.constraints,b=a.length-1;b>=0;b--)this.world.removeConstraint(a[b]);for(var c=this.world.bodies,b=c.length-1;b>=0;b--)this.world.removeBody(c[b]);for(var d=this.world.springs,b=d.length-1;b>=0;b--)this.world.removeSpring(d[b]);for(var e=this.world.contactMaterials,b=e.length-1;b>=0;b--)this.world.removeContactMaterial(e[b]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[]},destroy:function(){this.clear(),this.game=null},addBody:function(a){return a.data.world?!1:(this.world.addBody(a.data),this.onBodyAdded.dispatch(a),!0)},removeBody:function(a){return a.data.world==this.world&&(this.world.removeBody(a.data),this.onBodyRemoved.dispatch(a)),a},addSpring:function(a){return a instanceof c.Physics.P2.Spring||a instanceof c.Physics.P2.RotationalSpring?this.world.addSpring(a.data):this.world.addSpring(a),this.onSpringAdded.dispatch(a),a},removeSpring:function(a){return a instanceof c.Physics.P2.Spring||a instanceof c.Physics.P2.RotationalSpring?this.world.removeSpring(a.data):this.world.removeSpring(a),this.onSpringRemoved.dispatch(a),a},createDistanceConstraint:function(a,b,d,e,f,g){return a=this.getBody(a),b=this.getBody(b),a&&b?this.addConstraint(new c.Physics.P2.DistanceConstraint(this,a,b,d,e,f,g)):void console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(a,b,d,e){return a=this.getBody(a),b=this.getBody(b),a&&b?this.addConstraint(new c.Physics.P2.GearConstraint(this,a,b,d,e)):void console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(a,b,d,e,f,g){return a=this.getBody(a),d=this.getBody(d),a&&d?this.addConstraint(new c.Physics.P2.RevoluteConstraint(this,a,b,d,e,f,g)):void console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(a,b,d,e,f){return a=this.getBody(a),b=this.getBody(b),a&&b?this.addConstraint(new c.Physics.P2.LockConstraint(this,a,b,d,e,f)):void console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(a,b,d,e,f,g,h){return a=this.getBody(a),b=this.getBody(b),a&&b?this.addConstraint(new c.Physics.P2.PrismaticConstraint(this,a,b,d,e,f,g,h)):void console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(a){return this.world.addConstraint(a),this.onConstraintAdded.dispatch(a),a},removeConstraint:function(a){return this.world.removeConstraint(a),this.onConstraintRemoved.dispatch(a),a},addContactMaterial:function(a){return this.world.addContactMaterial(a),this.onContactMaterialAdded.dispatch(a),a},removeContactMaterial:function(a){return this.world.removeContactMaterial(a),this.onContactMaterialRemoved.dispatch(a),a},getContactMaterial:function(a,b){return this.world.getContactMaterial(a,b)},setMaterial:function(a,b){for(var c=b.length;c--;)b[c].setMaterial(a)},createMaterial:function(a,b){a=a||"";var d=new c.Physics.P2.Material(a);return this.materials.push(d),"undefined"!=typeof b&&b.setMaterial(d),d},createContactMaterial:function(a,b,d){void 0===a&&(a=this.createMaterial()),void 0===b&&(b=this.createMaterial());var e=new c.Physics.P2.ContactMaterial(a,b,d);return this.addContactMaterial(e)},getBodies:function(){for(var a=[],b=this.world.bodies.length;b--;)a.push(this.world.bodies[b].parent);return a},getBody:function(a){return a instanceof p2.Body?a:a instanceof c.Physics.P2.Body?a.data:a.body&&a.body.type===c.Physics.P2JS?a.body.data:null},getSprings:function(){for(var a=[],b=this.world.springs.length;b--;)a.push(this.world.springs[b].parent);return a},getConstraints:function(){for(var a=[],b=this.world.constraints.length;b--;)a.push(this.world.constraints[b]);return a},hitTest:function(a,b,d,e){void 0===b&&(b=this.world.bodies),void 0===d&&(d=5),void 0===e&&(e=!1);for(var f=[this.pxmi(a.x),this.pxmi(a.y)],g=[],h=b.length;h--;)b[h]instanceof c.Physics.P2.Body&&(!e||b[h].data.type!==p2.Body.STATIC)?g.push(b[h].data):b[h]instanceof p2.Body&&b[h].parent&&(!e||b[h].type!==p2.Body.STATIC)?g.push(b[h]):b[h]instanceof c.Sprite&&b[h].hasOwnProperty("body")&&(!e||b[h].body.data.type!==p2.Body.STATIC)&&g.push(b[h].body.data);return this.world.hitTest(f,g,d)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(a){var b=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|b),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|b),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|b),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|b),this._collisionGroupID++;var d=new c.Physics.P2.CollisionGroup(b);return this.collisionGroups.push(d),a&&this.setCollisionGroup(a,d),d},setCollisionGroup:function(a,b){if(a instanceof c.Group)for(var d=0;de;e++){var g=a.collision[b][e],h=this.createBody(g.x,g.y,0,c,{},g.polyline);h&&d.push(h)}return d},clearTilemapLayerBodies:function(a,b){b=a.getLayer(b);for(var c=a.layers[b].bodies.length;c--;)a.layers[b].bodies[c].destroy();a.layers[b].bodies.length=0},convertTilemap:function(a,b,c,d){b=a.getLayer(b),void 0===c&&(c=!0),void 0===d&&(d=!0),this.clearTilemapLayerBodies(a,b);for(var e=0,f=0,g=0,h=0,i=a.layers[b].height;i>h;h++){e=0;for(var j=0,k=a.layers[b].width;k>j;j++){var l=a.layers[b].data[h][j];if(l&&l.index>-1&&l.collides)if(d){var m=a.getTileRight(b,j,h);if(0===e&&(f=l.x*l.width,g=l.y*l.height,e=l.width),m&&m.collides)e+=l.width;else{var n=this.createBody(f,g,0,!1);n.addRectangle(e,l.height,e/2,l.height/2,0),c&&this.addBody(n),a.layers[b].bodies.push(n),e=0}}else{var n=this.createBody(l.x*l.width,l.y*l.height,0,!1);n.addRectangle(l.width,l.height,l.width/2,l.height/2,0),c&&this.addBody(n),a.layers[b].bodies.push(n)}}}return a.layers[b].bodies},mpx:function(a){return a*=20},pxm:function(a){return.05*a},mpxi:function(a){return a*=-20},pxmi:function(a){return a*-.05}},Object.defineProperty(c.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(a){this.world.defaultContactMaterial.friction=a}}),Object.defineProperty(c.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(a){this.world.defaultContactMaterial.restitution=a}}),Object.defineProperty(c.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(a){this.world.defaultContactMaterial=a}}),Object.defineProperty(c.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(a){this.world.applySpringForces=a}}),Object.defineProperty(c.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(a){this.world.applyDamping=a}}),Object.defineProperty(c.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(a){this.world.applyGravity=a}}),Object.defineProperty(c.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(a){this.world.solveConstraints=a}}),Object.defineProperty(c.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(c.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(a){this.world.emitImpactEvent=a}}),Object.defineProperty(c.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(a){this.world.sleepMode=a}}),Object.defineProperty(c.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),c.Physics.P2.FixtureList=function(a){Array.isArray(a)||(a=[a]),this.rawList=a,this.init(),this.parse(this.rawList)},c.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(a,b){var c=function(b){b.collisionGroup=a};this.getFixtures(b).forEach(c)},setMask:function(a,b){var c=function(b){b.collisionMask=a};this.getFixtures(b).forEach(c)},setSensor:function(a,b){var c=function(b){b.sensor=a};this.getFixtures(b).forEach(c)},setMaterial:function(a,b){var c=function(b){b.material=a};this.getFixtures(b).forEach(c)},getFixtures:function(a){var b=[];if(a){a instanceof Array||(a=[a]);var c=this;return a.forEach(function(a){c.namedFixtures[a]&&b.push(c.namedFixtures[a])}),this.flatten(b)}return this.allFixtures},getFixtureByKey:function(a){return this.namedFixtures[a]},getGroup:function(a){return this.groupedFixtures[a]},parse:function(){var a,b,c,d;c=this.rawList,d=[];for(a in c)b=c[a],isNaN(a-0)?this.namedFixtures[a]=this.flatten(b):(this.groupedFixtures[a]=this.groupedFixtures[a]||[],this.groupedFixtures[a]=this.groupedFixtures[a].concat(b)),d.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(a){var b,c;return b=[],c=arguments.callee,a.forEach(function(a){return Array.prototype.push.apply(b,Array.isArray(a)?c(a):[a])}),b}},c.Physics.P2.PointProxy=function(a,b){this.world=a,this.destination=b},c.Physics.P2.PointProxy.prototype.constructor=c.Physics.P2.PointProxy,Object.defineProperty(c.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(a){this.destination[0]=this.world.pxm(a)}}),Object.defineProperty(c.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(a){this.destination[1]=this.world.pxm(a)}}),Object.defineProperty(c.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(a){this.destination[0]=a}}),Object.defineProperty(c.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(a){this.destination[1]=a}}),c.Physics.P2.InversePointProxy=function(a,b){this.world=a,this.destination=b},c.Physics.P2.InversePointProxy.prototype.constructor=c.Physics.P2.InversePointProxy,Object.defineProperty(c.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(a){this.destination[0]=this.world.pxmi(a)}}),Object.defineProperty(c.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(a){this.destination[1]=this.world.pxmi(a)}}),Object.defineProperty(c.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(a){this.destination[0]=-a}}),Object.defineProperty(c.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(a){this.destination[1]=-a}}),c.Physics.P2.Body=function(a,b,d,e,f){b=b||null,d=d||0,e=e||0,void 0===f&&(f=1),this.game=a,this.world=a.physics.p2,this.sprite=b,this.type=c.Physics.P2JS,this.offset=new c.Point,this.data=new p2.Body({position:[this.world.pxmi(d),this.world.pxmi(e)],mass:f}),this.data.parent=this,this.velocity=new c.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new c.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new c.Point,this.onBeginContact=new c.Signal,this.onEndContact=new c.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,b&&(this.setRectangleFromSprite(b),b.exists&&this.game.physics.p2.addBody(this))},c.Physics.P2.Body.prototype={createBodyCallback:function(a,b,c){var d=-1;a.id?d=a.id:a.body&&(d=a.body.id),d>-1&&(null===b?(delete this._bodyCallbacks[d],delete this._bodyCallbackContext[d]):(this._bodyCallbacks[d]=b,this._bodyCallbackContext[d]=c))},createGroupCallback:function(a,b,c){null===b?(delete this._groupCallbacks[a.mask],delete this._groupCallbackContext[a.mask]):(this._groupCallbacks[a.mask]=b,this._groupCallbackContext[a.mask]=c)},getCollisionMask:function(){var a=0;this._collideWorldBounds&&(a=this.game.physics.p2.boundsCollisionGroup.mask);for(var b=0;b=0;c--)this.data.shapes[c].collisionMask=b;else a.collisionMask=b},setCollisionGroup:function(a,b){var c=this.getCollisionMask();if(void 0===b)for(var d=this.data.shapes.length-1;d>=0;d--)this.data.shapes[d].collisionGroup=a.mask,this.data.shapes[d].collisionMask=c;else b.collisionGroup=a.mask,b.collisionMask=c},clearCollision:function(a,b,c){if(void 0===a&&(a=!0),void 0===b&&(b=!0),void 0===c)for(var d=this.data.shapes.length-1;d>=0;d--)a&&(this.data.shapes[d].collisionGroup=null),b&&(this.data.shapes[d].collisionMask=null);else a&&(c.collisionGroup=null),b&&(c.collisionMask=null);a&&(this.collidesWith.length=0)},removeCollisionGroup:function(a,b,c){void 0===b&&(b=!0);var d;if(Array.isArray(a))for(var e=0;e-1&&(this.collidesWith.splice(d,1),b&&(delete this._groupCallbacks[a.mask],delete this._groupCallbackContext[a.mask]));else d=this.collidesWith.indexOf(a),d>-1&&(this.collidesWith.splice(d,1),b&&(delete this._groupCallbacks[a.mask],delete this._groupCallbackContext[a.mask]));var f=this.getCollisionMask();if(void 0===c)for(var e=this.data.shapes.length-1;e>=0;e--)this.data.shapes[e].collisionMask=f;else c.collisionMask=f},collides:function(a,b,c,d){if(Array.isArray(a))for(var e=0;e=0;e--)this.data.shapes[e].collisionMask=f;else d.collisionMask=f},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(a,b){return this.data.getVelocityAtPoint(a,b)},applyDamping:function(a){this.data.applyDamping(a)},applyImpulse:function(a,b,c){this.data.applyImpulse(a,[this.world.pxmi(b),this.world.pxmi(c)])},applyImpulseLocal:function(a,b,c){this.data.applyImpulseLocal(a,[this.world.pxmi(b),this.world.pxmi(c)])},applyForce:function(a,b,c){this.data.applyForce(a,[this.world.pxmi(b),this.world.pxmi(c)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(a,b){return this.data.toLocalFrame(a,b)},toWorldFrame:function(a,b){return this.data.toWorldFrame(a,b)},rotateLeft:function(a){this.data.angularVelocity=this.world.pxm(-a)},rotateRight:function(a){this.data.angularVelocity=this.world.pxm(a)},moveForward:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.velocity[0]=b*Math.cos(c),this.data.velocity[1]=b*Math.sin(c)},moveBackward:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.velocity[0]=-(b*Math.cos(c)),this.data.velocity[1]=-(b*Math.sin(c))},thrust:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.force[0]+=b*Math.cos(c),this.data.force[1]+=b*Math.sin(c)},reverse:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.force[0]-=b*Math.cos(c),this.data.force[1]-=b*Math.sin(c)},moveLeft:function(a){this.data.velocity[0]=this.world.pxmi(-a)},moveRight:function(a){this.data.velocity[0]=this.world.pxmi(a)},moveUp:function(a){this.data.velocity[1]=this.world.pxmi(-a)},moveDown:function(a){this.data.velocity[1]=this.world.pxmi(a)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0]),this.sprite.y=this.world.mpxi(this.data.position[1]),this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(a,b,c,d){void 0===c&&(c=!1),void 0===d&&(d=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),c&&this.setZeroDamping(),d&&(this.mass=1),this.x=a,this.y=b},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var a=0;ad;d+=2)c.push([b[d],b[d+1]]);var f=c.length-1;c[f][0]===c[0][0]&&c[f][1]===c[0][1]&&c.pop();for(var g=0;g=0;c--)this.data.shapes[c].material=a;else b.material=a},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(a,b){for(var c=this.game.cache.getPhysicsData(a,b),d=[],e=0;e=0?o>n:n>o;e=o>=0?++n:--n)k=b.vertices[e],p2.vec2.rotate(m,k,a),l.push([(m[0]+i[0])*this.ppu,-(m[1]+i[1])*this.ppu]);this.drawConvex(j,l,b.triangles,f,c,g,this.settings.debugPolygons,[i[0]*this.ppu,-i[1]*this.ppu])}d++}}},drawRectangle:function(a,b,c,d,e,f,g,h,i){void 0===i&&(i=1),void 0===g&&(g=0),a.lineStyle(i,g,1),a.beginFill(h),a.drawRect(b-e/2,c-f/2,e,f)},drawCircle:function(a,b,c,d,e,f,g){void 0===g&&(g=1),void 0===f&&(f=16777215),a.lineStyle(g,0,1),a.beginFill(f,1),a.drawCircle(b,c,2*-e),a.endFill(),a.moveTo(b,c),a.lineTo(b+e*Math.cos(-d),c+e*Math.sin(-d))},drawLine:function(a,b,c,d){void 0===d&&(d=1),void 0===c&&(c=0),a.lineStyle(5*d,c,1),a.moveTo(-b/2,0),a.lineTo(b/2,0)},drawConvex:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r,s;if(void 0===f&&(f=1),void 0===d&&(d=0),g){for(i=[16711680,65280,255],j=0;j!==b.length+1;)l=b[j%b.length],m=b[(j+1)%b.length],o=l[0],r=l[1],p=m[0],s=m[1],a.lineStyle(f,i[j%i.length],1),a.moveTo(o,-r),a.lineTo(p,-s),a.drawCircle(o,-r,2*f),j++;return a.lineStyle(f,0,1),a.drawCircle(h[0],h[1],2*f)}for(a.lineStyle(f,d,1),a.beginFill(e),j=0;j!==b.length;)k=b[j],n=k[0],q=k[1],0===j?a.moveTo(n,-q):a.lineTo(n,-q),j++;return a.endFill(),b.length>2?(a.moveTo(b[b.length-1][0],-b[b.length-1][1]),a.lineTo(b[0][0],-b[0][1])):void 0},drawPath:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r;for(void 0===e&&(e=1),void 0===c&&(c=0),a.lineStyle(e,c,1),"number"==typeof d&&a.beginFill(d),h=null,i=null,g=0;g2&&"number"==typeof d&&(a.moveTo(b[b.length-1][0],b[b.length-1][1]),a.lineTo(b[0][0],b[0][1]))},drawPlane:function(a,b,c,d,e,f,g,h,i,j){var k,l,m;void 0===f&&(f=1),void 0===d&&(d=16777215),a.lineStyle(f,e,11),a.beginFill(d),k=i,a.moveTo(b,-c),l=b+Math.cos(j)*this.game.width,m=c+Math.sin(j)*this.game.height,a.lineTo(l,-m),a.moveTo(b,-c),l=b+Math.cos(j)*-this.game.width,m=c+Math.sin(j)*-this.game.height,a.lineTo(l,-m)},drawCapsule:function(a,b,c,d,e,f,g,h,i){void 0===i&&(i=1),void 0===g&&(g=0),a.lineStyle(i,g,1);var j=Math.cos(d),k=Math.sin(d);a.beginFill(h,1),a.drawCircle(-e/2*j+b,-e/2*k+c,2*-f),a.drawCircle(e/2*j+b,e/2*k+c,2*-f),a.endFill(),a.lineStyle(i,g,0),a.beginFill(h,1),a.moveTo(-e/2*j+f*k+b,-e/2*k+f*j+c),a.lineTo(e/2*j+f*k+b,e/2*k+f*j+c),a.lineTo(e/2*j-f*k+b,e/2*k-f*j+c),a.lineTo(-e/2*j-f*k+b,-e/2*k-f*j+c),a.endFill(),a.lineStyle(i,g,1),a.moveTo(-e/2*j+f*k+b,-e/2*k+f*j+c),a.lineTo(e/2*j+f*k+b,e/2*k+f*j+c),a.moveTo(-e/2*j-f*k+b,-e/2*k-f*j+c),a.lineTo(e/2*j-f*k+b,e/2*k-f*j+c)},randomPastelHex:function(){var a,b,c,d;return c=[255,255,255],d=Math.floor(256*Math.random()),b=Math.floor(256*Math.random()),a=Math.floor(256*Math.random()),d=Math.floor((d+3*c[0])/4),b=Math.floor((b+3*c[1])/4),a=Math.floor((a+3*c[2])/4),this.rgbToHex(d,b,a)},rgbToHex:function(a,b,c){return this.componentToHex(a)+this.componentToHex(b)+this.componentToHex(c)},componentToHex:function(a){var b;return b=a.toString(16),2===b.len?b:b+"0"}}),c.Physics.P2.Spring=function(a,b,c,d,e,f,g,h,i,j){this.game=a.game,this.world=a,void 0===d&&(d=1),void 0===e&&(e=100),void 0===f&&(f=1),d=a.pxm(d);var k={restLength:d,stiffness:e,damping:f};"undefined"!=typeof g&&null!==g&&(k.worldAnchorA=[a.pxm(g[0]),a.pxm(g[1])]),"undefined"!=typeof h&&null!==h&&(k.worldAnchorB=[a.pxm(h[0]),a.pxm(h[1])]),"undefined"!=typeof i&&null!==i&&(k.localAnchorA=[a.pxm(i[0]),a.pxm(i[1])]),"undefined"!=typeof j&&null!==j&&(k.localAnchorB=[a.pxm(j[0]),a.pxm(j[1])]),this.data=new p2.LinearSpring(b,c,k),this.data.parent=this},c.Physics.P2.Spring.prototype.constructor=c.Physics.P2.Spring,c.Physics.P2.RotationalSpring=function(a,b,c,d,e,f){this.game=a.game,this.world=a,void 0===d&&(d=null),void 0===e&&(e=100),void 0===f&&(f=1),d&&(d=a.pxm(d));var g={restAngle:d,stiffness:e,damping:f};this.data=new p2.RotationalSpring(b,c,g),this.data.parent=this},c.Physics.P2.Spring.prototype.constructor=c.Physics.P2.Spring,c.Physics.P2.Material=function(a){this.name=a,p2.Material.call(this)},c.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),c.Physics.P2.Material.prototype.constructor=c.Physics.P2.Material,c.Physics.P2.ContactMaterial=function(a,b,c){p2.ContactMaterial.call(this,a,b,c)},c.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),c.Physics.P2.ContactMaterial.prototype.constructor=c.Physics.P2.ContactMaterial,c.Physics.P2.CollisionGroup=function(a){this.mask=a},c.Physics.P2.DistanceConstraint=function(a,b,c,d,e,f,g){void 0===d&&(d=100),void 0===e&&(e=[0,0]),void 0===f&&(f=[0,0]),void 0===g&&(g=Number.MAX_VALUE),this.game=a.game,this.world=a,d=a.pxm(d),e=[a.pxmi(e[0]),a.pxmi(e[1])],f=[a.pxmi(f[0]),a.pxmi(f[1])];var h={distance:d,localAnchorA:e,localAnchorB:f,maxForce:g};p2.DistanceConstraint.call(this,b,c,h)},c.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),c.Physics.P2.DistanceConstraint.prototype.constructor=c.Physics.P2.DistanceConstraint,c.Physics.P2.GearConstraint=function(a,b,c,d,e){void 0===d&&(d=0),void 0===e&&(e=1),this.game=a.game,this.world=a;var f={angle:d,ratio:e};p2.GearConstraint.call(this,b,c,f)},c.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),c.Physics.P2.GearConstraint.prototype.constructor=c.Physics.P2.GearConstraint,c.Physics.P2.LockConstraint=function(a,b,c,d,e,f){void 0===d&&(d=[0,0]),void 0===e&&(e=0),void 0===f&&(f=Number.MAX_VALUE),this.game=a.game,this.world=a,d=[a.pxm(d[0]),a.pxm(d[1])];var g={localOffsetB:d,localAngleB:e,maxForce:f};p2.LockConstraint.call(this,b,c,g)},c.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),c.Physics.P2.LockConstraint.prototype.constructor=c.Physics.P2.LockConstraint,c.Physics.P2.PrismaticConstraint=function(a,b,c,d,e,f,g,h){void 0===d&&(d=!0),void 0===e&&(e=[0,0]),void 0===f&&(f=[0,0]),void 0===g&&(g=[0,0]),void 0===h&&(h=Number.MAX_VALUE),this.game=a.game,this.world=a,e=[a.pxmi(e[0]),a.pxmi(e[1])],f=[a.pxmi(f[0]),a.pxmi(f[1])];var i={localAnchorA:e,localAnchorB:f,localAxisA:g,maxForce:h,disableRotationalLock:!d};p2.PrismaticConstraint.call(this,b,c,i)},c.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),c.Physics.P2.PrismaticConstraint.prototype.constructor=c.Physics.P2.PrismaticConstraint,c.Physics.P2.RevoluteConstraint=function(a,b,c,d,e,f,g){void 0===f&&(f=Number.MAX_VALUE),void 0===g&&(g=null),this.game=a.game,this.world=a,c=[a.pxmi(c[0]),a.pxmi(c[1])],e=[a.pxmi(e[0]),a.pxmi(e[1])],g&&(g=[a.pxmi(g[0]),a.pxmi(g[1])]);var h={worldPivot:g,localPivotA:c,localPivotB:e,maxForce:f};p2.RevoluteConstraint.call(this,b,d,h)},c.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),c.Physics.P2.RevoluteConstraint.prototype.constructor=c.Physics.P2.RevoluteConstraint,c.ImageCollection=function(a,b,c,d,e,f,g){(void 0===c||0>=c)&&(c=32),(void 0===d||0>=d)&&(d=32),void 0===e&&(e=0),void 0===f&&(f=0),this.name=a,this.firstgid=0|b,this.imageWidth=0|c,this.imageHeight=0|d,this.imageMargin=0|e,this.imageSpacing=0|f,this.properties=g||{},this.images=[],this.total=0},c.ImageCollection.prototype={containsImageIndex:function(a){return a>=this.firstgid&&athis.right||b>this.bottom)},intersects:function(a,b,c,d){return c<=this.worldX?!1:d<=this.worldY?!1:a>=this.worldX+this.width?!1:b>=this.worldY+this.height?!1:!0},setCollisionCallback:function(a,b){this.collisionCallback=a,this.collisionCallbackContext=b},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(a,b,c,d){this.collideLeft=a,this.collideRight=b,this.collideUp=c,this.collideDown=d,this.faceLeft=a,this.faceRight=b,this.faceTop=c,this.faceBottom=d},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(a,b){return a&&b?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:a?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:b?this.faceTop||this.faceBottom||this.faceLeft||this.faceRight:!1},copy:function(a){this.index=a.index,this.alpha=a.alpha,this.properties=a.properties,this.collideUp=a.collideUp,this.collideDown=a.collideDown,this.collideLeft=a.collideLeft,this.collideRight=a.collideRight,this.collisionCallback=a.collisionCallback,this.collisionCallbackContext=a.collisionCallbackContext}},c.Tile.prototype.constructor=c.Tile,Object.defineProperty(c.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(c.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(c.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(c.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(c.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(c.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),c.Tilemap=function(a,b,d,e,f,g){this.game=a,this.key=b;var h=c.TilemapParser.parse(this.game,b,d,e,f,g);null!==h&&(this.width=h.width,this.height=h.height,this.tileWidth=h.tileWidth,this.tileHeight=h.tileHeight,this.orientation=h.orientation,this.format=h.format,this.version=h.version,this.properties=h.properties,this.widthInPixels=h.widthInPixels,this.heightInPixels=h.heightInPixels,this.layers=h.layers,this.tilesets=h.tilesets,this.imagecollections=h.imagecollections,this.tiles=h.tiles,this.objects=h.objects,this.collideIndexes=[],this.collision=h.collision,this.images=h.images,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},c.Tilemap.CSV=0,c.Tilemap.TILED_JSON=1,c.Tilemap.NORTH=0,c.Tilemap.EAST=1,c.Tilemap.SOUTH=2,c.Tilemap.WEST=3,c.Tilemap.prototype={create:function(a,b,c,d,e,f){return void 0===f&&(f=this.game.world),this.width=b,this.height=c,this.setTileSize(d,e),this.layers.length=0,this.createBlankLayer(a,b,c,d,e,f)},setTileSize:function(a,b){this.tileWidth=a,this.tileHeight=b,this.widthInPixels=this.width*a,this.heightInPixels=this.height*b},addTilesetImage:function(a,b,d,e,f,g,h){if(void 0===a)return null;void 0===d&&(d=this.tileWidth),void 0===e&&(e=this.tileHeight),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=0),0===d&&(d=32),0===e&&(e=32);var i=null;if((void 0===b||null===b)&&(b=a),b instanceof c.BitmapData)i=b.canvas;else{if(!this.game.cache.checkImageKey(b))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+b+'"'),null;i=this.game.cache.getImage(b)}var j=this.getTilesetIndex(a);if(null===j&&this.format===c.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+b+'"'),null;if(this.tilesets[j])return this.tilesets[j].setImage(i),this.tilesets[j];var k=new c.Tileset(a,h,d,e,f,g,{});k.setImage(i),this.tilesets.push(k);for(var l=this.tilesets.length-1,m=f,n=f,o=0,p=0,q=0,r=h;rl;l++)if(-1!==a.indexOf(this._results[l].index)){j=new g.customClass(this.game,this._results[l].worldX,this._results[l].worldY,d);for(var n in g)j[n]=g[n];f.add(j),k++}if(1===b.length)for(l=0;l1)for(l=0;lthis.layers.length?void console.warn("Tilemap.createLayer: Invalid layer ID given: "+f):e.add(new c.TilemapLayer(this.game,this,f,b,d))},createBlankLayer:function(a,b,d,e,f,g){if(void 0===g&&(g=this.game.world),null!==this.getLayerIndex(a))return void console.warn("Tilemap.createBlankLayer: Layer with matching name already exists");for(var h,i={name:a,x:0,y:0,width:b,height:d,widthInPixels:b*e,heightInPixels:d*f,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},j=[],k=0;d>k;k++){h=[];for(var l=0;b>l;l++)h.push(new c.Tile(i,-1,l,k,e,f));j.push(h)}i.data=j,this.layers.push(i),this.currentLayer=this.layers.length-1;var m=i.widthInPixels,n=i.heightInPixels;m>this.game.width&&(m=this.game.width),n>this.game.height&&(n=this.game.height);var j=new c.TilemapLayer(this.game,this,this.layers.length-1,m,n);return j.name=a,g.add(j)},getIndex:function(a,b){for(var c=0;ce;e++)this.layers[d].callbacks[a[e]]={callback:b,callbackContext:c}},setTileLocationCallback:function(a,b,c,d,e,f,g){if(g=this.getLayer(g),this.copy(a,b,c,d,g),!(this._results.length<2))for(var h=1;hb)){for(var f=a;b>=f;f++)this.setCollisionByIndex(f,c,d,!1);e&&this.calculateFaces(d)}},setCollisionByExclusion:function(a,b,c,d){void 0===b&&(b=!0),void 0===d&&(d=!0),c=this.getLayer(c);for(var e=0,f=this.tiles.length;f>e;e++)-1===a.indexOf(e)&&this.setCollisionByIndex(e,b,c,!1);d&&this.calculateFaces(c)},setCollisionByIndex:function(a,b,c,d){if(void 0===b&&(b=!0),void 0===c&&(c=this.currentLayer),void 0===d&&(d=!0),b)this.collideIndexes.push(a);else{var e=this.collideIndexes.indexOf(a);e>-1&&this.collideIndexes.splice(e,1)}for(var f=0;ff;f++)for(var h=0,i=this.layers[a].width;i>h;h++){var j=this.layers[a].data[f][h];j&&(b=this.getTileAbove(a,h,f),c=this.getTileBelow(a,h,f),d=this.getTileLeft(a,h,f),e=this.getTileRight(a,h,f),j.collides&&(j.faceTop=!0,j.faceBottom=!0,j.faceLeft=!0,j.faceRight=!0),b&&b.collides&&(j.faceTop=!1),c&&c.collides&&(j.faceBottom=!1),d&&d.collides&&(j.faceLeft=!1),e&&e.collides&&(j.faceRight=!1))}},getTileAbove:function(a,b,c){return c>0?this.layers[a].data[c-1][b]:null},getTileBelow:function(a,b,c){return c0?this.layers[a].data[c][b-1]:null},getTileRight:function(a,b,c){return b-1},removeTile:function(a,b,d){if(d=this.getLayer(d),a>=0&&a=0&&b=0&&b=0&&d-1?this.layers[e].data[d][b].setCollision(!0,!0,!0,!0):this.layers[e].data[d][b].resetCollision(),this.layers[e].dirty=!0,this.calculateFaces(e),this.layers[e].data[d][b]}return null},putTileWorldXY:function(a,b,c,d,e,f){return f=this.getLayer(f),b=this.game.math.snapToFloor(b,d)/d,c=this.game.math.snapToFloor(c,e)/e,this.putTile(a,b,c,f)},searchTileIndex:function(a,b,c,d){void 0===b&&(b=0),void 0===c&&(c=!1),d=this.getLayer(d);var e=0;if(c){for(var f=this.layers[d].height-1;f>=0;f--)for(var g=this.layers[d].width-1;g>=0;g--)if(this.layers[d].data[f][g].index===a){if(e===b)return this.layers[d].data[f][g];e++}}else for(var f=0;f=0&&a=0&&ba&&(a=0),0>b&&(b=0),c>this.layers[e].width&&(c=this.layers[e].width),d>this.layers[e].height&&(d=this.layers[e].height),this._results.length=0,this._results.push({x:a,y:b,width:c,height:d,layer:e});for(var f=b;b+d>f;f++)for(var g=a;a+c>g;g++)this._results.push(this.layers[e].data[f][g]);return this._results},paste:function(a,b,c,d){if(void 0===a&&(a=0),void 0===b&&(b=0),d=this.getLayer(d),c&&!(c.length<2)){for(var e=a-c[1].x,f=b-c[1].y,g=1;g1?this.debugMap[this.layers[this.currentLayer].data[c][d]]?b.push("background: "+this.debugMap[this.layers[this.currentLayer].data[c][d]]):b.push("background: #ffffff"):b.push("background: rgb(0, 0, 0)");a+="\n"}b[0]=a,console.log.apply(console,b)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},c.Tilemap.prototype.constructor=c.Tilemap,Object.defineProperty(c.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(a){a!==this.currentLayer&&this.setLayer(a)}}),c.TilemapLayer=function(a,b,d,e,f){e|=0,f|=0,c.Sprite.call(this,a,0,0),this.map=b,this.index=d,this.layer=b.layers[d],this.canvas=PIXI.CanvasPool.create(this,e,f),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas))),this.type=c.TILEMAPLAYER,this.physicsType=c.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!1,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:b.tileWidth,tileHeight:b.tileHeight,cw:b.tileWidth,ch:b.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this._results=[],a.device.canvasBitBltShift||(this.renderSettings.copyCanvas=c.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},c.TilemapLayer.prototype=Object.create(c.Sprite.prototype),c.TilemapLayer.prototype.constructor=c.TilemapLayer,c.TilemapLayer.prototype.preUpdateCore=c.Component.Core.preUpdate,c.TilemapLayer.sharedCopyCanvas=null,c.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=c.Canvas.create(2,2)),this.sharedCopyCanvas},c.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},c.TilemapLayer.prototype.postUpdate=function(){c.Component.FixedToCamera.postUpdate.call(this);var a=this.game.camera;this.scrollX=a.x*this.scrollFactorX/this.scale.x,this.scrollY=a.y*this.scrollFactorY/this.scale.y,this.render()},c.TilemapLayer.prototype.destroy=function(){PIXI.CanvasPool.remove(this),c.Component.Destroy.prototype.destroy.call(this)},c.TilemapLayer.prototype.resize=function(a,b){this.canvas.width=a,this.canvas.height=b,this.texture.frame.resize(a,b),this.texture.width=a,this.texture.height=b,this.texture.crop.width=a,this.texture.crop.height=b,this.texture.baseTexture.width=a,this.texture.baseTexture.height=b,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},c.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},c.TilemapLayer.prototype._fixX=function(a){return 0>a&&(a=0),1===this.scrollFactorX?a:this._scrollX+(a-this._scrollX/this.scrollFactorX)},c.TilemapLayer.prototype._unfixX=function(a){return 1===this.scrollFactorX?a:this._scrollX/this.scrollFactorX+(a-this._scrollX)},c.TilemapLayer.prototype._fixY=function(a){return 0>a&&(a=0),1===this.scrollFactorY?a:this._scrollY+(a-this._scrollY/this.scrollFactorY)},c.TilemapLayer.prototype._unfixY=function(a){return 1===this.scrollFactorY?a:this._scrollY/this.scrollFactorY+(a-this._scrollY)},c.TilemapLayer.prototype.getTileX=function(a){return Math.floor(this._fixX(a)/this._mc.tileWidth)},c.TilemapLayer.prototype.getTileY=function(a){return Math.floor(this._fixY(a)/this._mc.tileHeight)},c.TilemapLayer.prototype.getTileXY=function(a,b,c){return c.x=this.getTileX(a),c.y=this.getTileY(b),c},c.TilemapLayer.prototype.getRayCastTiles=function(a,b,c,d){ -b||(b=this.rayStepRate),void 0===c&&(c=!1),void 0===d&&(d=!1);var e=this.getTiles(a.x,a.y,a.width,a.height,c,d);if(0===e.length)return[];for(var f=a.coordinatesOnLine(b),g=[],h=0;hl;l++)for(var m=h;h+j>m;m++){var n=this.layer.data[l];n&&n[m]&&(g||n[m].isInteresting(e,f))&&this._results.push(n[m])}return this._results.slice()},c.TilemapLayer.prototype.resolveTileset=function(a){var b=this._mc.tilesets;if(2e3>a)for(;b.lengthb&&(g=-b,i=0),0>c&&(h=-c,j=0);var k=this.renderSettings.copyCanvas;if(k){(k.width=c&&(c=Math.max(0,c),e=Math.min(h-1,e)),f>=d&&(d=Math.max(0,d),f=Math.min(i-1,f)));var n,o,p,q,r,s,t=c*j-a,u=d*k-b,v=(c+(1<<20)*h)%h,w=(d+(1<<20)*i)%i;for(g.fillStyle=this.tileColor,q=w,s=f-d,o=u;s>=0;q++,s--,o+=k){q>=i&&(q-=i);var x=this.layer.data[q];for(p=v,r=e-c,n=t;r>=0;p++,r--,n+=j){p>=h&&(p-=h);var y=x[p];if(y&&!(y.index<0)){var z=y.index,A=l[z];void 0===A&&(A=this.resolveTileset(z)),y.alpha===m||this.debug||(g.globalAlpha=y.alpha,m=y.alpha),A?y.rotation||y.flipped?(g.save(),g.translate(n+y.centerX,o+y.centerY),g.rotate(y.rotation),y.flipped&&g.scale(-1,1),A.draw(g,-y.centerX,-y.centerY,z),g.restore()):A.draw(g,n,o,z):this.debugSettings.missingImageFill&&(g.fillStyle=this.debugSettings.missingImageFill,g.fillRect(n,o,j,k)),y.debug&&this.debugSettings.debuggedTileOverfill&&(g.fillStyle=this.debugSettings.debuggedTileOverfill,g.fillRect(n,o,j,k))}}}},c.TilemapLayer.prototype.renderDeltaScroll=function(a,b){var c=this._mc.scrollX,d=this._mc.scrollY,e=this.canvas.width,f=this.canvas.height,g=this._mc.tileWidth,h=this._mc.tileHeight,i=0,j=-g,k=0,l=-h;if(0>a?(i=e+a,j=e-1):a>0&&(j=a),0>b?(k=f+b,l=f-1):b>0&&(l=b),this.shiftCanvas(this.context,a,b),i=Math.floor((i+c)/g),j=Math.floor((j+c)/g),k=Math.floor((k+d)/h),l=Math.floor((l+d)/h),j>=i){this.context.clearRect(i*g-c,0,(j-i+1)*g,f);var m=Math.floor((0+d)/h),n=Math.floor((f-1+d)/h);this.renderRegion(c,d,i,m,j,n)}if(l>=k){this.context.clearRect(0,k*h-d,e,(l-k+1)*h);var o=Math.floor((0+c)/g),p=Math.floor((e-1+c)/g);this.renderRegion(c,d,o,k,p,l)}},c.TilemapLayer.prototype.renderFull=function(){var a=this._mc.scrollX,b=this._mc.scrollY,c=this.canvas.width,d=this.canvas.height,e=this._mc.tileWidth,f=this._mc.tileHeight,g=Math.floor(a/e),h=Math.floor((c-1+a)/e),i=Math.floor(b/f),j=Math.floor((d-1+b)/f);this.context.clearRect(0,0,c,d),this.renderRegion(a,b,g,i,h,j)},c.TilemapLayer.prototype.render=function(){var a=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,a=!0);var b=this.canvas.width,c=this.canvas.height,d=0|this._scrollX,e=0|this._scrollY,f=this._mc,g=f.scrollX-d,h=f.scrollY-e;if(a||0!==g||0!==h||f.renderWidth!==b||f.renderHeight!==c)return this.context.save(),f.scrollX=d,f.scrollY=e,(f.renderWidth!==b||f.renderHeight!==c)&&(f.renderWidth=b,f.renderHeight=c),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(a=!0)),!a&&this.renderSettings.enableScrollDelta&&Math.abs(g)+Math.abs(h)=0;d++,f--,b+=o){d>=m&&(d-=m);var x=this.layer.data[d];for(c=v,e=q-p,a=t;e>=0;c++,e--,a+=n){c>=l&&(c-=l);var y=x[c];!y||y.index<0||!y.collides||(this.debugSettings.collidingTileOverfill&&(i.fillStyle=this.debugSettings.collidingTileOverfill,i.fillRect(a,b,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(i.beginPath(),y.faceTop&&(i.moveTo(a,b),i.lineTo(a+this._mc.cw,b)),y.faceBottom&&(i.moveTo(a,b+this._mc.ch),i.lineTo(a+this._mc.cw,b+this._mc.ch)),y.faceLeft&&(i.moveTo(a,b),i.lineTo(a,b+this._mc.ch)),y.faceRight&&(i.moveTo(a+this._mc.cw,b),i.lineTo(a+this._mc.cw,b+this._mc.ch)),i.stroke()))}}},Object.defineProperty(c.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(a){this._wrap=a,this.dirty=!0}}),Object.defineProperty(c.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(a){this._scrollX=a}}),Object.defineProperty(c.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(a){this._scrollY=a}}),Object.defineProperty(c.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(a){this._mc.cw=0|a,this.dirty=!0}}),Object.defineProperty(c.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(a){this._mc.ch=0|a,this.dirty=!0}}),c.TilemapParser={INSERT_NULL:!1,parse:function(a,b,d,e,f,g){if(void 0===d&&(d=32),void 0===e&&(e=32),void 0===f&&(f=10),void 0===g&&(g=10),void 0===b)return this.getEmptyData();if(null===b)return this.getEmptyData(d,e,f,g);var h=a.cache.getTilemapData(b);if(h){if(h.format===c.Tilemap.CSV)return this.parseCSV(b,h.data,d,e);if(!h.format||h.format===c.Tilemap.TILED_JSON)return this.parseTiledJSON(h.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+b)},parseCSV:function(a,b,d,e){var f=this.getEmptyData();b=b.trim();for(var g=[],h=b.split("\n"),i=h.length,j=0,k=0;kf;f+=4)j[f/4]=(h.charCodeAt(f)|h.charCodeAt(f+1)<<8|h.charCodeAt(f+2)<<16|h.charCodeAt(f+3)<<24)>>>0;g.data=j}var k={name:g.name,x:g.x,y:g.y,width:g.width,height:g.height,widthInPixels:g.width*a.tilewidth,heightInPixels:g.height*a.tileheight,alpha:g.opacity,visible:g.visible,properties:{},indexes:[],callbacks:[],bodies:[]};g.properties&&(k.properties=g.properties);for(var l,m,n,o,p=0,q=[],r=[],s=0,i=g.data.length;i>s;s++){if(l=0,m=!1,o=g.data[s],o>536870912)switch(n=0,o>2147483648&&(o-=2147483648,n+=4),o>1073741824&&(o-=1073741824,n+=2),o>536870912&&(o-=536870912,n+=1),n){case 5:l=Math.PI/2;break;case 6:l=Math.PI;break;case 3:l=3*Math.PI/2;break;case 4:l=0,m=!0;break;case 7:l=Math.PI/2,m=!0;break;case 2:l=Math.PI,m=!0;break;case 1:l=3*Math.PI/2,m=!0}o>0?(q.push(new c.Tile(k,o,p,r.length,a.tilewidth,a.tileheight)),q[q.length-1].rotation=l,q[q.length-1].flipped=m):c.TilemapParser.INSERT_NULL?q.push(null):q.push(new c.Tile(k,-1,p,r.length,a.tilewidth,a.tileheight)),p++,p===g.width&&(r.push(q),p=0,q=[])}k.data=r,e.push(k)}d.layers=e;for(var t=[],f=0;fE;E++)if(D.objects[E].gid){var F={gid:D.objects[E].gid,name:D.objects[E].name,type:D.objects[E].hasOwnProperty("type")?D.objects[E].type:"",x:D.objects[E].x,y:D.objects[E].y,visible:D.objects[E].visible,properties:D.objects[E].properties};D.objects[E].rotation&&(F.rotation=D.objects[E].rotation),B[D.name].push(F)}else if(D.objects[E].polyline){var F={name:D.objects[E].name,type:D.objects[E].type,x:D.objects[E].x,y:D.objects[E].y,width:D.objects[E].width,height:D.objects[E].height,visible:D.objects[E].visible,properties:D.objects[E].properties};D.objects[E].rotation&&(F.rotation=D.objects[E].rotation),F.polyline=[];for(var G=0;G=c)&&(c=32),(void 0===d||0>=d)&&(d=32),void 0===e&&(e=0),void 0===f&&(f=0),this.name=a,this.firstgid=0|b,this.tileWidth=0|c,this.tileHeight=0|d,this.tileMargin=0|e,this.tileSpacing=0|f,this.properties=g||{},this.image=null,this.rows=0,this.columns=0,this.total=0,this.drawCoords=[]},c.Tileset.prototype={draw:function(a,b,c,d){var e=d-this.firstgid<<1;e>=0&&e+1=this.firstgid&&a=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(var a=0;a=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._quantity>0&&this._counter>=this._quantity&&(this.on=!1));for(var a=this.children.length;a--;)this.children[a].exists&&this.children[a].update()},c.Particles.Arcade.Emitter.prototype.makeParticles=function(a,b,c,d,e){void 0===b&&(b=0),void 0===c&&(c=this.maxParticles),void 0===d&&(d=!1),void 0===e&&(e=!1);var f,g=0,h=a,i=b;for(this._frames=b,c>this.maxParticles&&(this.maxParticles=c);c>g;)Array.isArray(a)&&(h=this.game.rnd.pick(a)),Array.isArray(b)&&(i=this.game.rnd.pick(b)),f=new this.particleClass(this.game,0,0,h,i),this.game.physics.arcade.enable(f,!1),d?(f.body.checkCollision.any=!0,f.body.checkCollision.none=!1):f.body.checkCollision.none=!0,f.body.collideWorldBounds=e,f.body.skipQuadTree=!0,f.exists=!1,f.visible=!1,f.anchor.copyFrom(this.particleAnchor),this.add(f),g++;return this},c.Particles.Arcade.Emitter.prototype.kill=function(){this.on=!1,this.alive=!1,this.exists=!1},c.Particles.Arcade.Emitter.prototype.revive=function(){this.alive=!0,this.exists=!0},c.Particles.Arcade.Emitter.prototype.explode=function(a,b){this._flowTotal=0,this.start(!0,a,0,b,!1)},c.Particles.Arcade.Emitter.prototype.flow=function(a,b,c,d,e){(void 0===c||0===c)&&(c=1),void 0===d&&(d=-1),void 0===e&&(e=!0),c>this.maxParticles&&(c=this.maxParticles),this._counter=0,this._flowQuantity=c,this._flowTotal=d,e?(this.start(!0,a,b,c),this._counter+=c,this.on=!0,this._timer=this.game.time.time+b*this.game.time.slowMotion):this.start(!1,a,b,c)},c.Particles.Arcade.Emitter.prototype.start=function(a,b,c,d,e){if(void 0===a&&(a=!0),void 0===b&&(b=0),(void 0===c||null===c)&&(c=250),void 0===d&&(d=0),void 0===e&&(e=!1),d>this.maxParticles&&(d=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=b,this.frequency=c,a||e)for(var f=0;d>f;f++)this.emitParticle();else this.on=!0,this._quantity+=d,this._counter=0,this._timer=this.game.time.time+c*this.game.time.slowMotion},c.Particles.Arcade.Emitter.prototype.emitParticle=function(a,b,c,d){void 0===a&&(a=null),void 0===b&&(b=null);var e=this.getFirstExists(!1);if(null===e)return!1;var f=this.game.rnd;void 0!==c&&void 0!==d?e.loadTexture(c,d):void 0!==c&&e.loadTexture(c);var g=this.emitX,h=this.emitY;null!==a?g=a:this.width>1&&(g=f.between(this.left,this.right)),null!==b?h=b:this.height>1&&(h=f.between(this.top,this.bottom)),e.reset(g,h),e.angle=0,e.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(e):this.particleSendToBack&&this.sendToBack(e),this.autoScale?e.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?e.scale.set(f.realInRange(this.minParticleScale,this.maxParticleScale)):(this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y)&&e.scale.set(f.realInRange(this._minParticleScale.x,this._maxParticleScale.x),f.realInRange(this._minParticleScale.y,this._maxParticleScale.y)),void 0===d&&(Array.isArray(this._frames)?e.frame=this.game.rnd.pick(this._frames):e.frame=this._frames),this.autoAlpha?e.setAlphaData(this.alphaData):e.alpha=f.realInRange(this.minParticleAlpha,this.maxParticleAlpha),e.blendMode=this.blendMode;var i=e.body;return i.updateBounds(),i.bounce.copyFrom(this.bounce),i.drag.copyFrom(this.particleDrag),i.velocity.x=f.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),i.velocity.y=f.between(this.minParticleSpeed.y,this.maxParticleSpeed.y),i.angularVelocity=f.between(this.minRotation,this.maxRotation),i.gravity.y=this.gravity,i.angularDrag=this.angularDrag,e.onEmit(),!0},c.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),c.Group.prototype.destroy.call(this,!0,!1)},c.Particles.Arcade.Emitter.prototype.setSize=function(a,b){this.area.width=a,this.area.height=b},c.Particles.Arcade.Emitter.prototype.setXSpeed=function(a,b){a=a||0,b=b||0,this.minParticleSpeed.x=a,this.maxParticleSpeed.x=b},c.Particles.Arcade.Emitter.prototype.setYSpeed=function(a,b){a=a||0,b=b||0,this.minParticleSpeed.y=a,this.maxParticleSpeed.y=b},c.Particles.Arcade.Emitter.prototype.setRotation=function(a,b){a=a||0,b=b||0,this.minRotation=a,this.maxRotation=b},c.Particles.Arcade.Emitter.prototype.setAlpha=function(a,b,d,e,f){if(void 0===a&&(a=1),void 0===b&&(b=1),void 0===d&&(d=0),void 0===e&&(e=c.Easing.Linear.None),void 0===f&&(f=!1),this.minParticleAlpha=a,this.maxParticleAlpha=b,this.autoAlpha=!1,d>0&&a!==b){var g={v:a},h=this.game.make.tween(g).to({v:b},d,e);h.yoyo(f),this.alphaData=h.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}},c.Particles.Arcade.Emitter.prototype.setScale=function(a,b,d,e,f,g,h){if(void 0===a&&(a=1),void 0===b&&(b=1),void 0===d&&(d=1),void 0===e&&(e=1),void 0===f&&(f=0),void 0===g&&(g=c.Easing.Linear.None),void 0===h&&(h=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(a,d),this._maxParticleScale.set(b,e),this.autoScale=!1,f>0&&(a!==b||d!==e)){var i={x:a,y:d},j=this.game.make.tween(i).to({x:b,y:e},f,g);j.yoyo(h),this.scaleData=j.generateData(60),this.scaleData.reverse(),this.autoScale=!0}},c.Particles.Arcade.Emitter.prototype.at=function(a){a.center?(this.emitX=a.center.x,this.emitY=a.center.y):(this.emitX=a.world.x+a.anchor.x*a.width,this.emitY=a.world.y+a.anchor.y*a.height)},Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(a){this.area.width=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(a){this.area.height=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(a){this.emitX=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(a){this.emitY=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),c.Video=function(a,b,d){if(void 0===b&&(b=null),void 0===d&&(d=null),this.game=a,this.key=b,this.width=0,this.height=0,this.type=c.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new c.Signal,this.onChangeSource=new c.Signal,this.onComplete=new c.Signal,this.onAccess=new c.Signal,this.onError=new c.Signal,this.onTimeout=new c.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._autoplay=!1,b&&this.game.cache.checkVideoKey(b)){var e=this.game.cache.getVideo(b);e.isBlob?this.createVideoFromBlob(e.data):this.video=e.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else d&&this.createVideoFromURL(d,!1);this.video&&!d?(this.baseTexture=new PIXI.BaseTexture(this.video),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(PIXI.TextureCache.__default.baseTexture.source),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==b&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,c.BitmapData&&(this.snapshot=new c.BitmapData(this.game,"",this.width,this.height)),!this.game.device.cocoonJS&&(this.game.device.iOS||this.game.device.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock?this.setTouchLock():e&&(e.locked=!1)},c.Video.prototype={connectToMediaStream:function(a,b){return a&&b&&(this.video=a,this.videoStream=b,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(a,b,c){if(void 0===a&&(a=!1),void 0===b&&(b=null),void 0===c&&(c=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==b&&(this.video.width=b),null!==c&&(this.video.height=c),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:a,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(d){this.getUserMediaError(d)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(a){clearTimeout(this._timeOutID),this.onError.dispatch(this,a)},getUserMediaSuccess:function(a){clearTimeout(this._timeOutID),this.videoStream=a,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=a:this.video.src=window.URL&&window.URL.createObjectURL(a)||a;var b=this;this.video.onloadeddata=function(){function a(){if(c>0)if(b.video.videoWidth>0){var d=b.video.videoWidth,e=b.video.videoHeight;isNaN(b.video.videoHeight)&&(e=d/(4/3)),b.video.play(),b.isStreaming=!0,b.baseTexture.source=b.video,b.updateTexture(null,d,e),b.onAccess.dispatch(b)}else window.setTimeout(a,500);else console.warn("Unable to connect to video stream. Webcam error?");c--}var c=10;a()}},createVideoFromBlob:function(a){var b=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(a){b.updateTexture(a)},!0),this.video.src=window.URL.createObjectURL(a),this.video.canplay=!0,this},createVideoFromURL:function(a,b){return void 0===b&&(b=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,b&&this.video.setAttribute("autoplay","autoplay"),this.video.src=a,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=a,this},updateTexture:function(a,b,c){var d=!1;(void 0===b||null===b)&&(b=this.video.videoWidth,d=!0),(void 0===c||null===c)&&(c=this.video.videoHeight),this.width=b,this.height=c,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(b,c),this.texture.frame.resize(b,c),this.texture.width=b,this.texture.height=c,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(b,c),d&&null!==this.key&&(this.onChangeSource.dispatch(this,b,c),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(a,b){return void 0===a&&(a=!1),void 0===b&&(b=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this.video.addEventListener("ended",this.complete.bind(this),!0),a?this.video.loop="loop":this.video.loop="",this.video.playbackRate=b,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):this.video.addEventListener("playing",this.playHandler.bind(this),!0)),this.video.play(),this.onPlay.dispatch(this,a,b)),this},playHandler:function(){this.video.removeEventListener("playing",this.playHandler.bind(this)),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this.complete.bind(this),!0),this.video.removeEventListener("playing",this.playHandler.bind(this),!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(a){if(Array.isArray(a))for(var b=0;b0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming))},setTouchLock:function(){this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var a=this.game.cache.getVideo(this.key);a&&!a.isBlob&&(a.locked=!1)}return!0},grab:function(a,b,c){return void 0===a&&(a=!1),void 0===b&&(b=1),void 0===c&&(c=null), -null===this.snapshot?void console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable"):(a&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,b,c),this.snapshot)},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(c.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(a){this.video.currentTime=a}}),Object.defineProperty(c.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(c.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(c.Video.prototype,"mute",{get:function(){return this._muted},set:function(a){if(a=a||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(c.Video.prototype,"paused",{get:function(){return this._paused},set:function(a){if(a=a||null,!this.touchLocked)if(a){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(c.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(a){0>a?a=0:a>1&&(a=1),this.video&&(this.video.volume=a)}}),Object.defineProperty(c.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(a){this.video&&(this.video.playbackRate=a)}}),Object.defineProperty(c.Video.prototype,"loop",{get:function(){return this.video?this.video.loop:!1},set:function(a){a&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(c.Video.prototype,"playing",{get:function(){return!(this.video.paused&&this.video.ended)}}),c.Video.prototype.constructor=c.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=c.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=c.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new PIXI.Matrix),void 0===PIXI.RenderTexture.tempMatrix&&(PIXI.RenderTexture.tempMatrix=new PIXI.Matrix),PIXI.Graphics&&void 0===PIXI.Graphics.POLY&&(PIXI.Graphics.POLY=c.POLYGON,PIXI.Graphics.RECT=c.RECTANGLE,PIXI.Graphics.CIRC=c.CIRCLE,PIXI.Graphics.ELIP=c.ELLIPSE,PIXI.Graphics.RREC=c.ROUNDEDRECTANGLE),PIXI.TextureSilentFail=!0,"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=c),exports.Phaser=c):"undefined"!=typeof define&&define.amd?define("Phaser",function(){return b.Phaser=c}()):b.Phaser=c,c}.call(this); +return b},b.DisplayObjectContainer.prototype.setChildIndex=function(a,b){if(0>b||b>=this.children.length)throw new Error("The supplied index is out of bounds");var c=this.getChildIndex(a);this.children.splice(c,1),this.children.splice(b,0,a)},b.DisplayObjectContainer.prototype.getChildAt=function(a){if(0>a||a>=this.children.length)throw new Error("getChildAt: Supplied index "+a+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[a]},b.DisplayObjectContainer.prototype.removeChild=function(a){var b=this.children.indexOf(a);if(-1!==b)return this.removeChildAt(b)},b.DisplayObjectContainer.prototype.removeChildAt=function(a){var b=this.getChildAt(a);return this.stage&&b.removeStageReference(),b.parent=void 0,this.children.splice(a,1),b},b.DisplayObjectContainer.prototype.removeChildren=function(a,b){var c=a||0,d="number"==typeof b?b:this.children.length,e=d-c;if(e>0&&d>=e){for(var f=this.children.splice(c,e),g=0;gj;j++){var l=this.children[j];l.visible&&(i=!0,a=this.children[j].getBounds(),e=ec?g:c,h=h>d?h:d)}if(!i)return b.EmptyRectangle;var m=this._bounds;return m.x=e,m.y=f,m.width=g-e,m.height=h-f,m},b.DisplayObjectContainer.prototype.getLocalBounds=function(){var a=this.worldTransform;this.worldTransform=b.identityMatrix;for(var c=0,d=this.children.length;d>c;c++)this.children[c].updateTransform();var e=this.getBounds();return this.worldTransform=a,e},b.DisplayObjectContainer.prototype.setStageReference=function(a){this.stage=a;for(var b=0;bi){i*=-1;var s=d;d=-e,e=-s}if(0>l){l*=-1;var s=f;f=-g,g=-s}q=i*e+m,o=i*d+m,r=l*g+n,p=l*f+n}else{var t=i*e+k*g+m,u=l*g+j*e+n,v=i*d+k*g+m,w=l*g+j*d+n,x=i*d+k*f+m,y=l*f+j*d+n,z=i*e+k*f+m,A=l*f+j*e+n;q=q>t?t:q,q=q>v?v:q,q=q>x?x:q,q=q>z?z:q,r=r>u?u:r,r=r>w?w:r,r=r>y?y:r,r=r>A?A:r,o=t>o?t:o,o=v>o?v:o,o=x>o?x:o,o=z>o?z:o,p=u>p?u:p,p=w>p?w:p,p=y>p?y:p,p=A>p?A:p}var B=this._bounds;return B.x=q,B.width=o-q,B.y=r,B.height=p-r,this._currentBounds=B,B},b.Sprite.prototype._renderWebGL=function(a,b){if(this.visible&&!(this.alpha<=0)&&this.renderable){var c=this.worldTransform;if(b&&(c=b),this._mask||this._filters){var d=a.spriteBatch;this._filters&&(d.flush(),a.filterManager.pushFilter(this._filterBlock)),this._mask&&(d.stop(),a.maskManager.pushMask(this.mask,a),d.start()),d.render(this);for(var e=0;e>16&255)/255,(a>>8&255)/255,(255&a)/255]},b.rgb2hex=function(a){return(255*a[0]<<16)+(255*a[1]<<8)+255*a[2]},b.canUseNewCanvasBlendModes=function(){if(void 0===document)return!1;var a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAABAQMAAADD8p2OAAAAA1BMVEX/",c="AAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==",d=new Image;d.src=a+"AP804Oa6"+c;var e=new Image;e.src=a+"/wCKxvRF"+c;var f=b.CanvasPool.create(this,6,1),g=f.getContext("2d");if(g.globalCompositeOperation="multiply",g.drawImage(d,0,0),g.drawImage(e,2,0),!g.getImageData(2,0,1,1))return!1;var h=g.getImageData(2,0,1,1).data;return b.CanvasPool.remove(this),255===h[0]&&0===h[1]&&0===h[2]},b.getNextPowerOfTwo=function(a){if(a>0&&0===(a&a-1))return a;for(var b=1;a>b;)b<<=1;return b},b.isPowerOfTwo=function(a,b){return a>0&&0===(a&a-1)&&b>0&&0===(b&b-1)},b.CanvasPool={create:function(a,c,d){var e,f=b.CanvasPool.getFirst();if(-1===f){var g={parent:a,canvas:document.createElement("canvas")};b.CanvasPool.pool.push(g),e=g.canvas}else b.CanvasPool.pool[f].parent=a,e=b.CanvasPool.pool[f].canvas;return void 0!==c&&(e.width=c,e.height=d),e},getFirst:function(){for(var a=b.CanvasPool.pool,c=0;cd;d+=6,e+=4)this.indices[d+0]=e+0,this.indices[d+1]=e+1,this.indices[d+2]=e+2,this.indices[d+3]=e+0,this.indices[d+4]=e+2,this.indices[d+5]=e+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.dirty=!0,this.textures=[],this.blendModes=[],this.shaders=[],this.sprites=[],this.defaultShader=new b.AbstractFilter(["precision lowp float;","varying vec2 vTextureCoord;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor ;","}"])},b.WebGLSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW),this.currentBlendMode=99999;var c=new b.PixiShader(a);c.fragmentSrc=this.defaultShader.fragmentSrc,c.uniforms={},c.init(),this.defaultShader.shaders[a.id]=c},b.WebGLSpriteBatch.prototype.begin=function(a){this.renderSession=a,this.shader=this.renderSession.shaderManager.defaultShader,this.start()},b.WebGLSpriteBatch.prototype.end=function(){this.flush()},b.WebGLSpriteBatch.prototype.render=function(a,b){var c=a.texture,d=a.worldTransform;b&&(d=b),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture);var e=c._uvs;if(e){var f,g,h,i,j=a.anchor.x,k=a.anchor.y;if(c.trim){var l=c.trim;g=l.x-j*l.width,f=g+c.crop.width,i=l.y-k*l.height,h=i+c.crop.height}else f=c.frame.width*(1-j),g=c.frame.width*-j,h=c.frame.height*(1-k),i=c.frame.height*-k;var m=4*this.currentBatchSize*this.vertSize,n=c.baseTexture.resolution,o=d.a/n,p=d.b/n,q=d.c/n,r=d.d/n,s=d.tx,t=d.ty,u=this.colors,v=this.positions;this.renderSession.roundPixels?(v[m]=o*g+q*i+s|0,v[m+1]=r*i+p*g+t|0,v[m+5]=o*f+q*i+s|0,v[m+6]=r*i+p*f+t|0,v[m+10]=o*f+q*h+s|0,v[m+11]=r*h+p*f+t|0,v[m+15]=o*g+q*h+s|0,v[m+16]=r*h+p*g+t|0):(v[m]=o*g+q*i+s,v[m+1]=r*i+p*g+t,v[m+5]=o*f+q*i+s,v[m+6]=r*i+p*f+t,v[m+10]=o*f+q*h+s,v[m+11]=r*h+p*f+t,v[m+15]=o*g+q*h+s,v[m+16]=r*h+p*g+t),v[m+2]=e.x0,v[m+3]=e.y0,v[m+7]=e.x1,v[m+8]=e.y1,v[m+12]=e.x2,v[m+13]=e.y2,v[m+17]=e.x3,v[m+18]=e.y3;var w=a.tint;u[m+4]=u[m+9]=u[m+14]=u[m+19]=(w>>16)+(65280&w)+((255&w)<<16)+(255*a.worldAlpha<<24),this.sprites[this.currentBatchSize++]=a}},b.WebGLSpriteBatch.prototype.renderTilingSprite=function(a){var c=a.tilingTexture;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=c.baseTexture),a._uvs||(a._uvs=new b.TextureUvs);var d=a._uvs,e=c.baseTexture.width,f=c.baseTexture.height;a.tilePosition.x%=e*a.tileScaleOffset.x,a.tilePosition.y%=f*a.tileScaleOffset.y;var g=a.tilePosition.x/(e*a.tileScaleOffset.x),h=a.tilePosition.y/(f*a.tileScaleOffset.y),i=a.width/e/(a.tileScale.x*a.tileScaleOffset.x),j=a.height/f/(a.tileScale.y*a.tileScaleOffset.y);d.x0=0-g,d.y0=0-h,d.x1=1*i-g,d.y1=0-h,d.x2=1*i-g,d.y2=1*j-h,d.x3=0-g,d.y3=1*j-h;var k=a.tint,l=(k>>16)+(65280&k)+((255&k)<<16)+(255*a.worldAlpha<<24),m=this.positions,n=this.colors,o=a.width,p=a.height,q=a.anchor.x,r=a.anchor.y,s=o*(1-q),t=o*-q,u=p*(1-r),v=p*-r,w=4*this.currentBatchSize*this.vertSize,x=c.baseTexture.resolution,y=a.worldTransform,z=y.a/x,A=y.b/x,B=y.c/x,C=y.d/x,D=y.tx,E=y.ty;m[w++]=z*t+B*v+D,m[w++]=C*v+A*t+E,m[w++]=d.x0,m[w++]=d.y0,n[w++]=l,m[w++]=z*s+B*v+D,m[w++]=C*v+A*s+E,m[w++]=d.x1,m[w++]=d.y1,n[w++]=l,m[w++]=z*s+B*u+D,m[w++]=C*u+A*s+E,m[w++]=d.x2,m[w++]=d.y2,n[w++]=l,m[w++]=z*t+B*u+D,m[w++]=C*u+A*t+E,m[w++]=d.x3,m[w++]=d.y3,n[w++]=l,this.sprites[this.currentBatchSize++]=a},b.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a,c=this.gl;if(this.dirty){this.dirty=!1,c.activeTexture(c.TEXTURE0),c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a=this.defaultShader.shaders[c.id];var d=4*this.vertSize;c.vertexAttribPointer(a.aVertexPosition,2,c.FLOAT,!1,d,0),c.vertexAttribPointer(a.aTextureCoord,2,c.FLOAT,!1,d,8),c.vertexAttribPointer(a.colorAttribute,4,c.UNSIGNED_BYTE,!0,d,16)}if(this.currentBatchSize>.5*this.size)c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices);else{var e=this.positions.subarray(0,4*this.currentBatchSize*this.vertSize);c.bufferSubData(c.ARRAY_BUFFER,0,e)}for(var f,g,h,i,j=0,k=0,l=null,m=this.renderSession.blendModeManager.currentBlendMode,n=null,o=!1,p=!1,q=0,r=this.currentBatchSize;r>q;q++){i=this.sprites[q],f=i.tilingTexture?i.tilingTexture.baseTexture:i.texture.baseTexture,g=i.blendMode,h=i.shader||this.defaultShader,o=m!==g,p=n!==h;var s=f.skipRender;if(s&&i.children.length>0&&(s=!1),(l!==f&&!s||o||p)&&(this.renderBatch(l,j,k),k=q,j=0,l=f,o&&(m=g,this.renderSession.blendModeManager.setBlendMode(m)),p)){n=h,a=n.shaders[c.id],a||(a=new b.PixiShader(c),a.fragmentSrc=n.fragmentSrc,a.uniforms=n.uniforms,a.init(),n.shaders[c.id]=a),this.renderSession.shaderManager.setShader(a),a.dirty&&a.syncUniforms();var t=this.renderSession.projection;c.uniform2f(a.projectionVector,t.x,t.y);var u=this.renderSession.offset;c.uniform2f(a.offsetVector,u.x,u.y)}j++}this.renderBatch(l,j,k),this.currentBatchSize=0}},b.WebGLSpriteBatch.prototype.renderBatch=function(a,b,c){if(0!==b){var d=this.gl;if(a._dirty[d.id]){if(!this.renderSession.renderer.updateTexture(a))return}else d.bindTexture(d.TEXTURE_2D,a._glTextures[d.id]);d.drawElements(d.TRIANGLES,6*b,d.UNSIGNED_SHORT,6*c*2),this.renderSession.drawCount++}},b.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},b.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},b.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},b.WebGLFastSpriteBatch=function(a){this.vertSize=10,this.maxSize=6e3,this.size=this.maxSize;var c=4*this.size*this.vertSize,d=6*this.maxSize;this.vertices=new b.Float32Array(c),this.indices=new b.Uint16Array(d),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var e=0,f=0;d>e;e+=6,f+=4)this.indices[e+0]=f+0,this.indices[e+1]=f+1,this.indices[e+2]=f+2,this.indices[e+3]=f+0,this.indices[e+4]=f+2,this.indices[e+5]=f+3;this.drawing=!1,this.currentBatchSize=0,this.currentBaseTexture=null,this.currentBlendMode=0,this.renderSession=null,this.shader=null,this.matrix=null,this.setContext(a)},b.WebGLFastSpriteBatch.prototype.constructor=b.WebGLFastSpriteBatch,b.WebGLFastSpriteBatch.prototype.setContext=function(a){this.gl=a,this.vertexBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.indices,a.STATIC_DRAW),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertices,a.DYNAMIC_DRAW)},b.WebGLFastSpriteBatch.prototype.begin=function(a,b){this.renderSession=b,this.shader=this.renderSession.shaderManager.fastShader,this.matrix=a.worldTransform.toArray(!0),this.start()},b.WebGLFastSpriteBatch.prototype.end=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.render=function(a){var b=a.children,c=b[0];if(c.texture._uvs){this.currentBaseTexture=c.texture.baseTexture,c.blendMode!==this.renderSession.blendModeManager.currentBlendMode&&(this.flush(),this.renderSession.blendModeManager.setBlendMode(c.blendMode));for(var d=0,e=b.length;e>d;d++)this.renderSprite(b[d]);this.flush()}},b.WebGLFastSpriteBatch.prototype.renderSprite=function(a){if(a.visible&&(a.texture.baseTexture===this.currentBaseTexture||a.texture.baseTexture.skipRender||(this.flush(),this.currentBaseTexture=a.texture.baseTexture,a.texture._uvs))){var b,c,d,e,f,g,h,i,j=this.vertices;if(b=a.texture._uvs,c=a.texture.frame.width,d=a.texture.frame.height,a.texture.trim){var k=a.texture.trim;f=k.x-a.anchor.x*k.width,e=f+a.texture.crop.width,h=k.y-a.anchor.y*k.height,g=h+a.texture.crop.height}else e=a.texture.frame.width*(1-a.anchor.x),f=a.texture.frame.width*-a.anchor.x,g=a.texture.frame.height*(1-a.anchor.y),h=a.texture.frame.height*-a.anchor.y;i=4*this.currentBatchSize*this.vertSize,j[i++]=f,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x0,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=h,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x1,j[i++]=b.y1,j[i++]=a.alpha,j[i++]=e,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x2,j[i++]=b.y2,j[i++]=a.alpha,j[i++]=f,j[i++]=g,j[i++]=a.position.x,j[i++]=a.position.y,j[i++]=a.scale.x,j[i++]=a.scale.y,j[i++]=a.rotation,j[i++]=b.x3,j[i++]=b.y3,j[i++]=a.alpha,this.currentBatchSize++,this.currentBatchSize>=this.size&&this.flush()}},b.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var a=this.gl;if(this.currentBaseTexture._glTextures[a.id]||this.renderSession.renderer.updateTexture(this.currentBaseTexture,a),a.bindTexture(a.TEXTURE_2D,this.currentBaseTexture._glTextures[a.id]),this.currentBatchSize>.5*this.size)a.bufferSubData(a.ARRAY_BUFFER,0,this.vertices);else{var b=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);a.bufferSubData(a.ARRAY_BUFFER,0,b)}a.drawElements(a.TRIANGLES,6*this.currentBatchSize,a.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}},b.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},b.WebGLFastSpriteBatch.prototype.start=function(){var a=this.gl;a.activeTexture(a.TEXTURE0),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var b=this.renderSession.projection;a.uniform2f(this.shader.projectionVector,b.x,b.y),a.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var c=4*this.vertSize;a.vertexAttribPointer(this.shader.aVertexPosition,2,a.FLOAT,!1,c,0),a.vertexAttribPointer(this.shader.aPositionCoord,2,a.FLOAT,!1,c,8),a.vertexAttribPointer(this.shader.aScale,2,a.FLOAT,!1,c,16),a.vertexAttribPointer(this.shader.aRotation,1,a.FLOAT,!1,c,24),a.vertexAttribPointer(this.shader.aTextureCoord,2,a.FLOAT,!1,c,28),a.vertexAttribPointer(this.shader.colorAttribute,1,a.FLOAT,!1,c,36)},b.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},b.WebGLFilterManager.prototype.constructor=b.WebGLFilterManager,b.WebGLFilterManager.prototype.setContext=function(a){this.gl=a,this.texturePool=[],this.initShaderBuffers()},b.WebGLFilterManager.prototype.begin=function(a,b){this.renderSession=a,this.defaultShader=a.shaderManager.defaultShader;var c=this.renderSession.projection;this.width=2*c.x,this.height=2*-c.y,this.buffer=b},b.WebGLFilterManager.prototype.pushFilter=function(a){var c=this.gl,d=this.renderSession.projection,e=this.renderSession.offset;a._filterArea=a.target.filterArea||a.target.getBounds(),a._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new b.WebGLStencilManager,this.renderSession.stencilManager.setContext(c),c.disable(c.STENCIL_TEST),this.filterStack.push(a);var f=a.filterPasses[0];this.offsetX+=a._filterArea.x,this.offsetY+=a._filterArea.y;var g=this.texturePool.pop();g?g.resize(this.width,this.height):g=new b.FilterTexture(this.gl,this.width,this.height),c.bindTexture(c.TEXTURE_2D,g.texture);var h=a._filterArea,i=f.padding;h.x-=i,h.y-=i,h.width+=2*i,h.height+=2*i,h.x<0&&(h.x=0),h.width>this.width&&(h.width=this.width),h.y<0&&(h.y=0),h.height>this.height&&(h.height=this.height),c.bindFramebuffer(c.FRAMEBUFFER,g.frameBuffer),c.viewport(0,0,h.width,h.height),d.x=h.width/2,d.y=-h.height/2,e.x=-h.x,e.y=-h.y,c.colorMask(!0,!0,!0,!0),c.clearColor(0,0,0,0),c.clear(c.COLOR_BUFFER_BIT),a._glFilterTexture=g},b.WebGLFilterManager.prototype.popFilter=function(){var a=this.gl,c=this.filterStack.pop(),d=c._filterArea,e=c._glFilterTexture,f=this.renderSession.projection,g=this.renderSession.offset;if(c.filterPasses.length>1){a.viewport(0,0,d.width,d.height),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=d.height,this.vertexArray[2]=d.width,this.vertexArray[3]=d.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=d.width,this.vertexArray[7]=0,a.bufferSubData(a.ARRAY_BUFFER,0,this.vertexArray),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=d.width/this.width,this.uvArray[5]=d.height/this.height,this.uvArray[6]=d.width/this.width,this.uvArray[7]=d.height/this.height,a.bufferSubData(a.ARRAY_BUFFER,0,this.uvArray);var h=e,i=this.texturePool.pop();i||(i=new b.FilterTexture(this.gl,this.width,this.height)),i.resize(this.width,this.height),a.bindFramebuffer(a.FRAMEBUFFER,i.frameBuffer),a.clear(a.COLOR_BUFFER_BIT),a.disable(a.BLEND);for(var j=0;j0?a.enable(a.STENCIL_TEST):a.disable(a.STENCIL_TEST),this.applyFilterPass(m,d,n,o),this.texturePool.push(e),c._glFilterTexture=null},b.WebGLFilterManager.prototype.applyFilterPass=function(a,c,d,e){var f=this.gl,g=a.shaders[f.id];g||(g=new b.PixiShader(f),g.fragmentSrc=a.fragmentSrc,g.uniforms=a.uniforms,g.init(),a.shaders[f.id]=g),this.renderSession.shaderManager.setShader(g),f.uniform2f(g.projectionVector,d/2,-e/2),f.uniform2f(g.offsetVector,0,0),a.uniforms.dimensions&&(a.uniforms.dimensions.value[0]=this.width,a.uniforms.dimensions.value[1]=this.height,a.uniforms.dimensions.value[2]=this.vertexArray[0],a.uniforms.dimensions.value[3]=this.vertexArray[5]),g.syncUniforms(),f.bindBuffer(f.ARRAY_BUFFER,this.vertexBuffer),f.vertexAttribPointer(g.aVertexPosition,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ARRAY_BUFFER,this.uvBuffer),f.vertexAttribPointer(g.aTextureCoord,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ARRAY_BUFFER,this.colorBuffer),f.vertexAttribPointer(g.colorAttribute,2,f.FLOAT,!1,0,0),f.bindBuffer(f.ELEMENT_ARRAY_BUFFER,this.indexBuffer),f.drawElements(f.TRIANGLES,6,f.UNSIGNED_SHORT,0),this.renderSession.drawCount++},b.WebGLFilterManager.prototype.initShaderBuffers=function(){var a=this.gl;this.vertexBuffer=a.createBuffer(),this.uvBuffer=a.createBuffer(),this.colorBuffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),this.vertexArray=new b.Float32Array([0,0,1,0,0,1,1,1]),a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,this.vertexArray,a.STATIC_DRAW),this.uvArray=new b.Float32Array([0,0,1,0,0,1,1,1]),a.bindBuffer(a.ARRAY_BUFFER,this.uvBuffer),a.bufferData(a.ARRAY_BUFFER,this.uvArray,a.STATIC_DRAW),this.colorArray=new b.Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),a.bindBuffer(a.ARRAY_BUFFER,this.colorBuffer),a.bufferData(a.ARRAY_BUFFER,this.colorArray,a.STATIC_DRAW),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),a.STATIC_DRAW)},b.WebGLFilterManager.prototype.destroy=function(){var a=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var b=0;b=0;a--){var c=this._glTextures[a],d=b.glContexts[a];d&&c&&d.deleteTexture(c)}this._glTextures.length=0,this.dirty()},b.BaseTexture.fromImage=function(a,c,d){var e=b.BaseTextureCache[a];if(void 0===c&&-1===a.indexOf("data:")&&(c=!0),!e){var f=new Image;c&&(f.crossOrigin=""),f.src=a,e=new b.BaseTexture(f,d),e.imageUrl=a,b.BaseTextureCache[a]=e,-1!==a.indexOf(b.RETINA_PREFIX+".")&&(e.resolution=2)}return e},b.BaseTexture.fromCanvas=function(a,c){a._pixiId||(a._pixiId="canvas_"+b.TextureCacheIdGenerator++),0===a.width&&(a.width=1),0===a.height&&(a.height=1);var d=b.BaseTextureCache[a._pixiId];return d||(d=new b.BaseTexture(a,c),b.BaseTextureCache[a._pixiId]=d),d},b.TextureCache={},b.FrameCache={},b.TextureSilentFail=!1,b.TextureCacheIdGenerator=0,b.Texture=function(a,c,d,e){this.noFrame=!1,c||(this.noFrame=!0,c=new b.Rectangle(0,0,1,1)),a instanceof b.Texture&&(a=a.baseTexture),this.baseTexture=a,this.frame=c,this.trim=e,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=d||new b.Rectangle(0,0,1,1),a.hasLoaded&&(this.noFrame&&(c=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(c))},b.Texture.prototype.constructor=b.Texture,b.Texture.prototype.onBaseTextureLoaded=function(){var a=this.baseTexture;this.noFrame&&(this.frame=new b.Rectangle(0,0,a.width,a.height)),this.setFrame(this.frame)},b.Texture.prototype.destroy=function(a){a&&this.baseTexture.destroy(),this.valid=!1},b.Texture.prototype.setFrame=function(a){if(this.noFrame=!1,this.frame=a,this.width=a.width,this.height=a.height,this.crop.x=a.x,this.crop.y=a.y,this.crop.width=a.width,this.crop.height=a.height,!this.trim&&(a.x+a.width>this.baseTexture.width||a.y+a.height>this.baseTexture.height)){if(!b.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);return void(this.valid=!1)}this.valid=a&&a.width&&a.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()},b.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new b.TextureUvs);var a=this.crop,c=this.baseTexture.width,d=this.baseTexture.height;this._uvs.x0=a.x/c,this._uvs.y0=a.y/d,this._uvs.x1=(a.x+a.width)/c,this._uvs.y1=a.y/d,this._uvs.x2=(a.x+a.width)/c,this._uvs.y2=(a.y+a.height)/d,this._uvs.x3=a.x/c,this._uvs.y3=(a.y+a.height)/d},b.Texture.fromImage=function(a,c,d){var e=b.TextureCache[a];return e||(e=new b.Texture(b.BaseTexture.fromImage(a,c,d)),b.TextureCache[a]=e),e},b.Texture.fromFrame=function(a){var c=b.TextureCache[a];if(!c)throw new Error('The frameId "'+a+'" does not exist in the texture cache ');return c},b.Texture.fromCanvas=function(a,c){var d=b.BaseTexture.fromCanvas(a,c);return new b.Texture(d)},b.Texture.addTextureToCache=function(a,c){b.TextureCache[c]=a},b.Texture.removeTextureFromCache=function(a){var c=b.TextureCache[a];return delete b.TextureCache[a],delete b.BaseTextureCache[a],c},b.TextureUvs=function(){ +this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},b.RenderTexture=function(a,c,d,e,f){if(this.width=a||100,this.height=c||100,this.resolution=f||1,this.frame=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.baseTexture=new b.BaseTexture,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=e||b.scaleModes.DEFAULT,this.baseTexture.hasLoaded=!0,b.Texture.call(this,this.baseTexture,new b.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution)),this.renderer=d||b.defaultRenderer,this.renderer.type===b.WEBGL_RENDERER){var g=this.renderer.gl;this.baseTexture._dirty[g.id]=!1,this.textureBuffer=new b.FilterTexture(g,this.width,this.height,this.baseTexture.scaleMode),this.baseTexture._glTextures[g.id]=this.textureBuffer.texture,this.render=this.renderWebGL,this.projection=new b.Point(.5*this.width,.5*-this.height)}else this.render=this.renderCanvas,this.textureBuffer=new b.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new Phaser.Matrix,this._updateUvs()},b.RenderTexture.prototype=Object.create(b.Texture.prototype),b.RenderTexture.prototype.constructor=b.RenderTexture,b.RenderTexture.prototype.resize=function(a,c,d){(a!==this.width||c!==this.height)&&(this.valid=a>0&&c>0,this.width=a,this.height=c,this.frame.width=this.crop.width=a*this.resolution,this.frame.height=this.crop.height=c*this.resolution,d&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===b.WEBGL_RENDERER&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},b.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===b.WEBGL_RENDERER&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},b.RenderTexture.prototype.renderWebGL=function(a,b,c){if(this.valid&&0!==a.alpha){var d=a.worldTransform;d.identity(),d.translate(0,2*this.projection.y),b&&d.append(b),d.scale(1,-1);for(var e=0;ea;a++)this.shaders[a].dirty=!0},b.Strip=function(a){b.DisplayObjectContainer.call(this),this.texture=a,this.uvs=new b.Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new b.Float32Array([0,0,100,0,100,100,0,100]),this.colors=new b.Float32Array([1,1,1,1]),this.indices=new b.Uint16Array([0,1,2,3]),this.dirty=!0,this.blendMode=b.blendModes.NORMAL,this.canvasPadding=0,this.drawMode=b.Strip.DrawModes.TRIANGLE_STRIP},b.Strip.prototype=Object.create(b.DisplayObjectContainer.prototype),b.Strip.prototype.constructor=b.Strip,b.Strip.prototype._renderWebGL=function(a){!this.visible||this.alpha<=0||(a.spriteBatch.stop(),this._vertexBuffer||this._initWebGL(a),a.shaderManager.setShader(a.shaderManager.stripShader),this._renderStrip(a),a.spriteBatch.start())},b.Strip.prototype._initWebGL=function(a){var b=a.gl;this._vertexBuffer=b.createBuffer(),this._indexBuffer=b.createBuffer(),this._uvBuffer=b.createBuffer(),this._colorBuffer=b.createBuffer(),b.bindBuffer(b.ARRAY_BUFFER,this._vertexBuffer),b.bufferData(b.ARRAY_BUFFER,this.vertices,b.DYNAMIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._uvBuffer),b.bufferData(b.ARRAY_BUFFER,this.uvs,b.STATIC_DRAW),b.bindBuffer(b.ARRAY_BUFFER,this._colorBuffer),b.bufferData(b.ARRAY_BUFFER,this.colors,b.STATIC_DRAW),b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,this._indexBuffer),b.bufferData(b.ELEMENT_ARRAY_BUFFER,this.indices,b.STATIC_DRAW)},b.Strip.prototype._renderStrip=function(a){var c=a.gl,d=a.projection,e=a.offset,f=a.shaderManager.stripShader,g=this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?c.TRIANGLE_STRIP:c.TRIANGLES;a.blendModeManager.setBlendMode(this.blendMode),c.uniformMatrix3fv(f.translationMatrix,!1,this.worldTransform.toArray(!0)),c.uniform2f(f.projectionVector,d.x,-d.y),c.uniform2f(f.offsetVector,-e.x,-e.y),c.uniform1f(f.alpha,this.worldAlpha),this.dirty?(this.dirty=!1,c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferData(c.ARRAY_BUFFER,this.vertices,c.STATIC_DRAW),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.bufferData(c.ARRAY_BUFFER,this.uvs,c.STATIC_DRAW),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer),c.bufferData(c.ELEMENT_ARRAY_BUFFER,this.indices,c.STATIC_DRAW)):(c.bindBuffer(c.ARRAY_BUFFER,this._vertexBuffer),c.bufferSubData(c.ARRAY_BUFFER,0,this.vertices),c.vertexAttribPointer(f.aVertexPosition,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this._uvBuffer),c.vertexAttribPointer(f.aTextureCoord,2,c.FLOAT,!1,0,0),c.activeTexture(c.TEXTURE0),this.texture.baseTexture._dirty[c.id]?a.renderer.updateTexture(this.texture.baseTexture):c.bindTexture(c.TEXTURE_2D,this.texture.baseTexture._glTextures[c.id]),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this._indexBuffer)),c.drawElements(g,this.indices.length,c.UNSIGNED_SHORT,0)},b.Strip.prototype._renderCanvas=function(a){var c=a.context,d=this.worldTransform;a.roundPixels?c.setTransform(d.a,d.b,d.c,d.d,0|d.tx,0|d.ty):c.setTransform(d.a,d.b,d.c,d.d,d.tx,d.ty),this.drawMode===b.Strip.DrawModes.TRIANGLE_STRIP?this._renderCanvasTriangleStrip(c):this._renderCanvasTriangles(c)},b.Strip.prototype._renderCanvasTriangleStrip=function(a){var b=this.vertices,c=this.uvs,d=b.length/2;this.count++;for(var e=0;d-2>e;e++){var f=2*e;this._renderCanvasDrawTriangle(a,b,c,f,f+2,f+4)}},b.Strip.prototype._renderCanvasTriangles=function(a){var b=this.vertices,c=this.uvs,d=this.indices,e=d.length;this.count++;for(var f=0;e>f;f+=3){var g=2*d[f],h=2*d[f+1],i=2*d[f+2];this._renderCanvasDrawTriangle(a,b,c,g,h,i)}},b.Strip.prototype._renderCanvasDrawTriangle=function(a,b,c,d,e,f){var g=this.texture.baseTexture.source,h=this.texture.width,i=this.texture.height,j=b[d],k=b[e],l=b[f],m=b[d+1],n=b[e+1],o=b[f+1],p=c[d]*h,q=c[e]*h,r=c[f]*h,s=c[d+1]*i,t=c[e+1]*i,u=c[f+1]*i;if(this.canvasPadding>0){var v=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,x=(j+k+l)/3,y=(m+n+o)/3,z=j-x,A=m-y,B=Math.sqrt(z*z+A*A);j=x+z/B*(B+v),m=y+A/B*(B+w),z=k-x,A=n-y,B=Math.sqrt(z*z+A*A),k=x+z/B*(B+v),n=y+A/B*(B+w),z=l-x,A=o-y,B=Math.sqrt(z*z+A*A),l=x+z/B*(B+v),o=y+A/B*(B+w)}a.save(),a.beginPath(),a.moveTo(j,m),a.lineTo(k,n),a.lineTo(l,o),a.closePath(),a.clip();var C=p*t+s*r+q*u-t*r-s*q-p*u,D=j*t+s*l+k*u-t*l-s*k-j*u,E=p*k+j*r+q*l-k*r-j*q-p*l,F=p*t*l+s*k*r+j*q*u-j*t*r-s*q*l-p*k*u,G=m*t+s*o+n*u-t*o-s*n-m*u,H=p*n+m*r+q*o-n*r-m*q-p*o,I=p*t*o+s*n*r+m*q*u-m*t*r-s*q*o-p*n*u;a.transform(D/C,G/C,E/C,H/C,F/C,I/C),a.drawImage(g,0,0),a.restore()},b.Strip.prototype.renderStripFlat=function(a){var b=this.context,c=a.vertices,d=c.length/2;this.count++,b.beginPath();for(var e=1;d-2>e;e++){var f=2*e,g=c[f],h=c[f+2],i=c[f+4],j=c[f+1],k=c[f+3],l=c[f+5];b.moveTo(g,j),b.lineTo(h,k),b.lineTo(i,l)}b.fillStyle="#FF0000",b.fill(),b.closePath()},b.Strip.prototype.onTextureUpdate=function(){this.updateFrame=!0},b.Strip.prototype.getBounds=function(a){for(var c=a||this.worldTransform,d=c.a,e=c.b,f=c.c,g=c.d,h=c.tx,i=c.ty,j=-(1/0),k=-(1/0),l=1/0,m=1/0,n=this.vertices,o=0,p=n.length;p>o;o+=2){var q=n[o],r=n[o+1],s=d*q+f*r+h,t=g*r+e*q+i;l=l>s?s:l,m=m>t?t:m,j=s>j?s:j,k=t>k?t:k}if(l===-(1/0)||k===1/0)return b.EmptyRectangle;var u=this._bounds;return u.x=l,u.width=j-l,u.y=m,u.height=k-m,this._currentBounds=u,u},b.Strip.DrawModes={TRIANGLE_STRIP:0,TRIANGLES:1},b.Rope=function(a,c){b.Strip.call(this,a),this.points=c,this.vertices=new b.Float32Array(4*c.length),this.uvs=new b.Float32Array(4*c.length),this.colors=new b.Float32Array(2*c.length),this.indices=new b.Uint16Array(2*c.length),this.refresh()},b.Rope.prototype=Object.create(b.Strip.prototype),b.Rope.prototype.constructor=b.Rope,b.Rope.prototype.refresh=function(){var a=this.points;if(!(a.length<1)){var b=this.uvs,c=a[0],d=this.indices,e=this.colors;this.count-=.2,b[0]=0,b[1]=0,b[2]=0,b[3]=1,e[0]=1,e[1]=1,d[0]=0,d[1]=1;for(var f,g,h,i=a.length,j=1;i>j;j++)f=a[j],g=4*j,h=j/(i-1),j%2?(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1):(b[g]=h,b[g+1]=0,b[g+2]=h,b[g+3]=1),g=2*j,e[g]=1,e[g+1]=1,g=2*j,d[g]=g,d[g+1]=g+1,c=f}},b.Rope.prototype.updateTransform=function(){var a=this.points;if(!(a.length<1)){var c,d=a[0],e={x:0,y:0};this.count-=.2;for(var f,g,h,i,j,k=this.vertices,l=a.length,m=0;l>m;m++)f=a[m],g=4*m,c=m1&&(h=1),i=Math.sqrt(e.x*e.x+e.y*e.y),j=this.texture.height/2,e.x/=i,e.y/=i,e.x*=j,e.y*=j,k[g]=f.x+e.x,k[g+1]=f.y+e.y,k[g+2]=f.x-e.x,k[g+3]=f.y-e.y,d=f;b.DisplayObjectContainer.prototype.updateTransform.call(this)}},b.Rope.prototype.setTexture=function(a){this.texture=a},b.TilingSprite=function(a,c,d){b.Sprite.call(this,a),this._width=c||128,this._height=d||128,this.tileScale=new b.Point(1,1),this.tileScaleOffset=new b.Point(1,1),this.tilePosition=new b.Point,this.renderable=!0,this.tint=16777215,this.textureDebug=!1,this.blendMode=b.blendModes.NORMAL,this.canvasBuffer=null,this.tilingTexture=null,this.tilePattern=null,this.refreshTexture=!0,this.frameWidth=0,this.frameHeight=0},b.TilingSprite.prototype=Object.create(b.Sprite.prototype),b.TilingSprite.prototype.constructor=b.TilingSprite,b.TilingSprite.prototype.setTexture=function(a){this.texture!==a&&(this.texture=a,this.refreshTexture=!0,this.cachedTint=16777215)},b.TilingSprite.prototype._renderWebGL=function(a){if(this.visible&&this.renderable&&0!==this.alpha){if(this._mask&&(a.spriteBatch.stop(),a.maskManager.pushMask(this.mask,a),a.spriteBatch.start()),this._filters&&(a.spriteBatch.flush(),a.filterManager.pushFilter(this._filterBlock)),this.refreshTexture){if(this.generateTilingTexture(!0,a),!this.tilingTexture)return;this.tilingTexture.needsUpdate&&(a.renderer.updateTexture(this.tilingTexture.baseTexture),this.tilingTexture.needsUpdate=!1)}a.spriteBatch.renderTilingSprite(this);for(var b=0;bn?n:x,x=x>p?p:x,x=x>r?r:x,x=x>t?t:x,y=y>o?o:y,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=n>v?n:v,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=o>w?o:w,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w;var z=this._bounds;return z.x=x,z.width=v-x,z.y=y,z.height=w-y,this._currentBounds=z,z},b.TilingSprite.prototype.destroy=function(){b.Sprite.prototype.destroy.call(this),this.canvasBuffer&&(this.canvasBuffer.destroy(),this.canvasBuffer=null),this.tileScale=null,this.tileScaleOffset=null,this.tilePosition=null,this.tilingTexture&&(this.tilingTexture.destroy(!0),this.tilingTexture=null)},Object.defineProperty(b.TilingSprite.prototype,"width",{get:function(){return this._width},set:function(a){this._width=a}}),Object.defineProperty(b.TilingSprite.prototype,"height",{get:function(){return this._height},set:function(a){this._height=a}}),"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=b),exports.PIXI=b):"undefined"!=typeof define&&define.amd?define("PIXI",function(){return a.PIXI=b}()):a.PIXI=b,b}.call(this),function(){function a(a,b){this._scaleFactor=a,this._deltaMode=b,this.originalEvent=null}var b=this,c=c||{VERSION:"2.4.5-dev",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,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},PIXI:PIXI||{}};if(Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)}),Function.prototype.bind||(Function.prototype.bind=function(){var a=Array.prototype.slice;return function(b){function c(){var f=e.concat(a.call(arguments));d.apply(this instanceof c?this:b,f)}var d=this,e=a.call(arguments,1);if("function"!=typeof d)throw new TypeError;return c.prototype=function f(a){return a&&(f.prototype=a),this instanceof f?void 0:new f}(d.prototype),c}}()),Array.isArray||(Array.isArray=function(a){return"[object Array]"==Object.prototype.toString.call(a)}),Array.prototype.forEach||(Array.prototype.forEach=function(a){"use strict";if(void 0===this||null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if("function"!=typeof a)throw new TypeError;for(var d=arguments.length>=2?arguments[1]:void 0,e=0;c>e;e++)e in b&&a.call(d,b[e],e,b)}),"function"!=typeof window.Uint32Array&&"object"!=typeof window.Uint32Array){var d=function(a){var b=new Array;window[a]=function(a){if("number"==typeof a){Array.call(this,a),this.length=a;for(var b=0;bf&&(a=a[g]);)g=c[f],f++;return a?a[d]:null},setProperty:function(a,b,c){for(var d=b.split("."),e=d.pop(),f=d.length,g=1,h=d[0];f>g&&(a=a[h]);)h=d[g],g++;return a&&(a[e]=c),a},chanceRoll:function(a){return void 0===a&&(a=50),a>0&&100*Math.random()<=a},randomChoice:function(a,b){return Math.random()<.5?a:b},parseDimension:function(a,b){var c=0,d=0;return"string"==typeof a?"%"===a.substr(-1)?(c=parseInt(a,10)/100,d=0===b?window.innerWidth*c:window.innerHeight*c):d=parseInt(a,10):d=a,d},pad:function(a,b,c,d){if(void 0===b)var b=0;if(void 0===c)var c=" ";if(void 0===d)var d=3;var e=0;if(b+1>=a.length)switch(d){case 1:a=new Array(b+1-a.length).join(c)+a;break;case 3:var f=Math.ceil((e=b-a.length)/2),g=e-f;a=new Array(g+1).join(c)+a+new Array(f+1).join(c);break;default:a+=new Array(b+1-a.length).join(c)}return a},isPlainObject:function(a){if("object"!=typeof a||a.nodeType||a===a.window)return!1;try{if(a.constructor&&!{}.hasOwnProperty.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(b){return!1}return!0},extend:function(){var a,b,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[1]||{},i=2),j===i&&(h=this,--i);j>i;i++)if(null!=(a=arguments[i]))for(b in a)d=h[b],e=a[b],h!==e&&(k&&e&&(c.Utils.isPlainObject(e)||(f=Array.isArray(e)))?(f?(f=!1,g=d&&Array.isArray(d)?d:[]):g=d&&c.Utils.isPlainObject(d)?d:{},h[b]=c.Utils.extend(k,g,e)):void 0!==e&&(h[b]=e));return h},mixinPrototype:function(a,b,c){void 0===c&&(c=!1);for(var d=Object.keys(b),e=0;e0&&(this._radius=.5*d),this.type=c.CIRCLE},c.Circle.prototype={circumference:function(){return 2*(Math.PI*this._radius)},random:function(a){void 0===a&&(a=new c.Point);var b=2*Math.PI*Math.random(),d=Math.random()+Math.random(),e=d>1?2-d:d,f=e*Math.cos(b),g=e*Math.sin(b);return a.x=this.x+f*this.radius,a.y=this.y+g*this.radius,a},getBounds:function(){return new c.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(a,b,c){return this.x=a,this.y=b,this._diameter=c,this._radius=.5*c,this},copyFrom:function(a){return this.setTo(a.x,a.y,a.diameter)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.diameter=this._diameter,a},distance:function(a,b){var d=c.Math.distance(this.x,this.y,a.x,a.y);return b?Math.round(d):d},clone:function(a){return void 0===a||null===a?a=new c.Circle(this.x,this.y,this.diameter):a.setTo(this.x,this.y,this.diameter),a},contains:function(a,b){return c.Circle.contains(this,a,b)},circumferencePoint:function(a,b,d){return c.Circle.circumferencePoint(this,a,b,d)},offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},toString:function(){return"[{Phaser.Circle (x="+this.x+" y="+this.y+" diameter="+this.diameter+" radius="+this.radius+")}]"}},c.Circle.prototype.constructor=c.Circle,Object.defineProperty(c.Circle.prototype,"diameter",{get:function(){return this._diameter},set:function(a){a>0&&(this._diameter=a,this._radius=.5*a)}}),Object.defineProperty(c.Circle.prototype,"radius",{get:function(){return this._radius},set:function(a){a>0&&(this._radius=a,this._diameter=2*a)}}),Object.defineProperty(c.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(a){a>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-a}}),Object.defineProperty(c.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(a){athis.y?(this._radius=0,this._diameter=0):this.radius=this.y-a}}),Object.defineProperty(c.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(a){a0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(c.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(a){a===!0&&this.setTo(0,0,0)}}),c.Circle.contains=function(a,b,c){if(a.radius>0&&b>=a.left&&b<=a.right&&c>=a.top&&c<=a.bottom){var d=(a.x-b)*(a.x-b),e=(a.y-c)*(a.y-c);return d+e<=a.radius*a.radius}return!1},c.Circle.equals=function(a,b){return a.x==b.x&&a.y==b.y&&a.diameter==b.diameter},c.Circle.intersects=function(a,b){return c.Math.distance(a.x,a.y,b.x,b.y)<=a.radius+b.radius},c.Circle.circumferencePoint=function(a,b,d,e){return void 0===d&&(d=!1),void 0===e&&(e=new c.Point),d===!0&&(b=c.Math.degToRad(b)),e.x=a.x+a.radius*Math.cos(b),e.y=a.y+a.radius*Math.sin(b),e},c.Circle.intersectsRectangle=function(a,b){var c=Math.abs(a.x-b.x-b.halfWidth),d=b.halfWidth+a.radius;if(c>d)return!1;var e=Math.abs(a.y-b.y-b.halfHeight),f=b.halfHeight+a.radius;if(e>f)return!1;if(c<=b.halfWidth||e<=b.halfHeight)return!0;var g=c-b.halfWidth,h=e-b.halfHeight,i=g*g,j=h*h,k=a.radius*a.radius;return k>=i+j},PIXI.Circle=c.Circle,c.Ellipse=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.ELLIPSE},c.Ellipse.prototype={setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},getBounds:function(){return new c.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},clone:function(a){return void 0===a||null===a?a=new c.Ellipse(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a},contains:function(a,b){return c.Ellipse.contains(this,a,b)},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random()*Math.PI*2,d=Math.random();return a.x=Math.sqrt(d)*Math.cos(b),a.y=Math.sqrt(d)*Math.sin(b),a.x=this.x+a.x*this.width/2,a.y=this.y+a.y*this.height/2,a},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},c.Ellipse.prototype.constructor=c.Ellipse,Object.defineProperty(c.Ellipse.prototype,"left",{get:function(){return this.x},set:function(a){this.x=a}}),Object.defineProperty(c.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(a){ad+e},PIXI.Ellipse=c.Ellipse,c.Line=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.start=new c.Point(a,b),this.end=new c.Point(d,e),this.type=c.LINE},c.Line.prototype={setTo:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(c,d),this},fromSprite:function(a,b,c){return void 0===c&&(c=!1),c?this.setTo(a.center.x,a.center.y,b.center.x,b.center.y):this.setTo(a.x,a.y,b.x,b.y)},fromAngle:function(a,b,c,d){return this.start.setTo(a,b),this.end.setTo(a+Math.cos(c)*d,b+Math.sin(c)*d),this},rotate:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2;return this.start.rotate(c,d,a,b),this.end.rotate(c,d,a,b),this},rotateAround:function(a,b,c,d){return this.start.rotate(a,b,c,d),this.end.rotate(a,b,c,d),this},intersects:function(a,b,d){return c.Line.intersectsPoints(this.start,this.end,a.start,a.end,b,d)},reflect:function(a){return c.Line.reflect(this,a)},midPoint:function(a){return void 0===a&&(a=new c.Point),a.x=(this.start.x+this.end.x)/2,a.y=(this.start.y+this.end.y)/2,a},centerOn:function(a,b){var c=(this.start.x+this.end.x)/2,d=(this.start.y+this.end.y)/2,e=a-c,f=b-d;this.start.add(e,f),this.end.add(e,f)},pointOnLine:function(a,b){return(a-this.start.x)*(this.end.y-this.start.y)===(this.end.x-this.start.x)*(b-this.start.y)},pointOnSegment:function(a,b){var c=Math.min(this.start.x,this.end.x),d=Math.max(this.start.x,this.end.x),e=Math.min(this.start.y,this.end.y),f=Math.max(this.start.y,this.end.y);return this.pointOnLine(a,b)&&a>=c&&d>=a&&b>=e&&f>=b},random:function(a){void 0===a&&(a=new c.Point);var b=Math.random();return a.x=this.start.x+b*(this.end.x-this.start.x),a.y=this.start.y+b*(this.end.y-this.start.y),a},coordinatesOnLine:function(a,b){void 0===a&&(a=1),void 0===b&&(b=[]);var c=Math.round(this.start.x),d=Math.round(this.start.y),e=Math.round(this.end.x),f=Math.round(this.end.y),g=Math.abs(e-c),h=Math.abs(f-d),i=e>c?1:-1,j=f>d?1:-1,k=g-h;b.push([c,d]);for(var l=1;c!=e||d!=f;){var m=k<<1;m>-h&&(k-=h,c+=i),g>m&&(k+=g,d+=j),l%a===0&&b.push([c,d]),l++}return b},clone:function(a){return void 0===a||null===a?a=new c.Line(this.start.x,this.start.y,this.end.x,this.end.y):a.setTo(this.start.x,this.start.y,this.end.x,this.end.y),a}},Object.defineProperty(c.Line.prototype,"length",{get:function(){return Math.sqrt((this.end.x-this.start.x)*(this.end.x-this.start.x)+(this.end.y-this.start.y)*(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"angle",{get:function(){return Math.atan2(this.end.y-this.start.y,this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"slope",{get:function(){return(this.end.y-this.start.y)/(this.end.x-this.start.x)}}),Object.defineProperty(c.Line.prototype,"perpSlope",{get:function(){return-((this.end.x-this.start.x)/(this.end.y-this.start.y))}}),Object.defineProperty(c.Line.prototype,"x",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"y",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"left",{get:function(){return Math.min(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"right",{get:function(){return Math.max(this.start.x,this.end.x)}}),Object.defineProperty(c.Line.prototype,"top",{get:function(){return Math.min(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"bottom",{get:function(){return Math.max(this.start.y,this.end.y)}}),Object.defineProperty(c.Line.prototype,"width",{get:function(){return Math.abs(this.start.x-this.end.x)}}),Object.defineProperty(c.Line.prototype,"height",{get:function(){return Math.abs(this.start.y-this.end.y)}}),Object.defineProperty(c.Line.prototype,"normalX",{get:function(){return Math.cos(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalY",{get:function(){return Math.sin(this.angle-1.5707963267948966)}}),Object.defineProperty(c.Line.prototype,"normalAngle",{get:function(){return c.Math.wrap(this.angle-1.5707963267948966,-Math.PI,Math.PI)}}),c.Line.intersectsPoints=function(a,b,d,e,f,g){void 0===f&&(f=!0),void 0===g&&(g=new c.Point);var h=b.y-a.y,i=e.y-d.y,j=a.x-b.x,k=d.x-e.x,l=b.x*a.y-a.x*b.y,m=e.x*d.y-d.x*e.y,n=h*k-i*j;if(0===n)return null;if(g.x=(j*m-k*l)/n,g.y=(i*l-h*m)/n,f){var o=(e.y-d.y)*(b.x-a.x)-(e.x-d.x)*(b.y-a.y),p=((e.x-d.x)*(a.y-d.y)-(e.y-d.y)*(a.x-d.x))/o,q=((b.x-a.x)*(a.y-d.y)-(b.y-a.y)*(a.x-d.x))/o;return p>=0&&1>=p&&q>=0&&1>=q?g:null}return g},c.Line.intersects=function(a,b,d,e){return c.Line.intersectsPoints(a.start,a.end,b.start,b.end,d,e)},c.Line.reflect=function(a,b){return 2*b.normalAngle-3.141592653589793-a.angle},c.Matrix=function(a,b,d,e,f,g){a=a||1,b=b||0,d=d||0,e=e||1,f=f||0,g=g||0,this.a=a,this.b=b,this.c=d,this.d=e,this.tx=f,this.ty=g,this.type=c.MATRIX},c.Matrix.prototype={fromArray:function(a){return this.setTo(a[0],a[1],a[3],a[4],a[2],a[5])},setTo:function(a,b,c,d,e,f){return this.a=a,this.b=b,this.c=c,this.d=d,this.tx=e,this.ty=f,this},clone:function(a){return void 0===a||null===a?a=new c.Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty):(a.a=this.a,a.b=this.b,a.c=this.c,a.d=this.d,a.tx=this.tx,a.ty=this.ty),a},copyTo:function(a){return a.copyFrom(this),a},copyFrom:function(a){return this.a=a.a,this.b=a.b,this.c=a.c,this.d=a.d,this.tx=a.tx,this.ty=a.ty,this},toArray:function(a,b){return void 0===b&&(b=new PIXI.Float32Array(9)),a?(b[0]=this.a,b[1]=this.b,b[2]=0,b[3]=this.c,b[4]=this.d,b[5]=0,b[6]=this.tx,b[7]=this.ty,b[8]=1):(b[0]=this.a,b[1]=this.c,b[2]=this.tx,b[3]=this.b,b[4]=this.d,b[5]=this.ty,b[6]=0,b[7]=0,b[8]=1),b},apply:function(a,b){return void 0===b&&(b=new c.Point),b.x=this.a*a.x+this.c*a.y+this.tx,b.y=this.b*a.x+this.d*a.y+this.ty,b},applyInverse:function(a,b){void 0===b&&(b=new c.Point);var d=1/(this.a*this.d+this.c*-this.b),e=a.x,f=a.y;return b.x=this.d*d*e+-this.c*d*f+(this.ty*this.c-this.tx*this.d)*d,b.y=this.a*d*f+-this.b*d*e+(-this.ty*this.a+this.tx*this.b)*d,b},translate:function(a,b){return this.tx+=a,this.ty+=b,this},scale:function(a,b){return this.a*=a,this.d*=b,this.c*=a,this.b*=b,this.tx*=a,this.ty*=b,this},rotate:function(a){var b=Math.cos(a),c=Math.sin(a),d=this.a,e=this.c,f=this.tx; +return this.a=d*b-this.b*c,this.b=d*c+this.b*b,this.c=e*b-this.d*c,this.d=e*c+this.d*b,this.tx=f*b-this.ty*c,this.ty=f*c+this.ty*b,this},append:function(a){var b=this.a,c=this.b,d=this.c,e=this.d;return this.a=a.a*b+a.b*d,this.b=a.a*c+a.b*e,this.c=a.c*b+a.d*d,this.d=a.c*c+a.d*e,this.tx=a.tx*b+a.ty*d+this.tx,this.ty=a.tx*c+a.ty*e+this.ty,this},identity:function(){return this.setTo(1,0,0,1,0,0)}},c.identityMatrix=new c.Matrix,PIXI.Matrix=c.Matrix,PIXI.identityMatrix=c.identityMatrix,c.Point=function(a,b){a=a||0,b=b||0,this.x=a,this.y=b,this.type=c.POINT},c.Point.prototype={copyFrom:function(a){return this.setTo(a.x,a.y)},invert:function(){return this.setTo(this.y,this.x)},setTo:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},set:function(a,b){return this.x=a||0,this.y=b||(0!==b?this.x:0),this},add:function(a,b){return this.x+=a,this.y+=b,this},subtract:function(a,b){return this.x-=a,this.y-=b,this},multiply:function(a,b){return this.x*=a,this.y*=b,this},divide:function(a,b){return this.x/=a,this.y/=b,this},clampX:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this},clampY:function(a,b){return this.y=c.Math.clamp(this.y,a,b),this},clamp:function(a,b){return this.x=c.Math.clamp(this.x,a,b),this.y=c.Math.clamp(this.y,a,b),this},clone:function(a){return void 0===a||null===a?a=new c.Point(this.x,this.y):a.setTo(this.x,this.y),a},copyTo:function(a){return a.x=this.x,a.y=this.y,a},distance:function(a,b){return c.Point.distance(this,a,b)},equals:function(a){return a.x===this.x&&a.y===this.y},angle:function(a,b){return void 0===b&&(b=!1),b?c.Math.radToDeg(Math.atan2(a.y-this.y,a.x-this.x)):Math.atan2(a.y-this.y,a.x-this.x)},rotate:function(a,b,d,e,f){return c.Point.rotate(this,a,b,d,e,f)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(a){return this.normalize().multiply(a,a)},normalize:function(){if(!this.isZero()){var a=this.getMagnitude();this.x/=a,this.y/=a}return this},isZero:function(){return 0===this.x&&0===this.y},dot:function(a){return this.x*a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},perp:function(){return this.setTo(-this.y,this.x)},rperp:function(){return this.setTo(this.y,-this.x)},normalRightHand:function(){return this.setTo(-1*this.y,this.x)},floor:function(){return this.setTo(Math.floor(this.x),Math.floor(this.y))},ceil:function(){return this.setTo(Math.ceil(this.x),Math.ceil(this.y))},toString:function(){return"[{Point (x="+this.x+" y="+this.y+")}]"}},c.Point.prototype.constructor=c.Point,c.Point.add=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x+b.x,d.y=a.y+b.y,d},c.Point.subtract=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x-b.x,d.y=a.y-b.y,d},c.Point.multiply=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x*b.x,d.y=a.y*b.y,d},c.Point.divide=function(a,b,d){return void 0===d&&(d=new c.Point),d.x=a.x/b.x,d.y=a.y/b.y,d},c.Point.equals=function(a,b){return a.x===b.x&&a.y===b.y},c.Point.angle=function(a,b){return Math.atan2(a.y-b.y,a.x-b.x)},c.Point.negative=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.x,-a.y)},c.Point.multiplyAdd=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+b.x*d,a.y+b.y*d)},c.Point.interpolate=function(a,b,d,e){return void 0===e&&(e=new c.Point),e.setTo(a.x+(b.x-a.x)*d,a.y+(b.y-a.y)*d)},c.Point.perp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-a.y,a.x)},c.Point.rperp=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(a.y,-a.x)},c.Point.distance=function(a,b,d){var e=c.Math.distance(a.x,a.y,b.x,b.y);return d?Math.round(e):e},c.Point.project=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b)/b.getMagnitudeSq();return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.projectUnit=function(a,b,d){void 0===d&&(d=new c.Point);var e=a.dot(b);return 0!==e&&d.setTo(e*b.x,e*b.y),d},c.Point.normalRightHand=function(a,b){return void 0===b&&(b=new c.Point),b.setTo(-1*a.y,a.x)},c.Point.normalize=function(a,b){void 0===b&&(b=new c.Point);var d=a.getMagnitude();return 0!==d&&b.setTo(a.x/d,a.y/d),b},c.Point.rotate=function(a,b,d,e,f,g){if(f&&(e=c.Math.degToRad(e)),void 0===g){a.subtract(b,d);var h=Math.sin(e),i=Math.cos(e),j=i*a.x-h*a.y,k=h*a.x+i*a.y;a.x=j+b,a.y=k+d}else{var l=e+Math.atan2(a.y-d,a.x-b);a.x=b+g*Math.cos(l),a.y=d+g*Math.sin(l)}return a},c.Point.centroid=function(a,b){if(void 0===b&&(b=new c.Point),"[object Array]"!==Object.prototype.toString.call(a))throw new Error("Phaser.Point. Parameter 'points' must be an array");var d=a.length;if(1>d)throw new Error("Phaser.Point. Parameter 'points' array must not be empty");if(1===d)return b.copyFrom(a[0]),b;for(var e=0;d>e;e++)c.Point.add(b,a[e],b);return b.divide(d,d),b},c.Point.parse=function(a,b,d){b=b||"x",d=d||"y";var e=new c.Point;return a[b]&&(e.x=parseInt(a[b],10)),a[d]&&(e.y=parseInt(a[d],10)),e},PIXI.Point=c.Point,c.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.type=c.POLYGON},c.Polygon.prototype={toNumberArray:function(a){void 0===a&&(a=[]);for(var b=0;b=h&&j>b||b>=j&&h>b)&&(i-g)*(b-h)/(j-h)+g>a&&(d=!d)}return d},setTo:function(a){if(this.area=0,this._points=[],arguments.length>0){Array.isArray(a)||(a=Array.prototype.slice.call(arguments));for(var b=Number.MAX_VALUE,c=0,d=a.length;d>c;c++){if("number"==typeof a[c]){var e=new PIXI.Point(a[c],a[c+1]);c++}else var e=new PIXI.Point(a[c].x,a[c].y);this._points.push(e),e.yf;f++)b=this._points[f],c=f===g-1?this._points[0]:this._points[f+1],d=(b.y-a+(c.y-a))/2,e=b.x-c.x,this.area+=d*e;return this.area}},c.Polygon.prototype.constructor=c.Polygon,Object.defineProperty(c.Polygon.prototype,"points",{get:function(){return this._points},set:function(a){null!=a?this.setTo(a):this.setTo()}}),PIXI.Polygon=c.Polygon,c.Rectangle=function(a,b,d,e){a=a||0,b=b||0,d=d||0,e=e||0,this.x=a,this.y=b,this.width=d,this.height=e,this.type=c.RECTANGLE},c.Rectangle.prototype={offset:function(a,b){return this.x+=a,this.y+=b,this},offsetPoint:function(a){return this.offset(a.x,a.y)},setTo:function(a,b,c,d){return this.x=a,this.y=b,this.width=c,this.height=d,this},scale:function(a,b){return void 0===b&&(b=a),this.width*=a,this.height*=b,this},centerOn:function(a,b){return this.centerX=a,this.centerY=b,this},floor:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y)},floorAll:function(){this.x=Math.floor(this.x),this.y=Math.floor(this.y),this.width=Math.floor(this.width),this.height=Math.floor(this.height)},ceil:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y)},ceilAll:function(){this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this.width=Math.ceil(this.width),this.height=Math.ceil(this.height)},copyFrom:function(a){return this.setTo(a.x,a.y,a.width,a.height)},copyTo:function(a){return a.x=this.x,a.y=this.y,a.width=this.width,a.height=this.height,a},inflate:function(a,b){return c.Rectangle.inflate(this,a,b)},size:function(a){return c.Rectangle.size(this,a)},resize:function(a,b){return this.width=a,this.height=b,this},clone:function(a){return c.Rectangle.clone(this,a)},contains:function(a,b){return c.Rectangle.contains(this,a,b)},containsRect:function(a){return c.Rectangle.containsRect(a,this)},equals:function(a){return c.Rectangle.equals(this,a)},intersection:function(a,b){return c.Rectangle.intersection(this,a,b)},intersects:function(a){return c.Rectangle.intersects(this,a)},intersectsRaw:function(a,b,d,e,f){return c.Rectangle.intersectsRaw(this,a,b,d,e,f)},union:function(a,b){return c.Rectangle.union(this,a,b)},random:function(a){return void 0===a&&(a=new c.Point),a.x=this.randomX,a.y=this.randomY,a},toString:function(){return"[{Rectangle (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+" empty="+this.empty+")}]"}},Object.defineProperty(c.Rectangle.prototype,"halfWidth",{get:function(){return Math.round(this.width/2)}}),Object.defineProperty(c.Rectangle.prototype,"halfHeight",{get:function(){return Math.round(this.height/2)}}),Object.defineProperty(c.Rectangle.prototype,"bottom",{get:function(){return this.y+this.height},set:function(a){a<=this.y?this.height=0:this.height=a-this.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomLeft",{get:function(){return new c.Point(this.x,this.bottom)},set:function(a){this.x=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"bottomRight",{get:function(){return new c.Point(this.right,this.bottom)},set:function(a){this.right=a.x,this.bottom=a.y}}),Object.defineProperty(c.Rectangle.prototype,"left",{get:function(){return this.x},set:function(a){a>=this.right?this.width=0:this.width=this.right-a,this.x=a}}),Object.defineProperty(c.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(a){a<=this.x?this.width=0:this.width=a-this.x}}),Object.defineProperty(c.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(c.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(c.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(a){this.x=a-this.halfWidth}}),Object.defineProperty(c.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(a){this.y=a-this.halfHeight}}),Object.defineProperty(c.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(c.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(c.Rectangle.prototype,"top",{get:function(){return this.y},set:function(a){a>=this.bottom?(this.height=0,this.y=a):this.height=this.bottom-a}}),Object.defineProperty(c.Rectangle.prototype,"topLeft",{get:function(){return new c.Point(this.x,this.y)},set:function(a){this.x=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"topRight",{get:function(){return new c.Point(this.x+this.width,this.y)},set:function(a){this.right=a.x,this.y=a.y}}),Object.defineProperty(c.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(a){a===!0&&this.setTo(0,0,0,0)}}),c.Rectangle.prototype.constructor=c.Rectangle,c.Rectangle.inflate=function(a,b,c){return a.x-=b,a.width+=2*b,a.y-=c,a.height+=2*c,a},c.Rectangle.inflatePoint=function(a,b){return c.Rectangle.inflate(a,b.x,b.y)},c.Rectangle.size=function(a,b){return void 0===b||null===b?b=new c.Point(a.width,a.height):b.setTo(a.width,a.height),b},c.Rectangle.clone=function(a,b){return void 0===b||null===b?b=new c.Rectangle(a.x,a.y,a.width,a.height):b.setTo(a.x,a.y,a.width,a.height),b},c.Rectangle.contains=function(a,b,c){return a.width<=0||a.height<=0?!1:b>=a.x&&b=a.y&&c=a&&a+c>e&&f>=b&&b+d>f},c.Rectangle.containsPoint=function(a,b){return c.Rectangle.contains(a,b.x,b.y)},c.Rectangle.containsRect=function(a,b){return a.volume>b.volume?!1:a.x>=b.x&&a.y>=b.y&&a.rightb.right||a.y>b.bottom)},c.Rectangle.intersectsRaw=function(a,b,c,d,e,f){return void 0===f&&(f=0),!(b>a.right+f||ca.bottom+f||ed&&(d=a.x),a.xf&&(f=a.y),a.y=c&&a<=c+this.width){var d=this.y;if(b>=d&&b<=d+this.height)return!0}return!1}},c.RoundedRectangle.prototype.constructor=c.RoundedRectangle,PIXI.RoundedRectangle=c.RoundedRectangle,c.Camera=function(a,b,d,e,f,g){this.game=a,this.world=a.world,this.id=0,this.view=new c.Rectangle(d,e,f,g),this.bounds=new c.Rectangle(d,e,f,g),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this._targetPosition=new c.Point,this._edge=0,this._position=new c.Point},c.Camera.FOLLOW_LOCKON=0,c.Camera.FOLLOW_PLATFORMER=1,c.Camera.FOLLOW_TOPDOWN=2,c.Camera.FOLLOW_TOPDOWN_TIGHT=3,c.Camera.prototype={preUpdate:function(){this.totalInView=0},follow:function(a,b){void 0===b&&(b=c.Camera.FOLLOW_LOCKON),this.target=a;var d;switch(b){case c.Camera.FOLLOW_PLATFORMER:var e=this.width/8,f=this.height/3;this.deadzone=new c.Rectangle((this.width-e)/2,(this.height-f)/2-.25*f,e,f);break;case c.Camera.FOLLOW_TOPDOWN:d=Math.max(this.width,this.height)/4,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_TOPDOWN_TIGHT:d=Math.max(this.width,this.height)/8,this.deadzone=new c.Rectangle((this.width-d)/2,(this.height-d)/2,d,d);break;case c.Camera.FOLLOW_LOCKON:this.deadzone=null;break;default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(a){this.setPosition(Math.round(a.x-this.view.halfWidth),Math.round(a.y-this.view.halfHeight))},focusOnXY:function(a,b){this.setPosition(Math.round(a-this.view.halfWidth),Math.round(b-this.view.halfHeight))},update:function(){this.target&&this.updateTarget(),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateTarget:function(){this._targetPosition.copyFrom(this.target),this.target.parent&&this._targetPosition.multiply(this.target.parent.worldTransform.a,this.target.parent.worldTransform.d),this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this._targetPosition.x-this.deadzone.right),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this._targetPosition.y-this.deadzone.bottom)):(this.view.x=this._targetPosition.x-this.view.halfWidth,this.view.y=this._targetPosition.y-this.view.halfHeight)},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1,this.view.x<=this.bounds.x*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x),this.view.right>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width),this.view.y<=this.bounds.top*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y),this.view.bottom>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height)},setPosition:function(a,b){this.view.x=a,this.view.y=b,this.bounds&&this.checkBounds()},setSize:function(a,b){this.view.width=a,this.view.height=b},reset:function(){this.target=null,this.view.x=0,this.view.y=0}},c.Camera.prototype.constructor=c.Camera,Object.defineProperty(c.Camera.prototype,"x",{get:function(){return this.view.x},set:function(a){this.view.x=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"y",{get:function(){return this.view.y},set:function(a){this.view.y=a,this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"position",{get:function(){return this._position.set(this.view.centerX,this.view.centerY),this._position},set:function(a){"undefined"!=typeof a.x&&(this.view.x=a.x),"undefined"!=typeof a.y&&(this.view.y=a.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(c.Camera.prototype,"width",{get:function(){return this.view.width},set:function(a){this.view.width=a}}),Object.defineProperty(c.Camera.prototype,"height",{get:function(){return this.view.height},set:function(a){this.view.height=a}}),c.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},c.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},c.State.prototype.constructor=c.State,c.StateManager=function(a,b){this.game=a,this.states={},this._pendingState=null,"undefined"!=typeof b&&null!==b&&(this._pendingState=b),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new c.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},c.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(a,b,d){void 0===d&&(d=!1);var e;return b instanceof c.State?e=b:"object"==typeof b?(e=b,e.game=this.game):"function"==typeof b&&(e=new b(this.game)),this.states[a]=e,d&&(this.game.isBooted?this.start(a):this._pendingState=a),e},remove:function(a){this.current===a&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[a]},start:function(a,b,c){void 0===b&&(b=!0),void 0===c&&(c=!1),this.checkState(a)&&(this._pendingState=a,this._clearWorld=b,this._clearCache=c,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!1),this._pendingState=this.current,this._clearWorld=a,this._clearCache=b,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var a=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,a),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache===!0&&this.game.cache.destroy()))},checkState:function(a){return this.states[a]?this.states[a].preload||this.states[a].create||this.states[a].update||this.states[a].render?!0:(console.warn("Invalid Phaser State object given. Must contain at least a one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+a),!1)},link:function(a){this.states[a].game=this.game,this.states[a].add=this.game.add,this.states[a].make=this.game.make,this.states[a].camera=this.game.camera,this.states[a].cache=this.game.cache,this.states[a].input=this.game.input,this.states[a].load=this.game.load,this.states[a].math=this.game.math,this.states[a].sound=this.game.sound,this.states[a].scale=this.game.scale,this.states[a].state=this,this.states[a].stage=this.game.stage,this.states[a].time=this.game.time,this.states[a].tweens=this.game.tweens,this.states[a].world=this.game.world,this.states[a].particles=this.game.particles,this.states[a].rnd=this.game.rnd,this.states[a].physics=this.game.physics,this.states[a].key=a},unlink:function(a){this.states[a]&&(this.states[a].game=null,this.states[a].add=null,this.states[a].make=null,this.states[a].camera=null,this.states[a].cache=null,this.states[a].input=null,this.states[a].load=null,this.states[a].math=null,this.states[a].sound=null,this.states[a].scale=null,this.states[a].state=null,this.states[a].stage=null,this.states[a].time=null,this.states[a].tweens=null,this.states[a].world=null,this.states[a].particles=null,this.states[a].rnd=null,this.states[a].physics=null)},setCurrentState:function(a){this.callbackContext=this.states[a],this.link(a),this.onInitCallback=this.states[a].init||this.dummy,this.onPreloadCallback=this.states[a].preload||null,this.onLoadRenderCallback=this.states[a].loadRender||null,this.onLoadUpdateCallback=this.states[a].loadUpdate||null,this.onCreateCallback=this.states[a].create||null,this.onUpdateCallback=this.states[a].update||null,this.onPreRenderCallback=this.states[a].preRender||null,this.onRenderCallback=this.states[a].render||null,this.onResizeCallback=this.states[a].resize||null,this.onPausedCallback=this.states[a].paused||null,this.onResumedCallback=this.states[a].resumed||null,this.onPauseUpdateCallback=this.states[a].pauseUpdate||null,this.onShutDownCallback=this.states[a].shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=a,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),a===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){this._created===!1&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game),this._created===!1&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(a){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,a)},resize:function(a,b){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,a,b)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===c.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},c.StateManager.prototype.constructor=c.StateManager,Object.defineProperty(c.StateManager.prototype,"created",{get:function(){return this._created}}),c.Signal=function(){},c.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!0,validateListener:function(a,b){if("function"!=typeof a)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",b))},_registerListener:function(a,b,d,e,f){var g,h=this._indexOfListener(a,d);if(-1!==h){if(g=this._bindings[h],g.isOnce()!==b)throw new Error("You cannot add"+(b?"":"Once")+"() then add"+(b?"Once":"")+"() the same listener without removing the relationship first.")}else g=new c.SignalBinding(this,a,b,d,e,f),this._addBinding(g);return this.memorize&&this._prevParams&&g.execute(this._prevParams),g},_addBinding:function(a){this._bindings||(this._bindings=[]);var b=this._bindings.length;do b--;while(this._bindings[b]&&a._priority<=this._bindings[b]._priority);this._bindings.splice(b+1,0,a)},_indexOfListener:function(a,b){if(!this._bindings)return-1;void 0===b&&(b=null);for(var c,d=this._bindings.length;d--;)if(c=this._bindings[d],c._listener===a&&c.context===b)return d;return-1},has:function(a,b){return-1!==this._indexOfListener(a,b)},add:function(a,b,c){this.validateListener(a,"add");var d=[];if(arguments.length>3)for(var e=3;e3)for(var e=3;ea||a>=this.children.length?-1:this.getChildAt(a)},c.Group.prototype.create=function(a,b,c,d,e){void 0===e&&(e=!0);var f=new this.classType(this.game,a,b,c,d);return f.exists=e,f.visible=e,f.alive=e,this.addChild(f),f.z=this.children.length,this.enableBody&&this.game.physics.enable(f,this.physicsBodyType,this.enableBodyDebug),f.events&&f.events.onAddedToGroup$dispatch(f,this),null===this.cursor&&(this.cursor=f),f},c.Group.prototype.createMultiple=function(a,b,c,d){void 0===d&&(d=!1);for(var e=0;a>e;e++)this.create(0,0,b,c,d)},c.Group.prototype.updateZ=function(){for(var a=this.children.length;a--;)this.children[a].z=a},c.Group.prototype.resetCursor=function(a){return void 0===a&&(a=0),a>this.children.length-1&&(a=0),this.cursor?(this.cursorIndex=a,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.next=function(){return this.cursor?(this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.previous=function(){return this.cursor?(0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor):void 0},c.Group.prototype.swap=function(a,b){this.swapChildren(a,b),this.updateZ()},c.Group.prototype.bringToTop=function(a){return a.parent===this&&this.getIndex(a)0&&(this.remove(a,!1,!0),this.addAt(a,0,!0)),a},c.Group.prototype.moveUp=function(a){if(a.parent===this&&this.getIndex(a)0){var b=this.getIndex(a),c=this.getAt(b-1);c&&this.swap(a,c)}return a},c.Group.prototype.xy=function(a,b,c){return 0>a||a>this.children.length?-1:(this.getChildAt(a).x=b,void(this.getChildAt(a).y=c))},c.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},c.Group.prototype.getIndex=function(a){return this.children.indexOf(a)},c.Group.prototype.replace=function(a,b){var d=this.getIndex(a);return-1!==d?(b.parent&&(b.parent instanceof c.Group?b.parent.remove(b):b.parent.removeChild(b)),this.remove(a),this.addAt(b,d),a):void 0},c.Group.prototype.hasProperty=function(a,b){var c=b.length;return 1===c&&b[0]in a?!0:2===c&&b[0]in a&&b[1]in a[b[0]]?!0:3===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]?!0:4===c&&b[0]in a&&b[1]in a[b[0]]&&b[2]in a[b[0]][b[1]]&&b[3]in a[b[0]][b[1]][b[2]]?!0:!1},c.Group.prototype.setProperty=function(a,b,c,d,e){if(void 0===e&&(e=!1),d=d||0,!this.hasProperty(a,b)&&(!e||d>0))return!1;var f=b.length;return 1===f?0===d?a[b[0]]=c:1==d?a[b[0]]+=c:2==d?a[b[0]]-=c:3==d?a[b[0]]*=c:4==d&&(a[b[0]]/=c):2===f?0===d?a[b[0]][b[1]]=c:1==d?a[b[0]][b[1]]+=c:2==d?a[b[0]][b[1]]-=c:3==d?a[b[0]][b[1]]*=c:4==d&&(a[b[0]][b[1]]/=c):3===f?0===d?a[b[0]][b[1]][b[2]]=c:1==d?a[b[0]][b[1]][b[2]]+=c:2==d?a[b[0]][b[1]][b[2]]-=c:3==d?a[b[0]][b[1]][b[2]]*=c:4==d&&(a[b[0]][b[1]][b[2]]/=c):4===f&&(0===d?a[b[0]][b[1]][b[2]][b[3]]=c:1==d?a[b[0]][b[1]][b[2]][b[3]]+=c:2==d?a[b[0]][b[1]][b[2]][b[3]]-=c:3==d?a[b[0]][b[1]][b[2]][b[3]]*=c:4==d&&(a[b[0]][b[1]][b[2]][b[3]]/=c)),!0},c.Group.prototype.checkProperty=function(a,b,d,e){return void 0===e&&(e=!1),!c.Utils.getProperty(a,b)&&e?!1:c.Utils.getProperty(a,b)!==d?!1:!0},c.Group.prototype.set=function(a,b,c,d,e,f,g){return void 0===g&&(g=!1),b=b.split("."),void 0===d&&(d=!1),void 0===e&&(e=!1),(d===!1||d&&a.alive)&&(e===!1||e&&a.visible)?this.setProperty(a,b,c,f,g):void 0},c.Group.prototype.setAll=function(a,b,c,d,e,f){void 0===c&&(c=!1),void 0===d&&(d=!1),void 0===f&&(f=!1),a=a.split("."),e=e||0;for(var g=0;g2){c=[];for(var d=2;d2){e=[];for(var f=2;f2){d=[null];for(var e=2;e2){d=[null];for(var e=2;e2){d=[null];for(var e=2;eb[this._sortProperty]?1:a.zb[this._sortProperty]?-1:0},c.Group.prototype.iterate=function(a,b,d,e,f,g){if(d===c.Group.RETURN_TOTAL&&0===this.children.length)return 0;for(var h=0,i=0;i0?this.children[this.children.length-1]:void 0},c.Group.prototype.getBottom=function(){return this.children.length>0?this.children[0]:void 0},c.Group.prototype.countLiving=function(){return this.iterate("alive",!0,c.Group.RETURN_TOTAL)},c.Group.prototype.countDead=function(){return this.iterate("alive",!1,c.Group.RETURN_TOTAL)},c.Group.prototype.getRandom=function(a,b){return 0===this.children.length?null:(a=a||0,b=b||this.children.length,c.ArrayUtils.getRandomItem(this.children,a,b))},c.Group.prototype.remove=function(a,b,c){if(void 0===b&&(b=!1),void 0===c&&(c=!1),0===this.children.length||-1===this.children.indexOf(a))return!1;c||!a.events||a.destroyPhase||a.events.onRemovedFromGroup$dispatch(a,this);var d=this.removeChild(a);return this.removeFromHash(a),this.updateZ(),this.cursor===a&&this.next(),b&&d&&d.destroy(!0),!0},c.Group.prototype.moveAll=function(a,b){if(void 0===b&&(b=!1),this.children.length>0&&a instanceof c.Group){do a.add(this.children[0],b);while(this.children.length>0);this.hash=[],this.cursor=null}return a},c.Group.prototype.removeAll=function(a,b){if(void 0===a&&(a=!1),void 0===b&&(b=!1),0!==this.children.length){do{!b&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var c=this.removeChild(this.children[0]);this.removeFromHash(c),a&&c&&c.destroy(!0)}while(this.children.length>0);this.hash=[],this.cursor=null}},c.Group.prototype.removeBetween=function(a,b,c,d){if(void 0===b&&(b=this.children.length-1),void 0===c&&(c=!1),void 0===d&&(d=!1),0!==this.children.length){if(a>b||0>a||b>this.children.length)return!1;for(var e=b;e>=a;){!d&&this.children[e].events&&this.children[e].events.onRemovedFromGroup$dispatch(this.children[e],this);var f=this.removeChild(this.children[e]);this.removeFromHash(f),c&&f&&f.destroy(!0),this.cursor===this.children[e]&&(this.cursor=null),e--}this.updateZ()}},c.Group.prototype.destroy=function(a,b){null===this.game||this.ignoreDestroy||(void 0===a&&(a=!0),void 0===b&&(b=!1),this.onDestroy.dispatch(this,a,b),this.removeAll(a),this.cursor=null,this.filters=null,this.pendingDestroy=!1,b||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(c.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,c.Group.RETURN_TOTAL)}}),Object.defineProperty(c.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(c.Group.prototype,"angle",{get:function(){return c.Math.radToDeg(this.rotation)},set:function(a){this.rotation=c.Math.degToRad(a)}}),c.World=function(a){c.Group.call(this,a,null,"__world",!1),this.bounds=new c.Rectangle(0,0,a.width,a.height),this.camera=null,this._definedSize=!1,this._width=a.width,this._height=a.height,this.game.state.onStateChange.add(this.stateChange,this)},c.World.prototype=Object.create(c.Group.prototype),c.World.prototype.constructor=c.World,c.World.prototype.boot=function(){this.camera=new c.Camera(this.game,0,0,0,this.game.width,this.game.height),this.camera.displayObject=this,this.camera.scale=this.scale,this.game.camera=this.camera,this.game.stage.addChild(this)},c.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},c.World.prototype.setBounds=function(a,b,c,d){this._definedSize=!0,this._width=c,this._height=d,this.bounds.setTo(a,b,c,d),this.x=a,this.y=b,this.camera.bounds&&this.camera.bounds.setTo(a,b,Math.max(c,this.game.width),Math.max(d,this.game.height)),this.game.physics.setBoundsToWorld()},c.World.prototype.resize=function(a,b){this._definedSize&&(athis.bounds.right&&(a.x=this.bounds.left)),e&&(a.y+a._currentBounds.heightthis.bounds.bottom&&(a.y=this.bounds.top))):(d&&a.x+bthis.bounds.right&&(a.x=this.bounds.left-b),e&&a.y+bthis.bounds.bottom&&(a.y=this.bounds.top-b))},Object.defineProperty(c.World.prototype,"width",{get:function(){return this.bounds.width},set:function(a){ag;g++)e>g?f.push("color: #ff2424; background: #fff"):f.push("color: #959595; background: #fff");console.log.apply(console,f)}else window.console&&console.log("Phaser v"+a+" | Pixi.js "+PIXI.VERSION+" | "+b+" | "+d+" | http://phaser.io")}},setUpRenderer:function(){if(this.canvas=c.Canvas.create(this,this.width,this.height,this.config.canvasID,!0),this.config.canvasStyle?this.canvas.style=this.config.canvasStyle:this.canvas.style["-webkit-full-screen"]="width: 100%; height: 100%",this.renderType===c.HEADLESS||this.renderType===c.CANVAS||this.renderType===c.AUTO&&!this.device.webGL){if(!this.device.canvas)throw new Error("Phaser.Game - Cannot create Canvas or WebGL context, aborting.");this.renderType=c.CANVAS,this.renderer=new PIXI.CanvasRenderer(this),this.context=this.renderer.context}else this.renderType=c.WEBGL,this.renderer=new PIXI.WebGLRenderer(this),this.context=null,this.canvas.addEventListener("webglcontextlost",this.contextLost.bind(this),!1),this.canvas.addEventListener("webglcontextrestored",this.contextRestored.bind(this),!1);this.device.cocoonJS&&(this.canvas.screencanvas=this.renderType===c.CANVAS?!0:!1),this.renderType!==c.HEADLESS&&(this.stage.smoothed=this.antialias,c.Canvas.addToDOM(this.canvas,this.parent,!1),c.Canvas.setTouchAction(this.canvas))},contextLost:function(a){a.preventDefault(),this.renderer.contextLost=!0},contextRestored:function(){this.renderer.initContext(),this.cache.clearGLTextures(),this.renderer.contextLost=!1},update:function(a){if(this.time.update(a),this._kickstart)return this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),this.updateRender(this.time.slowMotion*this.time.desiredFps),void(this._kickstart=!1);if(this._spiraling>1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.updateRender(this.time.slowMotion*this.time.desiredFps);else{var b=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*b,this.time.elapsed),0);var c=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/b),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame));this._deltaTime>=b&&(this._deltaTime-=b,this.currentUpdateID=c,this.updateLogic(this.time.desiredFpsMult),this.stage.updateTransform(),c++,!this.forceSingleUpdate||1!==c);)this.time.refresh();c>this._lastCount?this._spiraling++:c=c.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+c.Input.MAX_POINTERS+" pointers reached."),null;var a=this.pointers.length+1,b=new c.Pointer(this.game,a,c.PointerMode.TOUCH);return this.pointers.push(b),this["pointer"+a]=b,b},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(a);if(!this.pointer2.active)return this.pointer2.start(a);for(var b=2;b0;c++){var d=this.pointers[c];d.active&&b--}return a-b},getPointer:function(a){void 0===a&&(a=!1);for(var b=0;b=g&&this._localPoint.x=h&&this._localPoint.y=g&&this._localPoint.x=h&&this._localPoint.yi;i++)if(this.hitTest(a.children[i],b,d))return!0;return!1},onClickTrampoline:function(){this.activePointer.processClickTrampolines()}},c.Input.prototype.constructor=c.Input,Object.defineProperty(c.Input.prototype,"x",{get:function(){return this._x},set:function(a){this._x=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"y",{get:function(){return this._y},set:function(a){this._y=Math.floor(a)}}),Object.defineProperty(c.Input.prototype,"pollLocked",{get:function(){return this.pollRate>0&&this._pollCounterthis.game.time.time},justReleased:function(a){return a=a||250,this.isUp&&this.timeUp+a>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},c.DeviceButton.prototype.constructor=c.DeviceButton,Object.defineProperty(c.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),c.Pointer=function(a,b,d){this.game=a,this.id=b,this.type=c.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=d||c.PointerMode.CURSOR|c.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new c.DeviceButton(this,c.Pointer.LEFT_BUTTON),this.middleButton=new c.DeviceButton(this,c.Pointer.MIDDLE_BUTTON),this.rightButton=new c.DeviceButton(this,c.Pointer.RIGHT_BUTTON),this.backButton=new c.DeviceButton(this,c.Pointer.BACK_BUTTON),this.forwardButton=new c.DeviceButton(this,c.Pointer.FORWARD_BUTTON),this.eraserButton=new c.DeviceButton(this,c.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===b,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.active=!1,this.dirty=!1,this.position=new c.Point,this.positionDown=new c.Point,this.positionUp=new c.Point,this.circle=new c.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},c.Pointer.NO_BUTTON=0,c.Pointer.LEFT_BUTTON=1,c.Pointer.RIGHT_BUTTON=2,c.Pointer.MIDDLE_BUTTON=4,c.Pointer.BACK_BUTTON=8,c.Pointer.FORWARD_BUTTON=16,c.Pointer.ERASER_BUTTON=32,c.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(a,b){c.Pointer.LEFT_BUTTON&a&&this.leftButton.start(b),c.Pointer.RIGHT_BUTTON&a&&this.rightButton.start(b),c.Pointer.MIDDLE_BUTTON&a&&this.middleButton.start(b),c.Pointer.BACK_BUTTON&a&&this.backButton.start(b),c.Pointer.FORWARD_BUTTON&a&&this.forwardButton.start(b),c.Pointer.ERASER_BUTTON&a&&this.eraserButton.start(b)},processButtonsUp:function(a,b){a===c.Mouse.LEFT_BUTTON&&this.leftButton.stop(b),a===c.Mouse.RIGHT_BUTTON&&this.rightButton.stop(b),a===c.Mouse.MIDDLE_BUTTON&&this.middleButton.stop(b),a===c.Mouse.BACK_BUTTON&&this.backButton.stop(b),a===c.Mouse.FORWARD_BUTTON&&this.forwardButton.stop(b),5===a&&this.eraserButton.stop(b)},updateButtons:function(a){this.button=a.button;var b="down"===a.type.toLowerCase().substr(-4);void 0!==a.buttons?b?this.processButtonsDown(a.buttons,a):this.processButtonsUp(a.button,a):b?this.leftButton.start(a):(this.leftButton.stop(a),this.rightButton.stop(a)),a.ctrlKey&&this.leftButton.isDown&&this.rightButton.start(a),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(a){var b=this.game.input;return a.pointerId&&(this.pointerId=a.pointerId),this.identifier=a.identifier,this.target=a.target,this.isMouse?this.updateButtons(a):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(a,!0),this.positionDown.setTo(this.x,this.y),(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.x=this.x,b.y=this.y,b.position.setTo(this.x,this.y),b.onDown.dispatch(this,a),b.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var a=this.game.input;this.active&&(this.dirty&&(a.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),this._holdSent===!1&&this.duration>=a.holdRate&&((a.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||a.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||a.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===a.totalActivePointers)&&a.onHold.dispatch(this),this._holdSent=!0),a.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+a.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>a.recordLimit&&this._history.shift()))},move:function(a,b){var d=this.game.input;if(!d.pollLocked){if(void 0===b&&(b=!1),void 0!==a.button&&(this.button=a.button),b&&this.isMouse&&this.updateButtons(a),this.clientX=a.clientX,this.clientY=a.clientY,this.pageX=a.pageX,this.pageY=a.pageY,this.screenX=a.screenX,this.screenY=a.screenY,this.isMouse&&d.mouse.locked&&!b&&(this.rawMovementX=a.movementX||a.mozMovementX||a.webkitMovementX||0,this.rawMovementY=a.movementY||a.mozMovementY||a.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*d.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*d.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(d.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||d.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||d.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===d.totalActivePointers)&&(d.activePointer=this,d.x=this.x,d.y=this.y,d.position.setTo(d.x,d.y),d.circle.x=d.x,d.circle.y=d.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY),this.game.paused)return this;for(var e=d.moveCallbacks.length;e--;)d.moveCallbacks[e].callback.call(d.moveCallbacks[e].context,this,this.x,this.y,b);return null!==this.targetObject&&this.targetObject.isDragged===!0?this.targetObject.update(this)===!1&&(this.targetObject=null):d.interactiveItems.total>0&&this.processInteractiveObjects(b),this}},processInteractiveObjects:function(a){for(var b=Number.MAX_VALUE,c=-1,d=null,e=this.game.input.interactiveItems.first;e;)e.checked=!1,e.validForInput(c,b,!1)&&(e.checked=!0,(a&&e.checkPointerDown(this,!0)||!a&&e.checkPointerOver(this,!0))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e)),e=this.game.input.interactiveItems.next;for(var e=this.game.input.interactiveItems.first;e;)!e.checked&&e.validForInput(c,b,!0)&&(a&&e.checkPointerDown(this,!1)||!a&&e.checkPointerOver(this,!1))&&(b=e.sprite.renderOrderID,c=e.priorityID,d=e),e=this.game.input.interactiveItems.next;return null===d?this.targetObject&&(this.targetObject._pointerOutHandler(this),this.targetObject=null):null===this.targetObject?(this.targetObject=d,d._pointerOverHandler(this)):this.targetObject===d?d.update(this)===!1&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this),this.targetObject=d,this.targetObject._pointerOverHandler(this)),null!==this.targetObject},leave:function(a){this.withinGame=!1,this.move(a,!1)},stop:function(a){var b=this.game.input;return this._stateReset&&this.withinGame?void a.preventDefault():(this.timeUp=this.game.time.time,(b.multiInputOverride===c.Input.MOUSE_OVERRIDES_TOUCH||b.multiInputOverride===c.Input.MOUSE_TOUCH_COMBINE||b.multiInputOverride===c.Input.TOUCH_OVERRIDES_MOUSE&&0===b.totalActivePointers)&&(b.onUp.dispatch(this,a),this.duration>=0&&this.duration<=b.tapRate&&(this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(a.pageX,a.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),this.isMouse===!1&&b.currentPointers--,b.interactiveItems.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this)},justPressed:function(a){return a=a||this.game.input.justPressedRate,this.isDown===!0&&this.timeDown+a>this.game.time.time},justReleased:function(a){return a=a||this.game.input.justReleasedRate,this.isUp&&this.timeUp+a>this.game.time.time},addClickTrampoline:function(a,b,c,d){if(this.isDown){for(var e=this._clickTrampolines=this._clickTrampolines||[],f=0;fd;d++)this._pointerData[d]={id:d,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1};this.snapOffset=new c.Point,this.enabled=!0,this._wasEnabled=!0}return this.sprite.events.onAddedToGroup.add(this.addedToGroup,this),this.sprite.events.onRemovedFromGroup.add(this.removedFromGroup,this),this.flagged=!1,this.sprite},addedToGroup:function(){this._dragPhase||this._wasEnabled&&!this.enabled&&this.start()},removedFromGroup:function(){this._dragPhase||(this.enabled?(this._wasEnabled=!0,this.stop()):this._wasEnabled=!1)},reset:function(){this.enabled=!1,this.flagged=!1;for(var a=0;10>a;a++)this._pointerData[a]={id:a,x:0,y:0,isDown:!1,isUp:!1,isOver:!1,isOut:!1,timeOver:0,timeOut:0,timeDown:0,timeUp:0,downDuration:0,isDragged:!1}},stop:function(){this.enabled!==!1&&(this.enabled=!1,this.game.input.interactiveItems.remove(this))},destroy:function(){this.sprite&&(this._setHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.enabled=!1,this.game.input.interactiveItems.remove(this),this._pointerData.length=0,this.boundsRect=null,this.boundsSprite=null,this.sprite=null)},validForInput:function(a,b,c){return void 0===c&&(c=!0),!this.enabled||0===this.sprite.scale.x||0===this.sprite.scale.y||this.priorityIDa||this.priorityID===a&&this.sprite.renderOrderIDb;b++)if(this._pointerData[b].isOver)return!0},pointerOut:function(a){if(!this.enabled)return!1;if(void 0!==a)return this._pointerData[a].isOut;for(var b=0;10>b;b++)if(this._pointerData[b].isOut)return!0},pointerTimeOver:function(a){return a=a||0,this._pointerData[a].timeOver},pointerTimeOut:function(a){return a=a||0,this._pointerData[a].timeOut},pointerDragged:function(a){return a=a||0,this._pointerData[a].isDragged},checkPointerDown:function(a,b){return a.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectClick?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPointerOver:function(a,b){return this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&this.game.input.hitTest(this.sprite,a,this._tempPoint)?(void 0===b&&(b=!1),!b&&this.pixelPerfectOver?this.checkPixel(this._tempPoint.x,this._tempPoint.y):!0):!1},checkPixel:function(a,b,c){if(this.sprite.texture.baseTexture.source){if(null===a&&null===b){this.game.input.getLocalPosition(this.sprite,c,this._tempPoint);var a=this._tempPoint.x,b=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(a-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(b-=-this.sprite.texture.frame.height*this.sprite.anchor.y),a+=this.sprite.texture.frame.x,b+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(a-=this.sprite.texture.trim.x,b-=this.sprite.texture.trim.y,athis.sprite.texture.crop.right||bthis.sprite.texture.crop.bottom))return this._dx=a,this._dy=b,!1;this._dx=a,this._dy=b,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,a,b,1,1,0,0,1,1);var d=this.game.input.hitContext.getImageData(0,0,1,1);if(d.data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(a){return null!==this.sprite&&void 0!==this.sprite.parent?this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this.draggable&&this._draggedPointerID===a.id?this.updateDrag(a):this._pointerData[a.id].isOver?this.checkPointerOver(a)?(this._pointerData[a.id].x=a.x-this.sprite.x,this._pointerData[a.id].y=a.y-this.sprite.y,!0):(this._pointerOutHandler(a),!1):void 0:(this._pointerOutHandler(a),!1):void 0},_pointerOverHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];(b.isOver===!1||a.dirty)&&(b.isOver=!0,b.isOut=!1,b.timeOver=this.game.time.time,b.x=a.x-this.sprite.x,b.y=a.y-this.sprite.y,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,a))}},_pointerOutHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];b.isOver=!1,b.isOut=!0,b.timeOut=this.game.time.time,this.useHandCursor&&b.isDragged===!1&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),this.sprite&&this.sprite.events&&this.sprite.events.onInputOut$dispatch(this.sprite,a)}},_touchedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(!b.isDown&&b.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,a))return;b.isDown=!0,b.isUp=!1,b.timeDown=this.game.time.time,this.sprite&&this.sprite.events&&this.sprite.events.onInputDown$dispatch(this.sprite,a),a.dirty=!0,this.draggable&&this.isDragged===!1&&this.startDrag(a),this.bringToTop&&this.sprite.bringToTop()}}},_releasedHandler:function(a){if(null!==this.sprite){var b=this._pointerData[a.id];if(b.isDown&&a.isUp){b.isDown=!1,b.isUp=!0,b.timeUp=this.game.time.time,b.downDuration=b.timeUp-b.timeDown;var c=this.checkPointerOver(a);this.sprite&&this.sprite.events&&(this.sprite.events.onInputUp$dispatch(this.sprite,a,c),c&&(c=this.checkPointerOver(a))),b.isOver=c,!c&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),a.dirty=!0,this.draggable&&this.isDragged&&this._draggedPointerID===a.id&&this.stopDrag(a)}}},updateDrag:function(a,b){if(a.isUp)return this.stopDrag(a),!1;void 0===b&&(b=!1);var c=this.globalToLocalX(a.x)+this._dragPoint.x+this.dragOffset.x,d=this.globalToLocalY(a.y)+this._dragPoint.y+this.dragOffset.y;return this.sprite.fixedToCamera?(this.allowHorizontalDrag&&(this.sprite.cameraOffset.x=c),this.allowVerticalDrag&&(this.sprite.cameraOffset.y=d),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.cameraOffset.x,this.sprite.cameraOffset.y))):(this.allowHorizontalDrag&&(this.sprite.x=c),this.allowVerticalDrag&&(this.sprite.y=d),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,this.snapPoint.set(this.sprite.x,this.sprite.y))),this.sprite.events.onDragUpdate.dispatch(this.sprite,a,c,d,this.snapPoint,b),!0},justOver:function(a,b){return a=a||0,b=b||500,this._pointerData[a].isOver&&this.overDuration(a)a;a++)this._pointerData[a].isDragged=!1;this.draggable=!1,this.isDragged=!1,this._draggedPointerID=-1},startDrag:function(a){var b=this.sprite.x,c=this.sprite.y;if(this.isDragged=!0,this._draggedPointerID=a.id,this._pointerData[a.id].isDragged=!0,this.sprite.fixedToCamera)this.dragFromCenter?(this.sprite.centerOn(a.x,a.y),this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y)):this._dragPoint.setTo(this.sprite.cameraOffset.x-a.x,this.sprite.cameraOffset.y-a.y);else{if(this.dragFromCenter){var d=this.sprite.getBounds();this.sprite.x=this.globalToLocalX(a.x)+(this.sprite.x-d.centerX),this.sprite.y=this.globalToLocalY(a.y)+(this.sprite.y-d.centerY)}this._dragPoint.setTo(this.sprite.x-this.globalToLocalX(a.x),this.sprite.y-this.globalToLocalY(a.y))}this.updateDrag(a,!0),this.bringToTop&&(this._dragPhase=!0,this.sprite.bringToTop()),this.dragStartPoint.set(b,c),this.sprite.events.onDragStart$dispatch(this.sprite,a,b,c)},globalToLocalX:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.x,a*=this.game.scale.grid.scaleFluidInversed.x),a},globalToLocalY:function(a){return this.scaleLayer&&(a-=this.game.scale.grid.boundsFluid.y,a*=this.game.scale.grid.scaleFluidInversed.y),a},stopDrag:function(a){this.isDragged=!1,this._draggedPointerID=-1,this._pointerData[a.id].isDragged=!1,this._dragPhase=!1,this.snapOnRelease&&(this.sprite.fixedToCamera?(this.sprite.cameraOffset.x=Math.round((this.sprite.cameraOffset.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.cameraOffset.y=Math.round((this.sprite.cameraOffset.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY):(this.sprite.x=Math.round((this.sprite.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,this.sprite.y=Math.round((this.sprite.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY)),this.sprite.events.onDragStop$dispatch(this.sprite,a),this.checkPointerOver(a)===!1&&this._pointerOutHandler(a)},setDragLock:function(a,b){void 0===a&&(a=!0),void 0===b&&(b=!0),this.allowHorizontalDrag=a,this.allowVerticalDrag=b},enableSnap:function(a,b,c,d,e,f){void 0===c&&(c=!0),void 0===d&&(d=!1),void 0===e&&(e=0),void 0===f&&(f=0),this.snapX=a,this.snapY=b,this.snapOffsetX=e,this.snapOffsetY=f,this.snapOnDrag=c,this.snapOnRelease=d},disableSnap:function(){this.snapOnDrag=!1,this.snapOnRelease=!1},checkBoundsRect:function(){this.sprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},c.InputHandler.prototype.constructor=c.InputHandler,c.Gamepad=function(a){this.game=a,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!=navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this),new c.SinglePad(a,this)]},c.Gamepad.prototype={addCallbacks:function(a,b){"undefined"!=typeof b&&(this.onConnectCallback="function"==typeof b.onConnect?b.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof b.onDisconnect?b.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof b.onDown?b.onDown:this.onDownCallback,this.onUpCallback="function"==typeof b.onUp?b.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof b.onAxis?b.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof b.onFloat?b.onFloat:this.onFloatCallback,this.callbackContext=a)},start:function(){if(!this._active){this._active=!0;var a=this;this._onGamepadConnected=function(b){return a.onGamepadConnected(b)},this._onGamepadDisconnected=function(b){return a.onGamepadDisconnected(b)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(a){var b=a.gamepad;this._rawPads.push(b),this._gamepads[b.index].connect(b)},onGamepadDisconnected:function(a){var b=a.gamepad;for(var c in this._rawPads)this._rawPads[c].index===b.index&&this._rawPads.splice(c,1);this._gamepads[b.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(navigator.getGamepads)var a=navigator.getGamepads();else if(navigator.webkitGetGamepads)var a=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var a=navigator.webkitGamepads();if(a){this._rawPads=[];for(var b=!1,c=0;c0&&d>this.deadZone||0>d&&d<-this.deadZone?this.processAxisChange(c,d):this.processAxisChange(c,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(a){var b=!this.connected;this.connected=!0,this.index=a.index,this._rawPad=a,this._buttons=[],this._buttonsLen=a.buttons.length,this._axes=[],this._axesLen=a.axes.length;for(var d=0;dthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(a){return this.alive&&(this.health+=a,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},c.Component.InCamera=function(){},c.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},c.Component.InputEnabled=function(){},c.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(a){a?null===this.input?(this.input=new c.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},c.Component.InWorld=function(){},c.Component.InWorld.preUpdate=function(){if((this.autoCull||this.checkWorldBounds)&&(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull&&(this.game.world.camera.view.intersects(this._bounds)?(this.renderable=!0,this.game.world.camera.totalInView++):this.renderable=!1),this.checkWorldBounds))if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1;return!0},c.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},c.Component.LifeSpan=function(){},c.Component.LifeSpan.preUpdate=function(){return this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0)?(this.kill(),!1):!0},c.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(a){return void 0===a&&(a=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(a),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},c.Component.LoadTexture=function(){},c.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(a,b,d){a===c.PENDING_ATLAS?(a=b,b=0):b=b||0,(d||void 0===d)&&this.animations&&this.animations.stop(),this.key=a,this.customRender=!1;var e=this.game.cache,f=!0,g=!this.texture.baseTexture.scaleMode;if(c.RenderTexture&&a instanceof c.RenderTexture)this.key=a.key,this.setTexture(a);else if(c.BitmapData&&a instanceof c.BitmapData)this.customRender=!0,this.setTexture(a.texture),e.hasFrameData(a.key,c.Cache.BITMAPDATA)&&(f=!this.animations.loadFrameData(e.getFrameData(a.key,c.Cache.BITMAPDATA),b));else if(c.Video&&a instanceof c.Video){this.customRender=!0;var h=a.texture.valid;this.setTexture(a.texture),this.setFrame(a.texture.frame.clone()),a.onChangeSource.add(this.resizeFrame,this),this.texture.valid=h}else if(a instanceof PIXI.Texture)this.setTexture(a);else{var i=e.getImage(a,!0);this.key=i.key,this.setTexture(new PIXI.Texture(i.base)),"__default"===a?this.texture.baseTexture.skipRender=!0:this.texture.baseTexture.skipRender=!1,f=!this.animations.loadFrameData(i.frameData,b)}f&&(this._frame=c.Rectangle.clone(this.texture.frame)),g||(this.texture.baseTexture.scaleMode=1)},setFrame:function(a){this._frame=a,this.texture.frame.x=a.x,this.texture.frame.y=a.y,this.texture.frame.width=a.width,this.texture.frame.height=a.height,this.texture.crop.x=a.x,this.texture.crop.y=a.y,this.texture.crop.width=a.width,this.texture.crop.height=a.height,a.trimmed?(this.texture.trim?(this.texture.trim.x=a.spriteSourceSizeX,this.texture.trim.y=a.spriteSourceSizeY,this.texture.trim.width=a.sourceSizeW,this.texture.trim.height=a.sourceSizeH):this.texture.trim={x:a.spriteSourceSizeX,y:a.spriteSourceSizeY,width:a.sourceSizeW,height:a.sourceSizeH},this.texture.width=a.sourceSizeW,this.texture.height=a.sourceSizeH,this.texture.frame.width=a.sourceSizeW,this.texture.frame.height=a.sourceSizeH):!a.trimmed&&this.texture.trim&&(this.texture.trim=null),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(a,b,c){this.texture.frame.resize(b,c),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(a){this.animations.frame=a}},frameName:{get:function(){return this.animations.frameName},set:function(a){this.animations.frameName=a}}},c.Component.Overlap=function(){},c.Component.Overlap.prototype={overlap:function(a){return c.Rectangle.intersects(this.getBounds(),a.getBounds())}},c.Component.PhysicsBody=function(){},c.Component.PhysicsBody.preUpdate=function(){return this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this._exists&&this.parent.exists?!0:(this.renderOrderID=-1,!1))},c.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},c.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(a){this.position.x=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(a){this.position.y=a,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},c.Component.Reset=function(){},c.Component.Reset.prototype.reset=function(a,b,c){return void 0===c&&(c=1),this.world.set(a,b),this.position.set(a,b),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=c),this.components.PhysicsBody&&this.body&&this.body.reset(a,b,!1,!1),this},c.Component.ScaleMinMax=function(){},c.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(a){this.scaleMin&&(a.athis.scaleMax.x&&(a.a=this.scaleMax.x),a.d>this.scaleMax.y&&(a.d=this.scaleMax.y))},setScaleMinMax:function(a,b,d,e){void 0===b?b=d=e=a:void 0===d&&(d=e=b,b=a),null===a?this.scaleMin=null:this.scaleMin?this.scaleMin.set(a,b):this.scaleMin=new c.Point(a,b),null===d?this.scaleMax=null:this.scaleMax?this.scaleMax.set(d,e):this.scaleMax=new c.Point(d,e),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},c.Component.Smoothed=function(){},c.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(a){a?this.texture&&(this.texture.baseTexture.scaleMode=0):this.texture&&(this.texture.baseTexture.scaleMode=1)}}},c.GameObjectFactory=function(a){this.game=a,this.world=this.game.world},c.GameObjectFactory.prototype={existing:function(a){return this.world.add(a)},image:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Image(this.game,a,b,d,e))},sprite:function(a,b,c,d,e){return void 0===e&&(e=this.world),e.create(a,b,c,d)},creature:function(a,b,d,e,f){void 0===f&&(f=this.world);var g=new c.Creature(this.game,a,b,d,e);return f.add(g),g},tween:function(a){return this.game.tweens.create(a)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},physicsGroup:function(a,b,d,e){return new c.Group(this.game,b,d,e,!0,a)},spriteBatch:function(a,b,d){return void 0===a&&(a=null),void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},tileSprite:function(a,b,d,e,f,g,h){return void 0===h&&(h=this.world),h.add(new c.TileSprite(this.game,a,b,d,e,f,g))},rope:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.Rope(this.game,a,b,d,e,f))},text:function(a,b,d,e,f){return void 0===f&&(f=this.world),f.add(new c.Text(this.game,a,b,d,e))},button:function(a,b,d,e,f,g,h,i,j,k){return void 0===k&&(k=this.world),k.add(new c.Button(this.game,a,b,d,e,f,g,h,i,j))},graphics:function(a,b,d){return void 0===d&&(d=this.world),d.add(new c.Graphics(this.game,a,b))},emitter:function(a,b,d){return this.game.particles.add(new c.Particles.Arcade.Emitter(this.game,a,b,d))},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return void 0===g&&(g=this.world),g.add(new c.BitmapText(this.game,a,b,d,e,f))},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},video:function(a,b){return new c.Video(this.game,a,b)},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a},plugin:function(a){return this.game.plugins.add(a)}},c.GameObjectFactory.prototype.constructor=c.GameObjectFactory,c.GameObjectCreator=function(a){this.game=a,this.world=this.game.world},c.GameObjectCreator.prototype={image:function(a,b,d,e){return new c.Image(this.game,a,b,d,e)},sprite:function(a,b,d,e){return new c.Sprite(this.game,a,b,d,e)},tween:function(a){return new c.Tween(a,this.game,this.game.tweens)},group:function(a,b,d,e,f){return new c.Group(this.game,a,b,d,e,f)},spriteBatch:function(a,b,d){return void 0===b&&(b="group"),void 0===d&&(d=!1),new c.SpriteBatch(this.game,a,b,d)},audio:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},audioSprite:function(a){return this.game.sound.addSprite(a)},sound:function(a,b,c,d){return this.game.sound.add(a,b,c,d)},tileSprite:function(a,b,d,e,f,g){return new c.TileSprite(this.game,a,b,d,e,f,g)},rope:function(a,b,d,e,f){return new c.Rope(this.game,a,b,d,e,f)},text:function(a,b,d,e){return new c.Text(this.game,a,b,d,e)},button:function(a,b,d,e,f,g,h,i,j){return new c.Button(this.game,a,b,d,e,f,g,h,i,j)},graphics:function(a,b){return new c.Graphics(this.game,a,b)},emitter:function(a,b,d){return new c.Particles.Arcade.Emitter(this.game,a,b,d)},retroFont:function(a,b,d,e,f,g,h,i,j){return new c.RetroFont(this.game,a,b,d,e,f,g,h,i,j)},bitmapText:function(a,b,d,e,f,g){return new c.BitmapText(this.game,a,b,d,e,f,g)},tilemap:function(a,b,d,e,f){return new c.Tilemap(this.game,a,b,d,e,f)},renderTexture:function(a,b,d,e){(void 0===d||""===d)&&(d=this.game.rnd.uuid()),void 0===e&&(e=!1);var f=new c.RenderTexture(this.game,a,b,d);return e&&this.game.cache.addRenderTexture(d,f),f},bitmapData:function(a,b,d,e){void 0===e&&(e=!1),(void 0===d||""===d)&&(d=this.game.rnd.uuid());var f=new c.BitmapData(this.game,d,a,b);return e&&this.game.cache.addBitmapData(d,f),f},filter:function(a){var b=Array.prototype.slice.call(arguments,1),a=new c.Filter[a](this.game);return a.init.apply(a,b),a}},c.GameObjectCreator.prototype.constructor=c.GameObjectCreator,c.Sprite=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.SPRITE,this.physicsType=c.SPRITE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Sprite.prototype=Object.create(PIXI.Sprite.prototype),c.Sprite.prototype.constructor=c.Sprite,c.Component.Core.install.call(c.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Sprite.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Sprite.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Sprite.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Sprite.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Sprite.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Image=function(a,b,d,e,f){b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.IMAGE,PIXI.Sprite.call(this,PIXI.TextureCache.__default),c.Component.Core.init.call(this,a,b,d,e,f)},c.Image.prototype=Object.create(PIXI.Sprite.prototype),c.Image.prototype.constructor=c.Image,c.Component.Core.install.call(c.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","Smoothed"]),c.Image.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Image.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Image.prototype.preUpdate=function(){return this.preUpdateInWorld()?this.preUpdateCore():!1},c.Button=function(a,b,d,e,f,g,h,i,j,k){b=b||0,d=d||0,e=e||null,f=f||null,g=g||this,c.Image.call(this,a,b,d,e,i),this.type=c.BUTTON,this.physicsType=c.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new c.Signal,this.onInputOut=new c.Signal,this.onInputDown=new c.Signal,this.onInputUp=new c.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=c.PointerMode.TOUCH,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(h,i,j,k),null!==f&&this.onInputUp.add(f,g),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this),this.events.onRemovedFromWorld.add(this.removedFromWorld,this)},c.Button.prototype=Object.create(c.Image.prototype),c.Button.prototype.constructor=c.Button;var g="Over",h="Out",i="Down",j="Up";c.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},c.Button.prototype.removedFromWorld=function(){this.inputEnabled=!1},c.Button.prototype.setStateFrame=function(a,b,c){var d="_on"+a+"Frame";null!==b?(this[d]=b,c&&this.changeStateFrame(a)):this[d]=null},c.Button.prototype.changeStateFrame=function(a){if(this.freezeFrames)return!1;var b="_on"+a+"Frame",c=this[b];return"string"==typeof c?(this.frameName=c,!0):"number"==typeof c?(this.frame=c,!0):!1},c.Button.prototype.setFrames=function(a,b,c,d){this.setStateFrame(g,a,this.input.pointerOver()),this.setStateFrame(h,b,!this.input.pointerOver()),this.setStateFrame(i,c,this.input.pointerDown()),this.setStateFrame(j,d,this.input.pointerUp())},c.Button.prototype.setStateSound=function(a,b,d){var e="on"+a+"Sound",f="on"+a+"SoundMarker";b instanceof c.Sound||b instanceof c.AudioSprite?(this[e]=b,this[f]="string"==typeof d?d:""):(this[e]=null,this[f]="")},c.Button.prototype.playStateSound=function(a){var b="on"+a+"Sound",c=this[b];if(c){var d="on"+a+"SoundMarker",e=this[d];return c.play(e),!0}return!1},c.Button.prototype.setSounds=function(a,b,c,d,e,f,k,l){this.setStateSound(g,a,b),this.setStateSound(h,e,f),this.setStateSound(i,c,d),this.setStateSound(j,k,l)},c.Button.prototype.setOverSound=function(a,b){this.setStateSound(g,a,b)},c.Button.prototype.setOutSound=function(a,b){this.setStateSound(h,a,b)},c.Button.prototype.setDownSound=function(a,b){this.setStateSound(i,a,b)},c.Button.prototype.setUpSound=function(a,b){this.setStateSound(j,a,b)},c.Button.prototype.onInputOverHandler=function(a,b){b.justReleased()&&(this.justReleasedPreventsOver&b.pointerMode)===b.pointerMode||(this.changeStateFrame(g),(!this.onOverMouseOnly||b.isMouse)&&(this.playStateSound(g),this.onInputOver&&this.onInputOver.dispatch(this,b)))},c.Button.prototype.onInputOutHandler=function(a,b){this.changeStateFrame(h),this.playStateSound(h),this.onInputOut&&this.onInputOut.dispatch(this,b)},c.Button.prototype.onInputDownHandler=function(a,b){this.changeStateFrame(i),this.playStateSound(i),this.onInputDown&&this.onInputDown.dispatch(this,b)},c.Button.prototype.onInputUpHandler=function(a,b,c){if(this.playStateSound(j),this.onInputUp&&this.onInputUp.dispatch(this,b,c),!this.freezeFrames)if(this.forceOut===!0||(this.forceOut&b.pointerMode)===b.pointerMode)this.changeStateFrame(h);else{var d=this.changeStateFrame(j);d||(c?this.changeStateFrame(g):this.changeStateFrame(h))}},c.SpriteBatch=function(a,b,d,e){(void 0===b||null===b)&&(b=a.world),PIXI.SpriteBatch.call(this),c.Group.call(this,a,b,d,e),this.type=c.SPRITEBATCH},c.SpriteBatch.prototype=c.Utils.extend(!0,c.SpriteBatch.prototype,c.Group.prototype,PIXI.SpriteBatch.prototype),c.SpriteBatch.prototype.constructor=c.SpriteBatch,c.BitmapData=function(a,b,d,e){(void 0===d||0===d)&&(d=256),(void 0===e||0===e)&&(e=256),this.game=a,this.key=b,this.width=d,this.height=e,this.canvas=PIXI.CanvasPool.create(this,d,e),this.context=this.canvas.getContext("2d",{alpha:!0}),this.ctx=this.context,this.imageData=this.context.getImageData(0,0,d,e),this.data=null,this.imageData&&(this.data=this.imageData.data),this.pixels=null,this.data&&(this.imageData.data.buffer?(this.buffer=this.imageData.data.buffer,this.pixels=new Uint32Array(this.buffer)):window.ArrayBuffer?(this.buffer=new ArrayBuffer(this.imageData.data.length),this.pixels=new Uint32Array(this.buffer)):this.pixels=this.imageData.data),this.baseTexture=new PIXI.BaseTexture(this.canvas),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,d,e,"bitmapData"),this.texture.frame=this.textureFrame,this.type=c.BITMAPDATA,this.disableTextureUpload=!1,this.dirty=!1,this.cls=this.clear,this._image=null,this._pos=new c.Point,this._size=new c.Point,this._scale=new c.Point,this._rotate=0,this._alpha={prev:1,current:1},this._anchor=new c.Point,this._tempR=0,this._tempG=0,this._tempB=0,this._circle=new c.Circle,this._swapCanvas=void 0},c.BitmapData.prototype={move:function(a,b,c){return 0!==a&&this.moveH(a,c),0!==b&&this.moveV(b,c),this},moveH:function(a,b){void 0===b&&(b=!0),void 0===this._swapCanvas&&(this._swapCanvas=PIXI.CanvasPool.create(this,this.width,this.height));var c=this._swapCanvas,d=c.getContext("2d"),e=this.height,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),0>a){a=Math.abs(a);var g=this.width-a;b&&d.drawImage(f,0,0,a,e,g,0,a,e),d.drawImage(f,a,0,g,e,0,0,g,e)}else{var g=this.width-a;b&&d.drawImage(f,g,0,a,e,0,0,a,e),d.drawImage(f,0,0,g,e,a,0,g,e)}return this.clear(),this.copy(this._swapCanvas)},moveV:function(a,b){void 0===b&&(b=!0),void 0===this._swapCanvas&&(this._swapCanvas=PIXI.CanvasPool.create(this,this.width,this.height));var c=this._swapCanvas,d=c.getContext("2d"),e=this.width,f=this.canvas;if(d.clearRect(0,0,this.width,this.height),0>a){a=Math.abs(a);var g=this.height-a;b&&d.drawImage(f,0,0,e,a,0,g,e,a),d.drawImage(f,0,a,e,g,0,0,e,g)}else{var g=this.height-a;b&&d.drawImage(f,0,g,e,a,0,0,e,a),d.drawImage(f,0,0,e,g,0,a,e,g)}return this.clear(),this.copy(this._swapCanvas)},add:function(a){if(Array.isArray(a))for(var b=0;bm;m++)for(var n=d;h>n;n++)c.Color.unpackPixel(this.getPixel32(n,m),j),k=a.call(b,j,n,m),k!==!1&&null!==k&&void 0!==k&&(this.setPixel32(n,m,k.r,k.g,k.b,k.a,!1),l=!0);return l&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},processPixel:function(a,b,c,d,e,f){void 0===c&&(c=0),void 0===d&&(d=0),void 0===e&&(e=this.width),void 0===f&&(f=this.height);for(var g=c+e,h=d+f,i=0,j=0,k=!1,l=d;h>l;l++)for(var m=c;g>m;m++)i=this.getPixel32(m,l),j=a.call(b,i,m,l),j!==i&&(this.pixels[l*this.width+m]=j,k=!0);return k&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0),this},replaceRGB:function(a,b,d,e,f,g,h,i,j){var k=0,l=0,m=this.width,n=this.height,o=c.Color.packPixel(a,b,d,e);void 0!==j&&j instanceof c.Rectangle&&(k=j.x,l=j.y,m=j.width,n=j.height);for(var p=0;n>p;p++)for(var q=0;m>q;q++)this.getPixel32(k+q,l+p)===o&&this.setPixel32(k+q,l+p,f,g,h,i,!1);return this.context.putImageData(this.imageData,0,0),this.dirty=!0,this},setHSL:function(a,b,d,e){var f=a||0===a,g=b||0===b,h=d||0===d;if(f||g||h){void 0===e&&(e=new c.Rectangle(0,0,this.width,this.height));for(var i=c.Color.createColor(),j=e.y;j=0&&a<=this.width&&b>=0&&b<=this.height&&(c.Device.LITTLE_ENDIAN?this.pixels[b*this.width+a]=g<<24|f<<16|e<<8|d:this.pixels[b*this.width+a]=d<<24|e<<16|f<<8|g,h&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(a,b,c,d,e,f){return this.setPixel32(a,b,c,d,e,255,f)},getPixel:function(a,b,d){d||(d=c.Color.createColor());var e=~~(a+b*this.width);return e*=4,d.r=this.data[e],d.g=this.data[++e],d.b=this.data[++e],d.a=this.data[++e],d},getPixel32:function(a,b){return a>=0&&a<=this.width&&b>=0&&b<=this.height?this.pixels[b*this.width+a]:void 0},getPixelRGB:function(a,b,d,e,f){return c.Color.unpackPixel(this.getPixel32(a,b),d,e,f)},getPixels:function(a){return this.context.getImageData(a.x,a.y,a.width,a.height)},getFirstPixel:function(a){void 0===a&&(a=0);var b=c.Color.createColor(),d=0,e=0,f=1,g=!1;1===a?(f=-1,e=this.height):3===a&&(f=-1,d=this.width);do c.Color.unpackPixel(this.getPixel32(d,e),b),0===a||1===a?(d++,d===this.width&&(d=0,e+=f,(e>=this.height||0>=e)&&(g=!0))):(2===a||3===a)&&(e++,e===this.height&&(e=0,d+=f,(d>=this.width||0>=d)&&(g=!0)));while(0===b.a&&!g);return b.x=d,b.y=e,b},getBounds:function(a){return void 0===a&&(a=new c.Rectangle),a.x=this.getFirstPixel(2).x,a.x===this.width?a.setTo(0,0,0,0):(a.y=this.getFirstPixel(0).y,a.width=this.getFirstPixel(3).x-a.x+1,a.height=this.getFirstPixel(1).y-a.y+1,a)},addToWorld:function(a,b,c,d,e,f){e=e||1,f=f||1;var g=this.game.add.image(a,b,this);return g.anchor.set(c,d),g.scale.set(e,f),g},copy:function(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){if((void 0===a||null===a)&&(a=this),this._image=a,a instanceof c.Sprite||a instanceof c.Image||a instanceof c.Text||a instanceof PIXI.Sprite)this._pos.set(a.texture.crop.x,a.texture.crop.y),this._size.set(a.texture.crop.width,a.texture.crop.height),this._scale.set(a.scale.x,a.scale.y),this._anchor.set(a.anchor.x,a.anchor.y),this._rotate=a.rotation,this._alpha.current=a.alpha,this._image=a.texture.baseTexture.source,(void 0===g||null===g)&&(g=a.x),(void 0===h||null===h)&&(h=a.y),a.texture.trim&&(g+=a.texture.trim.x-a.anchor.x*a.texture.trim.width,h+=a.texture.trim.y-a.anchor.y*a.texture.trim.height),16777215!==a.tint&&(a.cachedTint!==a.tint&&(a.cachedTint=a.tint,a.tintedTexture=PIXI.CanvasTinter.getTintedTexture(a,a.tint)),this._image=a.tintedTexture);else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,a instanceof c.BitmapData)this._image=a.canvas;else if("string"==typeof a){if(a=this.game.cache.getImage(a),null===a)return;this._image=a}this._size.set(this._image.width,this._image.height)}if((void 0===b||null===b)&&(b=0),(void 0===d||null===d)&&(d=0),e&&(this._size.x=e),f&&(this._size.y=f),(void 0===g||null===g)&&(g=b),(void 0===h||null===h)&&(h=d),(void 0===i||null===i)&&(i=this._size.x),(void 0===j||null===j)&&(j=this._size.y),"number"==typeof k&&(this._rotate=k),"number"==typeof l&&(this._anchor.x=l),"number"==typeof m&&(this._anchor.y=m),"number"==typeof n&&(this._scale.x=n),"number"==typeof o&&(this._scale.y=o),"number"==typeof p&&(this._alpha.current=p),void 0===q&&(q=null),void 0===r&&(r=!1),!(this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)){var s=this.context;return this._alpha.prev=s.globalAlpha,s.save(),s.globalAlpha=this._alpha.current,q&&(this.op=q),r&&(g|=0,h|=0),s.translate(g,h),s.scale(this._scale.x,this._scale.y),s.rotate(this._rotate),s.drawImage(this._image,this._pos.x+b,this._pos.y+d,this._size.x,this._size.y,-i*this._anchor.x,-j*this._anchor.y,i,j),s.restore(),s.globalAlpha=this._alpha.prev,this.dirty=!0,this}},copyRect:function(a,b,c,d,e,f,g){return this.copy(a,b.x,b.y,b.width,b.height,c,d,b.width,b.height,0,0,0,1,1,e,f,g)},draw:function(a,b,c,d,e,f,g){return this.copy(a,null,null,null,null,b,c,d,e,null,null,null,null,null,null,f,g)},drawGroup:function(a,b,c){return a.total>0&&a.forEachExists(this.drawGroupProxy,this,b,c),this},drawGroupProxy:function(a,b,d){if(a.type===c.EMITTER||a.type===c.BITMAPTEXT)for(var e=0;eb.width&&(e=b.width);var f=this.context;return f.fillStyle=f.createPattern(b,d),this._circle=new c.Circle(a.start.x,a.start.y,b.height),this._circle.circumferencePoint(a.angle-1.5707963267948966,!1,this._pos),f.save(),f.translate(this._pos.x,this._pos.y),f.rotate(a.angle),f.fillRect(0,0,e,b.height),f.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){PIXI.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this}},Object.defineProperty(c.BitmapData.prototype,"smoothed",{get:function(){c.Canvas.getSmoothingEnabled(this.context)},set:function(a){c.Canvas.setSmoothingEnabled(this.context,a)}}),Object.defineProperty(c.BitmapData.prototype,"op",{get:function(){return this.context.globalCompositeOperation},set:function(a){this.context.globalCompositeOperation=a}}),c.BitmapData.getTransform=function(a,b,c,d,e,f){return"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),"number"!=typeof c&&(c=1),"number"!=typeof d&&(d=1),"number"!=typeof e&&(e=0),"number"!=typeof f&&(f=0),{sx:c,sy:d,scaleX:c,scaleY:d,skewX:e,skewY:f,translateX:a,translateY:b,tx:a,ty:b}},c.BitmapData.prototype.constructor=c.BitmapData,PIXI.Graphics=function(){PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new PIXI.Rectangle(0,0,1,1),this.dirty=!0,this.webGLDirty=!1,this.cachedSpriteDirty=!1},PIXI.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),PIXI.Graphics.prototype.constructor=PIXI.Graphics,PIXI.Graphics.prototype.lineStyle=function(a,b,c){return this.lineWidth=a||0,this.lineColor=b||0,this.lineAlpha=void 0===c?1:c,this.currentPath&&(this.currentPath.shape.points.length?this.drawShape(new PIXI.Polygon(this.currentPath.shape.points.slice(-2))):(this.currentPath.lineWidth=this.lineWidth,this.currentPath.lineColor=this.lineColor,this.currentPath.lineAlpha=this.lineAlpha)),this},PIXI.Graphics.prototype.moveTo=function(a,b){return this.drawShape(new PIXI.Polygon([a,b])),this},PIXI.Graphics.prototype.lineTo=function(a,b){return this.currentPath||this.moveTo(0,0),this.currentPath.shape.points.push(a,b),this.dirty=!0,this},PIXI.Graphics.prototype.quadraticCurveTo=function(a,b,c,d){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);var e,f,g=20,h=this.currentPath.shape.points;0===h.length&&this.moveTo(0,0);for(var i=h[h.length-2],j=h[h.length-1],k=0,l=1;g>=l;++l)k=l/g,e=i+(a-i)*k,f=j+(b-j)*k,h.push(e+(a+(c-a)*k-e)*k,f+(b+(d-b)*k-f)*k);return this.dirty=!0,this},PIXI.Graphics.prototype.bezierCurveTo=function(a,b,c,d,e,f){this.currentPath?0===this.currentPath.shape.points.length&&(this.currentPath.shape.points=[0,0]):this.moveTo(0,0);for(var g,h,i,j,k,l=20,m=this.currentPath.shape.points,n=m[m.length-2],o=m[m.length-1],p=0,q=1;l>=q;++q)p=q/l,g=1-p,h=g*g,i=h*g,j=p*p,k=j*p,m.push(i*n+3*h*p*a+3*g*j*c+k*e,i*o+3*h*p*b+3*g*j*d+k*f);return this.dirty=!0,this},PIXI.Graphics.prototype.arcTo=function(a,b,c,d,e){this.currentPath?0===this.currentPath.shape.points.length&&this.currentPath.shape.points.push(a,b):this.moveTo(a,b);var f=this.currentPath.shape.points,g=f[f.length-2],h=f[f.length-1],i=h-b,j=g-a,k=d-b,l=c-a,m=Math.abs(i*l-j*k);if(1e-8>m||0===e)(f[f.length-2]!==a||f[f.length-1]!==b)&&f.push(a,b);else{var n=i*i+j*j,o=k*k+l*l,p=i*k+j*l,q=e*Math.sqrt(n)/m,r=e*Math.sqrt(o)/m,s=q*p/n,t=r*p/o,u=q*l+r*j,v=q*k+r*i,w=j*(r+s),x=i*(r+s),y=l*(q+t),z=k*(q+t),A=Math.atan2(x-v,w-u),B=Math.atan2(z-v,y-u);this.arc(u+a,v+b,e,A,B,j*k>l*i)}return this.dirty=!0,this},PIXI.Graphics.prototype.arc=function(a,b,c,d,e,f,g){if(d===e)return this;void 0===f&&(f=!1),void 0===g&&(g=40),!f&&d>=e?e+=2*Math.PI:f&&e>=d&&(d+=2*Math.PI);var h=f?-1*(d-e):e-d,i=Math.ceil(Math.abs(h)/(2*Math.PI))*g;if(0===h)return this;var j=a+Math.cos(d)*c,k=b+Math.sin(d)*c;f&&this.filling?this.moveTo(a,b):this.moveTo(j,k);for(var l=this.currentPath.shape.points,m=h/(2*i),n=2*m,o=Math.cos(m),p=Math.sin(m),q=i-1,r=q%1/q,s=0;q>=s;s++){var t=s+r*s,u=m+d+n*t,v=Math.cos(u),w=-Math.sin(u);l.push((o*v+p*w)*c+a,(o*-w+p*v)*c+b)}return this.dirty=!0,this},PIXI.Graphics.prototype.beginFill=function(a,b){return this.filling=!0,this.fillColor=a||0,this.fillAlpha=void 0===b?1:b,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},PIXI.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},PIXI.Graphics.prototype.drawRect=function(a,b,c,d){return this.drawShape(new PIXI.Rectangle(a,b,c,d)),this},PIXI.Graphics.prototype.drawRoundedRect=function(a,b,c,d,e){return this.drawShape(new PIXI.RoundedRectangle(a,b,c,d,e)),this},PIXI.Graphics.prototype.drawCircle=function(a,b,c){return this.drawShape(new PIXI.Circle(a,b,c)),this},PIXI.Graphics.prototype.drawEllipse=function(a,b,c,d){return this.drawShape(new PIXI.Ellipse(a,b,c,d)),this},PIXI.Graphics.prototype.drawPolygon=function(a){(a instanceof c.Polygon||a instanceof PIXI.Polygon)&&(a=a.points);var b=a;if(!Array.isArray(b)){b=new Array(arguments.length);for(var d=0;dp?p:x,x=x>r?r:x,x=x>t?t:x,y=y>q?q:y,y=y>s?s:y,y=y>u?u:y,v=p>v?p:v,v=r>v?r:v,v=t>v?t:v,w=q>w?q:w,w=s>w?s:w,w=u>w?u:w,this._bounds.x=x,this._bounds.width=v-x,this._bounds.y=y,this._bounds.height=w-y,this._currentBounds=this._bounds}return this._currentBounds},PIXI.Graphics.prototype.containsPoint=function(a){this.worldTransform.applyInverse(a,tempPoint);for(var b=this.graphicsData,c=0;ch?h:a,b=h+j>b?h+j:b,d=d>i?i:d,e=i+k>e?i+k:e;else if(n===PIXI.Graphics.CIRC)h=f.x,i=f.y,j=f.radius+o/2,k=f.radius+o/2,a=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?i+k:e;else if(n===PIXI.Graphics.ELIP)h=f.x,i=f.y,j=f.width+o/2,k=f.height+o/2,a=a>h-j?h-j:a,b=h+j>b?h+j:b,d=d>i-k?i-k:d,e=i+k>e?i+k:e;else{g=f.points;for(var p=0;ph-o?h-o:a,b=h+o>b?h+o:b,d=d>i-o?i-o:d,e=i+o>e?i+o:e}}else a=0,b=0,d=0,e=0;var q=this.boundsPadding;this._localBounds.x=a-q,this._localBounds.width=b-a+2*q,this._localBounds.y=d-q,this._localBounds.height=e-d+2*q},PIXI.Graphics.prototype._generateCachedSprite=function(){var a=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(a.width,a.height);else{var b=new PIXI.CanvasBuffer(a.width,a.height),c=PIXI.Texture.fromCanvas(b.canvas);this._cachedSprite=new PIXI.Sprite(c),this._cachedSprite.buffer=b,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-(a.x/a.width),this._cachedSprite.anchor.y=-(a.y/a.height),this._cachedSprite.buffer.context.translate(-a.x,-a.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},PIXI.Graphics.prototype.updateCachedSpriteTexture=function(){var a=this._cachedSprite,b=a.texture,c=a.buffer.canvas;b.baseTexture.width=c.width,b.baseTexture.height=c.height,b.crop.width=b.frame.width=c.width,b.crop.height=b.frame.height=c.height,a._width=c.width,a._height=c.height,b.baseTexture.dirty()},PIXI.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},PIXI.Graphics.prototype.drawShape=function(a){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,a instanceof c.Polygon&&(a=a.clone(),a.flatten());var b=new PIXI.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,a);return this.graphicsData.push(b),b.type===PIXI.Graphics.POLY&&(b.shape.closed=this.filling,this.currentPath=b),this.dirty=!0,b},Object.defineProperty(PIXI.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(a){this._cacheAsBitmap=a,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),PIXI.GraphicsData=function(a,b,c,d,e,f,g){this.lineWidth=a,this.lineColor=b,this.lineAlpha=c,this._lineTint=b,this.fillColor=d,this.fillAlpha=e,this._fillTint=d,this.fill=f,this.shape=g,this.type=g.type},PIXI.GraphicsData.prototype.constructor=PIXI.GraphicsData,PIXI.GraphicsData.prototype.clone=function(){return new GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},PIXI.PolyK={},PIXI.PolyK.Triangulate=function(a){var b=!0,c=a.length>>1;if(3>c)return[];for(var d=[],e=[],f=0;c>f;f++)e.push(f);f=0;for(var g=c;g>3;){var h=e[(f+0)%g],i=e[(f+1)%g],j=e[(f+2)%g],k=a[2*h],l=a[2*h+1],m=a[2*i],n=a[2*i+1],o=a[2*j],p=a[2*j+1],q=!1;if(PIXI.PolyK._convex(k,l,m,n,o,p,b)){q=!0;for(var r=0;g>r;r++){var s=e[r];if(s!==h&&s!==i&&s!==j&&PIXI.PolyK._PointInTriangle(a[2*s],a[2*s+1],k,l,m,n,o,p)){q=!1;break}}}if(q)d.push(h,i,j),e.splice((f+1)%g,1),g--,f=0;else if(f++>3*g){if(!b)return null;for(d=[],e=[],f=0;c>f;f++)e.push(f);f=0,g=c,b=!1}}return d.push(e[0],e[1],e[2]),d},PIXI.PolyK._PointInTriangle=function(a,b,c,d,e,f,g,h){var i=g-c,j=h-d,k=e-c,l=f-d,m=a-c,n=b-d,o=i*i+j*j,p=i*k+j*l,q=i*m+j*n,r=k*k+l*l,s=k*m+l*n,t=1/(o*r-p*p),u=(r*q-p*s)*t,v=(o*s-p*q)*t;return u>=0&&v>=0&&1>u+v},PIXI.PolyK._convex=function(a,b,c,d,e,f,g){return(b-d)*(e-c)+(c-a)*(f-d)>=0===g},PIXI.EarCut={},PIXI.EarCut.Triangulate=function(a,b,c){c=c||2;var d=b&&b.length,e=d?b[0]*c:a.length,f=PIXI.EarCut.linkedList(a,0,e,c,!0),g=[];if(!f)return g;var h,i,j,k,l,m,n;if(d&&(f=PIXI.EarCut.eliminateHoles(a,b,f,c)),a.length>80*c){h=j=a[0],i=k=a[1];for(var o=c;e>o;o+=c)l=a[o],m=a[o+1],h>l&&(h=l),i>m&&(i=m),l>j&&(j=l),m>k&&(k=m);n=Math.max(j-h,k-i)}return PIXI.EarCut.earcutLinked(f,g,c,h,i,n),g},PIXI.EarCut.linkedList=function(a,b,c,d,e){var f,g,h,i=0;for(f=b,g=c-d;c>f;f+=d)i+=(a[g]-a[f])*(a[f+1]+a[g+1]),g=f;if(e===i>0)for(f=b;c>f;f+=d)h=PIXI.EarCut.insertNode(f,a[f],a[f+1],h);else for(f=c-d;f>=b;f-=d)h=PIXI.EarCut.insertNode(f,a[f],a[f+1],h);return h},PIXI.EarCut.filterPoints=function(a,b){if(!a)return a;b||(b=a);var c,d=a;do if(c=!1,d.steiner||!PIXI.EarCut.equals(d,d.next)&&0!==PIXI.EarCut.area(d.prev,d,d.next))d=d.next;else{if(PIXI.EarCut.removeNode(d),d=b=d.prev,d===d.next)return null;c=!0}while(c||d!==b);return b},PIXI.EarCut.earcutLinked=function(a,b,c,d,e,f,g){if(a){!g&&f&&PIXI.EarCut.indexCurve(a,d,e,f);for(var h,i,j=a;a.prev!==a.next;)if(h=a.prev,i=a.next,f?PIXI.EarCut.isEarHashed(a,d,e,f):PIXI.EarCut.isEar(a))b.push(h.i/c),b.push(a.i/c),b.push(i.i/c),PIXI.EarCut.removeNode(a),a=i.next,j=i.next;else if(a=i,a===j){g?1===g?(a=PIXI.EarCut.cureLocalIntersections(a,b,c),PIXI.EarCut.earcutLinked(a,b,c,d,e,f,2)):2===g&&PIXI.EarCut.splitEarcut(a,b,c,d,e,f):PIXI.EarCut.earcutLinked(PIXI.EarCut.filterPoints(a),b,c,d,e,f,1);break}}},PIXI.EarCut.isEar=function(a){var b=a.prev,c=a,d=a.next;if(PIXI.EarCut.area(b,c,d)>=0)return!1;for(var e=a.next.next;e!==a.prev;){if(PIXI.EarCut.pointInTriangle(b.x,b.y,c.x,c.y,d.x,d.y,e.x,e.y)&&PIXI.EarCut.area(e.prev,e,e.next)>=0)return!1;e=e.next}return!0},PIXI.EarCut.isEarHashed=function(a,b,c,d){var e=a.prev,f=a,g=a.next;if(PIXI.EarCut.area(e,f,g)>=0)return!1;for(var h=e.xf.x?e.x>g.x?e.x:g.x:f.x>g.x?f.x:g.x,k=e.y>f.y?e.y>g.y?e.y:g.y:f.y>g.y?f.y:g.y,l=PIXI.EarCut.zOrder(h,i,b,c,d),m=PIXI.EarCut.zOrder(j,k,b,c,d),n=a.nextZ;n&&n.z<=m;){if(n!==a.prev&&n!==a.next&&PIXI.EarCut.pointInTriangle(e.x,e.y,f.x,f.y,g.x,g.y,n.x,n.y)&&PIXI.EarCut.area(n.prev,n,n.next)>=0)return!1;n=n.nextZ}for(n=a.prevZ;n&&n.z>=l;){if(n!==a.prev&&n!==a.next&&PIXI.EarCut.pointInTriangle(e.x,e.y,f.x,f.y,g.x,g.y,n.x,n.y)&&PIXI.EarCut.area(n.prev,n,n.next)>=0)return!1;n=n.prevZ}return!0},PIXI.EarCut.cureLocalIntersections=function(a,b,c){var d=a;do{var e=d.prev,f=d.next.next;PIXI.EarCut.intersects(e,d,d.next,f)&&PIXI.EarCut.locallyInside(e,f)&&PIXI.EarCut.locallyInside(f,e)&&(b.push(e.i/c),b.push(d.i/c),b.push(f.i/c),PIXI.EarCut.removeNode(d),PIXI.EarCut.removeNode(d.next),d=a=f),d=d.next}while(d!==a);return d},PIXI.EarCut.splitEarcut=function(a,b,c,d,e,f){var g=a;do{for(var h=g.next.next;h!==g.prev;){if(g.i!==h.i&&PIXI.EarCut.isValidDiagonal(g,h)){var i=PIXI.EarCut.splitPolygon(g,h);return g=PIXI.EarCut.filterPoints(g,g.next),i=PIXI.EarCut.filterPoints(i,i.next),PIXI.EarCut.earcutLinked(g,b,c,d,e,f),void PIXI.EarCut.earcutLinked(i,b,c,d,e,f)}h=h.next}g=g.next}while(g!==a)},PIXI.EarCut.eliminateHoles=function(a,b,c,d){var e,f,g,h,i,j=[];for(e=0,f=b.length;f>e;e++)g=b[e]*d,h=f-1>e?b[e+1]*d:a.length,i=PIXI.EarCut.linkedList(a,g,h,d,!1),i===i.next&&(i.steiner=!0),j.push(PIXI.EarCut.getLeftmost(i));for(j.sort(compareX),e=0;e=d.next.y){var h=d.x+(f-d.y)*(d.next.x-d.x)/(d.next.y-d.y);e>=h&&h>g&&(g=h,c=d.x=d.x&&d.x>=c.x&&PIXI.EarCut.pointInTriangle(fi||i===k&&d.x>c.x)&&PIXI.EarCut.locallyInside(d,a)&&(c=d,k=i)),d=d.next;return c},PIXI.EarCut.indexCurve=function(a,b,c,d){var e=a;do null===e.z&&(e.z=PIXI.EarCut.zOrder(e.x,e.y,b,c,d)),e.prevZ=e.prev,e.nextZ=e.next,e=e.next;while(e!==a);e.prevZ.nextZ=null,e.prevZ=null,PIXI.EarCut.sortLinked(e)},PIXI.EarCut.sortLinked=function(a){var b,c,d,e,f,g,h,i,j=1;do{for(c=a,a=null,f=null,g=0;c;){for(g++,d=c,h=0,b=0;j>b&&(h++,d=d.nextZ,d);b++);for(i=j;h>0||i>0&&d;)0===h?(e=d,d=d.nextZ,i--):0!==i&&d?c.z<=d.z?(e=c,c=c.nextZ,h--):(e=d,d=d.nextZ,i--):(e=c,c=c.nextZ,h--),f?f.nextZ=e:a=e,e.prevZ=f,f=e;c=d}f.nextZ=null,j*=2}while(g>1);return a},PIXI.EarCut.zOrder=function(a,b,c,d,e){return a=32767*(a-c)/e,b=32767*(b-d)/e,a=16711935&(a|a<<8),a=252645135&(a|a<<4),a=858993459&(a|a<<2),a=1431655765&(a|a<<1),b=16711935&(b|b<<8),b=252645135&(b|b<<4),b=858993459&(b|b<<2),b=1431655765&(b|b<<1),a|b<<1},PIXI.EarCut.getLeftmost=function(a){var b=a,c=a;do b.x=0&&(a-g)*(d-h)-(c-g)*(b-h)>=0&&(c-g)*(f-h)-(e-g)*(d-h)>=0},PIXI.EarCut.isValidDiagonal=function(a,b){return PIXI.EarCut.equals(a,b)||a.next.i!==b.i&&a.prev.i!==b.i&&!PIXI.EarCut.intersectsPolygon(a,b)&&PIXI.EarCut.locallyInside(a,b)&&PIXI.EarCut.locallyInside(b,a)&&PIXI.EarCut.middleInside(a,b)},PIXI.EarCut.area=function(a,b,c){return(b.y-a.y)*(c.x-b.x)-(b.x-a.x)*(c.y-b.y)},PIXI.EarCut.equals=function(a,b){return a.x===b.x&&a.y===b.y},PIXI.EarCut.intersects=function(a,b,c,d){return PIXI.EarCut.area(a,b,c)>0!=PIXI.EarCut.area(a,b,d)>0&&PIXI.EarCut.area(c,d,a)>0!=PIXI.EarCut.area(c,d,b)>0},PIXI.EarCut.intersectsPolygon=function(a,b){var c=a;do{if(c.i!==a.i&&c.next.i!==a.i&&c.i!==b.i&&c.next.i!==b.i&&PIXI.EarCut.intersects(c,c.next,a,b))return!0;c=c.next}while(c!==a);return!1},PIXI.EarCut.locallyInside=function(a,b){return PIXI.EarCut.area(a.prev,a,a.next)<0?PIXI.EarCut.area(a,b,a.next)>=0&&PIXI.EarCut.area(a,a.prev,b)>=0:PIXI.EarCut.area(a,b,a.prev)<0||PIXI.EarCut.area(a,a.next,b)<0},PIXI.EarCut.middleInside=function(a,b){var c=a,d=!1,e=(a.x+b.x)/2,f=(a.y+b.y)/2;do c.y>f!=c.next.y>f&&e<(c.next.x-c.x)*(f-c.y)/(c.next.y-c.y)+c.x&&(d=!d),c=c.next;while(c!==a);return d},PIXI.EarCut.splitPolygon=function(a,b){var c=new PIXI.EarCut.Node(a.i,a.x,a.y),d=new PIXI.EarCut.Node(b.i,b.x,b.y),e=a.next,f=b.prev;return a.next=b,b.prev=a,c.next=e,e.prev=c,d.next=c,c.prev=d,f.next=d,d.prev=f,d},PIXI.EarCut.insertNode=function(a,b,c,d){var e=new PIXI.EarCut.Node(a,b,c);return d?(e.next=d.next,e.prev=d,d.next.prev=e,d.next=e):(e.prev=e,e.next=e),e},PIXI.EarCut.removeNode=function(a){a.next.prev=a.prev,a.prev.next=a.next,a.prevZ&&(a.prevZ.nextZ=a.nextZ),a.nextZ&&(a.nextZ.prevZ=a.prevZ)},PIXI.EarCut.Node=function(a,b,c){this.i=a,this.x=b,this.y=c,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(a,b){var c,d=b.gl,e=b.projection,f=b.offset,g=b.shaderManager.primitiveShader;a.dirty&&PIXI.WebGLGraphics.updateGraphics(a,d);for(var h=a._webGL[d.id],i=0;i=PIXI.WebGLGraphics.stencilBufferLimit)if(g.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit){f=PIXI.WebGLGraphics.switchMode(c,0);var h=PIXI.WebGLGraphics.buildPoly(g,f);h||(f=PIXI.WebGLGraphics.switchMode(c,1),PIXI.WebGLGraphics.buildComplexPoly(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,1), +PIXI.WebGLGraphics.buildComplexPoly(g,f);g.lineWidth>0&&(f=PIXI.WebGLGraphics.switchMode(c,0),PIXI.WebGLGraphics.buildLine(g,f))}else f=PIXI.WebGLGraphics.switchMode(c,0),g.type===PIXI.Graphics.RECT?PIXI.WebGLGraphics.buildRectangle(g,f):g.type===PIXI.Graphics.CIRC||g.type===PIXI.Graphics.ELIP?PIXI.WebGLGraphics.buildCircle(g,f):g.type===PIXI.Graphics.RREC&&PIXI.WebGLGraphics.buildRoundedRectangle(g,f);c.lastIndex++}for(d=0;d=q;q++)p=q/n,h=g(a,c,p),i=g(b,d,p),j=g(c,e,p),k=g(d,f,p),l=g(h,j,p),m=g(i,k,p),o.push(l,m);return o},PIXI.WebGLGraphics.buildCircle=function(a,b){var c,d,e=a.shape,f=e.x,g=e.y;a.type===PIXI.Graphics.CIRC?(c=e.radius,d=e.radius):(c=e.width,d=e.height);var h=40,i=2*Math.PI/h,j=0;if(a.fill){var k=PIXI.hex2rgb(a.fillColor),l=a.fillAlpha,m=k[0]*l,n=k[1]*l,o=k[2]*l,p=b.points,q=b.indices,r=p.length/6;for(q.push(r),j=0;h+1>j;j++)p.push(f,g,m,n,o,l),p.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d,m,n,o,l),q.push(r++,r++);q.push(r-1)}if(a.lineWidth){var s=a.points;for(a.points=[],j=0;h+1>j;j++)a.points.push(f+Math.sin(i*j)*c,g+Math.cos(i*j)*d);PIXI.WebGLGraphics.buildLine(a,b),a.points=s}},PIXI.WebGLGraphics.buildLine=function(a,b){var c=0,d=a.points;if(0!==d.length){if(a.lineWidth%2)for(c=0;cc;c++)k=d[2*(c-1)],l=d[2*(c-1)+1],m=d[2*c],n=d[2*c+1],o=d[2*(c+1)],p=d[2*(c+1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,s=-(n-p),t=m-o,E=Math.sqrt(s*s+t*t),s/=E,t/=E,s*=K,t*=K,w=-r+l-(-r+n),x=-q+m-(-q+k),y=(-q+k)*(-r+n)-(-q+m)*(-r+l),z=-t+p-(-t+n),A=-s+m-(-s+o),B=(-s+o)*(-t+n)-(-s+m)*(-t+p),C=w*A-z*x,Math.abs(C)<.1?(C+=10.1,F.push(m-q,n-r,N,O,P,M),F.push(m+q,n+r,N,O,P,M)):(i=(x*B-A*y)/C,j=(z*y-w*B)/C,D=(i-m)*(i-m)+(j-n)+(j-n),D>19600?(u=q-s,v=r-t,E=Math.sqrt(u*u+v*v),u/=E,v/=E,u*=K,v*=K,F.push(m-u,n-v),F.push(N,O,P,M),F.push(m+u,n+v),F.push(N,O,P,M),F.push(m-u,n-v),F.push(N,O,P,M),I++):(F.push(i,j),F.push(N,O,P,M),F.push(m-(i-m),n-(j-n)),F.push(N,O,P,M)));for(k=d[2*(H-2)],l=d[2*(H-2)+1],m=d[2*(H-1)],n=d[2*(H-1)+1],q=-(l-n),r=k-m,E=Math.sqrt(q*q+r*r),q/=E,r/=E,q*=K,r*=K,F.push(m-q,n-r),F.push(N,O,P,M),F.push(m+q,n+r),F.push(N,O,P,M),G.push(J),c=0;I>c;c++)G.push(J++);G.push(J-1)}},PIXI.WebGLGraphics.buildComplexPoly=function(a,b){var c=a.points.slice();if(!(c.length<6)){var d=b.indices;b.points=c,b.alpha=a.fillAlpha,b.color=PIXI.hex2rgb(a.fillColor);for(var e,f,g=1/0,h=-(1/0),i=1/0,j=-(1/0),k=0;ke?e:g,h=e>h?e:h,i=i>f?f:i,j=f>j?f:j;c.push(g,i,h,i,h,j,g,j);var l=c.length/2;for(k=0;l>k;k++)d.push(k)}},PIXI.WebGLGraphics.buildPoly=function(a,b){var c=a.points;if(!(c.length<6)){var d=b.points,e=b.indices,f=c.length/2,g=PIXI.hex2rgb(a.fillColor),h=a.fillAlpha,i=g[0]*h,j=g[1]*h,k=g[2]*h,l=PIXI.EarCut.Triangulate(c,null,2);if(!l)return!1;var m=d.length/6,n=0;for(n=0;nn;n++)d.push(c[2*n],c[2*n+1],i,j,k,h);return!0}},PIXI.WebGLGraphics.graphicsDataPool=[],PIXI.WebGLGraphicsData=function(a){this.gl=a,this.color=[0,0,0],this.points=[],this.indices=[],this.buffer=a.createBuffer(),this.indexBuffer=a.createBuffer(),this.mode=1,this.alpha=1,this.dirty=!0},PIXI.WebGLGraphicsData.prototype.reset=function(){this.points=[],this.indices=[]},PIXI.WebGLGraphicsData.prototype.upload=function(){var a=this.gl;this.glPoints=new PIXI.Float32Array(this.points),a.bindBuffer(a.ARRAY_BUFFER,this.buffer),a.bufferData(a.ARRAY_BUFFER,this.glPoints,a.STATIC_DRAW),this.glIndicies=new PIXI.Uint16Array(this.indices),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,this.indexBuffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,this.glIndicies,a.STATIC_DRAW),this.dirty=!1},PIXI.CanvasGraphics=function(){},PIXI.CanvasGraphics.renderGraphics=function(a,b){var c=a.worldAlpha;a.dirty&&(this.updateGraphicsTint(a),a.dirty=!1);for(var d=0;dA?A:z,b.beginPath(),b.moveTo(v,w+z),b.lineTo(v,w+y-z),b.quadraticCurveTo(v,w+y,v+z,w+y),b.lineTo(v+x-z,w+y),b.quadraticCurveTo(v+x,w+y,v+x,w+y-z),b.lineTo(v+x,w+z),b.quadraticCurveTo(v+x,w,v+x-z,w),b.lineTo(v+z,w),b.quadraticCurveTo(v,w,v,w+z),b.closePath(),(e.fillColor||0===e.fillColor)&&(b.globalAlpha=e.fillAlpha*c,b.fillStyle="#"+("00000"+(0|g).toString(16)).substr(-6),b.fill()),e.lineWidth&&(b.globalAlpha=e.lineAlpha*c,b.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),b.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(a,b){var c=a.graphicsData.length;if(0!==c){b.beginPath();for(var d=0;c>d;d++){var e=a.graphicsData[d],f=e.shape;if(e.type===PIXI.Graphics.POLY){var g=f.points;b.moveTo(g[0],g[1]);for(var h=1;hy?y:x,b.moveTo(t,u+x),b.lineTo(t,u+w-x),b.quadraticCurveTo(t,u+w,t+x,u+w),b.lineTo(t+v-x,u+w),b.quadraticCurveTo(t+v,u+w,t+v,u+w-x),b.lineTo(t+v,u+x),b.quadraticCurveTo(t+v,u,t+v-x,u),b.lineTo(t+x,u),b.quadraticCurveTo(t,u,t,u+x),b.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(a){if(16777215!==a.tint)for(var b=(a.tint>>16&255)/255,c=(a.tint>>8&255)/255,d=(255&a.tint)/255,e=0;e>16&255)/255*b*255<<16)+((g>>8&255)/255*c*255<<8)+(255&g)/255*d*255,f._lineTint=((h>>16&255)/255*b*255<<16)+((h>>8&255)/255*c*255<<8)+(255&h)/255*d*255}},c.Graphics=function(a,b,d){void 0===b&&(b=0),void 0===d&&(d=0),this.type=c.GRAPHICS,this.physicsType=c.SPRITE,PIXI.Graphics.call(this),c.Component.Core.init.call(this,a,b,d,"",null)},c.Graphics.prototype=Object.create(PIXI.Graphics.prototype),c.Graphics.prototype.constructor=c.Graphics,c.Component.Core.install.call(c.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),c.Graphics.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Graphics.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Graphics.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Graphics.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Graphics.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Graphics.prototype.destroy=function(a){this.clear(),c.Component.Destroy.prototype.destroy.call(this,a)},c.Graphics.prototype.drawTriangle=function(a,b){void 0===b&&(b=!1);var d=new c.Polygon(a);if(b){var e=new c.Point(this.game.camera.x-a[0].x,this.game.camera.y-a[0].y),f=new c.Point(a[1].x-a[0].x,a[1].y-a[0].y),g=new c.Point(a[1].x-a[2].x,a[1].y-a[2].y),h=g.cross(f);e.dot(h)>0&&this.drawPolygon(d)}else this.drawPolygon(d)},c.Graphics.prototype.drawTriangles=function(a,b,d){void 0===d&&(d=!1);var e,f=new c.Point,g=new c.Point,h=new c.Point,i=[];if(b)if(a[0]instanceof c.Point)for(e=0;e0&&(j+=c[k-1]),h=j+l}else for(var k=0;kp&&Math.abs(p)>n&&(p=-n),0!==p){var m=p*(b.length-1);o+=m}this.canvas.height=o*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var q,r;for(this._charCount=0,g=0;g0&&(r+=p*g),"right"===this.style.align?q+=e-d[g]:"center"===this.style.align&&(q+=(e-d[g])/2),this.autoRound&&(q=Math.round(q),r=Math.round(r)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(b[g],q,r):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===c?this.context.strokeText(b[g],q,r):this.renderTabLine(b[g],q,r,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===c?this.context.fillText(b[g],q,r):this.renderTabLine(b[g],q,r,!0)));this.updateTexture()},c.Text.prototype.renderTabLine=function(a,b,c,d){var e=a.split(/(?:\t)/),f=this.style.tabs,g=0;if(Array.isArray(f))for(var h=0,i=0;i0&&(h+=f[i-1]),g=b+h,d?this.context.fillText(e[i],g,c):this.context.strokeText(e[i],g,c);else for(var i=0;i0||this.fontStyles.length>0){var f=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(f.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(f.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(f)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(e,b,c)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(e,b,c)),b+=this.context.measureText(e).width,this._charCount++}},c.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},c.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},c.Text.prototype.addColor=function(a,b){return this.colors[b]=a,this.dirty=!0,this},c.Text.prototype.addStrokeColor=function(a,b){return this.strokeColors[b]=a,this.dirty=!0,this},c.Text.prototype.addFontStyle=function(a,b){return this.fontStyles[b]=a,this.dirty=!0,this},c.Text.prototype.addFontWeight=function(a,b){return this.fontWeights[b]=a,this.dirty=!0,this},c.Text.prototype.precalculateWordWrap=function(a){this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font;var b=this.runWordWrap(a);return b.split(/(?:\r\n|\r|\n)/)},c.Text.prototype.runWordWrap=function(a){return this.useAdvancedWrap?this.advancedWordWrap(a):this.basicWordWrap(a)},c.Text.prototype.advancedWordWrap=function(a){for(var b=this.context,c=this.style.wordWrapWidth,d="",e=a.replace(/ +/gi," ").split(/\r?\n/gi),f=e.length,g=0;f>g;g++){var h=e[g],i="";h=h.replace(/^ *|\s*$/gi,"");var j=b.measureText(h).width;if(c>j)d+=h+"\n";else{for(var k=c,l=h.split(" "),m=0;mk){if(0===m){for(var q=o;q.length&&(q=q.slice(0,-1),p=b.measureText(q).width,!(k>=p)););if(!q.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var r=n.substr(q.length);l[m]=r,i+=q}var s=l[m].length?m:m+1,t=l.slice(s).join(" ").replace(/[ \n]*$/gi,"");e[g+1]=t+" "+(e[g+1]||""),f=e.length;break}i+=o,k-=p}d+=i.replace(/[ \n]*$/gi,"")+"\n"}}return d=d.replace(/[\s|\n]*$/gi,"")},c.Text.prototype.basicWordWrap=function(a){for(var b="",c=a.split("\n"),d=0;de?(g>0&&(b+="\n"),b+=f[g]+" ",e=this.style.wordWrapWidth-h):(e-=i,b+=f[g]+" ")}dd&&(this.style.wordWrapWidth=d)),this.updateTexture(),this},c.Text.prototype.updateTexture=function(){var a=this.texture.baseTexture,b=this.texture.crop,c=this.texture.frame,d=this.canvas.width,e=this.canvas.height;if(a.width=d,a.height=e,b.width=d,b.height=e,c.width=d,c.height=e,this.texture.width=d,this.texture.height=e,this._width=d,this._height=e,this.textBounds){var f=this.textBounds.x,g=this.textBounds.y;"right"===this.style.boundsAlignH?f+=this.textBounds.width-this.canvas.width:"center"===this.style.boundsAlignH&&(f+=this.textBounds.halfWidth-this.canvas.width/2),"bottom"===this.style.boundsAlignV?g+=this.textBounds.height-this.canvas.height:"middle"===this.style.boundsAlignV&&(g+=this.textBounds.halfHeight-this.canvas.height/2),this.pivot.x=-f,this.pivot.y=-g}this.renderable=0!==d&&0!==e,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},c.Text.prototype._renderWebGL=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,a)},c.Text.prototype._renderCanvas=function(a){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,a)},c.Text.prototype.determineFontProperties=function(a){var b=c.Text.fontPropertiesCache[a];if(!b){b={};var d=c.Text.fontPropertiesCanvas,e=c.Text.fontPropertiesContext;e.font=a;var f=Math.ceil(e.measureText("|MÉq").width),g=Math.ceil(e.measureText("|MÉq").width),h=2*g;if(g=1.4*g|0,d.width=f,d.height=h,e.fillStyle="#f00",e.fillRect(0,0,f,h),e.font=a,e.textBaseline="alphabetic",e.fillStyle="#000",e.fillText("|MÉq",0,g),!e.getImageData(0,0,f,h))return b.ascent=g,b.descent=g+6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b,b;var i,j,k=e.getImageData(0,0,f,h).data,l=k.length,m=4*f,n=0,o=!1;for(i=0;g>i;i++){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n+=m}for(b.ascent=g-i,n=l-m,o=!1,i=h;i>g;i--){for(j=0;m>j;j+=4)if(255!==k[n+j]){o=!0;break}if(o)break;n-=m}b.descent=i-g,b.descent+=6,b.fontSize=b.ascent+b.descent,c.Text.fontPropertiesCache[a]=b}return b},c.Text.prototype.getBounds=function(a){return this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype.getBounds.call(this,a)},Object.defineProperty(c.Text.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"cssFont",{get:function(){return this.componentsToFont(this._fontComponents)},set:function(a){a=a||"bold 20pt Arial",this._fontComponents=this.fontToComponents(a),this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"font",{get:function(){return this._fontComponents.fontFamily},set:function(a){a=a||"Arial",a=a.trim(),/^(?:inherit|serif|sans-serif|cursive|fantasy|monospace)$/.exec(a)||/['",]/.exec(a)||(a="'"+a+"'"),this._fontComponents.fontFamily=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontSize",{get:function(){var a=this._fontComponents.fontSize;return a&&/(?:^0$|px$)/.exec(a)?parseInt(a,10):a},set:function(a){a=a||"0","number"==typeof a&&(a+="px"),this._fontComponents.fontSize=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontWeight",{get:function(){return this._fontComponents.fontWeight||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontWeight=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontStyle",{get:function(){return this._fontComponents.fontStyle||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontStyle=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fontVariant",{get:function(){return this._fontComponents.fontVariant||"normal"},set:function(a){a=a||"normal",this._fontComponents.fontVariant=a,this.updateFont(this._fontComponents)}}),Object.defineProperty(c.Text.prototype,"fill",{get:function(){return this.style.fill},set:function(a){a!==this.style.fill&&(this.style.fill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"align",{get:function(){return this.style.align},set:function(a){a!==this.style.align&&(this.style.align=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"resolution",{get:function(){return this._res},set:function(a){a!==this._res&&(this._res=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"tabs",{get:function(){return this.style.tabs},set:function(a){a!==this.style.tabs&&(this.style.tabs=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignH",{get:function(){return this.style.boundsAlignH},set:function(a){a!==this.style.boundsAlignH&&(this.style.boundsAlignH=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"boundsAlignV",{get:function(){return this.style.boundsAlignV},set:function(a){a!==this.style.boundsAlignV&&(this.style.boundsAlignV=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"stroke",{get:function(){return this.style.stroke},set:function(a){a!==this.style.stroke&&(this.style.stroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"strokeThickness",{get:function(){return this.style.strokeThickness},set:function(a){a!==this.style.strokeThickness&&(this.style.strokeThickness=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrap",{get:function(){return this.style.wordWrap},set:function(a){a!==this.style.wordWrap&&(this.style.wordWrap=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"wordWrapWidth",{get:function(){return this.style.wordWrapWidth},set:function(a){a!==this.style.wordWrapWidth&&(this.style.wordWrapWidth=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"lineSpacing",{get:function(){return this._lineSpacing},set:function(a){a!==this._lineSpacing&&(this._lineSpacing=parseFloat(a),this.dirty=!0,this.parent&&this.updateTransform())}}),Object.defineProperty(c.Text.prototype,"shadowOffsetX",{get:function(){return this.style.shadowOffsetX},set:function(a){a!==this.style.shadowOffsetX&&(this.style.shadowOffsetX=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowOffsetY",{get:function(){return this.style.shadowOffsetY},set:function(a){a!==this.style.shadowOffsetY&&(this.style.shadowOffsetY=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowColor",{get:function(){return this.style.shadowColor},set:function(a){a!==this.style.shadowColor&&(this.style.shadowColor=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowBlur",{get:function(){return this.style.shadowBlur},set:function(a){a!==this.style.shadowBlur&&(this.style.shadowBlur=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowStroke",{get:function(){return this.style.shadowStroke},set:function(a){a!==this.style.shadowStroke&&(this.style.shadowStroke=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"shadowFill",{get:function(){return this.style.shadowFill},set:function(a){a!==this.style.shadowFill&&(this.style.shadowFill=a,this.dirty=!0)}}),Object.defineProperty(c.Text.prototype,"width",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.x*this.texture.frame.width},set:function(a){this.scale.x=a/this.texture.frame.width,this._width=a}}),Object.defineProperty(c.Text.prototype,"height",{get:function(){return this.dirty&&(this.updateText(),this.dirty=!1),this.scale.y*this.texture.frame.height},set:function(a){this.scale.y=a/this.texture.frame.height,this._height=a}}),c.Text.fontPropertiesCache={},c.Text.fontPropertiesCanvas=PIXI.CanvasPool.create(c.Text.fontPropertiesCanvas),c.Text.fontPropertiesContext=c.Text.fontPropertiesCanvas.getContext("2d"),c.BitmapText=function(a,b,d,e,f,g,h){b=b||0,d=d||0,e=e||"",f=f||"",g=g||32,h=h||"left",PIXI.DisplayObjectContainer.call(this),this.type=c.BITMAPTEXT,this.physicsType=c.SPRITE,this.textWidth=0,this.textHeight=0,this.anchor=new c.Point,this._prevAnchor=new c.Point,this._glyphs=[],this._maxWidth=0,this._text=f,this._data=a.cache.getBitmapFont(e),this._font=e,this._fontSize=g,this._align=h,this._tint=16777215,this.updateText(),this.dirty=!1,c.Component.Core.init.call(this,a,b,d,"",null)},c.BitmapText.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),c.BitmapText.prototype.constructor=c.BitmapText,c.Component.Core.install.call(c.BitmapText.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),c.BitmapText.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.BitmapText.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.BitmapText.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.BitmapText.prototype.preUpdateCore=c.Component.Core.preUpdate,c.BitmapText.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.BitmapText.prototype.postUpdate=function(){ +c.Component.PhysicsBody.postUpdate.call(this),c.Component.FixedToCamera.postUpdate.call(this),this.body&&this.body.type===c.Physics.ARCADE&&(this.textWidth!==this.body.sourceWidth||this.textHeight!==this.body.sourceHeight)&&this.body.setSize(this.textWidth,this.textHeight)},c.BitmapText.prototype.setText=function(a){this.text=a},c.BitmapText.prototype.scanLine=function(a,b,c){for(var d=0,e=0,f=-1,g=null,h=this._maxWidth>0?this._maxWidth:null,i=[],j=0;j=h&&f>-1)return{width:e,text:c.substr(0,j-(j-f)),end:k,chars:i};e+=(m.xAdvance+o)*b,i.push(d+(m.xOffset+o)*b),d+=(m.xAdvance+o)*b,g=l}return{width:e,text:c,end:k,chars:i}},c.BitmapText.prototype.cleanText=function(a,b){void 0===b&&(b="");var c=this._data.font;if(!c)return"";for(var d=/\r\n|\n\r|\n|\r/g,e=a.replace(d,"\n").split("\n"),f=0;fthis.textWidth&&(this.textWidth=f.width),e+=a.lineHeight*c,b=b.substr(f.text.length+1)}while(f.end===!1);this.textHeight=e;for(var g=0,h=0,i=this.textWidth*this.anchor.x,j=this.textHeight*this.anchor.y,k=0;k0&&(this._fontSize=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"text",{get:function(){return this._text},set:function(a){a!==this._text&&(this._text=a.toString()||"",this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(a){a!==this._maxWidth&&(this._maxWidth=a,this.updateText())}}),Object.defineProperty(c.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(a){a?this._data.base.scaleMode=0:this._data.base.scaleMode=1}}),c.RetroFont=function(a,b,d,e,f,g,h,i,j,k){if(!a.cache.checkImageKey(b))return!1;(void 0===g||null===g)&&(g=a.cache.getImage(b).width/d),this.characterWidth=d,this.characterHeight=e,this.characterSpacingX=h||0,this.characterSpacingY=i||0,this.characterPerRow=g,this.offsetX=j||0,this.offsetY=k||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=a.cache.getImage(b),this._text="",this.grabData=[],this.frameData=new c.FrameData;for(var l=this.offsetX,m=this.offsetY,n=0,o=0;o?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",c.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",c.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",c.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",c.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",c.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",c.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",c.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",c.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",c.RetroFont.prototype.setFixedWidth=function(a,b){void 0===b&&(b="left"),this.fixedWidth=a,this.align=b},c.RetroFont.prototype.setText=function(a,b,c,d,e,f){this.multiLine=b||!1,this.customSpacingX=c||0,this.customSpacingY=d||0,this.align=e||"left",f?this.autoUpperCase=!1:this.autoUpperCase=!0,a.length>0&&(this.text=a)},c.RetroFont.prototype.buildRetroFontText=function(){var a=0,b=0;if(this.clear(),this.multiLine){var d=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),d.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var e=0;ea&&(a=0),this.pasteLine(d[e],a,b,this.customSpacingX),b+=this.characterHeight+this.customSpacingY}else this.fixedWidth>0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),a=0,this.align===c.RetroFont.ALIGN_RIGHT?a=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===c.RetroFont.ALIGN_CENTER&&(a=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,a+=this.customSpacingX/2),0>a&&(a=0),this.pasteLine(this._text,a,0,this.customSpacingX);this.requiresReTint=!0},c.RetroFont.prototype.pasteLine=function(a,b,c,d){for(var e=0;e=0&&(this.stamp.frame=this.grabData[a.charCodeAt(e)],this.renderXY(this.stamp,b,c,!1),b+=this.characterWidth+d,b>this.width))break},c.RetroFont.prototype.getLongestLine=function(){var a=0;if(this._text.length>0)for(var b=this._text.split("\n"),c=0;ca&&(a=b[c].length);return a},c.RetroFont.prototype.removeUnsupportedCharacters=function(a){for(var b="",c=0;c=0||!a&&"\n"===d)&&(b=b.concat(d))}return b},c.RetroFont.prototype.updateOffset=function(a,b){if(this.offsetX!==a||this.offsetY!==b){for(var c=a-this.offsetX,d=b-this.offsetY,e=this.game.cache.getFrameData(this.stamp.key).getFrames(),f=e.length;f--;)e[f].x+=c,e[f].y+=d;this.buildRetroFontText()}},Object.defineProperty(c.RetroFont.prototype,"text",{get:function(){return this._text},set:function(a){var b;b=this.autoUpperCase?a.toUpperCase():a,b!==this._text&&(this._text=b,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(c.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(a){this.stamp.smoothed=a,this.buildRetroFontText()}}),c.Rope=function(a,b,d,e,f,g){this.points=[],this.points=g,this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,b=b||0,d=d||0,e=e||null,f=f||null,this.type=c.ROPE,PIXI.Rope.call(this,PIXI.TextureCache.__default,this.points),c.Component.Core.init.call(this,a,b,d,e,f)},c.Rope.prototype=Object.create(PIXI.Rope.prototype),c.Rope.prototype.constructor=c.Rope,c.Component.Core.install.call(c.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),c.Rope.prototype.preUpdatePhysics=c.Component.PhysicsBody.preUpdate,c.Rope.prototype.preUpdateLifeSpan=c.Component.LifeSpan.preUpdate,c.Rope.prototype.preUpdateInWorld=c.Component.InWorld.preUpdate,c.Rope.prototype.preUpdateCore=c.Component.Core.preUpdate,c.Rope.prototype.preUpdate=function(){return this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld()?this.preUpdateCore():!1},c.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},c.Rope.prototype.reset=function(a,b){return c.Component.Reset.prototype.reset.call(this,a,b),this},Object.defineProperty(c.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(a){a&&"function"==typeof a?(this._hasUpdateAnimation=!0,this._updateAnimation=a):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(c.Rope.prototype,"segments",{get:function(){for(var a,b,d,e,f,g,h,i,j=[],k=0;k=1)&&(l.touch=!0),(window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(l.mspointer=!0),l.cocoonJS||("onwheel"in window||l.ie&&"WheelEvent"in window?l.wheelEvent="wheel":"onmousewheel"in window?l.wheelEvent="mousewheel":l.firefox&&"MouseScrollEvent"in window&&(l.wheelEvent="DOMMouseScroll"))}function d(){for(var a=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],b=document.createElement("div"),c=0;c0&&"none"!==a}var l=this;a(),g(),f(),e(),k(),h(),b(),d(),c()},c.Device.canPlayAudio=function(a){return"mp3"===a&&this.mp3?!0:"ogg"===a&&(this.ogg||this.opus)?!0:"m4a"===a&&this.m4a?!0:"opus"===a&&this.opus?!0:"wav"===a&&this.wav?!0:"webm"===a&&this.webm?!0:!1},c.Device.canPlayVideo=function(a){return"webm"===a&&(this.webmVideo||this.vp9Video)?!0:"mp4"===a&&(this.mp4Video||this.h264Video)?!0:"ogg"!==a&&"ogv"!==a||!this.oggVideo?"mpeg"===a&&this.hlsVideo?!0:!1:!0},c.Device.isConsoleOpen=function(){return window.console&&window.console.firebug?!0:window.console&&(console.profile(),console.profileEnd(),console.clear&&console.clear(),console.profiles)?console.profiles.length>0:!1},c.Device.isAndroidStockBrowser=function(){var a=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return a&&a[1]<537},c.Canvas={create:function(a,b,c,d,e){if(b=b||256,c=c||256,void 0===e)var f=PIXI.CanvasPool.create(a,b,c);else var f=document.createElement("canvas");return"string"==typeof d&&""!==d&&(f.id=d),f.width=b,f.height=c,f.style.display="block",f},setBackgroundColor:function(a,b){return b=b||"rgb(0,0,0)",a.style.backgroundColor=b,a},setTouchAction:function(a,b){return b=b||"none",a.style.msTouchAction=b,a.style["ms-touch-action"]=b,a.style["touch-action"]=b,a},setUserSelect:function(a,b){return b=b||"none",a.style["-webkit-touch-callout"]=b,a.style["-webkit-user-select"]=b,a.style["-khtml-user-select"]=b,a.style["-moz-user-select"]=b,a.style["-ms-user-select"]=b,a.style["user-select"]=b,a.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",a},addToDOM:function(a,b,c){var d;return void 0===c&&(c=!0),b&&("string"==typeof b?d=document.getElementById(b):"object"==typeof b&&1===b.nodeType&&(d=b)),d||(d=document.body),c&&d.style&&(d.style.overflow="hidden"),d.appendChild(a),a},removeFromDOM:function(a){a.parentNode&&a.parentNode.removeChild(a)},setTransform:function(a,b,c,d,e,f,g){return a.setTransform(d,f,g,e,b,c),a},setSmoothingEnabled:function(a,b){var d=c.Canvas.getSmoothingPrefix(a);return d&&(a[d]=b),a},getSmoothingPrefix:function(a){var b=["i","webkitI","msI","mozI","oI"];for(var c in b){var d=b[c]+"mageSmoothingEnabled";if(d in a)return d}return null},getSmoothingEnabled:function(a){var b=c.Canvas.getSmoothingPrefix(a);return b?a[b]:void 0},setImageRenderingCrisp:function(a){for(var b=["optimizeSpeed","crisp-edges","-moz-crisp-edges","-webkit-optimize-contrast","optimize-contrast","pixelated"],c=0;ca},fuzzyGreaterThan:function(a,b,c){return void 0===c&&(c=1e-4),a>b-c},fuzzyCeil:function(a,b){return void 0===b&&(b=1e-4),Math.ceil(a-b)},fuzzyFloor:function(a,b){return void 0===b&&(b=1e-4),Math.floor(a+b)},average:function(){for(var a=0,b=arguments.length,c=0;b>c;c++)a+=+arguments[c];return a/b},shear:function(a){return a%1},snapTo:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.round(a/b),c+a)},snapToFloor:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.floor(a/b),c+a)},snapToCeil:function(a,b,c){return void 0===c&&(c=0),0===b?a:(a-=c,a=b*Math.ceil(a/b),c+a)},roundTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.round(a*d)/d},floorTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.floor(a*d)/d},ceilTo:function(a,b,c){void 0===b&&(b=0),void 0===c&&(c=10);var d=Math.pow(c,-b);return Math.ceil(a*d)/d},angleBetween:function(a,b,c,d){return Math.atan2(d-b,c-a)},angleBetweenY:function(a,b,c,d){return Math.atan2(c-a,d-b)},angleBetweenPoints:function(a,b){return Math.atan2(b.y-a.y,b.x-a.x)},angleBetweenPointsY:function(a,b){return Math.atan2(b.x-a.x,b.y-a.y)},reverseAngle:function(a){return this.normalizeAngle(a+Math.PI,!0)},normalizeAngle:function(a){return a%=2*Math.PI,a>=0?a:a+2*Math.PI},maxAdd:function(a,b,c){return Math.min(a+b,c)},minSub:function(a,b,c){return Math.max(a-b,c)},wrap:function(a,b,c){var d=c-b;if(0>=d)return 0;var e=(a-b)%d;return 0>e&&(e+=d),e+b},wrapValue:function(a,b,c){var d;return a=Math.abs(a),b=Math.abs(b),c=Math.abs(c),d=(a+b)%c},isOdd:function(a){return!!(1&a)},isEven:function(a){return!(1&a)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])var a=arguments[0];else var a=arguments;for(var b=1,c=0,d=a.length;d>b;b++)a[b]b;b++)a[b]>a[c]&&(c=b);return a[c]},minProperty:function(a){if(2===arguments.length&&"object"==typeof arguments[1])var b=arguments[1];else var b=arguments.slice(1);for(var c=1,d=0,e=b.length;e>c;c++)b[c][a]c;c++)b[c][a]>b[d][a]&&(d=c);return b[d][a]},wrapAngle:function(a,b){return b?this.wrap(a,-Math.PI,Math.PI):this.wrap(a,-180,180)},linearInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return 0>b?this.linear(a[0],a[1],d):b>1?this.linear(a[c],a[c-1],c-d):this.linear(a[e],a[e+1>c?c:e+1],d-e)},bezierInterpolation:function(a,b){for(var c=0,d=a.length-1,e=0;d>=e;e++)c+=Math.pow(1-b,d-e)*Math.pow(b,e)*a[e]*this.bernstein(d,e);return c},catmullRomInterpolation:function(a,b){var c=a.length-1,d=c*b,e=Math.floor(d);return a[0]===a[c]?(0>b&&(e=Math.floor(d=c*(1+b))),this.catmullRom(a[(e-1+c)%c],a[e],a[(e+1)%c],a[(e+2)%c],d-e)):0>b?a[0]-(this.catmullRom(a[0],a[0],a[1],a[1],-d)-a[0]):b>1?a[c]-(this.catmullRom(a[c],a[c],a[c-1],a[c-1],d-c)-a[c]):this.catmullRom(a[e?e-1:0],a[e],a[e+1>c?c:e+1],a[e+2>c?c:e+2],d-e)},linear:function(a,b,c){return(b-a)*c+a},bernstein:function(a,b){return this.factorial(a)/this.factorial(b)/this.factorial(a-b)},factorial:function(a){if(0===a)return 1;for(var b=a;--a;)b*=a;return b},catmullRom:function(a,b,c,d,e){var f=.5*(c-a),g=.5*(d-b),h=e*e,i=e*h;return(2*b-2*c+f+g)*i+(-3*b+3*c-2*f-g)*h+f*e+b},difference:function(a,b){return Math.abs(a-b)},roundAwayFromZero:function(a){return a>0?Math.ceil(a):Math.floor(a)},sinCosGenerator:function(a,b,c,d){void 0===b&&(b=1),void 0===c&&(c=1),void 0===d&&(d=1);for(var e=b,f=c,g=d*Math.PI/a,h=[],i=[],j=0;a>j;j++)f-=e*g,e+=f*g,h[j]=f,i[j]=e;return{sin:i,cos:h,length:a}},distance:function(a,b,c,d){var e=a-c,f=b-d;return Math.sqrt(e*e+f*f)},distanceSq:function(a,b,c,d){var e=a-c,f=b-d;return e*e+f*f},distancePow:function(a,b,c,d,e){return void 0===e&&(e=2),Math.sqrt(Math.pow(c-a,e)+Math.pow(d-b,e))},clamp:function(a,b,c){return b>a?b:a>c?c:a},clampBottom:function(a,b){return b>a?b:a},within:function(a,b,c){return Math.abs(a-b)<=c},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},smoothstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*(3-2*a)},smootherstep:function(a,b,c){return a=Math.max(0,Math.min(1,(a-b)/(c-b))),a*a*a*(a*(6*a-15)+10)},sign:function(a){return 0>a?-1:a>0?1:0},percent:function(a,b,c){return void 0===c&&(c=0),a>b||c>b?1:c>a||c>a?0:(a-c)/b}};var k=Math.PI/180,l=180/Math.PI;return c.Math.degToRad=function(a){return a*k},c.Math.radToDeg=function(a){return a*l},c.RandomDataGenerator=function(a){void 0===a&&(a=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof a?this.state(a):this.sow(a)},c.RandomDataGenerator.prototype={rnd:function(){var a=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|a,this.s0=this.s1,this.s1=this.s2,this.s2=a-this.c,this.s2},sow:function(a){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,a)for(var b=0;b>>0,b-=d,b*=d,d=b>>>0,b-=d,d+=4294967296*b;return 2.3283064365386963e-10*(d>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(a,b){return Math.floor(this.realInRange(0,b-a+1)+a)},between:function(a,b){return this.integerInRange(a,b)},realInRange:function(a,b){return this.frac()*(b-a)+a},normal:function(){return 1-2*this.frac()},uuid:function(){var a="",b="";for(b=a="";a++<36;b+=~a%5|3*a&4?(15^a?8^this.frac()*(20^a?16:4):4).toString(16):"-"); +return b},pick:function(a){return a[this.integerInRange(0,a.length-1)]},weightedPick:function(a){return a[~~(Math.pow(this.frac(),2)*(a.length-1)+.5)]},timestamp:function(a,b){return this.realInRange(a||9466848e5,b||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(a){return"string"==typeof a&&a.match(/^!rnd/)&&(a=a.split(","),this.c=parseFloat(a[1]),this.s0=parseFloat(a[2]),this.s1=parseFloat(a[3]),this.s2=parseFloat(a[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},c.RandomDataGenerator.prototype.constructor=c.RandomDataGenerator,c.QuadTree=function(a,b,c,d,e,f,g){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(a,b,c,d,e,f,g)},c.QuadTree.prototype={reset:function(a,b,c,d,e,f,g){this.maxObjects=e||10,this.maxLevels=f||4,this.level=g||0,this.bounds={x:Math.round(a),y:Math.round(b),width:c,height:d,subWidth:Math.floor(c/2),subHeight:Math.floor(d/2),right:Math.round(a)+Math.floor(c/2),bottom:Math.round(b)+Math.floor(d/2)},this.objects.length=0,this.nodes.length=0},populate:function(a){a.forEach(this.populateHandler,this,!0)},populateHandler:function(a){a.body&&a.exists&&this.insert(a.body)},split:function(){this.nodes[0]=new c.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new c.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new c.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new c.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(a){var b,c=0;if(null!=this.nodes[0]&&(b=this.getIndex(a),-1!==b))return void this.nodes[b].insert(a);if(this.objects.push(a),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(b=2):a.x>this.bounds.right&&(a.ythis.bounds.bottom&&(b=3)),b},retrieve:function(a){if(a instanceof c.Rectangle)var b=this.objects,d=this.getIndex(a);else{if(!a.body)return this._empty;var b=this.objects,d=this.getIndex(a.body)}return this.nodes[0]&&(-1!==d?b=b.concat(this.nodes[d].retrieve(a)):(b=b.concat(this.nodes[0].retrieve(a)),b=b.concat(this.nodes[1].retrieve(a)),b=b.concat(this.nodes[2].retrieve(a)),b=b.concat(this.nodes[3].retrieve(a)))),b},clear:function(){this.objects.length=0;for(var a=this.nodes.length;a--;)this.nodes[a].clear(),this.nodes.splice(a,1);this.nodes.length=0}},c.QuadTree.prototype.constructor=c.QuadTree,c.Net=function(a){this.game=a},c.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(a){return-1!==window.location.hostname.indexOf(a)},updateQueryString:function(a,b,c,d){void 0===c&&(c=!1),(void 0===d||""===d)&&(d=window.location.href);var e="",f=new RegExp("([?|&])"+a+"=.*?(&|#|$)(.*)","gi");if(f.test(d))e="undefined"!=typeof b&&null!==b?d.replace(f,"$1"+a+"="+b+"$2$3"):d.replace(f,"$1$3").replace(/(&|\?)$/,"");else if("undefined"!=typeof b&&null!==b){var g=-1!==d.indexOf("?")?"&":"?",h=d.split("#");d=h[0]+g+a+"="+b,h[1]&&(d+="#"+h[1]),e=d}else e=d;return c?void(window.location.href=e):e},getQueryString:function(a){void 0===a&&(a="");var b={},c=location.search.substring(1).split("&");for(var d in c){var e=c[d].split("=");if(e.length>1){if(a&&a==this.decodeURI(e[0]))return this.decodeURI(e[1]);b[this.decodeURI(e[0])]=this.decodeURI(e[1])}}return b},decodeURI:function(a){return decodeURIComponent(a.replace(/\+/g," "))}},c.Net.prototype.constructor=c.Net,c.TweenManager=function(a){this.game=a,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:c.Easing.Power0,Power1:c.Easing.Power1,Power2:c.Easing.Power2,Power3:c.Easing.Power3,Power4:c.Easing.Power4,Linear:c.Easing.Linear.None,Quad:c.Easing.Quadratic.Out,Cubic:c.Easing.Cubic.Out,Quart:c.Easing.Quartic.Out,Quint:c.Easing.Quintic.Out,Sine:c.Easing.Sinusoidal.Out,Expo:c.Easing.Exponential.Out,Circ:c.Easing.Circular.Out,Elastic:c.Easing.Elastic.Out,Back:c.Easing.Back.Out,Bounce:c.Easing.Bounce.Out,"Quad.easeIn":c.Easing.Quadratic.In,"Cubic.easeIn":c.Easing.Cubic.In,"Quart.easeIn":c.Easing.Quartic.In,"Quint.easeIn":c.Easing.Quintic.In,"Sine.easeIn":c.Easing.Sinusoidal.In,"Expo.easeIn":c.Easing.Exponential.In,"Circ.easeIn":c.Easing.Circular.In,"Elastic.easeIn":c.Easing.Elastic.In,"Back.easeIn":c.Easing.Back.In,"Bounce.easeIn":c.Easing.Bounce.In,"Quad.easeOut":c.Easing.Quadratic.Out,"Cubic.easeOut":c.Easing.Cubic.Out,"Quart.easeOut":c.Easing.Quartic.Out,"Quint.easeOut":c.Easing.Quintic.Out,"Sine.easeOut":c.Easing.Sinusoidal.Out,"Expo.easeOut":c.Easing.Exponential.Out,"Circ.easeOut":c.Easing.Circular.Out,"Elastic.easeOut":c.Easing.Elastic.Out,"Back.easeOut":c.Easing.Back.Out,"Bounce.easeOut":c.Easing.Bounce.Out,"Quad.easeInOut":c.Easing.Quadratic.InOut,"Cubic.easeInOut":c.Easing.Cubic.InOut,"Quart.easeInOut":c.Easing.Quartic.InOut,"Quint.easeInOut":c.Easing.Quintic.InOut,"Sine.easeInOut":c.Easing.Sinusoidal.InOut,"Expo.easeInOut":c.Easing.Exponential.InOut,"Circ.easeInOut":c.Easing.Circular.InOut,"Elastic.easeInOut":c.Easing.Elastic.InOut,"Back.easeInOut":c.Easing.Back.InOut,"Bounce.easeInOut":c.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},c.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var a=0;ad;d++)this.removeFrom(a[d]);else if(a.type===c.GROUP&&b)for(var d=0,e=a.children.length;e>d;d++)this.removeFrom(a.children[d]);else{for(d=0,e=this._tweens.length;e>d;d++)a===this._tweens[d].target&&this.remove(this._tweens[d]);for(d=0,e=this._add.length;e>d;d++)a===this._add[d].target&&this.remove(this._add[d])}},add:function(a){a._manager=this,this._add.push(a)},create:function(a){return new c.Tween(a,this.game,this)},remove:function(a){var b=this._tweens.indexOf(a);-1!==b?this._tweens[b].pendingDelete=!0:(b=this._add.indexOf(a),-1!==b&&(this._add[b].pendingDelete=!0))},update:function(){var a=this._add.length,b=this._tweens.length;if(0===b&&0===a)return!1;for(var c=0;b>c;)this._tweens[c].update(this.game.time.time)?c++:(this._tweens.splice(c,1),b--);return a>0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(a){return this._tweens.some(function(b){return b.target===a})},_pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._pause()},_resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a]._resume()},pauseAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].pause()},resumeAll:function(){for(var a=this._tweens.length-1;a>=0;a--)this._tweens[a].resume(!0)}},c.TweenManager.prototype.constructor=c.TweenManager,c.Tween=function(a,b,d){this.game=b,this.target=a,this.manager=d,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new c.Signal,this.onLoop=new c.Signal,this.onRepeat=new c.Signal,this.onChildComplete=new c.Signal,this.onComplete=new c.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=d.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},c.Tween.prototype={to:function(a,b,d,e,f,g,h){return(void 0===b||0>=b)&&(b=1e3),(void 0===d||null===d)&&(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).to(a,b,d,f,g,h)),e&&this.start(),this)},from:function(a,b,d,e,f,g,h){return void 0===b&&(b=1e3),(void 0===d||null===d)&&(d=c.Easing.Default),void 0===e&&(e=!1),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=!1),"string"==typeof d&&this.manager.easeMap[d]&&(d=this.manager.easeMap[d]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new c.TweenData(this).from(a,b,d,f,g,h)),e&&this.start(),this)},start:function(a){if(void 0===a&&(a=0),null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(var b=0;ba||a>this.timeline.length-1)&&(a=0),this.current=a,this.timeline[this.current].start(),this},stop:function(a){return void 0===a&&(a=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,a&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(a,b,c){if(0===this.timeline.length)return this;if(void 0===c&&(c=0),-1===c)for(var d=0;d0?arguments[a-1].chainedTween=arguments[a]:this.chainedTween=arguments[a];return this},loop:function(a){return void 0===a&&(a=!0),a?this.repeatAll(-1):this.repeatCounter=0,this},onUpdateCallback:function(a,b){return this._onUpdateCallback=a,this._onUpdateCallbackContext=b,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var a=0;a0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(a,b){if(null===this.game||null===this.target)return null;void 0===a&&(a=60),void 0===b&&(b=[]);for(var c=0;c0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a],this.parent.target[a]=this.vStart[a];return this.value=0,this.yoyoCounter=0,this},loadValues:function(){for(var a in this.parent.properties){if(this.vStart[a]=this.parent.properties[a],Array.isArray(this.vEnd[a])){if(0===this.vEnd[a].length)continue;0===this.percent&&(this.vEnd[a]=[this.vStart[a]].concat(this.vEnd[a]))}"undefined"!=typeof this.vEnd[a]?("string"==typeof this.vEnd[a]&&(this.vEnd[a]=this.vStart[a]+parseFloat(this.vEnd[a],10)),this.parent.properties[a]=this.vEnd[a]):this.vEnd[a]=this.vStart[a],this.vStartCache[a]=this.vStart[a],this.vEndCache[a]=this.vEnd[a]}return this},update:function(a){if(this.isRunning){if(a=this.startTime))return c.TweenData.PENDING;this.isRunning=!0}var b=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=b*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=b*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var d in this.vEnd){var e=this.vStart[d],f=this.vEnd[d];Array.isArray(f)?this.parent.target[d]=this.interpolationFunction.call(this.interpolationContext,f,this.value):this.parent.target[d]=e+(f-e)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():c.TweenData.RUNNING},generateData:function(a){this.parent.reverse?this.dt=this.duration:this.dt=0;var b=[],c=!1,d=1/a*1e3;do{this.parent.reverse?(this.dt-=d,this.dt=Math.max(this.dt,0)):(this.dt+=d,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var e={};for(var f in this.vEnd){var g=this.vStart[f],h=this.vEnd[f];Array.isArray(h)?e[f]=this.interpolationFunction(h,this.value):e[f]=g+(h-g)*this.value}b.push(e),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(c=!0)}while(!c);if(this.yoyo){var i=b.slice();i.reverse(),b=b.concat(i)}return b},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var a in this.vStartCache)this.vStart[a]=this.vStartCache[a],this.vEnd[a]=this.vEndCache[a];return this.inReverse=!1,c.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return c.TweenData.COMPLETE;if(this.inReverse)for(var a in this.vStartCache)this.vStart[a]=this.vEndCache[a],this.vEnd[a]=this.vStartCache[a];else{for(var a in this.vStartCache)this.vStart[a]=this.vStartCache[a],this.vEnd[a]=this.vEndCache[a];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,c.TweenData.LOOPED}},c.TweenData.prototype.constructor=c.TweenData,c.Easing={Linear:{None:function(a){return a}},Quadratic:{In:function(a){return a*a},Out:function(a){return a*(2-a)},InOut:function(a){return(a*=2)<1?.5*a*a:-.5*(--a*(a-2)-1)}},Cubic:{In:function(a){return a*a*a},Out:function(a){return--a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a:.5*((a-=2)*a*a+2)}},Quartic:{In:function(a){return a*a*a*a},Out:function(a){return 1- --a*a*a*a},InOut:function(a){return(a*=2)<1?.5*a*a*a*a:-.5*((a-=2)*a*a*a-2)}},Quintic:{In:function(a){return a*a*a*a*a},Out:function(a){return--a*a*a*a*a+1},InOut:function(a){return(a*=2)<1?.5*a*a*a*a*a:.5*((a-=2)*a*a*a*a+2)}},Sinusoidal:{In:function(a){return 0===a?0:1===a?1:1-Math.cos(a*Math.PI/2)},Out:function(a){return 0===a?0:1===a?1:Math.sin(a*Math.PI/2)},InOut:function(a){return 0===a?0:1===a?1:.5*(1-Math.cos(Math.PI*a))}},Exponential:{In:function(a){return 0===a?0:Math.pow(1024,a-1)},Out:function(a){return 1===a?1:1-Math.pow(2,-10*a)},InOut:function(a){return 0===a?0:1===a?1:(a*=2)<1?.5*Math.pow(1024,a-1):.5*(-Math.pow(2,-10*(a-1))+2)}},Circular:{In:function(a){return 1-Math.sqrt(1-a*a)},Out:function(a){return Math.sqrt(1- --a*a)},InOut:function(a){return(a*=2)<1?-.5*(Math.sqrt(1-a*a)-1):.5*(Math.sqrt(1-(a-=2)*a)+1)}},Elastic:{In:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),-(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)))},Out:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),c*Math.pow(2,-10*a)*Math.sin((a-b)*(2*Math.PI)/d)+1)},InOut:function(a){var b,c=.1,d=.4;return 0===a?0:1===a?1:(!c||1>c?(c=1,b=d/4):b=d*Math.asin(1/c)/(2*Math.PI),(a*=2)<1?-.5*(c*Math.pow(2,10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)):c*Math.pow(2,-10*(a-=1))*Math.sin((a-b)*(2*Math.PI)/d)*.5+1)}},Back:{In:function(a){var b=1.70158;return a*a*((b+1)*a-b)},Out:function(a){var b=1.70158;return--a*a*((b+1)*a+b)+1},InOut:function(a){var b=2.5949095;return(a*=2)<1?.5*(a*a*((b+1)*a-b)):.5*((a-=2)*a*((b+1)*a+b)+2)}},Bounce:{In:function(a){return 1-c.Easing.Bounce.Out(1-a)},Out:function(a){return 1/2.75>a?7.5625*a*a:2/2.75>a?7.5625*(a-=1.5/2.75)*a+.75:2.5/2.75>a?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375},InOut:function(a){return.5>a?.5*c.Easing.Bounce.In(2*a):.5*c.Easing.Bounce.Out(2*a-1)+.5}}},c.Easing.Default=c.Easing.Linear.None,c.Easing.Power0=c.Easing.Linear.None,c.Easing.Power1=c.Easing.Quadratic.Out,c.Easing.Power2=c.Easing.Cubic.Out,c.Easing.Power3=c.Easing.Quartic.Out,c.Easing.Power4=c.Easing.Quintic.Out,c.Time=function(a){this.game=a,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.fps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new c.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},c.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(a){return this._timers.push(a),a},create:function(a){void 0===a&&(a=!0);var b=new c.Timer(this.game,a);return this._timers.push(b),b},removeAll:function(){for(var a=0;aa;)this._timers[a].update(this.time)?a++:(this._timers.splice(a,1),b--)},updateAdvancedTiming:function(){this._frameCount++,this._elapsedAccumulator+=this.elapsed,this._frameCount>=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3&&(this.fps=Math.round(1e3*this.frames/(this.now-this._timeLastSecond)),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0)},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var a=this._timers.length;a--;)this._timers[a]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var a=this._timers.length;a--;)this._timers[a]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(a){return this.time-a},elapsedSecondsSince:function(a){return.001*(this.time-a)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(c.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(a){this._desiredFps=a,this.physicsElapsed=1/a,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/a}}),c.Time.prototype.constructor=c.Time,c.Timer=function(a,b){void 0===b&&(b=!0),this.game=a,this.running=!1,this.autoDestroy=b,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new c.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},c.Timer.MINUTE=6e4,c.Timer.SECOND=1e3,c.Timer.HALF=500,c.Timer.QUARTER=250,c.Timer.prototype={create:function(a,b,d,e,f,g){a=Math.round(a);var h=a;h+=0===this._now?this.game.time.time:this._now;var i=new c.TimerEvent(this,a,h,d,b,e,f,g);return this.events.push(i),this.order(),this.expired=!1,i},add:function(a,b,c){return this.create(a,!1,0,b,c,Array.prototype.slice.call(arguments,3))},repeat:function(a,b,c,d){return this.create(a,!1,b,c,d,Array.prototype.slice.call(arguments,4))},loop:function(a,b,c){return this.create(a,!0,0,b,c,Array.prototype.slice.call(arguments,3))},start:function(a){if(!this.running){this._started=this.game.time.time+(a||0),this.running=!0;for(var b=0;b0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(a,b){return a.tickb.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(a){if(this.paused)return!0;if(this.elapsed=a-this._now,this._now=a,this.elapsed>this.timeCap&&this.adjustEvents(a-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=this.events[this._i].tick&&!this.events[this._i].pendingDelete;)this._newTick=this._now+this.events[this._i].delay-(this._now-this.events[this._i].tick),this._newTick<0&&(this._newTick=this._now+this.events[this._i].delay),this.events[this._i].loop===!0?(this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):this.events[this._i].repeatCount>0?(this.events[this._i].repeatCount--,this.events[this._i].tick=this._newTick,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)):(this._marked++,this.events[this._i].pendingDelete=!0,this.events[this._i].callback.apply(this.events[this._i].callbackContext,this.events[this._i].args)),this._i++;this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return this.expired&&this.autoDestroy?!1:!0},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(a){for(var b=0;bc&&(c=0),this.events[b].tick=this._now+c}var d=this.nextTick-a;0>d?this.nextTick=this._now:this.nextTick=this._now+d},resume:function(){if(this.paused){var a=this.game.time.time;this._pauseTotal+=a-this._now,this._now=a,this.adjustEvents(this._pauseStarted),this.paused=!1,this._codePaused=!1}},_resume:function(){this._codePaused||this.resume()},removeAll:function(){this.onComplete.removeAll(),this.events.length=0,this._len=0,this._i=0},destroy:function(){this.onComplete.removeAll(),this.running=!1,this.events=[],this._len=0,this._i=0}},Object.defineProperty(c.Timer.prototype,"next",{get:function(){return this.nextTick}}),Object.defineProperty(c.Timer.prototype,"duration",{get:function(){return this.running&&this.nextTick>this._now?this.nextTick-this._now:0}}),Object.defineProperty(c.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(c.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(c.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),c.Timer.prototype.constructor=c.Timer,c.TimerEvent=function(a,b,c,d,e,f,g,h){this.timer=a,this.delay=b,this.tick=c,this.repeatCount=d-1,this.loop=e,this.callback=f,this.callbackContext=g,this.args=h,this.pendingDelete=!1},c.TimerEvent.prototype.constructor=c.TimerEvent,c.AnimationManager=function(a){this.sprite=a,this.game=a.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},c.AnimationManager.prototype={loadFrameData:function(a,b){if(void 0===a)return!1;if(this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(a);return this._frameData=a,void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},copyFrameData:function(a,b){if(this._frameData=a.clone(),this.isLoaded)for(var c in this._anims)this._anims[c].updateFrameData(this._frameData);return void 0===b||null===b?this.frame=0:"string"==typeof b?this.frameName=b:this.frame=b,this.isLoaded=!0,!0},add:function(a,b,d,e,f){return b=b||[],d=d||60,void 0===e&&(e=!1),void 0===f&&(f=b&&"number"==typeof b[0]?!0:!1),this._outputFrames=[],this._frameData.getFrameIndexes(b,f,this._outputFrames),this._anims[a]=new c.Animation(this.game,this.sprite,a,this._frameData,this._outputFrames,d,e),this.currentAnim=this._anims[a],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[a]},validateFrames:function(a,b){void 0===b&&(b=!0);for(var c=0;cthis._frameData.total)return!1}else if(this._frameData.checkFrameName(a[c])===!1)return!1;return!0},play:function(a,b,c,d){return this._anims[a]?this.currentAnim===this._anims[a]?this.currentAnim.isPlaying===!1?(this.currentAnim.paused=!1,this.currentAnim.play(b,c,d)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[a],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(b,c,d)):void 0},stop:function(a,b){void 0===b&&(b=!1),!this.currentAnim||"string"==typeof a&&a!==this.currentAnim.name||this.currentAnim.stop(b)},update:function(){return this.updateIfVisible&&!this.sprite.visible?!1:this.currentAnim&&this.currentAnim.update()?(this.currentFrame=this.currentAnim.currentFrame,!0):!1},next:function(a){this.currentAnim&&(this.currentAnim.next(a),this.currentFrame=this.currentAnim.currentFrame)},previous:function(a){this.currentAnim&&(this.currentAnim.previous(a),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(a){return"string"==typeof a&&this._anims[a]?this._anims[a]:null},refreshFrame:function(){this.sprite.setTexture(PIXI.TextureCache[this.currentFrame.uuid])},destroy:function(){var a=null;for(var a in this._anims)this._anims.hasOwnProperty(a)&&this._anims[a].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},c.AnimationManager.prototype.constructor=c.AnimationManager,Object.defineProperty(c.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(c.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(c.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(a){this.currentAnim.paused=a}}),Object.defineProperty(c.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(c.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(a){"number"==typeof a&&this._frameData&&null!==this._frameData.getFrame(a)&&(this.currentFrame=this._frameData.getFrame(a),this.currentFrame&&this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(c.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(a){"string"==typeof a&&this._frameData&&null!==this._frameData.getFrameByName(a)?(this.currentFrame=this._frameData.getFrameByName(a),this.currentFrame&&(this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame))):console.warn("Cannot set frameName: "+a)}}),c.Animation=function(a,b,d,e,f,g,h){void 0===h&&(h=!1),this.game=a,this._parent=b,this._frameData=e,this.name=d,this._frames=[],this._frames=this._frames.concat(f),this.delay=1e3/g,this.loop=h,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new c.Signal, +this.onUpdate=null,this.onComplete=new c.Signal,this.onLoop=new c.Signal,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},c.Animation.prototype={play:function(a,b,c){return"number"==typeof a&&(this.delay=1e3/a),"boolean"==typeof b&&(this.loop=b),"undefined"!=typeof c&&(this.killOnComplete=c),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},setFrame:function(a,b){var c;if(void 0===b&&(b=!1),"string"==typeof a)for(var d=0;d=this._timeNextFrame?(this._frameSkip=1,this._frameDiff=this.game.time.time-this._timeNextFrame,this._timeLastFrame=this.game.time.time,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=this.game.time.time+(this.delay-this._frameDiff),this._frameIndex+=this._frameSkip,this._frameIndex>=this._frames.length?this.loop?(this._frameIndex%=this._frames.length,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),this.onUpdate?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0):(this.complete(),!1):this.updateCurrentFrame(!0)):!1},updateCurrentFrame:function(a,b){if(void 0===b&&(b=!1),!this._frameData)return!1;var c=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(b||!b&&c!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),this.onUpdate&&a?(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData):!0},next:function(a){void 0===a&&(a=1);var b=this._frameIndex+a;b>=this._frames.length&&(this.loop?b%=this._frames.length:b=this._frames.length-1),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},previous:function(a){void 0===a&&(a=1);var b=this._frameIndex-a;0>b&&(this.loop?b=this._frames.length+b:b++),b!==this._frameIndex&&(this._frameIndex=b,this.updateCurrentFrame(!0))},updateFrameData:function(a){this._frameData=a,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},c.Animation.prototype.constructor=c.Animation,Object.defineProperty(c.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(a){this.isPaused=a,a?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(c.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(c.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(a){this.currentFrame=this._frameData.getFrame(this._frames[a]),null!==this.currentFrame&&(this._frameIndex=a,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(c.Animation.prototype,"speed",{get:function(){return Math.round(1e3/this.delay)},set:function(a){a>=1&&(this.delay=1e3/a)}}),Object.defineProperty(c.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(a){a&&null===this.onUpdate?this.onUpdate=new c.Signal:a||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),c.Animation.generateFrameNames=function(a,b,d,e,f){void 0===e&&(e="");var g=[],h="";if(d>b)for(var i=b;d>=i;i++)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);else for(var i=b;i>=d;i--)h="number"==typeof f?c.Utils.pad(i.toString(),f,"0",1):i.toString(),h=a+h+e,g.push(h);return g},c.Frame=function(a,b,d,e,f,g){this.index=a,this.x=b,this.y=d,this.width=e,this.height=f,this.name=g,this.centerX=Math.floor(e/2),this.centerY=Math.floor(f/2),this.distance=c.Math.distance(0,0,e,f),this.rotated=!1,this.rotationDirection="cw",this.trimmed=!1,this.sourceSizeW=e,this.sourceSizeH=f,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},c.Frame.prototype={resize:function(a,b){this.width=a,this.height=b,this.centerX=Math.floor(a/2),this.centerY=Math.floor(b/2),this.distance=c.Math.distance(0,0,a,b),this.sourceSizeW=a,this.sourceSizeH=b,this.right=this.x+a,this.bottom=this.y+b},setTrim:function(a,b,c,d,e,f,g){this.trimmed=a,a&&(this.sourceSizeW=b,this.sourceSizeH=c,this.centerX=Math.floor(b/2),this.centerY=Math.floor(c/2),this.spriteSourceSizeX=d,this.spriteSourceSizeY=e,this.spriteSourceSizeW=f,this.spriteSourceSizeH=g)},clone:function(){var a=new c.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var b in this)this.hasOwnProperty(b)&&(a[b]=this[b]);return a},getRect:function(a){return void 0===a?a=new c.Rectangle(this.x,this.y,this.width,this.height):a.setTo(this.x,this.y,this.width,this.height),a}},c.Frame.prototype.constructor=c.Frame,c.FrameData=function(){this._frames=[],this._frameNames=[]},c.FrameData.prototype={addFrame:function(a){return a.index=this._frames.length,this._frames.push(a),""!==a.name&&(this._frameNames[a.name]=a.index),a},getFrame:function(a){return a>=this._frames.length&&(a=0),this._frames[a]},getFrameByName:function(a){return"number"==typeof this._frameNames[a]?this._frames[this._frameNames[a]]:null},checkFrameName:function(a){return null==this._frameNames[a]?!1:!0},clone:function(){for(var a=new c.FrameData,b=0;b=d;d++)c.push(this._frames[d]);return c},getFrames:function(a,b,c){if(void 0===b&&(b=!0),void 0===c&&(c=[]),void 0===a||0===a.length)for(var d=0;d=d&&(d=Math.floor(-j/Math.min(-1,d))),0>=e&&(e=Math.floor(-k/Math.min(-1,e)));var l=Math.floor((j-g)/(d+h)),m=Math.floor((k-g)/(e+h)),n=l*m;if(-1!==f&&(n=f),0===j||0===k||d>j||e>k||0===n)return console.warn("Phaser.AnimationParser.spriteSheet: '"+b+"'s width/height zero or width/height < given frameWidth/frameHeight"),null;for(var o=new c.FrameData,p=g,q=g,r=0;n>r;r++)o.addFrame(new c.Frame(r,p,q,d,e,"")),p+=d+h,p+d>j&&(p=g,q+=e+h);return o},JSONData:function(a,b){if(!b.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(b);for(var d,e=new c.FrameData,f=b.frames,g=0;g tag");for(var d,e,f,g,h,i,j,k,l,m,n,o=new c.FrameData,p=b.getElementsByTagName("SubTexture"),q=0;q-1},getAssetIndex:function(a,b){for(var c=-1,d=0;d-1?{index:c,file:this._fileList[c]}:!1},reset:function(a,b){void 0===b&&(b=!1),this.resetLocked||(a&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,b&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(a,b,c,d,e,f){if(void 0===e&&(e=!1),void 0===b||""===b)return console.warn("Phaser.Loader: Invalid or no key given of type "+a),this;if(void 0===c||null===c){if(!f)return console.warn("Phaser.Loader: No URL given for file type: "+a+" key: "+b),this;c=b+f}var g={type:a,key:b,path:this.path,url:c,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(d)for(var h in d)g[h]=d[h];var i=this.getAssetIndex(a,b);if(e&&i>-1){var j=this._fileList[i];j.loading||j.loaded?(this._fileList.push(g),this._totalFileCount++):this._fileList[i]=g}else-1===i&&(this._fileList.push(g),this._totalFileCount++);return this},replaceInFileList:function(a,b,c,d){return this.addToFileList(a,b,c,d,!0)},pack:function(a,b,c,d){if(void 0===b&&(b=null),void 0===c&&(c=null),void 0===d&&(d=null),!b&&!c)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var e={type:"packfile",key:a,url:b,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:d};c&&("string"==typeof c&&(c=JSON.parse(c)),e.data=c||{},e.loaded=!0);for(var f=0;f=e||d&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var f=this;setTimeout(function(){f.finishedLoading(!0)},2e3)}},finishedLoading:function(a){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,a||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.onLoadComplete.dispatch(),this.game.state.loadComplete(),this.reset())},asyncComplete:function(a,b){void 0===b&&(b=""),a.loaded=!0,a.error=!!b,b&&(a.errorMessage=b,console.warn("Phaser.Loader - "+a.type+"["+a.key+"]: "+b)),this.processLoadQueue()},processPack:function(a){var b=a.data[a.key];if(!b)return void console.warn("Phaser.Loader - "+a.key+": pack has data, but not for pack key");for(var d=0;d=400&&f.status<=599?e.call(g,a,f):d.call(g,a,f)}catch(b){g.hasLoaded?window.console&&console.error(b):g.asyncComplete(a,b.message||"Exception")}},f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.hasLoaded?window.console&&console.error(b):g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,f.send()},xhrLoadWithXDR:function(a,b,c,d,e){this._warnedAboutXDomainRequest||this.game.device.ie&&!(this.game.device.ieVersion>=10)||(this._warnedAboutXDomainRequest=!0,console.warn("Phaser.Loader - using XDomainRequest outside of IE 9"));var f=new window.XDomainRequest;f.open("GET",b,!0),f.responseType=c,f.timeout=3e3,e=e||this.fileError;var g=this;f.onerror=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.ontimeout=function(){try{return e.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},f.onprogress=function(){},f.onload=function(){try{return 4==f.readyState&&f.status>=400&&f.status<=599?e.call(g,a,f):d.call(g,a,f)}catch(b){g.asyncComplete(a,b.message||"Exception")}},a.requestObject=f,a.requestUrl=b,setTimeout(function(){f.send()},0)},getVideoURL:function(a){for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayVideo(c))return d}return null},getAudioURL:function(a){if(this.game.sound.noAudio)return null;for(var b=0;b=0&&(d=d.substr(0,d.indexOf("?")));var e=d.substr((Math.max(0,d.lastIndexOf("."))||1/0)+1);c=e.toLowerCase()}if(this.game.device.canPlayAudio(c))return d}return null},fileError:function(a,b,c){var d=a.requestUrl||this.transformUrl(a.url,a),e="error loading asset from URL "+d;!c&&b&&(c=b.status),c&&(e=e+" ("+c+")"),this.asyncComplete(a,e)},fileComplete:function(a,b){var d=!0;switch(a.type){case"packfile":var e=JSON.parse(b.responseText);a.data=e||{};break;case"image":this.cache.addImage(a.key,a.url,a.data);break;case"spritesheet":this.cache.addSpriteSheet(a.key,a.url,a.data,a.frameWidth,a.frameHeight,a.frameMax,a.margin,a.spacing);break;case"textureatlas":if(null==a.atlasURL)this.cache.addTextureAtlas(a.key,a.url,a.data,a.atlasData,a.format);else if(d=!1,a.format==c.Loader.TEXTURE_ATLAS_JSON_ARRAY||a.format==c.Loader.TEXTURE_ATLAS_JSON_HASH||a.format==c.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.jsonLoadComplete);else{if(a.format!=c.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+a.format);this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",this.xmlLoadComplete)}break;case"bitmapfont":a.atlasURL?(d=!1,this.xhrLoad(a,this.transformUrl(a.atlasURL,a),"text",function(a,b){var c;try{c=JSON.parse(b.responseText)}catch(d){}c?(a.atlasType="json",this.jsonLoadComplete(a,b)):(a.atlasType="xml",this.xmlLoadComplete(a,b))})):this.cache.addBitmapFont(a.key,a.url,a.data,a.atlasData,a.atlasType,a.xSpacing,a.ySpacing);break;case"video":if(a.asBlob)try{a.data=new Blob([new Uint8Array(b.response)])}catch(f){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+a.key)}this.cache.addVideo(a.key,a.url,a.data,a.asBlob);break;case"audio":this.game.sound.usingWebAudio?(a.data=b.response,this.cache.addSound(a.key,a.url,a.data,!0,!1),a.autoDecode&&this.game.sound.decode(a.key)):this.cache.addSound(a.key,a.url,a.data,!1,!0);break;case"text":a.data=b.responseText,this.cache.addText(a.key,a.url,a.data);break;case"shader":a.data=b.responseText,this.cache.addShader(a.key,a.url,a.data);break;case"physics":var e=JSON.parse(b.responseText);this.cache.addPhysicsData(a.key,a.url,e,a.format);break;case"script":a.data=document.createElement("script"),a.data.language="javascript",a.data.type="text/javascript",a.data.defer=!1,a.data.text=b.responseText,document.head.appendChild(a.data),a.callback&&(a.data=a.callback.call(a.callbackContext,a.key,b.responseText));break;case"binary":a.callback?a.data=a.callback.call(a.callbackContext,a.key,b.response):a.data=b.response,this.cache.addBinary(a.key,a.data)}d&&this.asyncComplete(a)},jsonLoadComplete:function(a,b){var c=JSON.parse(b.responseText);"tilemap"===a.type?this.cache.addTilemap(a.key,a.url,c,a.format):"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,c,a.atlasType,a.xSpacing,a.ySpacing):"json"===a.type?this.cache.addJSON(a.key,a.url,c):this.cache.addTextureAtlas(a.key,a.url,a.data,c,a.format),this.asyncComplete(a)},csvLoadComplete:function(a,b){var c=b.responseText;this.cache.addTilemap(a.key,a.url,c,a.format),this.asyncComplete(a)},xmlLoadComplete:function(a,b){var c=b.responseText,d=this.parseXml(c);if(!d){var e=b.responseType||b.contentType;return console.warn("Phaser.Loader - "+a.key+": invalid XML ("+e+")"),void this.asyncComplete(a,"invalid XML")}"bitmapfont"===a.type?this.cache.addBitmapFont(a.key,a.url,a.data,d,a.atlasType,a.xSpacing,a.ySpacing):"textureatlas"===a.type?this.cache.addTextureAtlas(a.key,a.url,a.data,d,a.format):"xml"===a.type&&this.cache.addXML(a.key,a.url,d),this.asyncComplete(a)},parseXml:function(a){var b;try{if(window.DOMParser){var c=new DOMParser;b=c.parseFromString(a,"text/xml")}else b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)}catch(d){b=null}return b&&b.documentElement&&!b.getElementsByTagName("parsererror").length?b:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(c.Loader.prototype,"progressFloat",{get:function(){var a=this._loadedFileCount/this._totalFileCount*100;return c.Math.clamp(a||0,0,100)}}),Object.defineProperty(c.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),c.Loader.prototype.constructor=c.Loader,c.LoaderParser={bitmapFont:function(a,b,c,d){return this.xmlBitmapFont(a,b,c,d)},xmlBitmapFont:function(a,b,c,d){var e={},f=a.getElementsByTagName("info")[0],g=a.getElementsByTagName("common")[0];e.font=f.getAttribute("face"),e.size=parseInt(f.getAttribute("size"),10),e.lineHeight=parseInt(g.getAttribute("lineHeight"),10)+d,e.chars={};for(var h=a.getElementsByTagName("char"),i=0;i=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),""===this.currentMarker?(this.currentTime=0,this.startTime=this.game.time.time):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),this.play(this.currentMarker,0,this.volume,!0,!0)):this.stop())))):void this.destroy()},loopFull:function(a){this.play(null,0,a,!0)},play:function(a,b,c,d,e){if((void 0===a||a===!1||null===a)&&(a=""),void 0===e&&(e=!0),this.isPlaying&&!this.allowMultiple&&!e&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||e))if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(f){}this.externalNode?this._sound.disconnect(this.externalNode):this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(""===a&&Object.keys(this.markers).length>0)return this;if(""!==a){if(this.currentMarker=a,!this.markers[a])return this;this.position=this.markers[a].start,this.volume=this.markers[a].volume,this.loop=this.markers[a].loop,this.duration=this.markers[a].duration,this.durationMS=this.markers[a].durationMS,"undefined"!=typeof c&&(this.volume=c),"undefined"!=typeof d&&(this.loop=d),this._tempMarker=a,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else b=b||0,void 0===c&&(c=this._volume),void 0===d&&(d=this.loop),this.position=b,this.volume=c,this.loop=d,this.duration=0,this.durationMS=0,this._tempMarker=a,this._tempPosition=b,this._tempVolume=c,this._tempLoop=d;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._sound=this.context.createBufferSource(),this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this.loop&&""===a&&(this._sound.loop=!0),this.loop||""!==a||(this._sound.onended=this.onEndedHandler.bind(this)),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),void 0===this._sound.start?this._sound.noteGrainOn(0,this.position,this.duration):this.loop&&""===a?this._sound.start(0,0):this._sound.start(0,this.position,this.duration),this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).isDecoding===!1&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted?this._sound.volume=0:this._sound.volume=this._volume,this.isPlaying=!0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,this.onPlay.dispatch(this)):this.pendingPlayback=!0,this},restart:function(a,b,c,d){a=a||"",b=b||0,c=c||1,void 0===d&&(d=!1),this.play(a,b,c,d,!0)},pause:function(){this.isPlaying&&this._sound&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused&&this._sound){if(this.usingWebAudio){var a=this.position+this.pausedPosition/1e3;this._sound=this.context.createBufferSource(),this._sound.buffer=this._buffer,this.externalNode?this._sound.connect(this.externalNode):this._sound.connect(this.gainNode),this.loop&&(this._sound.loop=!0),this.loop||""!==this.currentMarker||(this._sound.onended=this.onEndedHandler.bind(this));var b=this.duration-this.pausedPosition/1e3;void 0===this._sound.start?this._sound.noteGrainOn(0,a,b):this.loop&&this.game.device.chrome?42===this.game.device.chromeVersion?this._sound.start(0):this._sound.start(0,a):this._sound.start(0,a,b)}else this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound)if(this.usingWebAudio){if(void 0===this._sound.stop)this._sound.noteOff(0);else try{this._sound.stop(0)}catch(a){}this.externalNode?this._sound.disconnect(this.externalNode):this._sound.disconnect(this.gainNode)}else this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0);if(this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var b=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,b)}},fadeIn:function(a,b,c){void 0===b&&(b=!1),void 0===c&&(c=this.currentMarker),this.paused||(this.play(c,0,0,b),this.fadeTo(a,1))},fadeOut:function(a){this.fadeTo(a,0)},fadeTo:function(a,b){if(this.isPlaying&&!this.paused&&b!==this.volume){if(void 0===a&&(a=1e3),void 0===b)return void console.warn("Phaser.Sound.fadeTo: No Volume Specified.");this.fadeTween=this.game.add.tween(this).to({volume:b},a,c.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)}},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},destroy:function(a){void 0===a&&(a=!0),this.stop(),a?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())}},c.Sound.prototype.constructor=c.Sound,Object.defineProperty(c.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(c.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(c.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(a){a=a||!1,a!==this._muted&&(a?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(c.Sound.prototype,"volume",{get:function(){return this._volume},set:function(a){return this.game.device.firefox&&this.usingAudioTag&&(a=this.game.math.clamp(a,0,1)),this._muted?void(this._muteVolume=a):(this._tempVolume=a,this._volume=a,void(this.usingWebAudio?this.gainNode.gain.value=a:this.usingAudioTag&&this._sound&&(this._sound.volume=a)))}}),c.SoundManager=function(a){this.game=a,this.onSoundDecode=new c.Signal,this.onVolumeChange=new c.Signal,this.onMute=new c.Signal,this.onUnMute=new c.Signal,this.context=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new c.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null},c.SoundManager.prototype={boot:function(){if(this.game.device.iOS&&this.game.device.webAudio===!1&&(this.channels=1),window.PhaserGlobal){if(window.PhaserGlobal.disableAudio===!0)return this.noAudio=!0,void(this.touchLocked=!1);if(window.PhaserGlobal.disableWebAudio===!0)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(window.PhaserGlobal&&window.PhaserGlobal.audioContext)this.context=window.PhaserGlobal.audioContext;else if(window.AudioContext)try{this.context=new window.AudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}else if(window.webkitAudioContext)try{this.context=new window.webkitAudioContext}catch(a){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination);this.noAudio||(!this.game.device.cocoonJS&&this.game.device.iOS||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)&&this.setTouchLock()},setTouchLock:function(){this.noAudio||window.PhaserGlobal.disableAudio===!0||(this.game.device.iOSVersion>8?this.game.input.touch.addTouchLockCallback(this.unlock,this,!0):this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0)},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.touchLocked=!1,this._unlockSource=null;else if(this.usingWebAudio){var a=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=a,this._unlockSource.connect(this.context.destination),void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0)}return!0},stopAll:function(){if(!this.noAudio)for(var a=0;aa?a=0:a>1&&(a=1),this._volume!==a){if(this._volume=a,this.usingWebAudio)this.masterGain.gain.value=a;else for(var b=0;b=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var b=this._parentBounds.width,d=this._parentBounds.height,e=this.getParentBounds(this._parentBounds),f=e.width!==b||e.height!==d,g=this.updateOrientationState();(f||g)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,e),this.updateLayout(),this.signalSizeChange());var h=2*this._updateThrottle;this._updateThrottle=b||0>=c)return a;var e=b,f=a.height*b/a.width,g=a.width*c/a.height,h=c,i=g>b;return i=i?d:!d,i?(a.width=Math.floor(e),a.height=Math.floor(f)):(a.width=Math.floor(g),a.height=Math.floor(h)),a},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},c.ScaleManager.prototype.constructor=c.ScaleManager,Object.defineProperty(c.ScaleManager.prototype,"boundingParent",{get:function(){if(this.parentIsWindow||this.isFullScreen&&!this._createdFullScreenTarget)return null;var a=this.game.canvas&&this.game.canvas.parentNode;return a||null}}),Object.defineProperty(c.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(a){return a!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=a),this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(a){return a!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=a,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=a),this._fullScreenScaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(a){a!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(a){a!==this._pageAlignVertically&&(this._pageAlignVertically=a,this.queueUpdate(!0))}}),Object.defineProperty(c.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(c.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(c.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(c.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),c.Utils.Debug=function(a){this.game=a,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px Courier",this.columnWidth=100,this.lineHeight=16,this.renderShadow=!0,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1},c.Utils.Debug.prototype={boot:function(){this.game.renderType===c.CANVAS?this.context=this.game.context:(this.bmd=this.game.make.bitmapData(this.game.width,this.game.height),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.canvas=PIXI.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d"))},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(a,b,c,d){"number"!=typeof a&&(a=0),"number"!=typeof b&&(b=0),c=c||"rgb(255,255,255)",void 0===d&&(d=0),this.currentX=a,this.currentY=b,this.currentColor=c,this.columnWidth=d,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=c,this.context.fillStyle=c,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var a=this.currentX,b=0;b=0&&c.right>=0&&c.top<=this.layoutBounds.width&&c.left<=this.layoutBounds.height},getScreenOrientation:function(a){var b=window.screen,c=b.orientation||b.mozOrientation||b.msOrientation;if(c&&"string"==typeof c.type)return c.type;if("string"==typeof c)return c;var d="portrait-primary",e="landscape-primary";if("screen"===a)return b.height>b.width?d:e;if("viewport"===a)return this.visualBounds.height>this.visualBounds.width?d:e;if("window.orientation"===a&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?d:e;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return d;if(window.matchMedia("(orientation: landscape)").matches)return e}return this.visualBounds.height>this.visualBounds.width?d:e},visualBounds:new c.Rectangle,layoutBounds:new c.Rectangle,documentBounds:new c.Rectangle},c.Device.whenReady(function(a){var b=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},d=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};Object.defineProperty(c.DOM,"scrollX",{get:b}),Object.defineProperty(c.DOM,"scrollY",{get:d}),Object.defineProperty(c.DOM.visualBounds,"x",{get:b}),Object.defineProperty(c.DOM.visualBounds,"y",{get:d}),Object.defineProperty(c.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(c.DOM.layoutBounds,"y",{value:0});var e=a.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight;if(e){var f=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},g=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(c.DOM.visualBounds,"width",{get:f}),Object.defineProperty(c.DOM.visualBounds,"height",{get:g}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:f}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:g})}else Object.defineProperty(c.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(c.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(c.DOM.layoutBounds,"width",{get:function(){var a=document.documentElement.clientWidth,b=window.innerWidth;return b>a?b:a}}),Object.defineProperty(c.DOM.layoutBounds,"height",{get:function(){var a=document.documentElement.clientHeight,b=window.innerHeight;return b>a?b:a}});Object.defineProperty(c.DOM.documentBounds,"x",{value:0}),Object.defineProperty(c.DOM.documentBounds,"y",{value:0}),Object.defineProperty(c.DOM.documentBounds,"width",{get:function(){var a=document.documentElement;return Math.max(a.clientWidth,a.offsetWidth,a.scrollWidth)}}),Object.defineProperty(c.DOM.documentBounds,"height",{ +get:function(){var a=document.documentElement;return Math.max(a.clientHeight,a.offsetHeight,a.scrollHeight)}})},null,!0),c.ArraySet=function(a){this.position=0,this.list=a||[]},c.ArraySet.prototype={add:function(a){return this.exists(a)||this.list.push(a),a},getIndex:function(a){return this.list.indexOf(a)},getByKey:function(a,b){for(var c=this.list.length;c--;)if(this.list[c][a]===b)return this.list[c];return null},exists:function(a){return this.list.indexOf(a)>-1},reset:function(){this.list.length=0},remove:function(a){var b=this.list.indexOf(a);return b>-1?(this.list.splice(b,1),a):void 0},setAll:function(a,b){for(var c=this.list.length;c--;)this.list[c]&&(this.list[c][a]=b)},callAll:function(a){for(var b=Array.prototype.slice.call(arguments,1),c=this.list.length;c--;)this.list[c]&&this.list[c][a]&&this.list[c][a].apply(this.list[c],b)},removeAll:function(a){void 0===a&&(a=!1);for(var b=this.list.length;b--;)if(this.list[b]){var c=this.remove(this.list[b]);a&&c.destroy()}this.position=0,this.list=[]}},Object.defineProperty(c.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(c.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(c.ArraySet.prototype,"next",{get:function(){return this.position0;b--){var c=Math.floor(Math.random()*(b+1)),d=a[b];a[b]=a[c],a[c]=d}return a},transposeMatrix:function(a){for(var b=a.length,c=a[0].length,d=new Array(c),e=0;c>e;e++){d[e]=new Array(b);for(var f=b-1;f>-1;f--)d[e][f]=a[f][e]}return d},rotateMatrix:function(a,b){if("string"!=typeof b&&(b=(b%360+360)%360),90===b||-270===b||"rotateLeft"===b)a=c.ArrayUtils.transposeMatrix(a),a=a.reverse();else if(-90===b||270===b||"rotateRight"===b)a=a.reverse(),a=c.ArrayUtils.transposeMatrix(a);else if(180===Math.abs(b)||"rotate180"===b){for(var d=0;d=e-a?e:d},rotate:function(a){var b=a.shift();return a.push(b),b},numberArray:function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},numberArrayStep:function(a,b,d){(void 0===a||null===a)&&(a=0),(void 0===b||null===b)&&(b=a,a=0),void 0===d&&(d=1);for(var e=[],f=Math.max(c.Math.roundAwayFromZero((b-a)/(d||1)),0),g=0;f>g;g++)e.push(a),a+=d;return e}},c.LinkedList=function(){this.next=null,this.prev=null,this.first=null,this.last=null,this.total=0},c.LinkedList.prototype={add:function(a){return 0===this.total&&null===this.first&&null===this.last?(this.first=a,this.last=a,this.next=a,a.prev=this,this.total++,a):(this.last.next=a,a.prev=this.last,this.last=a,this.total++,a)},reset:function(){this.first=null,this.last=null,this.next=null,this.prev=null,this.total=0},remove:function(a){return 1===this.total?(this.reset(),void(a.next=a.prev=null)):(a===this.first?this.first=this.first.next:a===this.last&&(this.last=this.last.prev),a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),a.next=a.prev=null,null===this.first&&(this.last=null),void this.total--)},callAll:function(a){if(this.first&&this.last){var b=this.first;do b&&b[a]&&b[a].call(b),b=b.next;while(b!=this.last.next)}}},c.LinkedList.prototype.constructor=c.LinkedList,c.Create=function(a){this.game=a,this.bmd=null,this.canvas=null,this.ctx=null,this.palettes=[{0:"#000",1:"#9D9D9D",2:"#FFF",3:"#BE2633",4:"#E06F8B",5:"#493C2B",6:"#A46422",7:"#EB8931",8:"#F7E26B",9:"#2F484E",A:"#44891A",B:"#A3CE27",C:"#1B2632",D:"#005784",E:"#31A2F2",F:"#B2DCEF"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#f5f4eb"},{0:"#000",1:"#2234d1",2:"#0c7e45",3:"#44aacc",4:"#8a3622",5:"#5c2e78",6:"#aa5c3d",7:"#b5b5b5",8:"#5e606e",9:"#4c81fb",A:"#6cd947",B:"#7be2f9",C:"#eb8a60",D:"#e23d69",E:"#ffd93f",F:"#fff"},{0:"#000",1:"#fff",2:"#8b4131",3:"#7bbdc5",4:"#8b41ac",5:"#6aac41",6:"#3931a4",7:"#d5de73",8:"#945a20",9:"#5a4100",A:"#bd736a",B:"#525252",C:"#838383",D:"#acee8b",E:"#7b73de",F:"#acacac"},{0:"#000",1:"#191028",2:"#46af45",3:"#a1d685",4:"#453e78",5:"#7664fe",6:"#833129",7:"#9ec2e8",8:"#dc534b",9:"#e18d79",A:"#d6b97b",B:"#e9d8a1",C:"#216c4b",D:"#d365c8",E:"#afaab9",F:"#fff"}]},c.Create.PALETTE_ARNE=0,c.Create.PALETTE_JMP=1,c.Create.PALETTE_CGA=2,c.Create.PALETTE_C64=3,c.Create.PALETTE_JAPANESE_MACHINE=4,c.Create.prototype={texture:function(a,b,c,d,e){void 0===c&&(c=8),void 0===d&&(d=c),void 0===e&&(e=0);var f=b[0].length*c,g=b.length*d;null===this.bmd&&(this.bmd=this.game.make.bitmapData(),this.canvas=this.bmd.canvas,this.ctx=this.bmd.context),this.bmd.resize(f,g),this.bmd.clear();for(var h=0;hg;g+=e)this.ctx.fillRect(0,g,b,1);for(var h=0;b>h;h+=d)this.ctx.fillRect(h,0,1,c);return this.bmd.generateTexture(a)}},c.Create.prototype.constructor=c.Create,c.FlexGrid=function(a,b,d){this.game=a.game,this.manager=a,this.width=b,this.height=d,this.boundsCustom=new c.Rectangle(0,0,b,d),this.boundsFluid=new c.Rectangle(0,0,b,d),this.boundsFull=new c.Rectangle(0,0,b,d),this.boundsNone=new c.Rectangle(0,0,b,d),this.positionCustom=new c.Point(0,0),this.positionFluid=new c.Point(0,0),this.positionFull=new c.Point(0,0),this.positionNone=new c.Point(0,0),this.scaleCustom=new c.Point(1,1),this.scaleFluid=new c.Point(1,1),this.scaleFluidInversed=new c.Point(1,1),this.scaleFull=new c.Point(1,1),this.scaleNone=new c.Point(1,1),this.customWidth=0,this.customHeight=0,this.customOffsetX=0,this.customOffsetY=0,this.ratioH=b/d,this.ratioV=d/b,this.multiplier=0,this.layers=[]},c.FlexGrid.prototype={setSize:function(a,b){this.width=a,this.height=b,this.ratioH=a/b,this.ratioV=b/a,this.scaleNone=new c.Point(1,1),this.boundsNone.width=this.width,this.boundsNone.height=this.height,this.refresh()},createCustomLayer:function(a,b,d,e){void 0===e&&(e=!0),this.customWidth=a,this.customHeight=b,this.boundsCustom.width=a,this.boundsCustom.height=b;var f=new c.FlexLayer(this,this.positionCustom,this.boundsCustom,this.scaleCustom);return e&&this.game.world.add(f),this.layers.push(f),"undefined"!=typeof d&&null!==typeof d&&f.addMultiple(d),f},createFluidLayer:function(a,b){void 0===b&&(b=!0);var d=new c.FlexLayer(this,this.positionFluid,this.boundsFluid,this.scaleFluid);return b&&this.game.world.add(d),this.layers.push(d),"undefined"!=typeof a&&null!==typeof a&&d.addMultiple(a),d},createFullLayer:function(a){var b=new c.FlexLayer(this,this.positionFull,this.boundsFull,this.scaleFluid);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},createFixedLayer:function(a){var b=new c.FlexLayer(this,this.positionNone,this.boundsNone,this.scaleNone);return this.game.world.add(b),this.layers.push(b),"undefined"!=typeof a&&b.addMultiple(a),b},reset:function(){for(var a=this.layers.length;a--;)this.layers[a].persist||(this.layers[a].position=null,this.layers[a].scale=null,this.layers.slice(a,1))},onResize:function(a,b){this.ratioH=a/b,this.ratioV=b/a,this.refresh(a,b)},refresh:function(){this.multiplier=Math.min(this.manager.height/this.height,this.manager.width/this.width),this.boundsFluid.width=Math.round(this.width*this.multiplier),this.boundsFluid.height=Math.round(this.height*this.multiplier),this.scaleFluid.set(this.boundsFluid.width/this.width,this.boundsFluid.height/this.height),this.scaleFluidInversed.set(this.width/this.boundsFluid.width,this.height/this.boundsFluid.height),this.scaleFull.set(this.boundsFull.width/this.width,this.boundsFull.height/this.height),this.boundsFull.width=Math.round(this.manager.width*this.scaleFluidInversed.x),this.boundsFull.height=Math.round(this.manager.height*this.scaleFluidInversed.y),this.boundsFluid.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.boundsNone.centerOn(this.manager.bounds.centerX,this.manager.bounds.centerY),this.positionFluid.set(this.boundsFluid.x,this.boundsFluid.y),this.positionNone.set(this.boundsNone.x,this.boundsNone.y)},fitSprite:function(a){this.manager.scaleSprite(a),a.x=this.manager.bounds.centerX,a.y=this.manager.bounds.centerY},debug:function(){this.game.debug.text(this.boundsFluid.width+" x "+this.boundsFluid.height,this.boundsFluid.x+4,this.boundsFluid.y+16),this.game.debug.geom(this.boundsFluid,"rgba(255,0,0,0.9",!1)}},c.FlexGrid.prototype.constructor=c.FlexGrid,c.FlexLayer=function(a,b,d,e){c.Group.call(this,a.game,null,"__flexLayer"+a.game.rnd.uuid(),!1),this.manager=a.manager,this.grid=a,this.persist=!1,this.position=b,this.bounds=d,this.scale=e,this.topLeft=d.topLeft,this.topMiddle=new c.Point(d.halfWidth,0),this.topRight=d.topRight,this.bottomLeft=d.bottomLeft,this.bottomMiddle=new c.Point(d.halfWidth,d.bottom),this.bottomRight=d.bottomRight},c.FlexLayer.prototype=Object.create(c.Group.prototype),c.FlexLayer.prototype.constructor=c.FlexLayer,c.FlexLayer.prototype.resize=function(){},c.FlexLayer.prototype.debug=function(){this.game.debug.text(this.bounds.width+" x "+this.bounds.height,this.bounds.x+4,this.bounds.y+16),this.game.debug.geom(this.bounds,"rgba(0,0,255,0.9",!1),this.game.debug.geom(this.topLeft,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topMiddle,"rgba(255,255,255,0.9"),this.game.debug.geom(this.topRight,"rgba(255,255,255,0.9")},c.Color={packPixel:function(a,b,d,e){return c.Device.LITTLE_ENDIAN?(e<<24|d<<16|b<<8|a)>>>0:(a<<24|b<<16|d<<8|e)>>>0},unpackPixel:function(a,b,d,e){return(void 0===b||null===b)&&(b=c.Color.createColor()),(void 0===d||null===d)&&(d=!1),(void 0===e||null===e)&&(e=!1),c.Device.LITTLE_ENDIAN?(b.a=(4278190080&a)>>>24,b.b=(16711680&a)>>>16,b.g=(65280&a)>>>8,b.r=255&a):(b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a),b.color=a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a/255+")",d&&c.Color.RGBtoHSL(b.r,b.g,b.b,b),e&&c.Color.RGBtoHSV(b.r,b.g,b.b,b),b},fromRGBA:function(a,b){return b||(b=c.Color.createColor()),b.r=(4278190080&a)>>>24,b.g=(16711680&a)>>>16,b.b=(65280&a)>>>8,b.a=255&a,b.rgba="rgba("+b.r+","+b.g+","+b.b+","+b.a+")",b},toRGBA:function(a,b,c,d){return a<<24|b<<16|c<<8|d},RGBtoHSL:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,1)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d);if(e.h=0,e.s=0,e.l=(g+f)/2,g!==f){var h=g-f;e.s=e.l>.5?h/(2-g-f):h/(g+f),g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6}return e},HSLtoRGB:function(a,b,d,e){if(e?(e.r=d,e.g=d,e.b=d):e=c.Color.createColor(d,d,d),0!==b){var f=.5>d?d*(1+b):d+b-d*b,g=2*d-f;e.r=c.Color.hueToColor(g,f,a+1/3),e.g=c.Color.hueToColor(g,f,a),e.b=c.Color.hueToColor(g,f,a-1/3)}return e.r=Math.floor(255*e.r|0),e.g=Math.floor(255*e.g|0),e.b=Math.floor(255*e.b|0),c.Color.updateColor(e),e},RGBtoHSV:function(a,b,d,e){e||(e=c.Color.createColor(a,b,d,255)),a/=255,b/=255,d/=255;var f=Math.min(a,b,d),g=Math.max(a,b,d),h=g-f;return e.h=0,e.s=0===g?0:h/g,e.v=g,g!==f&&(g===a?e.h=(b-d)/h+(d>b?6:0):g===b?e.h=(d-a)/h+2:g===d&&(e.h=(a-b)/h+4),e.h/=6),e},HSVtoRGB:function(a,b,d,e){void 0===e&&(e=c.Color.createColor(0,0,0,1,a,b,0,d));var f,g,h,i=Math.floor(6*a),j=6*a-i,k=d*(1-b),l=d*(1-j*b),m=d*(1-(1-j)*b);switch(i%6){case 0:f=d,g=m,h=k;break;case 1:f=l,g=d,h=k;break;case 2:f=k,g=d,h=m;break;case 3:f=k,g=l,h=d;break;case 4:f=m,g=k,h=d;break;case 5:f=d,g=k,h=l}return e.r=Math.floor(255*f),e.g=Math.floor(255*g),e.b=Math.floor(255*h),c.Color.updateColor(e),e},hueToColor:function(a,b,c){return 0>c&&(c+=1),c>1&&(c-=1),1/6>c?a+6*(b-a)*c:.5>c?b:2/3>c?a+(b-a)*(2/3-c)*6:a},createColor:function(a,b,d,e,f,g,h,i){var j={r:a||0,g:b||0,b:d||0,a:e||1,h:f||0,s:g||0,l:h||0,v:i||0,color:0,color32:0,rgba:""};return c.Color.updateColor(j)},updateColor:function(a){return a.rgba="rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+a.a.toString()+")",a.color=c.Color.getColor(a.r,a.g,a.b),a.color32=c.Color.getColor32(a.a,a.r,a.g,a.b),a},getColor32:function(a,b,c,d){return a<<24|b<<16|c<<8|d},getColor:function(a,b,c){return a<<16|b<<8|c},RGBtoString:function(a,b,d,e,f){return void 0===e&&(e=255),void 0===f&&(f="#"),"#"===f?"#"+((1<<24)+(a<<16)+(b<<8)+d).toString(16).slice(1):"0x"+c.Color.componentToHex(e)+c.Color.componentToHex(a)+c.Color.componentToHex(b)+c.Color.componentToHex(d)},hexToRGB:function(a){var b=c.Color.hexToColor(a);return b?c.Color.getColor32(b.a,b.r,b.g,b.b):void 0},hexToColor:function(a,b){a=a.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,b,c,d){return b+b+c+c+d+d});var d=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);if(d){var e=parseInt(d[1],16),f=parseInt(d[2],16),g=parseInt(d[3],16);b?(b.r=e,b.g=f,b.b=g):b=c.Color.createColor(e,f,g)}return b},webToColor:function(a,b){b||(b=c.Color.createColor());var d=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(a);return d&&(b.r=parseInt(d[1],10),b.g=parseInt(d[2],10),b.b=parseInt(d[3],10),b.a=void 0!==d[4]?parseFloat(d[4]):1,c.Color.updateColor(b)),b},valueToColor:function(a,b){if(b||(b=c.Color.createColor()),"string"==typeof a)return 0===a.indexOf("rgb")?c.Color.webToColor(a,b):(b.a=1,c.Color.hexToColor(a,b));if("number"==typeof a){var d=c.Color.getRGB(a);return b.r=d.r,b.g=d.g,b.b=d.b,b.a=d.a/255,b}return b},componentToHex:function(a){var b=a.toString(16);return 1==b.length?"0"+b:b},HSVColorWheel:function(a,b){void 0===a&&(a=1),void 0===b&&(b=1);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSVtoRGB(e/359,a,b));return d},HSLColorWheel:function(a,b){void 0===a&&(a=.5),void 0===b&&(b=.5);for(var d=[],e=0;359>=e;e++)d.push(c.Color.HSLtoRGB(e/359,a,b));return d},interpolateColor:function(a,b,d,e,f){void 0===f&&(f=255);var g=c.Color.getRGB(a),h=c.Color.getRGB(b),i=(h.red-g.red)*e/d+g.red,j=(h.green-g.green)*e/d+g.green,k=(h.blue-g.blue)*e/d+g.blue;return c.Color.getColor32(f,i,j,k)},interpolateColorWithRGB:function(a,b,d,e,f,g){var h=c.Color.getRGB(a),i=(b-h.red)*g/f+h.red,j=(d-h.green)*g/f+h.green,k=(e-h.blue)*g/f+h.blue;return c.Color.getColor(i,j,k)},interpolateRGB:function(a,b,d,e,f,g,h,i){var j=(e-a)*i/h+a,k=(f-b)*i/h+b,l=(g-d)*i/h+d;return c.Color.getColor(j,k,l)},getRandomColor:function(a,b,d){if(void 0===a&&(a=0),void 0===b&&(b=255),void 0===d&&(d=255),b>255||a>b)return c.Color.getColor(255,255,255);var e=a+Math.round(Math.random()*(b-a)),f=a+Math.round(Math.random()*(b-a)),g=a+Math.round(Math.random()*(b-a));return c.Color.getColor32(d,e,f,g)},getRGB:function(a){return a>16777215?{alpha:a>>>24,red:a>>16&255,green:a>>8&255,blue:255&a,a:a>>>24,r:a>>16&255,g:a>>8&255,b:255&a}:{alpha:255,red:a>>16&255,green:a>>8&255,blue:255&a,a:255,r:a>>16&255,g:a>>8&255,b:255&a}},getWebRGB:function(a){if("object"==typeof a)return"rgba("+a.r.toString()+","+a.g.toString()+","+a.b.toString()+","+(a.a/255).toString()+")";var b=c.Color.getRGB(a);return"rgba("+b.r.toString()+","+b.g.toString()+","+b.b.toString()+","+(b.a/255).toString()+")"},getAlpha:function(a){return a>>>24},getAlphaFloat:function(a){return(a>>>24)/255},getRed:function(a){return a>>16&255},getGreen:function(a){return a>>8&255},getBlue:function(a){return 255&a},blendNormal:function(a){return a},blendLighten:function(a,b){return b>a?b:a},blendDarken:function(a,b){return b>a?a:b},blendMultiply:function(a,b){return a*b/255},blendAverage:function(a,b){return(a+b)/2},blendAdd:function(a,b){return Math.min(255,a+b)},blendSubtract:function(a,b){return Math.max(0,a+b-255)},blendDifference:function(a,b){return Math.abs(a-b)},blendNegation:function(a,b){return 255-Math.abs(255-a-b)},blendScreen:function(a,b){return 255-((255-a)*(255-b)>>8)},blendExclusion:function(a,b){return a+b-2*a*b/255},blendOverlay:function(a,b){return 128>b?2*a*b/255:255-2*(255-a)*(255-b)/255},blendSoftLight:function(a,b){return 128>b?2*((a>>1)+64)*(b/255):255-2*(255-((a>>1)+64))*(255-b)/255},blendHardLight:function(a,b){return c.Color.blendOverlay(b,a)},blendColorDodge:function(a,b){return 255===b?b:Math.min(255,(a<<8)/(255-b))},blendColorBurn:function(a,b){return 0===b?b:Math.max(0,255-(255-a<<8)/b)},blendLinearDodge:function(a,b){return c.Color.blendAdd(a,b)},blendLinearBurn:function(a,b){return c.Color.blendSubtract(a,b)},blendLinearLight:function(a,b){return 128>b?c.Color.blendLinearBurn(a,2*b):c.Color.blendLinearDodge(a,2*(b-128))},blendVividLight:function(a,b){return 128>b?c.Color.blendColorBurn(a,2*b):c.Color.blendColorDodge(a,2*(b-128))},blendPinLight:function(a,b){return 128>b?c.Color.blendDarken(a,2*b):c.Color.blendLighten(a,2*(b-128))},blendHardMix:function(a,b){return c.Color.blendVividLight(a,b)<128?0:255},blendReflect:function(a,b){return 255===b?b:Math.min(255,a*a/(255-b))},blendGlow:function(a,b){return c.Color.blendReflect(b,a)},blendPhoenix:function(a,b){return Math.min(a,b)-Math.max(a,b)+255}},c.Physics=function(a,b){b=b||{},this.game=a,this.config=b,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},c.Physics.ARCADE=0,c.Physics.P2JS=1,c.Physics.NINJA=2,c.Physics.BOX2D=3,c.Physics.CHIPMUNK=4,c.Physics.MATTERJS=5,c.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&this.config.arcade!==!0||!c.Physics.hasOwnProperty("Arcade")||(this.arcade=new c.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&this.config.ninja===!0&&c.Physics.hasOwnProperty("Ninja")&&(this.ninja=new c.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&this.config.p2===!0&&c.Physics.hasOwnProperty("P2")&&(this.p2=new c.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&this.config.box2d===!0&&c.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new c.Physics.BOX2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&this.config.matter===!0&&c.Physics.hasOwnProperty("Matter")&&(this.matter=new c.Physics.Matter(this.game,this.config))},startSystem:function(a){a===c.Physics.ARCADE?this.arcade=new c.Physics.Arcade(this.game):a===c.Physics.P2JS?null===this.p2?this.p2=new c.Physics.P2(this.game,this.config):this.p2.reset():a===c.Physics.NINJA?this.ninja=new c.Physics.Ninja(this.game):a===c.Physics.BOX2D?null===this.box2d?this.box2d=new c.Physics.Box2D(this.game,this.config):this.box2d.reset():a===c.Physics.MATTERJS&&(null===this.matter?this.matter=new c.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(a,b,d){void 0===b&&(b=c.Physics.ARCADE),void 0===d&&(d=!1),b===c.Physics.ARCADE?this.arcade.enable(a):b===c.Physics.P2JS&&this.p2?this.p2.enable(a,d):b===c.Physics.NINJA&&this.ninja?this.ninja.enableAABB(a):b===c.Physics.BOX2D&&this.box2d?this.box2d.enable(a):b===c.Physics.MATTERJS&&this.matter&&this.matter.enable(a)},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},c.Physics.prototype.constructor=c.Physics,c.Physics.Arcade=function(a){this.game=a,this.gravity=new c.Point,this.bounds=new c.Rectangle(0,0,a.world.width,a.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=c.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new c.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},c.Physics.Arcade.prototype.constructor=c.Physics.Arcade,c.Physics.Arcade.SORT_NONE=0,c.Physics.Arcade.LEFT_RIGHT=1,c.Physics.Arcade.RIGHT_LEFT=2,c.Physics.Arcade.TOP_BOTTOM=3,c.Physics.Arcade.BOTTOM_TOP=4,c.Physics.Arcade.prototype={setBounds:function(a,b,c,d){this.bounds.setTo(a,b,c,d)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(a,b){void 0===b&&(b=!0);var d=1;if(Array.isArray(a))for(d=a.length;d--;)a[d]instanceof c.Group?this.enable(a[d].children,b):(this.enableBody(a[d]),b&&a[d].hasOwnProperty("children")&&a[d].children.length>0&&this.enable(a[d],!0));else a instanceof c.Group?this.enable(a.children,b):(this.enableBody(a),b&&a.hasOwnProperty("children")&&a.children.length>0&&this.enable(a.children,!0))},enableBody:function(a){a.hasOwnProperty("body")&&null===a.body&&(a.body=new c.Physics.Arcade.Body(a),a.parent&&a.parent instanceof c.Group&&a.parent.addToHash(a))},updateMotion:function(a){var b=this.computeVelocity(0,a,a.angularVelocity,a.angularAcceleration,a.angularDrag,a.maxAngular)-a.angularVelocity;a.angularVelocity+=b,a.rotation+=a.angularVelocity*this.game.time.physicsElapsed,a.velocity.x=this.computeVelocity(1,a,a.velocity.x,a.acceleration.x,a.drag.x,a.maxVelocity.x),a.velocity.y=this.computeVelocity(2,a,a.velocity.y,a.acceleration.y,a.drag.y,a.maxVelocity.y)},computeVelocity:function(a,b,c,d,e,f){return void 0===f&&(f=1e4),1===a&&b.allowGravity?c+=(this.gravity.x+b.gravity.x)*this.game.time.physicsElapsed:2===a&&b.allowGravity&&(c+=(this.gravity.y+b.gravity.y)*this.game.time.physicsElapsed),d?c+=d*this.game.time.physicsElapsed:e&&(e*=this.game.time.physicsElapsed,c-e>0?c-=e:0>c+e?c+=e:c=0),c>f?c=f:-f>c&&(c=-f),c},overlap:function(a,b,c,d,e){if(c=c||null,d=d||null,e=e||c,this._total=0,!Array.isArray(a)&&Array.isArray(b))for(var f=0;f0},collide:function(a,b,c,d,e){if(c=c||null,d=d||null,e=e||c,this._total=0,!Array.isArray(a)&&Array.isArray(b))for(var f=0;f0},sortLeftRight:function(a,b){return a.body&&b.body?a.body.x-b.body.x:0},sortRightLeft:function(a,b){return a.body&&b.body?b.body.x-a.body.x:0},sortTopBottom:function(a,b){return a.body&&b.body?a.body.y-b.body.y:0},sortBottomTop:function(a,b){return a.body&&b.body?b.body.y-a.body.y:0},sort:function(a,b){null!==a.physicsSortDirection?b=a.physicsSortDirection:void 0===b&&(b=this.sortDirection),b===c.Physics.Arcade.LEFT_RIGHT?a.hash.sort(this.sortLeftRight):b===c.Physics.Arcade.RIGHT_LEFT?a.hash.sort(this.sortRightLeft):b===c.Physics.Arcade.TOP_BOTTOM?a.hash.sort(this.sortTopBottom):b===c.Physics.Arcade.BOTTOM_TOP&&a.hash.sort(this.sortBottomTop)},collideHandler:function(a,b,d,e,f,g){return void 0===b&&a.physicsType===c.GROUP?(this.sort(a),void this.collideGroupVsSelf(a,d,e,f,g)):void(a&&b&&a.exists&&b.exists&&(this.sortDirection!==c.Physics.Arcade.SORT_NONE&&(a.physicsType===c.GROUP&&this.sort(a),b.physicsType===c.GROUP&&this.sort(b)),a.physicsType===c.SPRITE?b.physicsType===c.SPRITE?this.collideSpriteVsSprite(a,b,d,e,f,g):b.physicsType===c.GROUP?this.collideSpriteVsGroup(a,b,d,e,f,g):b.physicsType===c.TILEMAPLAYER&&this.collideSpriteVsTilemapLayer(a,b,d,e,f,g):a.physicsType===c.GROUP?b.physicsType===c.SPRITE?this.collideSpriteVsGroup(b,a,d,e,f,g):b.physicsType===c.GROUP?this.collideGroupVsGroup(a,b,d,e,f,g):b.physicsType===c.TILEMAPLAYER&&this.collideGroupVsTilemapLayer(a,b,d,e,f,g):a.physicsType===c.TILEMAPLAYER&&(b.physicsType===c.SPRITE?this.collideSpriteVsTilemapLayer(b,a,d,e,f,g):b.physicsType===c.GROUP&&this.collideGroupVsTilemapLayer(b,a,d,e,f,g))))},collideSpriteVsSprite:function(a,b,c,d,e,f){return a.body&&b.body?(this.separate(a.body,b.body,d,e,f)&&(c&&c.call(e,a,b),this._total++),!0):!1},collideSpriteVsGroup:function(a,b,d,e,f,g){if(0!==b.length&&a.body){var h;if(this.skipQuadTree||a.body.skipQuadTree){for(var i=0;ih.right)break;if(h.x>a.body.right)continue}else if(this.sortDirection===c.Physics.Arcade.TOP_BOTTOM){if(a.body.bottomh.bottom)break;if(h.y>a.body.bottom)continue}this.collideSpriteVsSprite(a,b.hash[i],d,e,f,g)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(b);for(var j=this.quadTree.retrieve(a),i=0;ij.body.right)continue;if(j.body.x>h.body.right)break}else if(this.sortDirection===c.Physics.Arcade.TOP_BOTTOM){if(h.body.bottomj.body.bottom)continue;if(j.body.y>h.body.bottom)break}this.collideSpriteVsSprite(h,j,b,d,e,f)}},collideGroupVsGroup:function(a,b,d,e,f,g){if(0!==a.length&&0!==b.length)for(var h=0;h=b.right?!1:a.position.y>=b.bottom?!1:!0},separateX:function(a,b,c){if(a.immovable&&b.immovable)return!1;var d=0;if(this.intersects(a,b)){var e=a.deltaAbsX()+b.deltaAbsX()+this.OVERLAP_BIAS;if(0===a.deltaX()&&0===b.deltaX()?(a.embedded=!0,b.embedded=!0):a.deltaX()>b.deltaX()?(d=a.right-b.x,d>e||a.checkCollision.right===!1||b.checkCollision.left===!1?d=0:(a.touching.none=!1,a.touching.right=!0,b.touching.none=!1,b.touching.left=!0)):a.deltaX()e||a.checkCollision.left===!1||b.checkCollision.right===!1?d=0:(a.touching.none=!1,a.touching.left=!0,b.touching.none=!1,b.touching.right=!0)),a.overlapX=d,b.overlapX=d,0!==d){if(c||a.customSeparateX||b.customSeparateX)return!0;var f=a.velocity.x,g=b.velocity.x;if(a.immovable||b.immovable)a.immovable?b.immovable||(b.x+=d,b.velocity.x=f-g*b.bounce.x,a.moves&&(b.y+=(a.y-a.prev.y)*a.friction.y)):(a.x=a.x-d,a.velocity.x=g-f*a.bounce.x,b.moves&&(a.y+=(b.y-b.prev.y)*b.friction.y));else{d*=.5,a.x=a.x-d,b.x+=d;var h=Math.sqrt(g*g*b.mass/a.mass)*(g>0?1:-1),i=Math.sqrt(f*f*a.mass/b.mass)*(f>0?1:-1),j=.5*(h+i);h-=j,i-=j,a.velocity.x=j+h*a.bounce.x,b.velocity.x=j+i*b.bounce.x}return!0}}return!1},separateY:function(a,b,c){if(a.immovable&&b.immovable)return!1;var d=0;if(this.intersects(a,b)){var e=a.deltaAbsY()+b.deltaAbsY()+this.OVERLAP_BIAS;if(0===a.deltaY()&&0===b.deltaY()?(a.embedded=!0,b.embedded=!0):a.deltaY()>b.deltaY()?(d=a.bottom-b.y,d>e||a.checkCollision.down===!1||b.checkCollision.up===!1?d=0:(a.touching.none=!1,a.touching.down=!0,b.touching.none=!1,b.touching.up=!0)):a.deltaY()e||a.checkCollision.up===!1||b.checkCollision.down===!1?d=0:(a.touching.none=!1,a.touching.up=!0,b.touching.none=!1,b.touching.down=!0)),a.overlapY=d,b.overlapY=d,0!==d){if(c||a.customSeparateY||b.customSeparateY)return!0;var f=a.velocity.y,g=b.velocity.y;if(a.immovable||b.immovable)a.immovable?b.immovable||(b.y+=d,b.velocity.y=f-g*b.bounce.y,a.moves&&(b.x+=(a.x-a.prev.x)*a.friction.x)):(a.y=a.y-d,a.velocity.y=g-f*a.bounce.y,b.moves&&(a.x+=(b.x-b.prev.x)*b.friction.x));else{d*=.5,a.y=a.y-d,b.y+=d;var h=Math.sqrt(g*g*b.mass/a.mass)*(g>0?1:-1),i=Math.sqrt(f*f*a.mass/b.mass)*(f>0?1:-1),j=.5*(h+i);h-=j,i-=j,a.velocity.y=j+h*a.bounce.y,b.velocity.y=j+i*b.bounce.y}return!0}}return!1},getObjectsUnderPointer:function(a,b,c,d){return 0!==b.length&&a.exists?this.getObjectsAtLocation(a.x,a.y,b,c,d,a):void 0},getObjectsAtLocation:function(a,b,d,e,f,g){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(d);for(var h=new c.Rectangle(a,b,1,1),i=[],j=this.quadTree.retrieve(h),k=0;k0&&(c=this.distanceBetween(a,b)/(d/1e3)),a.body.velocity.x=Math.cos(e)*c,a.body.velocity.y=Math.sin(e)*c,e},moveToPointer:function(a,b,c,d){void 0===b&&(b=60),c=c||this.game.input.activePointer,void 0===d&&(d=0);var e=this.angleToPointer(a,c);return d>0&&(b=this.distanceToPointer(a,c)/(d/1e3)),a.body.velocity.x=Math.cos(e)*b,a.body.velocity.y=Math.sin(e)*b,e},moveToXY:function(a,b,c,d,e){void 0===d&&(d=60),void 0===e&&(e=0);var f=Math.atan2(c-a.y,b-a.x);return e>0&&(d=this.distanceToXY(a,b,c)/(e/1e3)),a.body.velocity.x=Math.cos(f)*d,a.body.velocity.y=Math.sin(f)*d,f},velocityFromAngle:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(this.game.math.degToRad(a))*b,Math.sin(this.game.math.degToRad(a))*b)},velocityFromRotation:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(a)*b,Math.sin(a)*b)},accelerationFromRotation:function(a,b,d){return void 0===b&&(b=60),d=d||new c.Point,d.setTo(Math.cos(a)*b,Math.sin(a)*b)},accelerateToObject:function(a,b,c,d,e){void 0===c&&(c=60),void 0===d&&(d=1e3),void 0===e&&(e=1e3);var f=this.angleBetween(a,b);return a.body.acceleration.setTo(Math.cos(f)*c,Math.sin(f)*c), +a.body.maxVelocity.setTo(d,e),f},accelerateToPointer:function(a,b,c,d,e){void 0===c&&(c=60),void 0===b&&(b=this.game.input.activePointer),void 0===d&&(d=1e3),void 0===e&&(e=1e3);var f=this.angleToPointer(a,b);return a.body.acceleration.setTo(Math.cos(f)*c,Math.sin(f)*c),a.body.maxVelocity.setTo(d,e),f},accelerateToXY:function(a,b,c,d,e,f){void 0===d&&(d=60),void 0===e&&(e=1e3),void 0===f&&(f=1e3);var g=this.angleToXY(a,b,c);return a.body.acceleration.setTo(Math.cos(g)*d,Math.sin(g)*d),a.body.maxVelocity.setTo(e,f),g},distanceBetween:function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)},distanceToXY:function(a,b,c){var d=a.x-b,e=a.y-c;return Math.sqrt(d*d+e*e)},distanceToPointer:function(a,b){b=b||this.game.input.activePointer;var c=a.x-b.worldX,d=a.y-b.worldY;return Math.sqrt(c*c+d*d)},angleBetween:function(a,b){var c=b.x-a.x,d=b.y-a.y;return Math.atan2(d,c)},angleToXY:function(a,b,c){var d=b-a.x,e=c-a.y;return Math.atan2(e,d)},angleToPointer:function(a,b){b=b||this.game.input.activePointer;var c=b.worldX-a.x,d=b.worldY-a.y;return Math.atan2(d,c)},worldAngleToPointer:function(a,b){b=b||this.game.input.activePointer;var c=b.worldX-a.world.x,d=b.worldY-a.world.y;return Math.atan2(d,c)}},c.Physics.Arcade.Body=function(a){this.sprite=a,this.game=a.game,this.type=c.Physics.ARCADE,this.enable=!0,this.offset=new c.Point,this.position=new c.Point(a.x,a.y),this.prev=new c.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=a.rotation,this.preRotation=a.rotation,this.width=a.width,this.height=a.height,this.sourceWidth=a.width,this.sourceHeight=a.height,a.texture&&(this.sourceWidth=a.texture.frame.width,this.sourceHeight=a.texture.frame.height),this.halfWidth=Math.abs(a.width/2),this.halfHeight=Math.abs(a.height/2),this.center=new c.Point(a.x+this.halfWidth,a.y+this.halfHeight),this.velocity=new c.Point,this.newVelocity=new c.Point(0,0),this.deltaMax=new c.Point(0,0),this.acceleration=new c.Point,this.drag=new c.Point,this.allowGravity=!0,this.gravity=new c.Point(0,0),this.bounce=new c.Point,this.maxVelocity=new c.Point(1e4,1e4),this.friction=new c.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=c.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,any:!0,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={up:!1,down:!1,left:!1,right:!1},this.tilePadding=new c.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this._reset=!0,this._sx=a.scale.x,this._sy=a.scale.y,this._dx=0,this._dy=0},c.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var a=this.sprite.getBounds();a.ceilAll(),(a.width!==this.width||a.height!==this.height)&&(this.width=a.width,this.height=a.height,this._reset=!0)}else{var b=Math.abs(this.sprite.scale.x),c=Math.abs(this.sprite.scale.y);(b!==this._sx||c!==this._sy)&&(this.width=this.sourceWidth*b,this.height=this.sourceHeight*c,this._sx=b,this._sy=c,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight))},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.width+this.offset.x,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.height+this.offset.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,(this.position.x!==this.prev.x||this.position.y!==this.prev.y)&&(this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.angle=Math.atan2(this.velocity.y,this.velocity.x)),this.collideWorldBounds&&this.checkWorldBounds()),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},postUpdate:function(){this.enable&&this.dirty&&(this.dirty=!1,this.deltaX()<0?this.facing=c.LEFT:this.deltaX()>0&&(this.facing=c.RIGHT),this.deltaY()<0?this.facing=c.UP:this.deltaY()>0&&(this.facing=c.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof c.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null},checkWorldBounds:function(){var a=this.position,b=this.game.physics.arcade.bounds,c=this.game.physics.arcade.checkCollision;a.xb.right&&c.right&&(a.x=b.right-this.width,this.velocity.x*=-this.bounce.x,this.blocked.right=!0),a.yb.bottom&&c.down&&(a.y=b.bottom-this.height,this.velocity.y*=-this.bounce.y,this.blocked.down=!0)},setSize:function(a,b,c,d){void 0===c&&(c=this.offset.x),void 0===d&&(d=this.offset.y),this.sourceWidth=a,this.sourceHeight=b,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(c,d),this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},reset:function(a,b){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0,this.position.x=a-this.sprite.anchor.x*this.width+this.offset.x,this.position.y=b-this.sprite.anchor.y*this.height+this.offset.y,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this._sx=this.sprite.scale.x,this._sy=this.sprite.scale.y,this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},hitTest:function(a,b){return c.Rectangle.contains(this,a,b)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation}},Object.defineProperty(c.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(a){this.position.x=a}}),Object.defineProperty(c.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(a){this.position.y=a}}),c.Physics.Arcade.Body.render=function(a,b,c,d){void 0===d&&(d=!0),c=c||"rgba(0,255,0,0.4)",d?(a.fillStyle=c,a.fillRect(b.position.x-b.game.camera.x,b.position.y-b.game.camera.y,b.width,b.height)):(a.strokeStyle=c,a.strokeRect(b.position.x-b.game.camera.x,b.position.y-b.game.camera.y,b.width,b.height))},c.Physics.Arcade.Body.renderBodyInfo=function(a,b){a.line("x: "+b.x.toFixed(2),"y: "+b.y.toFixed(2),"width: "+b.width,"height: "+b.height),a.line("velocity x: "+b.velocity.x.toFixed(2),"y: "+b.velocity.y.toFixed(2),"deltaX: "+b._dx.toFixed(2),"deltaY: "+b._dy.toFixed(2)),a.line("acceleration x: "+b.acceleration.x.toFixed(2),"y: "+b.acceleration.y.toFixed(2),"speed: "+b.speed.toFixed(2),"angle: "+b.angle.toFixed(2)),a.line("gravity x: "+b.gravity.x,"y: "+b.gravity.y,"bounce x: "+b.bounce.x.toFixed(2),"y: "+b.bounce.y.toFixed(2)),a.line("touching left: "+b.touching.left,"right: "+b.touching.right,"up: "+b.touching.up,"down: "+b.touching.down),a.line("blocked left: "+b.blocked.left,"right: "+b.blocked.right,"up: "+b.blocked.up,"down: "+b.blocked.down)},c.Physics.Arcade.Body.prototype.constructor=c.Physics.Arcade.Body,c.Physics.Arcade.TilemapCollision=function(){},c.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(a,b,c,d,e,f){if(a.body){var g=b.getTiles(a.body.position.x-a.body.tilePadding.x,a.body.position.y-a.body.tilePadding.y,a.body.width+a.body.tilePadding.x,a.body.height+a.body.tilePadding.y,!1,!1);if(0!==g.length)for(var h=0;hb.deltaAbsY()?g=-1:b.deltaAbsX()g){if((c.faceLeft||c.faceRight)&&(e=this.tileCheckX(b,c),0!==e&&!c.intersects(b.position.x,b.position.y,b.right,b.bottom)))return!0;(c.faceTop||c.faceBottom)&&(f=this.tileCheckY(b,c))}else{if((c.faceTop||c.faceBottom)&&(f=this.tileCheckY(b,c),0!==f&&!c.intersects(b.position.x,b.position.y,b.right,b.bottom)))return!0;(c.faceLeft||c.faceRight)&&(e=this.tileCheckX(b,c))}return 0!==e||0!==f},tileCheckX:function(a,b){var c=0;return a.deltaX()<0&&!a.blocked.left&&b.collideRight&&a.checkCollision.left?b.faceRight&&a.x0&&!a.blocked.right&&b.collideLeft&&a.checkCollision.right&&b.faceLeft&&a.right>b.left&&(c=a.right-b.left,c>this.TILE_BIAS&&(c=0)),0!==c&&(a.customSeparateX?a.overlapX=c:this.processTileSeparationX(a,c)),c},tileCheckY:function(a,b){var c=0;return a.deltaY()<0&&!a.blocked.up&&b.collideDown&&a.checkCollision.up?b.faceBottom&&a.y0&&!a.blocked.down&&b.collideUp&&a.checkCollision.down&&b.faceTop&&a.bottom>b.top&&(c=a.bottom-b.top,c>this.TILE_BIAS&&(c=0)),0!==c&&(a.customSeparateY?a.overlapY=c:this.processTileSeparationY(a,c)),c},processTileSeparationX:function(a,b){0>b?a.blocked.left=!0:b>0&&(a.blocked.right=!0),a.position.x-=b,0===a.bounce.x?a.velocity.x=0:a.velocity.x=-a.velocity.x*a.bounce.x},processTileSeparationY:function(a,b){0>b?a.blocked.up=!0:b>0&&(a.blocked.down=!0),a.position.y-=b,0===a.bounce.y?a.velocity.y=0:a.velocity.y=-a.velocity.y*a.bounce.y}},c.Utils.mixinPrototype(c.Physics.Arcade.prototype,c.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,c.Physics.P2=function(a,b){this.game=a,void 0===b?b={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(b.hasOwnProperty("gravity")||(b.gravity=[0,0]),b.hasOwnProperty("broadphase")||(b.broadphase=new p2.SAPBroadphase)),this.config=b,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new c.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new c.Signal,this.onBodyRemoved=new c.Signal,this.onSpringAdded=new c.Signal,this.onSpringRemoved=new c.Signal,this.onConstraintAdded=new c.Signal,this.onConstraintRemoved=new c.Signal,this.onContactMaterialAdded=new c.Signal,this.onContactMaterialRemoved=new c.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new c.Signal,this.onEndContact=new c.Signal,b.hasOwnProperty("mpx")&&b.hasOwnProperty("pxm")&&b.hasOwnProperty("mpxi")&&b.hasOwnProperty("pxmi")&&(this.mpx=b.mpx,this.mpxi=b.mpxi,this.pxm=b.pxm,this.pxmi=b.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new c.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new c.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new c.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},c.Physics.P2.prototype={removeBodyNextStep:function(a){this._toRemove.push(a)},preUpdate:function(){for(var a=this._toRemove.length;a--;)this.removeBody(this._toRemove[a]);this._toRemove.length=0},enable:function(a,b,d){void 0===b&&(b=!1),void 0===d&&(d=!0);var e=1;if(Array.isArray(a))for(e=a.length;e--;)a[e]instanceof c.Group?this.enable(a[e].children,b,d):(this.enableBody(a[e],b),d&&a[e].hasOwnProperty("children")&&a[e].children.length>0&&this.enable(a[e],b,!0));else a instanceof c.Group?this.enable(a.children,b,d):(this.enableBody(a,b),d&&a.hasOwnProperty("children")&&a.children.length>0&&this.enable(a.children,b,!0))},enableBody:function(a,b){a.hasOwnProperty("body")&&null===a.body&&(a.body=new c.Physics.P2.Body(this.game,a,a.x,a.y,1),a.body.debug=b,"undefined"!=typeof a.anchor&&a.anchor.set(.5))},setImpactEvents:function(a){a?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(a,b){this.postBroadphaseCallback=a,this.callbackContext=b,null!==a?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(a){if(this.postBroadphaseCallback&&0!==a.pairs.length)for(var b=a.pairs.length-2;b>=0;b-=2)a.pairs[b].parent&&a.pairs[b+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,a.pairs[b].parent,a.pairs[b+1].parent)&&a.pairs.splice(b,2)},impactHandler:function(a){if(a.bodyA.parent&&a.bodyB.parent){var b=a.bodyA.parent,c=a.bodyB.parent;b._bodyCallbacks[a.bodyB.id]&&b._bodyCallbacks[a.bodyB.id].call(b._bodyCallbackContext[a.bodyB.id],b,c,a.shapeA,a.shapeB),c._bodyCallbacks[a.bodyA.id]&&c._bodyCallbacks[a.bodyA.id].call(c._bodyCallbackContext[a.bodyA.id],c,b,a.shapeB,a.shapeA),b._groupCallbacks[a.shapeB.collisionGroup]&&b._groupCallbacks[a.shapeB.collisionGroup].call(b._groupCallbackContext[a.shapeB.collisionGroup],b,c,a.shapeA,a.shapeB),c._groupCallbacks[a.shapeA.collisionGroup]&&c._groupCallbacks[a.shapeA.collisionGroup].call(c._groupCallbackContext[a.shapeA.collisionGroup],c,b,a.shapeB,a.shapeA)}},beginContactHandler:function(a){a.bodyA&&a.bodyB&&(this.onBeginContact.dispatch(a.bodyA,a.bodyB,a.shapeA,a.shapeB,a.contactEquations),a.bodyA.parent&&a.bodyA.parent.onBeginContact.dispatch(a.bodyB.parent,a.bodyB,a.shapeA,a.shapeB,a.contactEquations),a.bodyB.parent&&a.bodyB.parent.onBeginContact.dispatch(a.bodyA.parent,a.bodyA,a.shapeB,a.shapeA,a.contactEquations))},endContactHandler:function(a){a.bodyA&&a.bodyB&&(this.onEndContact.dispatch(a.bodyA,a.bodyB,a.shapeA,a.shapeB),a.bodyA.parent&&a.bodyA.parent.onEndContact.dispatch(a.bodyB.parent,a.bodyB,a.shapeA,a.shapeB),a.bodyB.parent&&a.bodyB.parent.onEndContact.dispatch(a.bodyA.parent,a.bodyA,a.shapeB,a.shapeA))},setBoundsToWorld:function(a,b,c,d,e){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,a,b,c,d,e)},setWorldMaterial:function(a,b,c,d,e){void 0===b&&(b=!0),void 0===c&&(c=!0),void 0===d&&(d=!0),void 0===e&&(e=!0),b&&this.walls.left&&(this.walls.left.shapes[0].material=a),c&&this.walls.right&&(this.walls.right.shapes[0].material=a),d&&this.walls.top&&(this.walls.top.shapes[0].material=a),e&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=a)},updateBoundsCollisionGroup:function(a){var b=this.everythingCollisionGroup.mask;void 0===a&&(b=this.boundsCollisionGroup.mask),this.walls.left&&(this.walls.left.shapes[0].collisionGroup=b),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=b),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=b),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=b)},setBounds:function(a,b,c,d,e,f,g,h,i){void 0===e&&(e=this._boundsLeft),void 0===f&&(f=this._boundsRight),void 0===g&&(g=this._boundsTop),void 0===h&&(h=this._boundsBottom),void 0===i&&(i=this._boundsOwnGroup),this.walls.left&&this.world.removeBody(this.walls.left),this.walls.right&&this.world.removeBody(this.walls.right),this.walls.top&&this.world.removeBody(this.walls.top),this.walls.bottom&&this.world.removeBody(this.walls.bottom),e&&(this.walls.left=new p2.Body({mass:0,position:[this.pxmi(a),this.pxmi(b)],angle:1.5707963267948966}),this.walls.left.addShape(new p2.Plane),i&&(this.walls.left.shapes[0].collisionGroup=this.boundsCollisionGroup.mask),this.world.addBody(this.walls.left)),f&&(this.walls.right=new p2.Body({mass:0,position:[this.pxmi(a+c),this.pxmi(b)],angle:-1.5707963267948966}),this.walls.right.addShape(new p2.Plane),i&&(this.walls.right.shapes[0].collisionGroup=this.boundsCollisionGroup.mask),this.world.addBody(this.walls.right)),g&&(this.walls.top=new p2.Body({mass:0,position:[this.pxmi(a),this.pxmi(b)],angle:-3.141592653589793}),this.walls.top.addShape(new p2.Plane),i&&(this.walls.top.shapes[0].collisionGroup=this.boundsCollisionGroup.mask),this.world.addBody(this.walls.top)),h&&(this.walls.bottom=new p2.Body({mass:0,position:[this.pxmi(a),this.pxmi(b+d)]}),this.walls.bottom.addShape(new p2.Plane),i&&(this.walls.bottom.shapes[0].collisionGroup=this.boundsCollisionGroup.mask),this.world.addBody(this.walls.bottom)),this._boundsLeft=e,this._boundsRight=f,this._boundsTop=g,this._boundsBottom=h,this._boundsOwnGroup=i},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new c.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new c.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new c.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var a=this.world.constraints,b=a.length-1;b>=0;b--)this.world.removeConstraint(a[b]);for(var c=this.world.bodies,b=c.length-1;b>=0;b--)this.world.removeBody(c[b]);for(var d=this.world.springs,b=d.length-1;b>=0;b--)this.world.removeSpring(d[b]);for(var e=this.world.contactMaterials,b=e.length-1;b>=0;b--)this.world.removeContactMaterial(e[b]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[]},destroy:function(){this.clear(),this.game=null},addBody:function(a){return a.data.world?!1:(this.world.addBody(a.data),this.onBodyAdded.dispatch(a),!0)},removeBody:function(a){return a.data.world==this.world&&(this.world.removeBody(a.data),this.onBodyRemoved.dispatch(a)),a},addSpring:function(a){return a instanceof c.Physics.P2.Spring||a instanceof c.Physics.P2.RotationalSpring?this.world.addSpring(a.data):this.world.addSpring(a),this.onSpringAdded.dispatch(a),a},removeSpring:function(a){return a instanceof c.Physics.P2.Spring||a instanceof c.Physics.P2.RotationalSpring?this.world.removeSpring(a.data):this.world.removeSpring(a),this.onSpringRemoved.dispatch(a),a},createDistanceConstraint:function(a,b,d,e,f,g){return a=this.getBody(a),b=this.getBody(b),a&&b?this.addConstraint(new c.Physics.P2.DistanceConstraint(this,a,b,d,e,f,g)):void console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(a,b,d,e){return a=this.getBody(a),b=this.getBody(b),a&&b?this.addConstraint(new c.Physics.P2.GearConstraint(this,a,b,d,e)):void console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(a,b,d,e,f,g){return a=this.getBody(a),d=this.getBody(d),a&&d?this.addConstraint(new c.Physics.P2.RevoluteConstraint(this,a,b,d,e,f,g)):void console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(a,b,d,e,f){return a=this.getBody(a),b=this.getBody(b),a&&b?this.addConstraint(new c.Physics.P2.LockConstraint(this,a,b,d,e,f)):void console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(a,b,d,e,f,g,h){return a=this.getBody(a),b=this.getBody(b),a&&b?this.addConstraint(new c.Physics.P2.PrismaticConstraint(this,a,b,d,e,f,g,h)):void console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(a){return this.world.addConstraint(a),this.onConstraintAdded.dispatch(a),a},removeConstraint:function(a){return this.world.removeConstraint(a),this.onConstraintRemoved.dispatch(a),a},addContactMaterial:function(a){return this.world.addContactMaterial(a),this.onContactMaterialAdded.dispatch(a),a},removeContactMaterial:function(a){return this.world.removeContactMaterial(a),this.onContactMaterialRemoved.dispatch(a),a},getContactMaterial:function(a,b){return this.world.getContactMaterial(a,b)},setMaterial:function(a,b){for(var c=b.length;c--;)b[c].setMaterial(a)},createMaterial:function(a,b){a=a||"";var d=new c.Physics.P2.Material(a);return this.materials.push(d),"undefined"!=typeof b&&b.setMaterial(d),d},createContactMaterial:function(a,b,d){void 0===a&&(a=this.createMaterial()),void 0===b&&(b=this.createMaterial());var e=new c.Physics.P2.ContactMaterial(a,b,d);return this.addContactMaterial(e)},getBodies:function(){for(var a=[],b=this.world.bodies.length;b--;)a.push(this.world.bodies[b].parent);return a},getBody:function(a){return a instanceof p2.Body?a:a instanceof c.Physics.P2.Body?a.data:a.body&&a.body.type===c.Physics.P2JS?a.body.data:null},getSprings:function(){for(var a=[],b=this.world.springs.length;b--;)a.push(this.world.springs[b].parent);return a},getConstraints:function(){for(var a=[],b=this.world.constraints.length;b--;)a.push(this.world.constraints[b]);return a},hitTest:function(a,b,d,e){void 0===b&&(b=this.world.bodies),void 0===d&&(d=5),void 0===e&&(e=!1);for(var f=[this.pxmi(a.x),this.pxmi(a.y)],g=[],h=b.length;h--;)b[h]instanceof c.Physics.P2.Body&&(!e||b[h].data.type!==p2.Body.STATIC)?g.push(b[h].data):b[h]instanceof p2.Body&&b[h].parent&&(!e||b[h].type!==p2.Body.STATIC)?g.push(b[h]):b[h]instanceof c.Sprite&&b[h].hasOwnProperty("body")&&(!e||b[h].body.data.type!==p2.Body.STATIC)&&g.push(b[h].body.data);return this.world.hitTest(f,g,d)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(a){var b=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|b),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|b),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|b),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|b),this._collisionGroupID++;var d=new c.Physics.P2.CollisionGroup(b);return this.collisionGroups.push(d),a&&this.setCollisionGroup(a,d),d},setCollisionGroup:function(a,b){if(a instanceof c.Group)for(var d=0;de;e++){var g=a.collision[b][e],h=this.createBody(g.x,g.y,0,c,{},g.polyline);h&&d.push(h)}return d},clearTilemapLayerBodies:function(a,b){b=a.getLayer(b);for(var c=a.layers[b].bodies.length;c--;)a.layers[b].bodies[c].destroy();a.layers[b].bodies.length=0},convertTilemap:function(a,b,c,d){b=a.getLayer(b),void 0===c&&(c=!0),void 0===d&&(d=!0),this.clearTilemapLayerBodies(a,b);for(var e=0,f=0,g=0,h=0,i=a.layers[b].height;i>h;h++){e=0;for(var j=0,k=a.layers[b].width;k>j;j++){var l=a.layers[b].data[h][j];if(l&&l.index>-1&&l.collides)if(d){var m=a.getTileRight(b,j,h);if(0===e&&(f=l.x*l.width,g=l.y*l.height,e=l.width),m&&m.collides)e+=l.width;else{var n=this.createBody(f,g,0,!1);n.addRectangle(e,l.height,e/2,l.height/2,0),c&&this.addBody(n),a.layers[b].bodies.push(n),e=0}}else{var n=this.createBody(l.x*l.width,l.y*l.height,0,!1);n.addRectangle(l.width,l.height,l.width/2,l.height/2,0),c&&this.addBody(n),a.layers[b].bodies.push(n)}}}return a.layers[b].bodies},mpx:function(a){return a*=20},pxm:function(a){return.05*a},mpxi:function(a){return a*=-20},pxmi:function(a){return a*-.05}},Object.defineProperty(c.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(a){this.world.defaultContactMaterial.friction=a}}),Object.defineProperty(c.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(a){this.world.defaultContactMaterial.restitution=a}}),Object.defineProperty(c.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(a){this.world.defaultContactMaterial=a}}),Object.defineProperty(c.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(a){this.world.applySpringForces=a}}),Object.defineProperty(c.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(a){this.world.applyDamping=a}}),Object.defineProperty(c.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(a){this.world.applyGravity=a}}),Object.defineProperty(c.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(a){this.world.solveConstraints=a}}),Object.defineProperty(c.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(c.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(a){this.world.emitImpactEvent=a}}),Object.defineProperty(c.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(a){this.world.sleepMode=a}}),Object.defineProperty(c.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),c.Physics.P2.FixtureList=function(a){Array.isArray(a)||(a=[a]),this.rawList=a,this.init(),this.parse(this.rawList)},c.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(a,b){var c=function(b){b.collisionGroup=a};this.getFixtures(b).forEach(c)},setMask:function(a,b){var c=function(b){b.collisionMask=a};this.getFixtures(b).forEach(c)},setSensor:function(a,b){var c=function(b){b.sensor=a};this.getFixtures(b).forEach(c)},setMaterial:function(a,b){var c=function(b){b.material=a};this.getFixtures(b).forEach(c)},getFixtures:function(a){var b=[];if(a){a instanceof Array||(a=[a]);var c=this;return a.forEach(function(a){c.namedFixtures[a]&&b.push(c.namedFixtures[a])}),this.flatten(b)}return this.allFixtures},getFixtureByKey:function(a){return this.namedFixtures[a]},getGroup:function(a){return this.groupedFixtures[a]},parse:function(){var a,b,c,d;c=this.rawList,d=[];for(a in c)b=c[a],isNaN(a-0)?this.namedFixtures[a]=this.flatten(b):(this.groupedFixtures[a]=this.groupedFixtures[a]||[],this.groupedFixtures[a]=this.groupedFixtures[a].concat(b)),d.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(a){var b,c;return b=[],c=arguments.callee,a.forEach(function(a){return Array.prototype.push.apply(b,Array.isArray(a)?c(a):[a])}),b}},c.Physics.P2.PointProxy=function(a,b){this.world=a,this.destination=b},c.Physics.P2.PointProxy.prototype.constructor=c.Physics.P2.PointProxy,Object.defineProperty(c.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(a){this.destination[0]=this.world.pxm(a)}}),Object.defineProperty(c.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(a){this.destination[1]=this.world.pxm(a)}}),Object.defineProperty(c.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(a){this.destination[0]=a}}),Object.defineProperty(c.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(a){this.destination[1]=a}}),c.Physics.P2.InversePointProxy=function(a,b){this.world=a,this.destination=b},c.Physics.P2.InversePointProxy.prototype.constructor=c.Physics.P2.InversePointProxy,Object.defineProperty(c.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(a){this.destination[0]=this.world.pxmi(a)}}),Object.defineProperty(c.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(a){this.destination[1]=this.world.pxmi(a)}}),Object.defineProperty(c.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(a){this.destination[0]=-a; +}}),Object.defineProperty(c.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(a){this.destination[1]=-a}}),c.Physics.P2.Body=function(a,b,d,e,f){b=b||null,d=d||0,e=e||0,void 0===f&&(f=1),this.game=a,this.world=a.physics.p2,this.sprite=b,this.type=c.Physics.P2JS,this.offset=new c.Point,this.data=new p2.Body({position:[this.world.pxmi(d),this.world.pxmi(e)],mass:f}),this.data.parent=this,this.velocity=new c.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new c.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new c.Point,this.onBeginContact=new c.Signal,this.onEndContact=new c.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,b&&(this.setRectangleFromSprite(b),b.exists&&this.game.physics.p2.addBody(this))},c.Physics.P2.Body.prototype={createBodyCallback:function(a,b,c){var d=-1;a.id?d=a.id:a.body&&(d=a.body.id),d>-1&&(null===b?(delete this._bodyCallbacks[d],delete this._bodyCallbackContext[d]):(this._bodyCallbacks[d]=b,this._bodyCallbackContext[d]=c))},createGroupCallback:function(a,b,c){null===b?(delete this._groupCallbacks[a.mask],delete this._groupCallbackContext[a.mask]):(this._groupCallbacks[a.mask]=b,this._groupCallbackContext[a.mask]=c)},getCollisionMask:function(){var a=0;this._collideWorldBounds&&(a=this.game.physics.p2.boundsCollisionGroup.mask);for(var b=0;b=0;c--)this.data.shapes[c].collisionMask=b;else a.collisionMask=b},setCollisionGroup:function(a,b){var c=this.getCollisionMask();if(void 0===b)for(var d=this.data.shapes.length-1;d>=0;d--)this.data.shapes[d].collisionGroup=a.mask,this.data.shapes[d].collisionMask=c;else b.collisionGroup=a.mask,b.collisionMask=c},clearCollision:function(a,b,c){if(void 0===a&&(a=!0),void 0===b&&(b=!0),void 0===c)for(var d=this.data.shapes.length-1;d>=0;d--)a&&(this.data.shapes[d].collisionGroup=null),b&&(this.data.shapes[d].collisionMask=null);else a&&(c.collisionGroup=null),b&&(c.collisionMask=null);a&&(this.collidesWith.length=0)},removeCollisionGroup:function(a,b,c){void 0===b&&(b=!0);var d;if(Array.isArray(a))for(var e=0;e-1&&(this.collidesWith.splice(d,1),b&&(delete this._groupCallbacks[a.mask],delete this._groupCallbackContext[a.mask]));else d=this.collidesWith.indexOf(a),d>-1&&(this.collidesWith.splice(d,1),b&&(delete this._groupCallbacks[a.mask],delete this._groupCallbackContext[a.mask]));var f=this.getCollisionMask();if(void 0===c)for(var e=this.data.shapes.length-1;e>=0;e--)this.data.shapes[e].collisionMask=f;else c.collisionMask=f},collides:function(a,b,c,d){if(Array.isArray(a))for(var e=0;e=0;e--)this.data.shapes[e].collisionMask=f;else d.collisionMask=f},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(a,b){return this.data.getVelocityAtPoint(a,b)},applyDamping:function(a){this.data.applyDamping(a)},applyImpulse:function(a,b,c){this.data.applyImpulse(a,[this.world.pxmi(b),this.world.pxmi(c)])},applyImpulseLocal:function(a,b,c){this.data.applyImpulseLocal(a,[this.world.pxmi(b),this.world.pxmi(c)])},applyForce:function(a,b,c){this.data.applyForce(a,[this.world.pxmi(b),this.world.pxmi(c)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(a,b){return this.data.toLocalFrame(a,b)},toWorldFrame:function(a,b){return this.data.toWorldFrame(a,b)},rotateLeft:function(a){this.data.angularVelocity=this.world.pxm(-a)},rotateRight:function(a){this.data.angularVelocity=this.world.pxm(a)},moveForward:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.velocity[0]=b*Math.cos(c),this.data.velocity[1]=b*Math.sin(c)},moveBackward:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.velocity[0]=-(b*Math.cos(c)),this.data.velocity[1]=-(b*Math.sin(c))},thrust:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.force[0]+=b*Math.cos(c),this.data.force[1]+=b*Math.sin(c)},reverse:function(a){var b=this.world.pxmi(-a),c=this.data.angle+Math.PI/2;this.data.force[0]-=b*Math.cos(c),this.data.force[1]-=b*Math.sin(c)},moveLeft:function(a){this.data.velocity[0]=this.world.pxmi(-a)},moveRight:function(a){this.data.velocity[0]=this.world.pxmi(a)},moveUp:function(a){this.data.velocity[1]=this.world.pxmi(-a)},moveDown:function(a){this.data.velocity[1]=this.world.pxmi(a)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0]),this.sprite.y=this.world.mpxi(this.data.position[1]),this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(a,b,c,d){void 0===c&&(c=!1),void 0===d&&(d=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),c&&this.setZeroDamping(),d&&(this.mass=1),this.x=a,this.y=b},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var a=0;ad;d+=2)c.push([b[d],b[d+1]]);var f=c.length-1;c[f][0]===c[0][0]&&c[f][1]===c[0][1]&&c.pop();for(var g=0;g=0;c--)this.data.shapes[c].material=a;else b.material=a},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(a,b){for(var c=this.game.cache.getPhysicsData(a,b),d=[],e=0;e=0?o>n:n>o;e=o>=0?++n:--n)k=b.vertices[e],p2.vec2.rotate(m,k,a),l.push([(m[0]+i[0])*this.ppu,-(m[1]+i[1])*this.ppu]);this.drawConvex(j,l,b.triangles,f,c,g,this.settings.debugPolygons,[i[0]*this.ppu,-i[1]*this.ppu])}d++}}},drawRectangle:function(a,b,c,d,e,f,g,h,i){void 0===i&&(i=1),void 0===g&&(g=0),a.lineStyle(i,g,1),a.beginFill(h),a.drawRect(b-e/2,c-f/2,e,f)},drawCircle:function(a,b,c,d,e,f,g){void 0===g&&(g=1),void 0===f&&(f=16777215),a.lineStyle(g,0,1),a.beginFill(f,1),a.drawCircle(b,c,2*-e),a.endFill(),a.moveTo(b,c),a.lineTo(b+e*Math.cos(-d),c+e*Math.sin(-d))},drawLine:function(a,b,c,d){void 0===d&&(d=1),void 0===c&&(c=0),a.lineStyle(5*d,c,1),a.moveTo(-b/2,0),a.lineTo(b/2,0)},drawConvex:function(a,b,c,d,e,f,g,h){var i,j,k,l,m,n,o,p,q,r,s;if(void 0===f&&(f=1),void 0===d&&(d=0),g){for(i=[16711680,65280,255],j=0;j!==b.length+1;)l=b[j%b.length],m=b[(j+1)%b.length],o=l[0],r=l[1],p=m[0],s=m[1],a.lineStyle(f,i[j%i.length],1),a.moveTo(o,-r),a.lineTo(p,-s),a.drawCircle(o,-r,2*f),j++;return a.lineStyle(f,0,1),a.drawCircle(h[0],h[1],2*f)}for(a.lineStyle(f,d,1),a.beginFill(e),j=0;j!==b.length;)k=b[j],n=k[0],q=k[1],0===j?a.moveTo(n,-q):a.lineTo(n,-q),j++;return a.endFill(),b.length>2?(a.moveTo(b[b.length-1][0],-b[b.length-1][1]),a.lineTo(b[0][0],-b[0][1])):void 0},drawPath:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q,r;for(void 0===e&&(e=1),void 0===c&&(c=0),a.lineStyle(e,c,1),"number"==typeof d&&a.beginFill(d),h=null,i=null,g=0;g2&&"number"==typeof d&&(a.moveTo(b[b.length-1][0],b[b.length-1][1]),a.lineTo(b[0][0],b[0][1]))},drawPlane:function(a,b,c,d,e,f,g,h,i,j){var k,l,m;void 0===f&&(f=1),void 0===d&&(d=16777215),a.lineStyle(f,e,11),a.beginFill(d),k=i,a.moveTo(b,-c),l=b+Math.cos(j)*this.game.width,m=c+Math.sin(j)*this.game.height,a.lineTo(l,-m),a.moveTo(b,-c),l=b+Math.cos(j)*-this.game.width,m=c+Math.sin(j)*-this.game.height,a.lineTo(l,-m)},drawCapsule:function(a,b,c,d,e,f,g,h,i){void 0===i&&(i=1),void 0===g&&(g=0),a.lineStyle(i,g,1);var j=Math.cos(d),k=Math.sin(d);a.beginFill(h,1),a.drawCircle(-e/2*j+b,-e/2*k+c,2*-f),a.drawCircle(e/2*j+b,e/2*k+c,2*-f),a.endFill(),a.lineStyle(i,g,0),a.beginFill(h,1),a.moveTo(-e/2*j+f*k+b,-e/2*k+f*j+c),a.lineTo(e/2*j+f*k+b,e/2*k+f*j+c),a.lineTo(e/2*j-f*k+b,e/2*k-f*j+c),a.lineTo(-e/2*j-f*k+b,-e/2*k-f*j+c),a.endFill(),a.lineStyle(i,g,1),a.moveTo(-e/2*j+f*k+b,-e/2*k+f*j+c),a.lineTo(e/2*j+f*k+b,e/2*k+f*j+c),a.moveTo(-e/2*j-f*k+b,-e/2*k-f*j+c),a.lineTo(e/2*j-f*k+b,e/2*k-f*j+c)},randomPastelHex:function(){var a,b,c,d;return c=[255,255,255],d=Math.floor(256*Math.random()),b=Math.floor(256*Math.random()),a=Math.floor(256*Math.random()),d=Math.floor((d+3*c[0])/4),b=Math.floor((b+3*c[1])/4),a=Math.floor((a+3*c[2])/4),this.rgbToHex(d,b,a)},rgbToHex:function(a,b,c){return this.componentToHex(a)+this.componentToHex(b)+this.componentToHex(c)},componentToHex:function(a){var b;return b=a.toString(16),2===b.len?b:b+"0"}}),c.Physics.P2.Spring=function(a,b,c,d,e,f,g,h,i,j){this.game=a.game,this.world=a,void 0===d&&(d=1),void 0===e&&(e=100),void 0===f&&(f=1),d=a.pxm(d);var k={restLength:d,stiffness:e,damping:f};"undefined"!=typeof g&&null!==g&&(k.worldAnchorA=[a.pxm(g[0]),a.pxm(g[1])]),"undefined"!=typeof h&&null!==h&&(k.worldAnchorB=[a.pxm(h[0]),a.pxm(h[1])]),"undefined"!=typeof i&&null!==i&&(k.localAnchorA=[a.pxm(i[0]),a.pxm(i[1])]),"undefined"!=typeof j&&null!==j&&(k.localAnchorB=[a.pxm(j[0]),a.pxm(j[1])]),this.data=new p2.LinearSpring(b,c,k),this.data.parent=this},c.Physics.P2.Spring.prototype.constructor=c.Physics.P2.Spring,c.Physics.P2.RotationalSpring=function(a,b,c,d,e,f){this.game=a.game,this.world=a,void 0===d&&(d=null),void 0===e&&(e=100),void 0===f&&(f=1),d&&(d=a.pxm(d));var g={restAngle:d,stiffness:e,damping:f};this.data=new p2.RotationalSpring(b,c,g),this.data.parent=this},c.Physics.P2.Spring.prototype.constructor=c.Physics.P2.Spring,c.Physics.P2.Material=function(a){this.name=a,p2.Material.call(this)},c.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),c.Physics.P2.Material.prototype.constructor=c.Physics.P2.Material,c.Physics.P2.ContactMaterial=function(a,b,c){p2.ContactMaterial.call(this,a,b,c)},c.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),c.Physics.P2.ContactMaterial.prototype.constructor=c.Physics.P2.ContactMaterial,c.Physics.P2.CollisionGroup=function(a){this.mask=a},c.Physics.P2.DistanceConstraint=function(a,b,c,d,e,f,g){void 0===d&&(d=100),void 0===e&&(e=[0,0]),void 0===f&&(f=[0,0]),void 0===g&&(g=Number.MAX_VALUE),this.game=a.game,this.world=a,d=a.pxm(d),e=[a.pxmi(e[0]),a.pxmi(e[1])],f=[a.pxmi(f[0]),a.pxmi(f[1])];var h={distance:d,localAnchorA:e,localAnchorB:f,maxForce:g};p2.DistanceConstraint.call(this,b,c,h)},c.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),c.Physics.P2.DistanceConstraint.prototype.constructor=c.Physics.P2.DistanceConstraint,c.Physics.P2.GearConstraint=function(a,b,c,d,e){void 0===d&&(d=0),void 0===e&&(e=1),this.game=a.game,this.world=a;var f={angle:d,ratio:e};p2.GearConstraint.call(this,b,c,f)},c.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),c.Physics.P2.GearConstraint.prototype.constructor=c.Physics.P2.GearConstraint,c.Physics.P2.LockConstraint=function(a,b,c,d,e,f){void 0===d&&(d=[0,0]),void 0===e&&(e=0),void 0===f&&(f=Number.MAX_VALUE),this.game=a.game,this.world=a,d=[a.pxm(d[0]),a.pxm(d[1])];var g={localOffsetB:d,localAngleB:e,maxForce:f};p2.LockConstraint.call(this,b,c,g)},c.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),c.Physics.P2.LockConstraint.prototype.constructor=c.Physics.P2.LockConstraint,c.Physics.P2.PrismaticConstraint=function(a,b,c,d,e,f,g,h){void 0===d&&(d=!0),void 0===e&&(e=[0,0]),void 0===f&&(f=[0,0]),void 0===g&&(g=[0,0]),void 0===h&&(h=Number.MAX_VALUE),this.game=a.game,this.world=a,e=[a.pxmi(e[0]),a.pxmi(e[1])],f=[a.pxmi(f[0]),a.pxmi(f[1])];var i={localAnchorA:e,localAnchorB:f,localAxisA:g,maxForce:h,disableRotationalLock:!d};p2.PrismaticConstraint.call(this,b,c,i)},c.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),c.Physics.P2.PrismaticConstraint.prototype.constructor=c.Physics.P2.PrismaticConstraint,c.Physics.P2.RevoluteConstraint=function(a,b,c,d,e,f,g){void 0===f&&(f=Number.MAX_VALUE),void 0===g&&(g=null),this.game=a.game,this.world=a,c=[a.pxmi(c[0]),a.pxmi(c[1])],e=[a.pxmi(e[0]),a.pxmi(e[1])],g&&(g=[a.pxmi(g[0]),a.pxmi(g[1])]);var h={worldPivot:g,localPivotA:c,localPivotB:e,maxForce:f};p2.RevoluteConstraint.call(this,b,d,h)},c.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),c.Physics.P2.RevoluteConstraint.prototype.constructor=c.Physics.P2.RevoluteConstraint,c.ImageCollection=function(a,b,c,d,e,f,g){(void 0===c||0>=c)&&(c=32),(void 0===d||0>=d)&&(d=32),void 0===e&&(e=0),void 0===f&&(f=0),this.name=a,this.firstgid=0|b,this.imageWidth=0|c,this.imageHeight=0|d,this.imageMargin=0|e,this.imageSpacing=0|f,this.properties=g||{},this.images=[],this.total=0},c.ImageCollection.prototype={containsImageIndex:function(a){return a>=this.firstgid&&athis.right||b>this.bottom)},intersects:function(a,b,c,d){return c<=this.worldX?!1:d<=this.worldY?!1:a>=this.worldX+this.width?!1:b>=this.worldY+this.height?!1:!0},setCollisionCallback:function(a,b){this.collisionCallback=a,this.collisionCallbackContext=b},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(a,b,c,d){this.collideLeft=a,this.collideRight=b,this.collideUp=c,this.collideDown=d,this.faceLeft=a,this.faceRight=b,this.faceTop=c,this.faceBottom=d},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(a,b){return a&&b?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:a?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:b?this.faceTop||this.faceBottom||this.faceLeft||this.faceRight:!1},copy:function(a){this.index=a.index,this.alpha=a.alpha,this.properties=a.properties,this.collideUp=a.collideUp,this.collideDown=a.collideDown,this.collideLeft=a.collideLeft,this.collideRight=a.collideRight,this.collisionCallback=a.collisionCallback,this.collisionCallbackContext=a.collisionCallbackContext}},c.Tile.prototype.constructor=c.Tile,Object.defineProperty(c.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(c.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(c.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(c.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(c.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(c.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),c.Tilemap=function(a,b,d,e,f,g){this.game=a,this.key=b;var h=c.TilemapParser.parse(this.game,b,d,e,f,g);null!==h&&(this.width=h.width,this.height=h.height,this.tileWidth=h.tileWidth,this.tileHeight=h.tileHeight,this.orientation=h.orientation,this.format=h.format,this.version=h.version,this.properties=h.properties,this.widthInPixels=h.widthInPixels,this.heightInPixels=h.heightInPixels,this.layers=h.layers,this.tilesets=h.tilesets,this.imagecollections=h.imagecollections,this.tiles=h.tiles,this.objects=h.objects,this.collideIndexes=[],this.collision=h.collision,this.images=h.images,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},c.Tilemap.CSV=0,c.Tilemap.TILED_JSON=1,c.Tilemap.NORTH=0,c.Tilemap.EAST=1,c.Tilemap.SOUTH=2,c.Tilemap.WEST=3,c.Tilemap.prototype={create:function(a,b,c,d,e,f){return void 0===f&&(f=this.game.world),this.width=b,this.height=c,this.setTileSize(d,e),this.layers.length=0,this.createBlankLayer(a,b,c,d,e,f)},setTileSize:function(a,b){this.tileWidth=a,this.tileHeight=b,this.widthInPixels=this.width*a,this.heightInPixels=this.height*b},addTilesetImage:function(a,b,d,e,f,g,h){if(void 0===a)return null;void 0===d&&(d=this.tileWidth),void 0===e&&(e=this.tileHeight),void 0===f&&(f=0),void 0===g&&(g=0),void 0===h&&(h=0),0===d&&(d=32),0===e&&(e=32);var i=null;if((void 0===b||null===b)&&(b=a),b instanceof c.BitmapData)i=b.canvas;else{if(!this.game.cache.checkImageKey(b))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+b+'"'),null;i=this.game.cache.getImage(b)}var j=this.getTilesetIndex(a);if(null===j&&this.format===c.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+a+'"'),null;if(this.tilesets[j])return this.tilesets[j].setImage(i),this.tilesets[j];var k=new c.Tileset(a,h,d,e,f,g,{});k.setImage(i),this.tilesets.push(k);for(var l=this.tilesets.length-1,m=f,n=f,o=0,p=0,q=0,r=h;rl;l++)if(-1!==a.indexOf(this._results[l].index)){j=new g.customClass(this.game,this._results[l].worldX,this._results[l].worldY,d);for(var n in g)j[n]=g[n];f.add(j),k++}if(1===b.length)for(l=0;l1)for(l=0;lthis.layers.length?void console.warn("Tilemap.createLayer: Invalid layer ID given: "+f):e.add(new c.TilemapLayer(this.game,this,f,b,d))},createBlankLayer:function(a,b,d,e,f,g){if(void 0===g&&(g=this.game.world),null!==this.getLayerIndex(a))return void console.warn("Tilemap.createBlankLayer: Layer with matching name already exists");for(var h,i={name:a,x:0,y:0,width:b,height:d,widthInPixels:b*e,heightInPixels:d*f,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},j=[],k=0;d>k;k++){h=[];for(var l=0;b>l;l++)h.push(new c.Tile(i,-1,l,k,e,f));j.push(h)}i.data=j,this.layers.push(i),this.currentLayer=this.layers.length-1;var m=i.widthInPixels,n=i.heightInPixels;m>this.game.width&&(m=this.game.width),n>this.game.height&&(n=this.game.height);var j=new c.TilemapLayer(this.game,this,this.layers.length-1,m,n);return j.name=a,g.add(j)},getIndex:function(a,b){for(var c=0;ce;e++)this.layers[d].callbacks[a[e]]={callback:b,callbackContext:c}},setTileLocationCallback:function(a,b,c,d,e,f,g){if(g=this.getLayer(g),this.copy(a,b,c,d,g),!(this._results.length<2))for(var h=1;hb)){for(var f=a;b>=f;f++)this.setCollisionByIndex(f,c,d,!1);e&&this.calculateFaces(d)}},setCollisionByExclusion:function(a,b,c,d){void 0===b&&(b=!0),void 0===d&&(d=!0),c=this.getLayer(c);for(var e=0,f=this.tiles.length;f>e;e++)-1===a.indexOf(e)&&this.setCollisionByIndex(e,b,c,!1);d&&this.calculateFaces(c)},setCollisionByIndex:function(a,b,c,d){if(void 0===b&&(b=!0),void 0===c&&(c=this.currentLayer),void 0===d&&(d=!0),b)this.collideIndexes.push(a);else{var e=this.collideIndexes.indexOf(a);e>-1&&this.collideIndexes.splice(e,1)}for(var f=0;ff;f++)for(var h=0,i=this.layers[a].width;i>h;h++){var j=this.layers[a].data[f][h];j&&(b=this.getTileAbove(a,h,f),c=this.getTileBelow(a,h,f),d=this.getTileLeft(a,h,f),e=this.getTileRight(a,h,f),j.collides&&(j.faceTop=!0,j.faceBottom=!0,j.faceLeft=!0,j.faceRight=!0),b&&b.collides&&(j.faceTop=!1),c&&c.collides&&(j.faceBottom=!1),d&&d.collides&&(j.faceLeft=!1),e&&e.collides&&(j.faceRight=!1))}},getTileAbove:function(a,b,c){return c>0?this.layers[a].data[c-1][b]:null},getTileBelow:function(a,b,c){return c0?this.layers[a].data[c][b-1]:null},getTileRight:function(a,b,c){return b-1},removeTile:function(a,b,d){if(d=this.getLayer(d),a>=0&&a=0&&b=0&&b=0&&d-1?this.layers[e].data[d][b].setCollision(!0,!0,!0,!0):this.layers[e].data[d][b].resetCollision(),this.layers[e].dirty=!0,this.calculateFaces(e),this.layers[e].data[d][b]}return null},putTileWorldXY:function(a,b,c,d,e,f){return f=this.getLayer(f),b=this.game.math.snapToFloor(b,d)/d,c=this.game.math.snapToFloor(c,e)/e,this.putTile(a,b,c,f)},searchTileIndex:function(a,b,c,d){void 0===b&&(b=0),void 0===c&&(c=!1),d=this.getLayer(d);var e=0;if(c){for(var f=this.layers[d].height-1;f>=0;f--)for(var g=this.layers[d].width-1;g>=0;g--)if(this.layers[d].data[f][g].index===a){if(e===b)return this.layers[d].data[f][g];e++}}else for(var f=0;f=0&&a=0&&ba&&(a=0),0>b&&(b=0),c>this.layers[e].width&&(c=this.layers[e].width),d>this.layers[e].height&&(d=this.layers[e].height),this._results.length=0,this._results.push({x:a,y:b,width:c,height:d,layer:e});for(var f=b;b+d>f;f++)for(var g=a;a+c>g;g++)this._results.push(this.layers[e].data[f][g]);return this._results},paste:function(a,b,c,d){if(void 0===a&&(a=0),void 0===b&&(b=0),d=this.getLayer(d),c&&!(c.length<2)){for(var e=a-c[1].x,f=b-c[1].y,g=1;g1?this.debugMap[this.layers[this.currentLayer].data[c][d]]?b.push("background: "+this.debugMap[this.layers[this.currentLayer].data[c][d]]):b.push("background: #ffffff"):b.push("background: rgb(0, 0, 0)");a+="\n"}b[0]=a,console.log.apply(console,b)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},c.Tilemap.prototype.constructor=c.Tilemap,Object.defineProperty(c.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(a){a!==this.currentLayer&&this.setLayer(a)}}),c.TilemapLayer=function(a,b,d,e,f){e|=0,f|=0,c.Sprite.call(this,a,0,0),this.map=b,this.index=d,this.layer=b.layers[d],this.canvas=PIXI.CanvasPool.create(this,e,f),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas))),this.type=c.TILEMAPLAYER,this.physicsType=c.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!1,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:b.tileWidth,tileHeight:b.tileHeight,cw:b.tileWidth,ch:b.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this._results=[],a.device.canvasBitBltShift||(this.renderSettings.copyCanvas=c.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},c.TilemapLayer.prototype=Object.create(c.Sprite.prototype),c.TilemapLayer.prototype.constructor=c.TilemapLayer,c.TilemapLayer.prototype.preUpdateCore=c.Component.Core.preUpdate,c.TilemapLayer.sharedCopyCanvas=null,c.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=c.Canvas.create(2,2)),this.sharedCopyCanvas},c.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},c.TilemapLayer.prototype.postUpdate=function(){c.Component.FixedToCamera.postUpdate.call(this);var a=this.game.camera;this.scrollX=a.x*this.scrollFactorX/this.scale.x,this.scrollY=a.y*this.scrollFactorY/this.scale.y,this.render()},c.TilemapLayer.prototype.destroy=function(){PIXI.CanvasPool.remove(this),c.Component.Destroy.prototype.destroy.call(this)},c.TilemapLayer.prototype.resize=function(a,b){this.canvas.width=a,this.canvas.height=b,this.texture.frame.resize(a,b),this.texture.width=a,this.texture.height=b,this.texture.crop.width=a,this.texture.crop.height=b,this.texture.baseTexture.width=a,this.texture.baseTexture.height=b,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},c.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},c.TilemapLayer.prototype._fixX=function(a){return 0>a&&(a=0),1===this.scrollFactorX?a:this._scrollX+(a-this._scrollX/this.scrollFactorX)},c.TilemapLayer.prototype._unfixX=function(a){return 1===this.scrollFactorX?a:this._scrollX/this.scrollFactorX+(a-this._scrollX)},c.TilemapLayer.prototype._fixY=function(a){return 0>a&&(a=0),1===this.scrollFactorY?a:this._scrollY+(a-this._scrollY/this.scrollFactorY)},c.TilemapLayer.prototype._unfixY=function(a){return 1===this.scrollFactorY?a:this._scrollY/this.scrollFactorY+(a-this._scrollY)},c.TilemapLayer.prototype.getTileX=function(a){return Math.floor(this._fixX(a)/this._mc.tileWidth)},c.TilemapLayer.prototype.getTileY=function(a){return Math.floor(this._fixY(a)/this._mc.tileHeight)},c.TilemapLayer.prototype.getTileXY=function(a,b,c){return c.x=this.getTileX(a),c.y=this.getTileY(b),c},c.TilemapLayer.prototype.getRayCastTiles=function(a,b,c,d){b||(b=this.rayStepRate),void 0===c&&(c=!1),void 0===d&&(d=!1);var e=this.getTiles(a.x,a.y,a.width,a.height,c,d);if(0===e.length)return[];for(var f=a.coordinatesOnLine(b),g=[],h=0;hl;l++)for(var m=h;h+j>m;m++){var n=this.layer.data[l];n&&n[m]&&(g||n[m].isInteresting(e,f))&&this._results.push(n[m])}return this._results.slice()},c.TilemapLayer.prototype.resolveTileset=function(a){var b=this._mc.tilesets;if(2e3>a)for(;b.lengthb&&(g=-b,i=0),0>c&&(h=-c,j=0);var k=this.renderSettings.copyCanvas;if(k){(k.width=c&&(c=Math.max(0,c),e=Math.min(h-1,e)),f>=d&&(d=Math.max(0,d),f=Math.min(i-1,f)));var n,o,p,q,r,s,t=c*j-a,u=d*k-b,v=(c+(1<<20)*h)%h,w=(d+(1<<20)*i)%i;for(g.fillStyle=this.tileColor,q=w,s=f-d,o=u;s>=0;q++,s--,o+=k){q>=i&&(q-=i);var x=this.layer.data[q];for(p=v,r=e-c,n=t;r>=0;p++,r--,n+=j){p>=h&&(p-=h);var y=x[p];if(y&&!(y.index<0)){var z=y.index,A=l[z];void 0===A&&(A=this.resolveTileset(z)),y.alpha===m||this.debug||(g.globalAlpha=y.alpha,m=y.alpha),A?y.rotation||y.flipped?(g.save(),g.translate(n+y.centerX,o+y.centerY),g.rotate(y.rotation),y.flipped&&g.scale(-1,1),A.draw(g,-y.centerX,-y.centerY,z),g.restore()):A.draw(g,n,o,z):this.debugSettings.missingImageFill&&(g.fillStyle=this.debugSettings.missingImageFill,g.fillRect(n,o,j,k)),y.debug&&this.debugSettings.debuggedTileOverfill&&(g.fillStyle=this.debugSettings.debuggedTileOverfill,g.fillRect(n,o,j,k))}}}},c.TilemapLayer.prototype.renderDeltaScroll=function(a,b){var c=this._mc.scrollX,d=this._mc.scrollY,e=this.canvas.width,f=this.canvas.height,g=this._mc.tileWidth,h=this._mc.tileHeight,i=0,j=-g,k=0,l=-h;if(0>a?(i=e+a,j=e-1):a>0&&(j=a),0>b?(k=f+b,l=f-1):b>0&&(l=b),this.shiftCanvas(this.context,a,b),i=Math.floor((i+c)/g),j=Math.floor((j+c)/g),k=Math.floor((k+d)/h),l=Math.floor((l+d)/h),j>=i){this.context.clearRect(i*g-c,0,(j-i+1)*g,f);var m=Math.floor((0+d)/h),n=Math.floor((f-1+d)/h);this.renderRegion(c,d,i,m,j,n)}if(l>=k){this.context.clearRect(0,k*h-d,e,(l-k+1)*h);var o=Math.floor((0+c)/g),p=Math.floor((e-1+c)/g);this.renderRegion(c,d,o,k,p,l)}},c.TilemapLayer.prototype.renderFull=function(){var a=this._mc.scrollX,b=this._mc.scrollY,c=this.canvas.width,d=this.canvas.height,e=this._mc.tileWidth,f=this._mc.tileHeight,g=Math.floor(a/e),h=Math.floor((c-1+a)/e),i=Math.floor(b/f),j=Math.floor((d-1+b)/f);this.context.clearRect(0,0,c,d),this.renderRegion(a,b,g,i,h,j)},c.TilemapLayer.prototype.render=function(){var a=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,a=!0);var b=this.canvas.width,c=this.canvas.height,d=0|this._scrollX,e=0|this._scrollY,f=this._mc,g=f.scrollX-d,h=f.scrollY-e;if(a||0!==g||0!==h||f.renderWidth!==b||f.renderHeight!==c)return this.context.save(),f.scrollX=d,f.scrollY=e,(f.renderWidth!==b||f.renderHeight!==c)&&(f.renderWidth=b,f.renderHeight=c),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(a=!0)),!a&&this.renderSettings.enableScrollDelta&&Math.abs(g)+Math.abs(h)=0;d++,f--,b+=o){d>=m&&(d-=m);var x=this.layer.data[d];for(c=v,e=q-p,a=t;e>=0;c++,e--,a+=n){c>=l&&(c-=l);var y=x[c];!y||y.index<0||!y.collides||(this.debugSettings.collidingTileOverfill&&(i.fillStyle=this.debugSettings.collidingTileOverfill,i.fillRect(a,b,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(i.beginPath(),y.faceTop&&(i.moveTo(a,b),i.lineTo(a+this._mc.cw,b)),y.faceBottom&&(i.moveTo(a,b+this._mc.ch),i.lineTo(a+this._mc.cw,b+this._mc.ch)),y.faceLeft&&(i.moveTo(a,b),i.lineTo(a,b+this._mc.ch)),y.faceRight&&(i.moveTo(a+this._mc.cw,b),i.lineTo(a+this._mc.cw,b+this._mc.ch)),i.stroke()))}}},Object.defineProperty(c.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(a){this._wrap=a,this.dirty=!0}}),Object.defineProperty(c.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(a){this._scrollX=a}}),Object.defineProperty(c.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(a){this._scrollY=a}}),Object.defineProperty(c.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(a){this._mc.cw=0|a,this.dirty=!0}}),Object.defineProperty(c.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(a){this._mc.ch=0|a,this.dirty=!0}}),c.TilemapParser={INSERT_NULL:!1,parse:function(a,b,d,e,f,g){if(void 0===d&&(d=32),void 0===e&&(e=32),void 0===f&&(f=10),void 0===g&&(g=10),void 0===b)return this.getEmptyData();if(null===b)return this.getEmptyData(d,e,f,g);var h=a.cache.getTilemapData(b);if(h){if(h.format===c.Tilemap.CSV)return this.parseCSV(b,h.data,d,e);if(!h.format||h.format===c.Tilemap.TILED_JSON)return this.parseTiledJSON(h.data)}else console.warn("Phaser.TilemapParser.parse - No map data found for key "+b)},parseCSV:function(a,b,d,e){var f=this.getEmptyData();b=b.trim();for(var g=[],h=b.split("\n"),i=h.length,j=0,k=0;kk;k+=4)j[k/4]=(h.charCodeAt(k)|h.charCodeAt(k+1)<<8|h.charCodeAt(k+2)<<16|h.charCodeAt(k+3)<<24)>>>0;g.data=j}var l={name:g.name,x:g.x,y:g.y,width:g.width,height:g.height,widthInPixels:g.width*a.tilewidth,heightInPixels:g.height*a.tileheight,alpha:g.opacity,visible:g.visible,properties:{},indexes:[],callbacks:[],bodies:[]};g.properties&&(l.properties=g.properties);for(var m,n,o,p,q=0,r=[],s=[],t=0,i=g.data.length;i>t;t++){if(m=0,n=!1,p=g.data[t],p>536870912)switch(o=0,p>2147483648&&(p-=2147483648,o+=4),p>1073741824&&(p-=1073741824,o+=2),p>536870912&&(p-=536870912,o+=1),o){case 5:m=Math.PI/2;break;case 6:m=Math.PI;break;case 3:m=3*Math.PI/2;break;case 4:m=0,n=!0;break;case 7:m=Math.PI/2,n=!0;break;case 2:m=Math.PI,n=!0;break;case 1:m=3*Math.PI/2,n=!0}p>0?(r.push(new c.Tile(l,p,q,s.length,a.tilewidth,a.tileheight)),r[r.length-1].rotation=m,r[r.length-1].flipped=n):c.TilemapParser.INSERT_NULL?r.push(null):r.push(new c.Tile(l,-1,q,s.length,a.tilewidth,a.tileheight)),q++,q===g.width&&(s.push(r),q=0,r=[])}l.data=s,e.push(l)}d.layers=e;for(var u=[],f=0;fG;G++)if(F.objects[G].gid){var H={gid:F.objects[G].gid,name:F.objects[G].name,type:F.objects[G].hasOwnProperty("type")?F.objects[G].type:"",x:F.objects[G].x,y:F.objects[G].y,visible:F.objects[G].visible,properties:F.objects[G].properties};F.objects[G].rotation&&(H.rotation=F.objects[G].rotation),D[F.name].push(H)}else if(F.objects[G].polyline){var H={name:F.objects[G].name,type:F.objects[G].type,x:F.objects[G].x,y:F.objects[G].y,width:F.objects[G].width,height:F.objects[G].height,visible:F.objects[G].visible,properties:F.objects[G].properties};F.objects[G].rotation&&(H.rotation=F.objects[G].rotation),H.polyline=[];for(var I=0;I=c)&&(c=32),(void 0===d||0>=d)&&(d=32),void 0===e&&(e=0),void 0===f&&(f=0),this.name=a,this.firstgid=0|b,this.tileWidth=0|c,this.tileHeight=0|d,this.tileMargin=0|e,this.tileSpacing=0|f,this.properties=g||{},this.image=null,this.rows=0,this.columns=0,this.total=0,this.drawCoords=[]},c.Tileset.prototype={draw:function(a,b,c,d){var e=d-this.firstgid<<1;e>=0&&e+1=this.firstgid&&a=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(var a=0;a=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._quantity>0&&this._counter>=this._quantity&&(this.on=!1));for(var a=this.children.length;a--;)this.children[a].exists&&this.children[a].update()},c.Particles.Arcade.Emitter.prototype.makeParticles=function(a,b,c,d,e){void 0===b&&(b=0),void 0===c&&(c=this.maxParticles),void 0===d&&(d=!1),void 0===e&&(e=!1);var f,g=0,h=a,i=b;for(this._frames=b,c>this.maxParticles&&(this.maxParticles=c);c>g;)Array.isArray(a)&&(h=this.game.rnd.pick(a)),Array.isArray(b)&&(i=this.game.rnd.pick(b)),f=new this.particleClass(this.game,0,0,h,i),this.game.physics.arcade.enable(f,!1),d?(f.body.checkCollision.any=!0,f.body.checkCollision.none=!1):f.body.checkCollision.none=!0,f.body.collideWorldBounds=e,f.body.skipQuadTree=!0,f.exists=!1,f.visible=!1,f.anchor.copyFrom(this.particleAnchor),this.add(f),g++;return this},c.Particles.Arcade.Emitter.prototype.kill=function(){return this.on=!1,this.alive=!1,this.exists=!1,this},c.Particles.Arcade.Emitter.prototype.revive=function(){return this.alive=!0,this.exists=!0,this},c.Particles.Arcade.Emitter.prototype.explode=function(a,b){return this._flowTotal=0,this.start(!0,a,0,b,!1),this},c.Particles.Arcade.Emitter.prototype.flow=function(a,b,c,d,e){return(void 0===c||0===c)&&(c=1),void 0===d&&(d=-1),void 0===e&&(e=!0),c>this.maxParticles&&(c=this.maxParticles),this._counter=0,this._flowQuantity=c,this._flowTotal=d,e?(this.start(!0,a,b,c),this._counter+=c,this.on=!0,this._timer=this.game.time.time+b*this.game.time.slowMotion):this.start(!1,a,b,c),this},c.Particles.Arcade.Emitter.prototype.start=function(a,b,c,d,e){if(void 0===a&&(a=!0),void 0===b&&(b=0),(void 0===c||null===c)&&(c=250),void 0===d&&(d=0),void 0===e&&(e=!1),d>this.maxParticles&&(d=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=b,this.frequency=c,a||e)for(var f=0;d>f;f++)this.emitParticle();else this.on=!0,this._quantity+=d,this._counter=0,this._timer=this.game.time.time+c*this.game.time.slowMotion;return this},c.Particles.Arcade.Emitter.prototype.emitParticle=function(a,b,c,d){void 0===a&&(a=null),void 0===b&&(b=null);var e=this.getFirstExists(!1);if(null===e)return!1;var f=this.game.rnd;void 0!==c&&void 0!==d?e.loadTexture(c,d):void 0!==c&&e.loadTexture(c);var g=this.emitX,h=this.emitY;null!==a?g=a:this.width>1&&(g=f.between(this.left,this.right)),null!==b?h=b:this.height>1&&(h=f.between(this.top,this.bottom)),e.reset(g,h),e.angle=0,e.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(e):this.particleSendToBack&&this.sendToBack(e),this.autoScale?e.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?e.scale.set(f.realInRange(this.minParticleScale,this.maxParticleScale)):(this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y)&&e.scale.set(f.realInRange(this._minParticleScale.x,this._maxParticleScale.x),f.realInRange(this._minParticleScale.y,this._maxParticleScale.y)),void 0===d&&(Array.isArray(this._frames)?e.frame=this.game.rnd.pick(this._frames):e.frame=this._frames),this.autoAlpha?e.setAlphaData(this.alphaData):e.alpha=f.realInRange(this.minParticleAlpha,this.maxParticleAlpha), +e.blendMode=this.blendMode;var i=e.body;return i.updateBounds(),i.bounce.copyFrom(this.bounce),i.drag.copyFrom(this.particleDrag),i.velocity.x=f.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),i.velocity.y=f.between(this.minParticleSpeed.y,this.maxParticleSpeed.y),i.angularVelocity=f.between(this.minRotation,this.maxRotation),i.gravity.y=this.gravity,i.angularDrag=this.angularDrag,e.onEmit(),!0},c.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),c.Group.prototype.destroy.call(this,!0,!1)},c.Particles.Arcade.Emitter.prototype.setSize=function(a,b){return this.area.width=a,this.area.height=b,this},c.Particles.Arcade.Emitter.prototype.setXSpeed=function(a,b){return a=a||0,b=b||0,this.minParticleSpeed.x=a,this.maxParticleSpeed.x=b,this},c.Particles.Arcade.Emitter.prototype.setYSpeed=function(a,b){return a=a||0,b=b||0,this.minParticleSpeed.y=a,this.maxParticleSpeed.y=b,this},c.Particles.Arcade.Emitter.prototype.setRotation=function(a,b){return a=a||0,b=b||0,this.minRotation=a,this.maxRotation=b,this},c.Particles.Arcade.Emitter.prototype.setAlpha=function(a,b,d,e,f){if(void 0===a&&(a=1),void 0===b&&(b=1),void 0===d&&(d=0),void 0===e&&(e=c.Easing.Linear.None),void 0===f&&(f=!1),this.minParticleAlpha=a,this.maxParticleAlpha=b,this.autoAlpha=!1,d>0&&a!==b){var g={v:a},h=this.game.make.tween(g).to({v:b},d,e);h.yoyo(f),this.alphaData=h.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},c.Particles.Arcade.Emitter.prototype.setScale=function(a,b,d,e,f,g,h){if(void 0===a&&(a=1),void 0===b&&(b=1),void 0===d&&(d=1),void 0===e&&(e=1),void 0===f&&(f=0),void 0===g&&(g=c.Easing.Linear.None),void 0===h&&(h=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(a,d),this._maxParticleScale.set(b,e),this.autoScale=!1,f>0&&(a!==b||d!==e)){var i={x:a,y:d},j=this.game.make.tween(i).to({x:b,y:e},f,g);j.yoyo(h),this.scaleData=j.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},c.Particles.Arcade.Emitter.prototype.at=function(a){return a.center?(this.emitX=a.center.x,this.emitY=a.center.y):(this.emitX=a.world.x+a.anchor.x*a.width,this.emitY=a.world.y+a.anchor.y*a.height),this},Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(a){this.area.width=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(a){this.area.height=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(a){this.emitX=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(a){this.emitY=a}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(c.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),c.Video=function(a,b,d){if(void 0===b&&(b=null),void 0===d&&(d=null),this.game=a,this.key=b,this.width=0,this.height=0,this.type=c.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new c.Signal,this.onChangeSource=new c.Signal,this.onComplete=new c.Signal,this.onAccess=new c.Signal,this.onError=new c.Signal,this.onTimeout=new c.Signal,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,b&&this.game.cache.checkVideoKey(b)){var e=this.game.cache.getVideo(b);e.isBlob?this.createVideoFromBlob(e.data):this.video=e.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else d&&this.createVideoFromURL(d,!1);this.video&&!d?(this.baseTexture=new PIXI.BaseTexture(this.video),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(PIXI.TextureCache.__default.baseTexture.source),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new c.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==b&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,c.BitmapData&&(this.snapshot=new c.BitmapData(this.game,"",this.width,this.height)),!this.game.device.cocoonJS&&(this.game.device.iOS||this.game.device.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock?this.setTouchLock():e&&(e.locked=!1)},c.Video.prototype={connectToMediaStream:function(a,b){return a&&b&&(this.video=a,this.videoStream=b,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(a,b,c){if(void 0===a&&(a=!1),void 0===b&&(b=null),void 0===c&&(c=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),null!==b&&(this.video.width=b),null!==c&&(this.video.height=c),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:a,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(d){this.getUserMediaError(d)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(a){clearTimeout(this._timeOutID),this.onError.dispatch(this,a)},getUserMediaSuccess:function(a){clearTimeout(this._timeOutID),this.videoStream=a,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=a:this.video.src=window.URL&&window.URL.createObjectURL(a)||a;var b=this;this.video.onloadeddata=function(){function a(){if(c>0)if(b.video.videoWidth>0){var d=b.video.videoWidth,e=b.video.videoHeight;isNaN(b.video.videoHeight)&&(e=d/(4/3)),b.video.play(),b.isStreaming=!0,b.baseTexture.source=b.video,b.updateTexture(null,d,e),b.onAccess.dispatch(b)}else window.setTimeout(a,500);else console.warn("Unable to connect to video stream. Webcam error?");c--}var c=10;a()}},createVideoFromBlob:function(a){var b=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.addEventListener("loadeddata",function(a){b.updateTexture(a)},!0),this.video.src=window.URL.createObjectURL(a),this.video.canplay=!0,this},createVideoFromURL:function(a,b){return void 0===b&&(b=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,b&&this.video.setAttribute("autoplay","autoplay"),this.video.src=a,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=a,this},updateTexture:function(a,b,c){var d=!1;(void 0===b||null===b)&&(b=this.video.videoWidth,d=!0),(void 0===c||null===c)&&(c=this.video.videoHeight),this.width=b,this.height=c,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(b,c),this.texture.frame.resize(b,c),this.texture.width=b,this.texture.height=c,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(b,c),d&&null!==this.key&&(this.onChangeSource.dispatch(this,b,c),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(a,b){return void 0===a&&(a=!1),void 0===b&&(b=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),a?this.video.loop="loop":this.video.loop="",this.video.playbackRate=b,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,a,b)),this},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(a){if(Array.isArray(a))for(var b=0;b0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming))},setTouchLock:function(){this.game.input.touch.addTouchLockCallback(this.unlock,this),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate),this.key){var a=this.game.cache.getVideo(this.key);a&&!a.isBlob&&(a.locked=!1)}return!0},grab:function(a,b,c){return void 0===a&&(a=!1),void 0===b&&(b=1),void 0===c&&(c=null),null===this.snapshot?void console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable"):(a&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,b,c),this.snapshot)},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.touch.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(c.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(a){this.video.currentTime=a}}),Object.defineProperty(c.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(c.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(c.Video.prototype,"mute",{get:function(){return this._muted},set:function(a){if(a=a||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(c.Video.prototype,"paused",{get:function(){return this._paused},set:function(a){if(a=a||null,!this.touchLocked)if(a){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(c.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(a){0>a?a=0:a>1&&(a=1),this.video&&(this.video.volume=a)}}),Object.defineProperty(c.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(a){this.video&&(this.video.playbackRate=a)}}),Object.defineProperty(c.Video.prototype,"loop",{get:function(){return this.video?this.video.loop:!1},set:function(a){a&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(c.Video.prototype,"playing",{get:function(){return!(this.video.paused&&this.video.ended)}}),c.Video.prototype.constructor=c.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=c.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=c.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new PIXI.Matrix),void 0===PIXI.RenderTexture.tempMatrix&&(PIXI.RenderTexture.tempMatrix=new PIXI.Matrix),PIXI.Graphics&&void 0===PIXI.Graphics.POLY&&(PIXI.Graphics.POLY=c.POLYGON,PIXI.Graphics.RECT=c.RECTANGLE,PIXI.Graphics.CIRC=c.CIRCLE,PIXI.Graphics.ELIP=c.ELLIPSE,PIXI.Graphics.RREC=c.ROUNDEDRECTANGLE),PIXI.TextureSilentFail=!0,"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=c),exports.Phaser=c):"undefined"!=typeof define&&define.amd?define("Phaser",function(){return b.Phaser=c}()):b.Phaser=c,c}.call(this); //# sourceMappingURL=phaser.map \ No newline at end of file